Documente Academic
Documente Profesional
Documente Cultură
*& customer
TYPES: BEGIN OF ty_kna1,
kunnr TYPE kna1-kunnr,
name1 TYPE kna1-name1,
name2 TYPE kna1-name2,
END OF ty_kna1.
*&----------------------------------------
INITIALIZATION.
s_erdat-low = '19970124'.
s_erdat-option = 'EQ'.
s_erdat-sign = 'I'.
APPEND s_erdat.
s_vkorg-low = '1000'.
s_vkorg-option = 'EQ'.
s_vkorg-sign = 'I'.
APPEND s_vkorg.
AT SELECTION-SCREEN.
*PERFORM validation_selection_screen.
START-OF-SELECTION.
PERFORM get_data.
PERFORM process_data.
PERFORM print_data.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data .
SELECT vbeln " del doc details
erdat
vkorg
kunnr
FROM likp
INTO TABLE gt_likp
WHERE erdat IN s_erdat
AND vkorg IN s_vkorg.
IF sy-subrc = 0.
SELECT vbeln " del doc
posnr
matnr
vgbel " sales doc
FROM lips
INTO TABLE gt_lips
FOR ALL ENTRIES IN gt_likp
WHERE vbeln = gt_likp-vbeln.
IF sy-subrc = 0 .
SELECT vbeln " sales doc
erdat
kunnr
FROM vbak
INTO TABLE gt_vbak
FOR ALL ENTRIES IN gt_lips
WHERE vbeln = gt_lips-vgbel.
IF sy-subrc = 0.
SELECT vbeln
posnr
matnr
FROM vbap
INTO TABLE gt_vbap
FOR ALL ENTRIES IN gt_vbak
WHERE vbeln = gt_vbak-vbeln.
IF sy-subrc = 0 .
SELECT vbeln
fkart
kunrg
FROM vbrk
INTO TABLE gt_vbrk
FOR ALL ENTRIES IN gt_vbrp
WHERE vbeln = gt_vbrp-vbeln.
ENDIF.
SELECT kunnr
name1
name2
FROM kna1
INTO TABLE gt_kna1
FOR ALL ENTRIES IN gt_vbak
WHERE kunnr = gt_vbak-kunnr.
SELECT vbeln
gbstk
FROM vbuk
INTO TABLE gt_vbuk
FOR ALL ENTRIES IN gt_vbak
WHERE vbeln = gt_vbak-vbeln.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF sy-subrc = 0 .
READ TABLE gt_vbap INTO gs_vbap WITH KEY vbeln = gs_lips-vgbel
posnr = gs_lips-posnr.
IF sy-subrc = 0 .
READ TABLE gt_vbak INTO gs_vbak WITH KEY vbeln = gs_lips-vgbel.
IF sy-subrc = 0.
READ TABLE gt_kna1 INTO gs_kna1 WITH KEY kunnr = gs_vbak-kunnr.
IF sy-subrc = 0 .
READ TABLE gt_vbrp INTO gs_vbrp WITH KEY aubel = gs_vbap-vbeln
posnr = gs_vbap-posnr.
IF sy-subrc = 0 .
READ TABLE gt_vbrk into gs_vbrk with key vbeln = gs_vbrp-vbeln.
IF sy-subrc = 0 .
READ TABLE gt_vbuk into gs_vbuk WITH KEY vbeln = gs_vbap-vbeln.
IF sy-subrc = 0.
gs_final-svbeln = gs_vbak-vbeln.
gs_final-serdat = gs_vbak-erdat.
gs_final-skunnr = gs_vbak-kunnr .
gs_final-sposnr = gs_vbap-posnr.
gs_final-smatnr = gs_vbap-matnr.
gs_final-dvbeln = gs_likp-vbeln.
gs_final-derdat = gs_likp-erdat.
gs_final-dvkorg = gs_likp-vkorg.
gs_final-dkunnr = gs_likp-kunnr.
gs_final-dposnr = gs_lips-posnr.
gs_final-dmatnr = gs_lips-matnr.
gs_final-dvgbel = gs_lips-vgbel.
gs_final-bvbeln = gs_vbrk-vbeln.
gs_final-bfkart = gs_vbrk-fkart.
gs_final-bkunrg = gs_vbrk-kunrg.
gs_final-bposnr = gs_vbrp-posnr.
gs_final-baubel = gs_vbrp-aubel.
gs_final-kname1 = gs_kna1-name1..
gs_final-kname2 = gs_kna1-name2.
gs_final-ovbeln = gs_vbuk-vbeln.
gs_final-ogbstk = gs_vbuk-gbstk.
IF gs_final-ogbstk = 'A'.
gs_final-status = 'Not yet processed'.
ELSEIF gs_final-ogbstk = 'B'.
gs_final-status = 'Partially processed'.
elseif gs_final-ogbstk = 'C'.
gs_final-status = 'Completely processed'.
ENDIF.
APPEND gs_final to gt_final.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
gs_final-sposnr,
gs_final-smatnr,
gs_final-dvbeln COLOR 3,
gs_final-derdat,
gs_final-dvkorg,
* gs_final-dkunnr,
gs_final-dposnr,
gs_final-dmatnr,
* gs_final-dvgbel,
gs_final-bvbeln COLOR 4,
gs_final-bfkart,
* gs_final-bkunrg,
gs_final-bposnr,
* gs_final-baubel,
gs_final-kname1,
gs_final-kname2,
* gs_final-ovbeln,
* gs_final-ogbstk,
gs_final-status.
ENDLOOP.