Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Issuse in BAPI_MATERIAL_SAVEDATA Update

ankesh_jindal4
Participant
0 Kudos

Hi,

I am trying to update multiple material plant combination to BAPI BAPI_MATERIAL_SAVEDATA and but everytime I pass one material plant it is updating correctly but whenever i send multiple records of material plan combination , it is not updating. I am updating MARC custom field which I have already extended in the respective BAPI structure.

I have pasted code below for reference, please suggest.

Ankesh


WA_DCS-MATNR 'XX311PBF'.

WA_DCS-WERKS =   '1040'.

WA_DCS-ZZDCBNR = '51102103'.

APPEND WA_DCS TO IT_DCS.

WA_DCS-MATNR 'XXF7311PBF'.

WA_DCS-WERKS =   '1000'.

WA_DCS-ZZDCBNR = '51102103'.

APPEND WA_DCS TO IT_DCS.

WA_DCS-MATNR 'XXF7311PBF'.

WA_DCS-WERKS =   '1030'.

WA_DCS-ZZDCBNR = '51102103'.

APPEND WA_DCS TO IT_DCS.

LOOP AT IT_DCS INTO WA_DCS.

   CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'

     EXPORTING

       INPUT  = WA_DCS-MATNR

     IMPORTING

       OUTPUT = WA_DCS-MATNR.

   WA_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MARC'.

   WA_EXTENSIONIN-VALUEPART1+0(4) = WA_DCS-WERKS.

   WA_EXTENSIONIN-VALUEPART1+4(8) = WA_DCS-ZZDCBNR.

   APPEND WA_EXTENSIONIN TO IT_EXTENSIONIN.

   WA_EXTENSIONINX-STRUCTURE = 'BAPI_TE_MARCX'.

   WA_EXTENSIONINX-VALUEPART1+0(4) = WA_DCS-WERKS.

   WA_EXTENSIONINX-VALUEPART1+4(1) = 'X'.

   APPEND WA_EXTENSIONINX TO IT_EXTENSIONINX.

   WA_HEADDATA-MATERIAL = WA_DCS-MATNR.

   WA_HEADDATA-PURCHASE_VIEW = 'X'.

   AT END OF MATNR.

     CLEAR : WA_RETURN, WA_RETURN1, GV_STRING, GV_STRING1, GV_X.

     CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

       EXPORTING

         HEADDATA     = WA_HEADDATA

       IMPORTING

         RETURN       = WA_RETURN

       TABLES

         EXTENSIONIN  = IT_EXTENSIONIN

         EXTENSIONINX = IT_EXTENSIONINX.

     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

       IMPORTING

         RETURN = WA_RETURN1.

ENDAT.

5 REPLIES 5

thanga_prakash
Active Contributor
0 Kudos

Hello Ankesh,

Did you clear the Work area and Internal tables at the end of the loop as you are using APPEND wa TO itab.

CLEAR:

WA_HEADDATA,

IT_EXTENSIONIN, 

IT_EXTENSIONINX.

Regards,

Thanga

0 Kudos

Ya I am doing it

michael_kozlowski
Active Contributor
0 Kudos

You can add only one plant during one call of the BAPI.

0 Kudos

Is there any provision if for one material i can add all its extended plant in single run of BAPI ?

0 Kudos

you must do step-by-step. First create material for one plant with BAPI. Next call BAPI to add plant and so on and so forth.