理论教育 如何获取ALV表中某一列的对象实例名称?

如何获取ALV表中某一列的对象实例名称?

时间:2023-05-31 理论教育 版权反馈
【摘要】:表 6-92)取得列对象的技术名称使用的类CL_SALV_WD_COLUMN得到当前列的实例的名称,见表6-10表 6-10创建和删除某一列对象如果取得ALV配置模型时,所指定的系统没有生成列对象,则需要创建应用程序进行ALV数据显示所需的列对象。表 6-12指定列标题的文字指定要显示的列标题的文本,可有以下几种方法:1)输入用户定义的文本。表 6-176.2.3.2列的位置默认情况下,所有列的排序与应用程序的Context节点中的属性顺序相同。表 6-18固定列可以将重要列固定。

如何获取ALV表中某一列的对象实例名称?

根据如何取得的ALV配置模型,要么只有一个与Context节点属性相同名称的列对象,要么没有列对象。如果没有列对象,则必须创建显示ALV输出所需要的列对象。

对于列对象,可以进行以下设置:

● 取得某一列对象。

● 取得列对象的技术名称。

● 创建和删除某一列对象。

● 设置列标题。

● 更改某一列对象的位置。

(1)取得某一列对象

要为某一列进行必要的设置,首先必须获得该列的实例。可以根据名称针对特定的列对象进行设置或一次获得所有的列对象,然后一个一个处理。在这两种情况下,都可以使用接口类IF_SALV_WD_COLUMN_SETTINGS(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-9。

6-9

978-7-111-54749-5-Chapter06-10.jpg

2)取得列对象的技术名称

使用的类CL_SALV_WD_COLUMN得到当前列的实例的名称,见表6-10

6-10

978-7-111-54749-5-Chapter06-11.jpg

(3)创建和删除某一列对象

如果取得ALV配置模型时,所指定的系统没有生成列对象,则需要创建应用程序进行ALV数据显示所需的列对象。

列对象存在的所有列显示在一个列集中。如果不希望某一列出现在用户的列集中,则必须删除相应的列对象。

注:当创建一个列对象时,需要输入它的技术名称。该名称必须与应用程序Context节点中的属性的名称一致。

要创建或删除列对象,可使用接口类IF_SALV_WD_COLUMN_SETTINGS(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-11。

6-11

978-7-111-54749-5-Chapter06-12.jpg

6.2.3.1列标题

默认情况下,ALV输出中的每一列中有一列标题。不必因此必须首先创建相应的列对象可以多个列用一个标题)。

可以更改列标题。更改时可以设置以下组件:文本、图形、工具提示。

可以为列标题进行如下设置:

● 创建、取得、删除列对象的列标题。

● 指定列标题的文字。

● 指定列标题中的图形路径。

● 在列标题中指定图形位置。

● 指定列标题文字的工具提示。

(1)关于标准列标题的信息

标准列标题包含文字内容。所使用的文字依赖于Context节点的属性。

1)如果属性没有DDIC引用,默认情况下,系统使用属性的技术名称作为列标题。

2)如果属性有一个DDIC引用,系统分配的列标题如下:

● 如果已定义DDIC数据元素,则系统采用DDIC数据元素的短文本字段标签作为列

标题。

● 如果没有被定义字段标签,则系统采用DDIC数据元素的技术名称作为列标题。

(2)创建、取得、删除列对象的列标题

ALV输出中的列的列标题是类CL_SALV_WD_COLUMN_HEADER的实例。列标题对象可以存在于每一列对象中。

要取得、创建或删除列标题对象,可以使用类CL_SALV_WD_COLUMN中的方法,见表6-12。

表 6-12

978-7-111-54749-5-Chapter06-13.jpg

(3)指定列标题的文字

指定要显示的列标题的文本,可有以下几种方法:

1)输入用户定义的文本。

2)输入一个单独的DDIC数据元素被用来作为列标题的字段标签。

对于和DDIC关系,首先以DDIC的数据元素作为切入点,返回列标题的文本。为此,需要使用方法SET_PROP_DDIC_BINDING_ELEMENT,完成以下工作:

1)列标题或工具提示。DDIC的文本说明是用来作为列标题的。

2)DDIC数据元素的名称。默认情况下,使用DDIC数据元素的短文本。还可以使用DDIC数据元素的heading文本,medium文本或长文本为此,需要使用方法SET_PROP_DDIC_ BINDING_FIELD。(www.daowen.com)

注:如果输入用户定义的文本作为列标题,则必须使用该方法显式地关闭与DDIC的关系。

要指定列标题的文本,可以使用类CL_SALV_WD_COLUMN_HEADER中的方法,见表6-13。

6-13

978-7-111-54749-5-Chapter06-14.jpg

(4)列标题换行

默认情况下,系统在列标题中不添加换行符。因此,列的宽度由列标题中的文本的长度决定。在列标题中,程序员可以指定换行符。如果列标题包含的字符允许换行(如空格或连字符)或者列不够宽,系统可以把文字拆成多行。要做到这一点,可以使用类CL_SALV_WD_ COLUMN_HEADER的方法,见表6-14。

6-14

978-7-111-54749-5-Chapter06-15.jpg

(5)指定列标题中的图形路径

可以在列标题中显示任何图形,只要该图形兼容Web Dynpro环境。要指定图形文件的路径或ID,可以使用类CL_SALV_WD_COLUMN_HEADER方法,见表6-15。

6-15

978-7-111-54749-5-Chapter06-16.jpg

(6)在列标题中指定图形位置

在列标题中可以选择是否将图形显示在列标题的文本之前或之后。要做到这一点,可以使用类CL_SALV_WD_COLUMN_HEADER中的方法,见表6-16。

6-16

978-7-111-54749-5-Chapter06-17.jpg

(7)指定列标题文字的工具提示

当用户把光标移到列标题时,列标题显示工具提示。

指定要显示的提示文字有以下几种方式:

● 可以指定任何文字。

● 可以输入一个单独的DDIC数据元素的字段标签用来作为工具提示。

注:除了方法之外,设置标题工具提示与DDIC之间的关系一样,同样可以利用DDIC数据元素的短、中、长及标题标签文本作为工具提示文本。

要指定提示的文本,使用类CL_SALV_WD_COLUMN_HEADER中的方法,见表6-17。

6-17

978-7-111-54749-5-Chapter06-18.jpg

6.2.3.2列的位置

默认情况下,所有列的排序与应用程序的Context节点中的属性顺序相同。程序员可以通过以下方式更改列的顺序:通过改变位置号码、固定列。也可以指定是否允许用户来固定列

(1)改变位置号码

系统自动分配给每一列一个位置编号。可以通过改变这个位置编号更改位置的列。这里的位置编号不是唯一的。

注:位置编号为0的列在最左边。这意味着,如果要把某一列放到左侧,则必须给一个比其他列较高的位置编号。

也可以使用负数的位置编号。这意味着,给定某一列适当的位置,不改变所有其他列的0的位置编号。

要改变列的位置编号,可以使用类CL_SALV_WD_COLUMN中的方法,见表6-18。

6-18

978-7-111-54749-5-Chapter06-19.jpg

(2)固定列

可以将重要列固定。这具有以下效果:

● 将列放在ALV输出的边缘。

● 滚动侧身的水平滚动条列可以不再被移动。

一列固定时,可以在ALV输出中指定该列是否是被固定到的左手侧或右手侧。

在这种方式中,最多可以创建以下3个区块的列:列固定到左,列是不固定的,列固定到右。

还可以更改一列的位置编号,以固定其位置。这使程序员可以根据自己的位置编号排列所有列块。

要固定某一列,可以使用类CL_SALV_WD_COLUMN中的方法,见表6-19。

6-19

978-7-111-54749-5-Chapter06-20.jpg

(3)允许列固定

可以指定是否允许用户固定个别列。指定这些列分别固定到右边缘或左边缘。在ALV输出页面中单击“设置”按钮,在弹出对话框中,用户可以指定固定列的数量。

为了让列可以固定,可以使用接口类IF_SALV_WD_STD_FUNCTIONS(实现类CL_ SALV_WD_TABLE)的方法,见表6-20。

6-20

978-7-111-54749-5-Chapter06-21.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈