You are on page 1of 3

REPORT ZABUL_120121.

TYPE-POOLS : SLIS.
TABLES : MARA.

SELECTION-SCREEN BEGIN OF block a WITH FRAME TITLE text-000.

SELECT-OPTIONS S_MATNR FOR MARA-MATNR.

SELECTION-SCREEN end of block a.

*at SELECTION-SCREEN on s_matnr.


* IF s_matnr is INITIAL.
*
*MESSAGE e000(zabul).
* ENDIF.

START-OF-SELECTION.

DATA :
IT_MARA TYPE TABLE OF MARA,
WA_MARA TYPE MARA,
IT_MARD TYPE TABLE OF MARD,
WA_MARD TYPE MARD,
IT_FCAT1 TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT1 TYPE SLIS_FIELDCAT_ALV,
IT_FCAT2 TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT2 TYPE SLIS_FIELDCAT_ALV,
IT_EVENT TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT,
IT_LAYOUT TYPE SLIS_LAYOUT_ALv.

*types : begin of ty_mara,


* che,
* end of ty_mara.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'


EXPORTING
i_callback_program = sy-cprog
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* IT_EXCLUDING =
.

REFRESH IT_MARA[].
REFRESH IT_MARD[].
REFRESH IT_FCAT1[].
REFRESH IT_FCAT2[].

SELECT * FROM MARA INTO TABLE IT_MARA


WHERE MATNR IN S_MATNR.

SELECT * FROM MARD INTO TABLE IT_MARD


WHERE MATNR IN S_MATNR.
WA_FCAT1-fieldname = 'MATNR'.
WA_FCAT1-COL_POS = '2'.
WA_FCAT1-ref_tabname = 'MARA'.
WA_FCAT1-outputlen = '20'.
APPEND WA_FCAT1 TO IT_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT1-fieldname = 'MTART'.
WA_FCAT1-COL_POS = '3'.
WA_FCAT1-ref_tabname = 'MARA'.
* WA_FCAT1-outputlen = '20'.
APPEND WA_FCAT1 TO IT_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT1-fieldname = 'MBRSH'.
WA_FCAT1-COL_POS = '4'.
WA_FCAT1-ref_tabname = 'MARA'.
* WA_FCAT1-outputlen = '20'.
APPEND WA_FCAT1 TO IT_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT1-fieldname = 'MATKL'.
WA_FCAT1-COL_POS = '5'.
WA_FCAT1-ref_tabname = 'MARA'.
* WA_FCAT1-outputlen = '20'.
APPEND WA_FCAT1 TO IT_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT2-fieldname = 'MATNR'.
WA_FCAT2-COL_POS = '1'.
WA_FCAT2-ref_tabname = 'MARA'.
WA_FCAT2-outputlen = '20'.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.

WA_FCAT2-fieldname = 'WERKS'.
WA_FCAT2-COL_POS = '2'.
WA_FCAT2-ref_tabname = 'MARD'.
* WA_FCAT1-outputlen = '20'.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.

WA_FCAT2-fieldname = 'LGORT'.
WA_FCAT2-COL_POS = '3'.
WA_FCAT2-ref_tabname = 'MARD'.
* WA_FCAT2-outputlen = '20'.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'


EXPORTING
is_layout = IT_LAYOUT
it_fieldcat = IT_FCAT1
i_tabname = 'MARA'
it_events = IT_EVENT
* 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 = IT_LAYOUT
it_fieldcat = IT_FCAT2
i_tabname = 'MARD'
it_events = IT_EVENT
* IT_SORT =
* I_TEXT = ' '
TABLES
t_outtab = IT_MARD
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
end-of-SELECTION.

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.
MESSAGE e001(zabul).
ENDIF.

You might also like