REPORT zmanoj3.
TABLES : vbap , makt.
TYPES : BEGIN OF ty,
vbeln TYPE vbeln,
posnr TYPE posnr,
matnr TYPE matnr,
makt TYPE makt,
END OF ty.
DATA : it TYPE TABLE OF ty,
wa TYPE ty.
DATA: num TYPE vbap-vbeln.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS num1 FOR num.
SELECTION-SCREEN END OF BLOCK b.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
layout TYPE slis_layout_alv.
DATA repid TYPE sy-repid.
START-OF-SELECTION.
SELECT vbeln,
posnr,
matnr FROM vbap INTO TABLE @DATA(gt_vbap)
WHERE vbeln IN @num1.
IF sy-subrc EQ 0.
SELECT matnr,
maktx FROM makt INTO TABLE @DATA(gt_makt) FOR ALL ENTRIES IN @gt_vbap
WHERE matnr EQ @gt_vbap-matnr.
LOOP AT gt_vbap INTO DATA(wa_vbap).
READ TABLE gt_makt INTO DATA(wa_makt) WITH KEY matnr = wa_vbap-matnr.
ENDLOOP.
ENDIF.
wa_fieldcat-fieldname = 'vbeln'.
wa_fieldcat-ref_tabname = 'vbap'.
wa_fieldcat-seltext_m = 'Accounting Document Number'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'posnr'.
wa_fieldcat-ref_tabname = 'vbap'.
wa_fieldcat-seltext_m = 'Document Number'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'matnr'.
wa_fieldcat-ref_tabname = 'vbap'.
wa_fieldcat-seltext_m = 'Number'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'maktx'.
wa_fieldcat-ref_tabname = 'makt'.
wa_fieldcat-seltext_m = 'Accoun Number'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = repid
i_grid_title = 'ACCOUNTING DOCUMENT DETAILS'
it_fieldcat = it_fieldcat
TABLES
t_outtab = it.