*==========================================================* * ZTEST ALV事例程序02 * *==========================================================* * 作成者: 莫怀远 * * 作成日期: 2006/11/29 * * 变更履历: yyyy/mm/dd xxx * * text * * yyyy/mm/dd xxx * * text * * 概要内容:系统参照调用ALV输出项目事例 * *----------------------------------------------------------* REPORT ZTEST NO STANDARD PAGE HEADING. *==========================================================* * TYPE-POOLS *==========================================================* TYPE-POOLS SLIS. *==========================================================* * TABLES *==========================================================* TABLES: EKPO. *==========================================================* * 定义变量和字段组 *==========================================================* DATA: G_REPID TYPE SY-REPID, GS_LAYOUT TYPE SLIS_LAYOUT_ALV. *==========================================================* * 定义内部表和工作区 *==========================================================* DATA: WA_FIELD TYPE SLIS_FIELDCAT_ALV, IT_FIELD TYPE SLIS_T_FIELDCAT_ALV. DATA : IT_EKPO TYPE STANDARD TABLE OF EKPO. "系统参照 *==========================================================* * SELETION-SCREEN *==========================================================* SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME . SELECT-OPTIONS: S_AEDAT FOR EKPO-AEDAT. SELECTION-SCREEN END OF BLOCK BLOCK1. *==========================================================* * START-OF-SELECTION *==========================================================* START-OF-SELECTION. PERFORM FRM_GET_DATA. *==========================================================* * END-OF-SELECTION *==========================================================* END-OF-SELECTION. PERFORM FRM_OUTPUT_ALV. *&---------------------------------------------------------* *& Form FRM_GET_DATA *&---------------------------------------------------------* * 读取数据 *----------------------------------------------------------* FORM FRM_GET_DATA. SELECT * INTO TABLE IT_EKPO FROM EKPO WHERE AEDAT IN S_AEDAT. IF SY-SUBRC <> 0. MESSAGE S208(00) WITH 'NO GET DATA!'. LEAVE LIST-PROCESSING. ENDIF. ENDFORM. " FRM_GET_DATA * *&---------------------------------------------------------* *& Form OUT_BY_ALV *&---------------------------------------------------------* * ALV样式输出 *----------------------------------------------------------* FORM FRM_OUTPUT_ALV. G_REPID = SY-REPID. GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. GS_LAYOUT-WINDOW_TITLEBAR = TEXT-102. "TITLE *TEXT-102(系统参照调用ALV输出项目事例) CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = G_REPID I_STRUCTURE_NAME = 'EKPO' "系统参照调用方法 * IT_FIELDCAT = IT_FIELD "自定义调用方法 IS_LAYOUT = GS_LAYOUT "输出式样 I_SAVE = 'A' "报表可保存状态设定 TABLES T_OUTTAB = IT_EKPO. "报表输出明细数据 ENDFORM. " FRM_OUTPUT_ALV