天天看點

ALV調用的幾個标準函數

  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')。