ALV Blocked list display in SAP ABAP
Example report for ALV blocked list display in SAP ABAP.
REPORT ZALV_BLOCKED. TYPE-POOLS : SLIS . DATA: BEGIN OF I_MARA OCCURS 0, MATNR LIKE MARA-MATNR, MTART LIKE MARA-MTART, MBRSH LIKE MARA-MBRSH, END OF I_MARA. DATA: BEGIN OF I_MAKT OCCURS 0, MATNR LIKE MAKT-MATNR, SPRAS LIKE MAKT-SPRAS, MAKTX LIKE MAKT-MAKTX, END OF I_MAKT. DATA: BEGIN OF I_MARC OCCURS 0, MATNR LIKE MARC-MATNR, WERKS LIKE MARC-WERKS, BWTTY LIKE MARC-BWTTY, END OF I_MARC. DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV . DATA : I_FCAT TYPE SLIS_T_FIELDCAT_ALV . DATA : I_EVENTS TYPE SLIS_T_EVENT . BREAK-POINT. START-OF-SELECTION . PERFORM INIT_BLOCKED_ALV . PERFORM APPEND_BLOCK1. PERFORM APPEND_BLOCK2. PERFORM APPEND_BLOCK3. PERFORM DISPLAY_BLOCKED_ALV . FORM INIT_BLOCKED_ALV . CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT' EXPORTING I_CALLBACK_PROGRAM = SY-REPID. ENDFORM. " INIT_BLOCKED_ALV FORM APPEND_BLOCK1 . SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE I_MARA UP TO 10 ROWS. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING I_PROGRAM_NAME = SY-REPID I_INTERNAL_TABNAME = 'I_MARA' I_INCLNAME = SY-REPID CHANGING CT_FIELDCAT = I_FCAT. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING IS_LAYOUT = WA_LAYOUT IT_FIELDCAT = I_FCAT I_TABNAME = 'I_MARA' IT_EVENTS = I_EVENTS TABLES T_OUTTAB = I_MARA. ENDFORM. " APPEND_BLOCK1 FORM APPEND_BLOCK2 . IF NOT I_MARA[] IS INITIAL . SELECT * FROM MAKT INTO CORRESPONDING FIELDS OF TABLE I_MAKT FOR ALL ENTRIES IN I_MARA WHERE MATNR = I_MARA-MATNR . ENDIF . REFRESH I_FCAT . CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING I_PROGRAM_NAME = SY-REPID I_INTERNAL_TABNAME = 'I_MAKT' I_INCLNAME = SY-REPID CHANGING CT_FIELDCAT = I_FCAT. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING IS_LAYOUT = WA_LAYOUT IT_FIELDCAT = I_FCAT I_TABNAME = 'I_MAKT' IT_EVENTS = I_EVENTS TABLES T_OUTTAB = I_MAKT. ENDFORM. " APPEND_BLOCK2 FORM APPEND_BLOCK3 . IF NOT I_MARA[] IS INITIAL . SELECT * FROM MARC INTO CORRESPONDING FIELDS OF TABLE I_MARC FOR ALL ENTRIES IN I_MARA WHERE MATNR = I_MARA-MATNR . ENDIF . REFRESH I_FCAT . CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING I_PROGRAM_NAME = SY-REPID I_INTERNAL_TABNAME = 'I_MARC' I_INCLNAME = SY-REPID CHANGING CT_FIELDCAT = I_FCAT. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING IS_LAYOUT = WA_LAYOUT IT_FIELDCAT = I_FCAT I_TABNAME = 'I_MARC' IT_EVENTS = I_EVENTS TABLES T_OUTTAB = I_MARC. ENDFORM. " APPEND_BLOCK3 FORM DISPLAY_BLOCKED_ALV . CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY' . ENDFORM. " DISPLAY_BLOCKED_ALV