You are on page 1of 2

*&---------------------------------------------------------------------*

*& Report ZAK_PURCHASEORDER_REPT


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZAK_PURCHASEORDER_REPT.

TABLES : ekko , ekpo , mara.

TYPES: BEGIN OF t_po,


ebeln TYPE ebeln,
ekorg TYPE ekorg,
lifnr TYPE lifnr,

ebelp TYPE ebelp,


matnr TYPE matnr,
menge TYPE bstmg,

mbrsh TYPE mbrsh,


mtart TYPE mtart,
END OF t_po.

TYPES : BEGIN OF t_mara,


matnr TYPE matnr ,
mbrsh TYPE mbrsh,
mtart TYPE mtart,
END OF t_mara.
TYPES : tt_mara TYPE STANDARD TABLE OF t_mara.

TYPES : tt_po TYPE STANDARD TABLE OF t_po.

DATA : lw_po TYPE t_po,


lt_po TYPE tt_po,
lw_mara TYPE t_mara,
lt_mara TYPE tt_mara.

SELECT-OPTIONS : s_ebeln FOR ekko-ebeln.

START-OF-SELECTION.
SELECT a~ebeln a~ekorg a~lifnr
b~ebelp b~matnr b~menge
INTO TABLE lt_po
FROM ekko AS a INNER JOIN ekpo AS b
ON a~ebeln = b~ebeln
WHERE a~ebeln IN s_ebeln.

IF sy-subrc EQ 0.

SELECT
matnr
mbrsh
mtart
FROM mara INTO TABLE lt_mara
FOR ALL ENTRIES IN lt_po
WHERE matnr = lt_po-matnr.
IF sy-subrc EQ 0.
LOOP AT lt_po INTO lw_po.
READ TABLE lt_mara INTO lw_mara WITH KEY matnr = lw_po-matnr.
CHECK sy-subrc EQ 0.

lw_po-mbrsh = lw_mara-mbrsh.
MOVE lw_mara-mtart TO lw_po-mtart.
MODIFY lt_po FROM lw_po TRANSPORTING mbrsh mtart.
CLEAR lw_po.
ENDLOOP.

LOOP AT lt_po INTO lw_po.


WRITE : / lw_po-ebeln , lw_po-ekorg, lw_po-lifnr,
lw_po-ebelp , lw_po-matnr , lw_po-menge,
lw_po-mbrsh , lw_po-mtart.
ENDLOOP.

ENDIF.
ELSE.
WRITE : / 'no data found'.
ENDIF.

You might also like