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