Professional Documents
Culture Documents
REPORT zgrasim_report_34goods.
TABLES: mseg,mkpf.
*&---------------------------------------------------------------------*
*& STRUCTURE DECLARATION
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_mseg,
mblnr TYPE mseg-mblnr,
zeile TYPE mseg-zeile,
bwart TYPE mseg-bwart,
matnr TYPE mseg-matnr,
werks TYPE mseg-werks,
menge TYPE mseg-menge,
ebeln TYPE mseg-ebeln,
END OF ty_mseg.
*&---------------------------------------------------------------------*
*& INTERNAL TABLE DECLARATION
*&---------------------------------------------------------------------*
DATA: it_mseg TYPE TABLE OF ty_mseg,
it_mkpf TYPE TABLE OF ty_mkpf,
it_ekko TYPE TABLE OF ty_ekko,
it_mvke TYPE TABLE OF ty_mvke,
it_tvm5t TYPE TABLE OF ty_tvm5t,
it_likp TYPE TABLE OF ty_likp.
*&---------------------------------------------------------------------*
*& SELECTION SCREEN
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
SELECT mblnr
zeile
bwart
matnr
werks
menge
ebeln FROM mseg INTO TABLE it_mseg
WHERE matnr IN s_matnr
AND werks IN s_office
AND ( bwart = '101' OR bwart = '102' ).
IF sy-subrc EQ 0.
SORT it_mseg BY mblnr zeile.
ENDIF.
* DELETE IT_MSEG WHERE BWART <> '101' AND BWART <> '102'.
IF it_mseg IS NOT INITIAL.
SELECT mblnr
budat
xblnr FROM mkpf INTO TABLE it_mkpf
FOR ALL ENTRIES IN it_mseg
WHERE mblnr = it_mseg-mblnr
AND budat IN s_date.
SELECT ebeln
bedat FROM ekko INTO TABLE it_ekko
FOR ALL ENTRIES IN it_mseg
WHERE ebeln = it_mseg-ebeln.
IF sy-subrc EQ 0.
SORT it_ekko BY ebeln.
DELETE ADJACENT DUPLICATES FROM it_ekko COMPARING ebeln.
ENDIF.
SELECT matnr
mvgr5 FROM mvke INTO TABLE it_mvke
FOR ALL ENTRIES IN it_mseg
WHERE matnr = it_mseg-matnr.
IF sy-subrc EQ 0.
SORT it_mvke BY matnr.
ENDIF.
ENDIF.
ENDIF.
IF it_mkpf IS NOT INITIAL.
SELECT vbeln
vsbed FROM likp INTO TABLE it_likp
FOR ALL ENTRIES IN it_mkpf
WHERE vbeln = it_mkpf-mblnr
AND ( vsbed = '01' OR vsbed = '02' OR
vsbed = '03' OR vsbed = '04' ).
ENDIF.
WRITE: 'SUNIL'.