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: 

bapi_po_change!!

Former Member
0 Kudos

Hi,

I am using this Fm to update the quantity of various po items and it works fine for single line item but when i try to update the multiple line item it doesnlt work...

what may be the reason?

Regards

Gunjan

3 REPLIES 3

Former Member
0 Kudos

Make sure you are populating the POITEM and POITEMX table with multiple lines, and explicitly stating the PO_ITEM field, in both POITEM and POITEMX tables.

So if you were changing line 30, 50 and 70 or your purchase order, you need three lines in table POITEM, for PO_ITEM = 30, 50, 70 each and you need three lines in the POITEMX table, with PO_ITEM = 30, 50, 70 and an 'X' in all corresponding fields of POITEM that you would want to change.

Former Member
0 Kudos

Hi,

Go thru this Thread,

Regards,

Padmam.

0 Kudos

l_purchaseorder = '3100000017'.
i_bapimepoheader-po_number = '3100000017'.
i_bapimepoheader-comp_code = '8525'.
i_bapimepoheader-doc_type = 'HD'.
i_bapimepoheader-vendor  = '7250001702'.
i_bapimepoheader-purch_org = 'EA00'.
i_bapimepoheader-pur_group = '999'.
i_bapimepoheader-currency = 'SEK'.
i_bapimepoheader-incoterms1 =  'FCA'.
APPEND i_bapimepoheader.

i_bapimepoheaderx-po_number = 'X'.
i_bapimepoheaderx-comp_code = 'X'.
i_bapimepoheaderx-doc_type = 'X'.
i_bapimepoheaderx-vendor  = 'X'.
i_bapimepoheaderx-purch_org = 'X'.
i_bapimepoheaderx-pur_group = 'X'.
i_bapimepoheaderx-currency = 'X'.
i_bapimepoheaderx-incoterms1 =  'X'.
APPEND i_bapimepoheaderx.

i_bapimepoitem-po_item = '00010'.
i_bapimepoitem-material = '000000000001847802'.
i_bapimepoitem-plant = 'SE31'.
*i_bapimepoitem-quantity = '000900000.000'.
i_bapimepoitem-po_unit = 'ST'.
i_bapimepoitem-orderpr_un = 'ST'.
i_bapimepoitem-net_price = '00000000000.40'.
i_bapimepoitem-price_unit = '1'.
APPEND i_bapimepoitem.

i_bapimepoitemx-po_item = '00010'.
i_bapimepoitemx-material = 'X'.
i_bapimepoitemx-plant = 'X'..
*i_bapimepoitemx-quantity = 'X'..
i_bapimepoitemx-po_unit = 'X'..
i_bapimepoitemx-orderpr_un = 'X'..
i_bapimepoitemx-net_price = 'X'..
i_bapimepoitemx-price_unit = 'X'..
APPEND i_bapimepoitemx.

* start gunjan 13.08.07
i_bapimepoitem-po_item = '00020'.
i_bapimepoitem-material = '000000000001847802'.
i_bapimepoitem-plant = 'SE31'.
*i_bapimepoitem-quantity = '000900000.000'.
i_bapimepoitem-po_unit = 'ST'.
i_bapimepoitem-orderpr_un = 'ST'.
i_bapimepoitem-net_price = '00000000001.40'.
i_bapimepoitem-price_unit = '1'.
APPEND i_bapimepoitem.

i_bapimepoitemx-po_item = '00020'.
i_bapimepoitemx-material = 'X'.
i_bapimepoitemx-plant = 'X'..
*i_bapimepoitemx-quantity = 'X'..
i_bapimepoitemx-po_unit = 'X'..
i_bapimepoitemx-orderpr_un = 'X'..
i_bapimepoitemx-net_price = 'X'..
i_bapimepoitemx-price_unit = 'X'..
APPEND i_bapimepoitemx.
* end gunjan 13.08.07

i_bapimeposchedule-po_item = '00010'.
i_bapimeposchedule-delivery_date = '12.08.2007'.
i_bapimeposchedule-quantity = '000780000.000'.
APPEND i_bapimeposchedule.

i_bapimeposchedulx-po_item = '00010'.
i_bapimeposchedulx-delivery_date = 'X'.
i_bapimeposchedulx-quantity = 'X'.
APPEND i_bapimeposchedulx.

i_poexpimpitem-po_item = '00010'.
i_poexpimpitem-export_import_procedure = 'Z9999'.
APPEND i_poexpimpitem.

i_poexpimpitemx-po_item = '00010'.
i_poexpimpitemx-export_import_procedure = 'X'.
APPEND i_poexpimpitemx.
*start gunjan 13.08.07
i_bapimeposchedule-po_item = '00020'.
i_bapimeposchedule-delivery_date = '09.08.2007'.
i_bapimeposchedule-quantity = '00080000.000'.
APPEND i_bapimeposchedule.

i_bapimeposchedulx-po_item = '00020'.
i_bapimeposchedulx-delivery_date = 'X'.
i_bapimeposchedulx-quantity = 'X'.
APPEND i_bapimeposchedulx.

i_poexpimpitem-po_item = '00020'.
i_poexpimpitem-export_import_procedure = 'Z9999'.
APPEND i_poexpimpitem.

i_poexpimpitemx-po_item = '00020'.
i_poexpimpitemx-export_import_procedure = 'X'.
APPEND i_poexpimpitemx.

*end gunjan 13.08.07

*
*i_bapimepoitemx-po_item = 'X'.
*i_bapimepoitemx-material = 'X'.
*i_bapimepoitemx-plant = 'X'..
*i_bapimepoitemx-quantity = 'X'..
*i_bapimepoitemx-po_unit = 'X'..
*i_bapimepoitemx-orderpr_un = 'X'..
*i_bapimepoitemx-net_price = 'X'..
*i_bapimepoitemx-price_unit = 'X'..
*APPEND i_bapimepoitemx.
*
*
i_bapiekkop-partnerdesc = 'GS'.
i_bapiekkop-langu = 'E'.
i_bapiekkop-buspartno = '6250008355'.
APPEND i_bapiekkop.
CALL FUNCTION 'BAPI_PO_CHANGE'
  EXPORTING
    purchaseorder                = l_purchaseorder
   poheader                     = i_bapimepoheader
   poheaderx                    = i_bapimepoheaderx
*   POADDRVENDOR                 =
*   TESTRUN                      =
*   MEMORY_UNCOMPLETE            =
*   MEMORY_COMPLETE              =
*   POEXPIMPHEADER               =
*   POEXPIMPHEADERX              =
*   VERSIONS                     =
*   NO_MESSAGING                 =
*   NO_MESSAGE_REQ               =
*   NO_AUTHORITY                 =
*   NO_PRICE_FROM_PO             =
 IMPORTING
   expheader                    = i_expheader
   exppoexpimpheader            = i_exppoexpimpheader
 TABLES
   return                       = i_return
   poitem                       = i_bapimepoitem
   poitemx                      = i_bapimepoitemx
*   POADDRDELIVERY               =
   poschedule                   = i_bapimeposchedule
   poschedulex                  = i_bapimeposchedulx
*   POACCOUNT                    =
*   POACCOUNTPROFITSEGMENT       =
*   POACCOUNTX                   =
*   POCONDHEADER                 =
*   POCONDHEADERX                =
*   POCOND                       =
*   POCONDX                      =
*   POLIMITS                     =
*   POCONTRACTLIMITS             =
*   POSERVICES                   =
*   POSRVACCESSVALUES            =
*   POSERVICESTEXT               =
*   EXTENSIONIN                  =
*   EXTENSIONOUT                 =
   poexpimpitem                 = i_poexpimpitem
   poexpimpitemx                = i_poexpimpitemx
*   POTEXTHEADER                 =
*   POTEXTITEM                   =
*   ALLVERSIONS                  =
*   POPARTNER                    =
          .
COMMIT WORK AND WAIT.
*CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
*   WAIT          =
* IMPORTING
*   RETURN        =
.

please check this part and tell me where i am going wrong..

Regards

Gunjan