You are on page 1of 4

REPORT ZNAVREAL2.

***********************************************************************************
************
*titel :- parallel cursor technic by using the for all entries consept.
*program :- znavreal2.
*created by :- shaik naveed.
*created on :-30.03.2022.
*package :-ZNAV_PACKAGE.
*transection no:-DPKK900220.
*aim:-achive the parallel cursor technic by using the for all entries consept.

*********************************************************************************
***************************** TYPES DECLARATION *********************************
*********************************************************************************

*MARA TABLE DECLARATION:-


TABLES :marc.
TYPES : BEGIN OF ty_mara, "material header data
matnr type mara-matnr, "material
ersda TYPE mara-ersda, "created on
ernam TYPE mara-ernam, "created by
mtart TYPE mara-mtart, "material type
matkl TYPE mara-matkl, "material group
end of ty_mara.

*MARC TABLE DECLARATION:-

TYPES : BEGIN OF ty_marc, "plant data for material


matnr type marc-matnr, "material
werks TYPE marc-werks, "plant
ekgrp TYPE marc-ekgrp, "purch group
perkz TYPE marc-perkz, "period ind
end of ty_marc.

* MAPL TABLE DECLARATION:-

TYPES : begin of ty_mapl, " assignment of task list for material


matnr TYPE mapl-matnr, "material
plnnr TYPE mapl-plnnr, "group
zaehl TYPE mapl-zaehl, "counter
datuv TYPE mapl-datuv, "valid from
lifnr TYPE mapl-lifnr, "vender
end of ty_mapl.

*MAKT TABLE DECLARATION:-

TYPES : BEGIN OF ty_makt, "material description


matnr TYPE makt-matnr, "material
maktx TYPE makt-maktx, "description
END OF ty_makt.
*
* TYPES : BEGIN OF ty_final,
* matnr type mara-matnr, "material
* ersda TYPE mara-ersda, "created on
* ernam TYPE mara-ernam, "created by
* mtart TYPE mara-mtart, "material type
* matkl TYPE mara-matkl, "material group
* werks TYPE marc-werks, "plant
* ekgrp TYPE marc-ekgrp, "purch group
* perkz TYPE marc-perkz, "period ind
*end of ty_final.

TYPES : BEGIN OF ty_final1,


matnr type mara-matnr, "material
ersda TYPE mara-ersda, "created on
ernam TYPE mara-ernam, "created by
mtart TYPE mara-mtart, "material type
matkl TYPE mara-matkl, "material group
werks TYPE marc-werks, "plant
ekgrp TYPE marc-ekgrp, "purch group
perkz TYPE marc-perkz, "period ind
plnnr TYPE mapl-plnnr, "group
zaehl TYPE mapl-zaehl, "counter
datuv TYPE mapl-datuv, "valid from
lifnr TYPE mapl-lifnr, "vender
maktx TYPE makt-maktx, "description
end of ty_final1.

* DATA : WA_FINAL TYPE ty_final,


* it_final TYPE TABLE OF ty_final.

DATA : WA_FINAL1 TYPE ty_final1,


it_final1 TYPE TABLE OF ty_final1.

*******************************************************************************
***************** WORK AREA AND INTERNAL TABLE DECLARATION ********************
*******************************************************************************

data : wa_mara TYPE ty_mara,


it_mara TYPE TABLE OF ty_mara,
wa_mapl TYPE ty_mapl,
it_mapl TYPE TABLE OF ty_mapl,
wa_marc TYPE ty_marc,
it_marc TYPE TABLE OF ty_marc,
wa_makt TYPE ty_makt,
it_makt TYPE TABLE OF ty_makt.
data : lv_tab TYPE i.

**********************************************************************************
************************** SELECTION SCREEN ELEMENTS *****************************
**********************************************************************************
data lv_matnr type mara-matnr.
SELECT-OPTIONS s_mara for lv_matnr OBLIGATORY no-EXTENSION.
SELECT-OPTIONS s_marc for marc-werks OBLIGATORY no-EXTENSION no INTERVALS.
*SELECT-OPTIONS s_mara1 for mara-mtart OBLIGATORY no-E
PARAMETERS p_mara TYPE mara-mtart.

select matnr
ersda
ernam
mtart
matkl from mara into table it_mara where matnr in s_mara.
if it_mara is not INITIAL.

select matnr
werks
ekgrp
perkz from marc into TABLE it_marc FOR ALL ENTRIES IN it_mara where matnr
= it_mara-matnr and werks in s_marc.

endif.

if it_final is NOT INITIAL.


select matnr
plnnr
zaehl
datuv
lifnr from mapl INTO TABLE it_mapl FOR ALL ENTRIES IN it_final where matnr =
it_final-matnr.
ENDIF.
if it_mapl is not INITIAL.
SELECT matnr
maktx from makt into TABLE it_makt FOR ALL ENTRIES IN it_mapl where
matnr = it_mapl-matnr.
ENDIF.

START-OF-SELECTION.
if it_marc is not INITIAL.
sort it_marc by matnr mtart werks.
sort it_mapl by matnr.
loop at it_mara INTO wa_mara.
wa_final1-matnr = wa_mara-matnr.
wa_final1-ersda = wa_mara-ersda.
wa_final1-ernam = wa_mara-ernam.
wa_final1-mtart = wa_mara-mtart.
wa_final1-matkl = wa_mara-matkl.
READ TABLE it_marc into wa_marc with key matnr = wa_mara-matnr.
if sy-subrc = 0.
wa_final1-werks = wa_marc-werks.
wa_final1-ekgrp = wa_marc-ekgrp.
wa_final1-perkz = wa_marc-perkz.
read TABLE it_mapl into wa_mapl with key matnr = wa_marc-matnr BINARY
SEARCH.
if sy-subrc = 0.
lv_tab = sy-tabix.
loop at it_mapl into wa_mapl from lv_tab.
if wa_mapl-matnr = wa_final-matnr.
wa_final1-matnr = wa_mapl-matnr.
wa_final1-plnnr = wa_mapl-plnnr.
wa_final1-zaehl = wa_mapl-zaehl.
wa_final1-datuv = wa_mapl-datuv.
wa_final1-lifnr = wa_mapl-lifnr.
else.
exit.
endif.
ENDLOOP.
endif.
READ TABLE it_makt into wa_makt with key matnr = wa_mapl-matnr.
if sy-subrc = 0.
wa_final1-maktx = wa_makt-maktx.
endif.
endif.
APPEND wa_final1 to it_final1.
clear wa_final1.
ENDLOOP.
endif.

if it_final1 is not INITIAL.


loop at it_final1 into wa_final1.
write : wa_final1-matnr,
wa_final1-ersda,
wa_final1-ernam,
wa_final1-mtart,
wa_final1-matkl,
wa_final1-werks,
wa_final1-ekgrp,
wa_final1-perkz,
wa_final1-plnnr,
wa_final1-zaehl,
wa_final1-datuv,
wa_final1-lifnr,
wa_final1-maktx.
ENDLOOP.
else.
write ' no data is matching on given input'.
endif.

You might also like