Добрый день.
Да контировка меняется из без проблем.
Там нюанс только в том, что есть номер контировки, и его надо указывать, чтобы изменить, если его не указывать, то он добавляет новую контировку, а это говорит о том, что контировок будет уже больше одной...
Вот:
Code:
data:
it_return type table of bapiret2,
it_POACCOUNT type table of BAPIMEPOACCOUNT,
it_POACCOUNTX type table of BAPIMEPOACCOUNTX,
it_POITEM type table of BAPIMEPOITEM,
it_POITEMX type table of BAPIMEPOITEMX,
wa_acc like line of it_POACCOUNT, "type BAPIMEPOITEM,
wa_accx like line of it_POACCOUNTX,
wa_p like line of it_POITEM, "type BAPIMEPOITEM,
wa_px like line of it_POITEMX,
wa_return type bapiret2.
wa_p-PO_ITEM = 10.
wa_px-PO_ITEM = 10.
* wa_p-NO_MORE_GR = 'X'.
* wa_px-NO_MORE_GR = 'X'.
append wa_p to it_POITEM.
append wa_px to it_POITEMx.
wa_acc-PO_ITEM = 10.
wa_acc-SERIAL_NO = 1.
wa_acc-COSTCENTER = '1201030203'.
wa_acc-GL_ACCOUNT = '0020012102'.
wa_accx-PO_ITEM = 10.
wa_accx-SERIAL_NO = 1.
wa_accx-COSTCENTER = 'X'.
wa_accx-GL_ACCOUNT = 'X'.
append wa_acc to it_POACCOUNT.
append wa_accx to it_POACCOUNTx.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = '4500339578'
* POHEADER =
* POHEADERX =
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
* IMPORTING
* EXPHEADER =
* EXPPOEXPIMPHEADER =
TABLES
RETURN = it_return
POITEM = it_POITEM
POITEMX = it_POITEMX
* POADDRDELIVERY =
* POSCHEDULE =
* POSCHEDULEX =
POACCOUNT = it_POACCOUNT
* POACCOUNTPROFITSEGMENT =
POACCOUNTX = it_POACCOUNTX
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
* POLIMITS =
* POCONTRACTLIMITS =
* POSERVICES =
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
.
break amolchanov.
clear wa_return.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = wa_return.