*&---------------------------------------------------------------------*
*& Report ZSS_TEST_006
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zss_test_006.
TABLES:vbak.
TYPES: BEGIN OF ty_vbak,
vbeln TYPE vbeln_va, "Sales Document
erdat TYPE erdat, "Date on Which Record Was Created
erzet TYPE erzet, "Entry time
END OF ty_vbak,
BEGIN OF ty_vbap,
vbeln TYPE vbeln_va, "Sales Document
posnr TYPE posnr_va, "Sales Document Item
matnr TYPE matnr, "Material Number
END OF ty_vbap,
BEGIN OF ty_final,
vbeln TYPE vbeln_va, "Sales Document
erdat TYPE erdat, "Date on Which Record Was Created
erzet TYPE erzet, "Entry time
posnr TYPE posnr_va, "Sales Document Item
matnr TYPE matnr, "Material Number
END OF ty_final.
DATA:it_vbak TYPE STANDARD TABLE OF ty_vbak INITIAL SIZE 0,
wa_vbak TYPE ty_vbak,
it_vbap TYPE STANDARD TABLE OF ty_vbap INITIAL SIZE 0,
wa_vbap TYPE ty_vbap,
it_final TYPE STANDARD TABLE OF ty_final INITIAL SIZE 0,
wa_final TYPE ty_final,
lv_vbeln TYPE vbak-vbeln.
SELECT-OPTIONS:s_vbeln FOR vbak-vbeln. "NO-EXTENSION NO INTERVALS.
*PARAMETERS: s_vbeln TYPE vbak-vbeln.
INITIALIZATION.
CLEAR:wa_vbak,
wa_vbap,
wa_final.
REFRESH:it_vbak,
it_vbap,
it_final.
AT SELECTION-SCREEN.
IF s_vbeln IS NOT INITIAL.
SELECT SINGLE vbeln
FROM vbak
INTO lv_vbeln
WHERE vbeln in s_vbeln.
IF sy-subrc NE 0.
MESSAGE:'Sales Document Number does not exist' TYPE'E'.
ENDIF.
ENDIF.
START-OF-SELECTION.
SELECT vbeln
erdat
erzet
FROM vbak
INTO TABLE it_vbak
WHERE vbeln in s_vbeln.
IF sy-subrc EQ 0.
SORT it_vbak BY vbeln.
ENDIF.
IF it_vbak IS NOT INITIAL.
SELECT vbeln
posnr
matnr
FROM vbap
INTO TABLE it_vbap
FOR ALL ENTRIES IN it_vbak
WHERE vbeln = it_vbak-vbeln.
IF sy-subrc EQ 0.
SORT it_vbap BY vbeln.
ENDIF.
LOOP AT it_vbak INTO wa_vbak.
CLEAR:wa_final.
wa_final-vbeln = wa_vbak-vbeln.
wa_final-erdat = wa_vbak-erdat.
wa_final-erzet = wa_vbak-erzet.
CLEAR:wa_vbap.
READ TABLE it_vbap INTO wa_vbap WITH KEY vbeln = wa_vbak-vbeln BINARY SEARCH.
IF sy-subrc EQ 0.
wa_final-vbeln = wa_vbap-vbeln.
wa_final-posnr = wa_vbap-posnr.
wa_final-matnr = wa_vbap-matnr.
ENDIF.
APPEND wa_final TO it_final.
ENDLOOP.
SORT it_final BY vbeln.
ENDIF.
END-OF-SELECTION.
IF it_final IS NOT INITIAL.
LOOP AT it_final INTO wa_final.
WRITE: /1 ' ' COLOR 6,
4 sy-vline, wa_final-vbeln,
22 sy-vline,wa_final-erdat,
34 sy-vline,wa_final-erzet,
46 sy-vline,wa_final-posnr,
56 sy-vline,wa_final-matnr,
80 sy-vline.
ULINE /1(80).
ENDLOOP.
ENDIF.
TOP-OF-PAGE.
ULINE 1(80).
WRITE: / 'Sales Document report pageno:', sy-pagno.
ULINE /1(80).
WRITE: /1 ' ' COLOR 5,
4 sy-vline, 'Sales Document' COLOR 5,
22 sy-vline, 'Date' COLOR 5,
34 sy-vline, 'time' COLOR 5,
46 sy-vline, 'Item' COLOR 5,
56 sy-vline, 'Material Number' COLOR 5,
80 sy-vline.
ULINE /1(80).
No comments:
Post a Comment