1

Help neeeded, values not getting stored in final table.

 1 year ago
source link: https://answers.sap.com/questions/13804425/help-neeeded-values-not-getting-stored-in-final-ta.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
1 hour ago

Help neeeded, values not getting stored in final table.

14 Views Last edit 51 minutes ago 2 rev

Getting no idea where i am going wrong, my IT_MSEG is fetching data, but when modifying IT_FINAL, the values are not getting transported. Need help, please point where i am going wrong.

Thanks.

REPORT ZROQ_STATUS_REPORT.

TABLES: MARA , MARC , MSEG.

TYPE-POOLS: SLIS.

TYPES: BEGIN OF TY_FINAL,
MATERIAL_NO TYPE MARA-MATNR,
MATERIAL_GRP TYPE MARA-MATKL,
MATERIAL_NO2 TYPE MARC-MATNR,
PLANT TYPE MARC-WERKS,
MVMT_TYP TYPE MSEG-BWART,
MTRL_DOC_NO TYPE MSEG-MBLNR,
QUANTITY TYPE MSEG-MENGE,
BATCH_NO1 TYPE MSEG-CHARG,
BATCH_NO2 TYPE MSEG-CHARG,

END OF TY_FINAL.

DATA: IT_FINAL TYPE TABLE OF TY_FINAL,
WA_FINAL TYPE TY_FINAL.


SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: SO_MTART FOR MARA-MTART.
SELECT-OPTIONS: SO_MATKL FOR MARA-MATKL.
SELECTION-SCREEN END OF BLOCK BK1.


SELECTION-SCREEN BEGIN OF BLOCK BK3 WITH FRAME TITLE TEXT-003.
SELECT-OPTIONS: SO_DATE FOR MSEG-BUDAT_MKPF.
SELECT-OPTIONS: SO_WERKS FOR MARC-WERKS.
SELECTION-SCREEN END OF BLOCK BK3.

START-OF-SELECTION.
PERFORM GET_DATA.


FORM GET_DATA.

* MARA
SELECT MATNR,
MATKL
FROM MARA
INTO TABLE @DATA(IT_MARA)
WHERE MATKL IN @SO_MATKL AND MATKL IN ( 'FG01' , 'FG02' ). "matkl = 'FG01' & 'FG02'.

LOOP AT IT_MARA INTO DATA(WA_MARA).
WA_FINAL-MATERIAL_NO = WA_MARA-MATNR.
WA_FINAL-MATERIAL_GRP = WA_MARA-MATKL.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_MARA , WA_FINAL.
ENDLOOP.

* MARC
IF IT_FINAL[] IS NOT INITIAL.
SELECT MATNR,
WERKS
FROM MARC
INTO TABLE @DATA(IT_MARC)
FOR ALL ENTRIES IN @IT_FINAL
WHERE MATNR = @IT_FINAL-MATERIAL_NO AND WERKS IN @SO_WERKS AND WERKS IN ( 'PM01' , 'PM02' ).
ENDIF.

LOOP AT IT_FINAL INTO WA_FINAL.
READ TABLE IT_MARC INTO DATA(WA_MARC) WITH KEY MATNR = WA_FINAL-MATERIAL_NO.
IF SY-SUBRC = 0.
WA_FINAL-MATERIAL_NO2 = WA_MARC-MATNR.
WA_FINAL-PLANT = WA_MARC-WERKS.
MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING MATERIAL_NO2 PLANT.
CLEAR: WA_MARC , WA_FINAL.
ENDIF.
ENDLOOP.

* MSEG
IF IT_FINAL[] IS NOT INITIAL.
SELECT MATNR,
WERKS,
BUDAT_MKPF,
BWART,
MBLNR,
MENGE,
CHARG
FROM MSEG
INTO TABLE @DATA(IT_MSEG)
FOR ALL ENTRIES IN @IT_FINAL
WHERE MATNR = @IT_FINAL-MATERIAL_NO2
AND WERKS = @IT_FINAL-PLANT
AND BUDAT_MKPF IN @SO_DATE
AND BWART = '101'.
ENDIF.

* Values are getting stored in IT_MSEG but when trying to modify IT_FINAL, the values are not getting transported.
LOOP AT IT_FINAL INTO WA_FINAL.
READ TABLE IT_MSEG INTO DATA(WA_MSEG) WITH KEY MATNR = WA_FINAL-MATERIAL_NO2
WERKS = WA_FINAL-PLANT
BUDAT_MKPF = SO_DATE
BWART = '101'.


IF SY-SUBRC = 0.
WA_FINAL-MVMT_TYP = WA_MSEG-BWART.
WA_FINAL-MTRL_DOC_NO = WA_MSEG-MBLNR.
WA_FINAL-QUANTITY = WA_MSEG-MENGE.
WA_FINAL-BATCH_NO1 = WA_MSEG-CHARG.
MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING MVMT_TYP MTRL_DOC_NO QUANTITY BATCH_NO1.
CLEAR: WA_FINAL , WA_MSEG.
ENDIF.
ENDLOOP.




About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK