转

  ALV的调用主要由以下几个标准函数实现,所有函数的输入输出参数必须大写,否则系统会出现异常中止,相关函数如下:

  1)REUSE_ALV_FIENDCATALOG_MERGE:根据内表结构返回FIELDCAT字段结构信息,其常用输入输出参数如下:
  EXPORTING项:
1.I_PROGRAM_NAME:程序名称。
2.I_INTERNAL_TABNAME:内表名称,必须为输出内表所自定义的STRUCTURE名。
3.I_STRUCTURE_NAME:直接参考数据字典中所定义的透明表名或STRUCTURE名。
函数定义时I_INTERNAL_TABNAME或I_STRUCTURE_NAME参数只需一项。
CHANGING项:
  CT_FIELDCAT:导出FIELDCAT内表数据。

  2)REUSE_ALV_GRID_DISPLAY/REUSE_ALV_LIST_DISPLAY:输出ALV报表,定义其为GRID模式还是LIST模式,两个函数的语法结构一样,其常用输入输出参数如下:
EXPORT项:
  1.I_CALLBACK_PROGRAM:程序名称。
  2.IS_LAYOUT:程序所定义的LAYOUT名称。
  3.I_GRID_TITLE:定义ALV标题名。 
  4.IT_FIELDCAT:定义FIELDCAT数据。
  5.IT_EVENTS:定义ALV输出事件。
  6.I_CALLBACK_PF_STATUS_SET:定义触发工具栏定义,通常为一个子程序。
  7.I_CALLBACK_USER_COMMAND:其对应值一般为子程序名,在对ALV操作时触发所定义子程序(如某表字段的双击事件)。
  TABLES项(定义输入内表数据):
  1.T_OUTTAB:输入所需显示的内表数据。

  3)LAYOUT为一STRUCTURE,其主要字段定义及属性如下:
  1.EDIT:设置ALV是否为可编辑模式。
  2.COLWIDTH_OPTIMIZE:将ALV字段宽度设置为最优化,按实际输出内容宽度自动匹配。
  3.NO_VLINE:输出ALV表格不显示垂直格式。
  4.NO_ULINE_HS:输出ALV表格不显示水平格线。
  5.INFO_FIELDNAME:设置颜色属性。
  6.KEY_HOTSPOT:设置关键字段热点。
  7.NO_COLNAME:是否显示字段名。
  8.ZEBRA:使ALV表格按斑马线间隔条纹方式显示,以便显示效果更有美观。
  9.BOX_FIELDNAME:设置ALV表格是否显示选择按钮字段。
  10.INFO_FIELDNAME:用于设置ALV输出报表每一行的颜色,其参数为输出内表的字段名称,要注意的是使用该属性需要同时在内表中定义一个与该参数所定义字段名相同的字段,例如:
  LAYOUT-INFO_FIELDNAME = 'COLOR'.  
  倘若其数据输出内表名为LT_OUT,则需要在该内表增加一字段“COLOR”,并为其内表每行复制,颜色参数范围C000~C999,例如:
  LT_OUT-COLOR = 'C012'.

  4)FIELDCAT主要属性介绍
  1.KEY:将定义字段设置为KEY值。
  2.ICON:将定义字段以ICON的形式显示。
  3.CHECKBOX:将定义字段以CHECKBOX的形式显示。
  4.JUST:定义字段对齐方式(R)RIGHT、(L)LEFT、(C)CENTER。
  5.IZERO:将定义字段以前导"0"的形式显示。
  6.NO_SIGN:将定义字段符号设置为不显示。
  7.NO_ZERO:定义字段是否显示。
  8.EMPHASIZE:设置字段的颜色。
  9.DO_SUM:对字段进行汇总。
  10.SELTEXT_L/M/S:设置字段名称描述长/中/短。
  11.DDICTXT:设置字段显示字符串。
  12.HOTSPOT:设置字段是否有热点(热点字段显示有下划线)。
  13.NO_OUT:隐藏不需要的字段(NO_OUT = 'X')。

05-11 20:42