ALV 显示多个 表
REPORT ZALV_BLOCKEDALV . *provide tables TABLES: MARA, MAKT, MARD. *provide type-pools TYPE-POOLS: SLIS. *provide select-options SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. *provide data objects DATA: V_REPID TYPE SY-REPID, WA_MARA_FIELD TYPE SLIS_FIELDCAT_ALV, "it is for field catalog WA_MAKT_FIELD TYPE SLIS_FIELDCAT_ALV, WA_MARD_FIELD TYPE SLIS_FIELDCAT_ALV, WA_MARA TYPE MARA, WA_MAKT TYPE MAKT, WA_MARD TYPE MARD, IT_MARA_FIELD TYPE SLIS_T_FIELDCAT_ALV, IT_MAKT_FIELD TYPE SLIS_T_FIELDCAT_ALV, IT_MARD_FIELD TYPE SLIS_T_FIELDCAT_ALV, IT_MARA TYPE TABLE OF MARA, IT_MAKT TYPE TABLE OF MAKT, IT_MARD TYPE TABLE OF MARD, V_LAYOUT TYPE SLIS_LAYOUT_ALV, IT_EVENTS TYPE SLIS_T_EVENT, "it is for events WA_EVENTS TYPE SLIS_ALV_EVENT. V_REPID = SY-REPID. *provide field catalog perform. PERFORM FIELD_CAT. *call the initial function module CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT' EXPORTING I_CALLBACK_PROGRAM = V_REPID * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' * IT_EXCLUDING = '' . *provide perform. for select the data PERFORM SELECT_DATA. * 插入字段结构 *call mara append list CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING IS_LAYOUT = V_LAYOUT IT_FIELDCAT = IT_MARA_FIELD[] I_TABNAME = 'MARA' IT_EVENTS = IT_EVENTS[] * IT_SORT = * I_TEXT = ' ' TABLES T_OUTTAB = IT_MARA EXCEPTIONS PROGRAM_ERROR = 1 MAXIMUM_OF_APPENDS_REACHED = 2 OTHERS = 3. *call makt append list CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING IS_LAYOUT = V_LAYOUT IT_FIELDCAT = IT_MAKT_FIELD I_TABNAME = 'MAKT' IT_EVENTS = IT_EVENTS * IT_SORT = * I_TEXT = ' ' TABLES T_OUTTAB = IT_MAKT EXCEPTIONS PROGRAM_ERROR = 1 MAXIMUM_OF_APPENDS_REACHED = 2 OTHERS = 3. *call mard append list CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING IS_LAYOUT = V_LAYOUT IT_FIELDCAT = IT_MARD_FIELD I_TABNAME = 'MARD' IT_EVENTS = IT_EVENTS * IT_SORT = * I_TEXT = ' ' TABLES T_OUTTAB = IT_MARD EXCEPTIONS PROGRAM_ERROR = 1 MAXIMUM_OF_APPENDS_REACHED = 2 OTHERS = 3. *display the data CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY' * EXPORTING * I_INTERFACE_CHECK = ' ' * IS_PRINT = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = * EXCEPTIONS * PROGRAM_ERROR = 1 * OTHERS = 2. . *&--------------------------------------------------------------------* *& *Form TOP_PAGE text *---------------------------------------------------------------------* FORM TOP_PAGE. WRITE:/ 'THIS IS BLOCKED ALV REPORT PROGRAM BASED ON 3 BLOCKS' COLOR 5. ENDFORM. "TOP_PAGE *&---------------------------------------------------------------------* *& Form. FIELD_CAT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM FIELD_CAT . "结构1 WA_MARA_FIELD-COL_POS = 1. WA_MARA_FIELD-FIELDNAME = 'MATNR'. WA_MARA_FIELD-REF_TABNAME = 'MARA'. APPEND WA_MARA_FIELD TO IT_MARA_FIELD. CLEAR WA_MARA_FIELD. WA_MARA_FIELD-COL_POS = 2. WA_MARA_FIELD-FIELDNAME = 'ERSDA'. WA_MARA_FIELD-REF_TABNAME = 'MARA'. APPEND WA_MARA_FIELD TO IT_MARA_FIELD. CLEAR WA_MARA_FIELD. WA_MARA_FIELD-COL_POS = 3. WA_MARA_FIELD-FIELDNAME = 'ERNAM'. WA_MARA_FIELD-REF_TABNAME = 'MARA'. APPEND WA_MARA_FIELD TO IT_MARA_FIELD. CLEAR WA_MARA_FIELD. WA_MARA_FIELD-COL_POS = 4. WA_MARA_FIELD-FIELDNAME = 'LAEDA'. WA_MARA_FIELD-REF_TABNAME = 'MARA'. APPEND WA_MARA_FIELD TO IT_MARA_FIELD. "结构2 CLEAR WA_MARA_FIELD.WA_MAKT_FIELD-COL_POS = '1'. WA_MAKT_FIELD-FIELDNAME = 'MATNR'. WA_MAKT_FIELD-REF_TABNAME = 'MAKT'. APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD. CLEAR WA_MAKT_FIELD. WA_MAKT_FIELD-COL_POS = 2. WA_MAKT_FIELD-FIELDNAME = 'MAKTX'. WA_MAKT_FIELD-REF_TABNAME = 'MAKT'. APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD. CLEAR WA_MAKT_FIELD. WA_MAKT_FIELD-COL_POS = 3. WA_MAKT_FIELD-FIELDNAME = 'MAKTG'. WA_MAKT_FIELD-REF_TABNAME = 'MAKT'. APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD. "结构3 CLEAR WA_MAKT_FIELD. WA_MARD_FIELD-COL_POS = 1. WA_MARD_FIELD-FIELDNAME = 'MATNR'. WA_MARD_FIELD-REF_TABNAME = 'MARD'. APPEND WA_MARD_FIELD TO IT_MARD_FIELD. CLEAR WA_MARD_FIELD. WA_MARD_FIELD-COL_POS = 2. WA_MARD_FIELD-FIELDNAME = 'WERKS'. WA_MARD_FIELD-REF_TABNAME = 'MARD'. APPEND WA_MARD_FIELD TO IT_MARD_FIELD. CLEAR WA_MARD_FIELD.WA_MARD_FIELD-COL_POS = 3. WA_MARD_FIELD-FIELDNAME = 'LGORT'. WA_MARD_FIELD-REF_TABNAME = 'MARD'. APPEND WA_MARD_FIELD TO IT_MARD_FIELD. CLEAR WA_MARD_FIELD. WA_EVENTS-FORM = 'TOP_PAGE'. WA_EVENTS-NAME = 'TOP_OF_PAGE'. APPEND WA_EVENTS TO IT_EVENTS. ENDFORM. " FIELD_CAT *&---------------------------------------------------------------------* *& Form. SELECT_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM SELECT_DATA . SELECT * FROM MARA INTO TABLE IT_MARA WHERE MATNR IN S_MATNR. SELECT * FROM MAKT INTO TABLE IT_MAKT WHERE MATNR IN S_MATNR. SELECT * FROM MARD INTO TABLE IT_MARD WHERE MATNR IN S_MATNR. ENDFORM. " SELECT_DATA
最爱江南烟雨如画:浩浩宇宙,朗朗乾坤,花花世界,滚滚红尘

浙公网安备 33010602011771号