0% found this document useful (0 votes)
45 views

Practice Abap Program 2

This document describes a program called ZNAVREAL2 that achieves parallel cursor technique using the FOR ALL ENTRIES concept. It declares types for tables MARA, MARC, MAPL and MAKT. It then declares internal tables and work areas based on these types to store selected data. Selection screens are used to select materials and plants. Data is selected from the tables and combined in a final internal table based on the material number. The final table is then looped and written to output.

Uploaded by

jekel
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Practice Abap Program 2

This document describes a program called ZNAVREAL2 that achieves parallel cursor technique using the FOR ALL ENTRIES concept. It declares types for tables MARA, MARC, MAPL and MAKT. It then declares internal tables and work areas based on these types to store selected data. Selection screens are used to select materials and plants. Data is selected from the tables and combined in a final internal table based on the material number. The final table is then looped and written to output.

Uploaded by

jekel
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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