Code :
REPORT ZVP_ALV_BLOCKED.
TYPE-POOLS: SLIS.
TYPES: BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
MBRSH TYPE MARA-MBRSH,
MATKL TYPE MARA-MATKL,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
TYPES: BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MAKT.
DATA: IT_MARA TYPE TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA,
IT_MAKT TYPE TABLE OF TY_MAKT,
WA_MAKT TYPE TY_MAKT.
DATA: IT_FCAT_MARA TYPE SLIS_T_FIELDCAT_ALV, "FOR MARA TABLE
WA_FCAT_MARA TYPE SLIS_FIELDCAT_ALV,
IT_FCAT_MAKT TYPE SLIS_T_FIELDCAT_ALV, "FOR MAKT TABLE
WA_FCAT_MAKT TYPE SLIS_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
PARAMETERS: P_MTART TYPE MARA-MTART.
SELECT MATNR
MTART
MBRSH
MATKL
MEINS
FROM MARA INTO TABLE IT_MARA UP TO 5 ROWS WHERE MTART = P_MTART.
IF IT_MARA IS NOT INITIAL.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT INTO TABLE IT_MAKT UP TO 5 ROWS
FOR ALL ENTRIES IN IT_MARa WHERE MATNR = IT_MARA-MATNR.
ENDIF.
"FOR MARA TABLE
WA_FCAT_MARA-COL_POS = '1'.
WA_FCAT_MARA-FIELDNAME = 'MATNR'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MATNR'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '2'.
WA_FCAT_MARA-FIELDNAME = 'MTART'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MTART'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '3'.
WA_FCAT_MARA-FIELDNAME = 'MBRSH'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MBRSH'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '4'.
WA_FCAT_MARA-FIELDNAME = 'MATKL'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MATKL'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '5'.
WA_FCAT_MARA-FIELDNAME = 'MEINS'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MEINS'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
"FOR MAKT TABLE
WA_FCAT_MAKT-COL_POS = '1'.
WA_FCAT_MAKT-FIELDNAME = 'MATNR'.
WA_FCAT_MAKT-TABNAME = 'IT_MAKT'.
WA_FCAT_MAKT-REF_TABNAME = 'MAKT'.
WA_FCAT_MAKT-REF_FIELDNAME = 'MATNR'.
APPEND WA_FCAT_MAKT TO IT_FCAT_MAKT.
CLEAR WA_FCAT_MAKT.
WA_FCAT_MAKT-COL_POS = '2'.
WA_FCAT_MAKT-FIELDNAME = 'SPRAS'.
WA_FCAT_MAKT-TABNAME = 'IT_MAKT'.
WA_FCAT_MAKT-REF_TABNAME = 'MAKT'.
WA_FCAT_MAKT-REF_FIELDNAME = 'SPRAS'.
APPEND WA_FCAT_MAKT TO IT_FCAT_MAKT.
CLEAR WA_FCAT_MAKT.
WA_FCAT_MAKT-COL_POS = '3'.
WA_FCAT_MAKT-FIELDNAME = 'MAKTX'.
WA_FCAT_MAKT-TABNAME = 'IT_MAKT'.
WA_FCAT_MAKT-REF_TABNAME = 'MAKT'.
WA_FCAT_MAKT-REF_FIELDNAME = 'MAKTX'.
APPEND WA_FCAT_MAKT TO IT_FCAT_MAKT.
CLEAR WA_FCAT_MAKT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID.
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* IT_EXCLUDING =
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT_MARA
I_TABNAME = 'IT_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
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT_MAKT
I_TABNAME = 'IT_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
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
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
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
Output :
IDE Used To Test This Code : ABAP Editor.
Try this code in your computer for better understanding. Enjoy the code. If you have any Question you can contact us or mail us.We will reply you as soon as possible.
REPORT ZVP_ALV_BLOCKED.
TYPE-POOLS: SLIS.
TYPES: BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
MBRSH TYPE MARA-MBRSH,
MATKL TYPE MARA-MATKL,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
TYPES: BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MAKT.
DATA: IT_MARA TYPE TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA,
IT_MAKT TYPE TABLE OF TY_MAKT,
WA_MAKT TYPE TY_MAKT.
DATA: IT_FCAT_MARA TYPE SLIS_T_FIELDCAT_ALV, "FOR MARA TABLE
WA_FCAT_MARA TYPE SLIS_FIELDCAT_ALV,
IT_FCAT_MAKT TYPE SLIS_T_FIELDCAT_ALV, "FOR MAKT TABLE
WA_FCAT_MAKT TYPE SLIS_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
PARAMETERS: P_MTART TYPE MARA-MTART.
SELECT MATNR
MTART
MBRSH
MATKL
MEINS
FROM MARA INTO TABLE IT_MARA UP TO 5 ROWS WHERE MTART = P_MTART.
IF IT_MARA IS NOT INITIAL.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT INTO TABLE IT_MAKT UP TO 5 ROWS
FOR ALL ENTRIES IN IT_MARa WHERE MATNR = IT_MARA-MATNR.
ENDIF.
"FOR MARA TABLE
WA_FCAT_MARA-COL_POS = '1'.
WA_FCAT_MARA-FIELDNAME = 'MATNR'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MATNR'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '2'.
WA_FCAT_MARA-FIELDNAME = 'MTART'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MTART'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '3'.
WA_FCAT_MARA-FIELDNAME = 'MBRSH'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MBRSH'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '4'.
WA_FCAT_MARA-FIELDNAME = 'MATKL'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MATKL'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
WA_FCAT_MARA-COL_POS = '5'.
WA_FCAT_MARA-FIELDNAME = 'MEINS'.
WA_FCAT_MARA-TABNAME = 'IT_MARA'.
WA_FCAT_MARA-REF_TABNAME = 'MARA'.
WA_FCAT_MARA-REF_FIELDNAME = 'MEINS'.
APPEND WA_FCAT_MARA TO IT_FCAT_MARA.
CLEAR WA_FCAT_MARA.
"FOR MAKT TABLE
WA_FCAT_MAKT-COL_POS = '1'.
WA_FCAT_MAKT-FIELDNAME = 'MATNR'.
WA_FCAT_MAKT-TABNAME = 'IT_MAKT'.
WA_FCAT_MAKT-REF_TABNAME = 'MAKT'.
WA_FCAT_MAKT-REF_FIELDNAME = 'MATNR'.
APPEND WA_FCAT_MAKT TO IT_FCAT_MAKT.
CLEAR WA_FCAT_MAKT.
WA_FCAT_MAKT-COL_POS = '2'.
WA_FCAT_MAKT-FIELDNAME = 'SPRAS'.
WA_FCAT_MAKT-TABNAME = 'IT_MAKT'.
WA_FCAT_MAKT-REF_TABNAME = 'MAKT'.
WA_FCAT_MAKT-REF_FIELDNAME = 'SPRAS'.
APPEND WA_FCAT_MAKT TO IT_FCAT_MAKT.
CLEAR WA_FCAT_MAKT.
WA_FCAT_MAKT-COL_POS = '3'.
WA_FCAT_MAKT-FIELDNAME = 'MAKTX'.
WA_FCAT_MAKT-TABNAME = 'IT_MAKT'.
WA_FCAT_MAKT-REF_TABNAME = 'MAKT'.
WA_FCAT_MAKT-REF_FIELDNAME = 'MAKTX'.
APPEND WA_FCAT_MAKT TO IT_FCAT_MAKT.
CLEAR WA_FCAT_MAKT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID.
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* IT_EXCLUDING =
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT_MARA
I_TABNAME = 'IT_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
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT_MAKT
I_TABNAME = 'IT_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
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
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
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
Output :
IDE Used To Test This Code : ABAP Editor.
Try this code in your computer for better understanding. Enjoy the code. If you have any Question you can contact us or mail us.We will reply you as soon as possible.
Post a Comment