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.
Showing results for 
Search instead for 
Did you mean: 

BAPI_PO_CHANGE cant delete funds center (fistl) value

0 Kudos


Im using the bapi BAPI_PO_CHANGE to modify the values of an order. The problem is, using the BAPI 'BAPI_PO_CREATE1' in testing mode to validate the parameters. If the is not cost center value, the funds center value is deleted. But when I use the bapi BAPI_PO_CHANGE I dont achieve to set the value of the field funds center as 0.

Why which the bapi 'BAPI_PO_CREATE1' in testing mode I can delete the value of funds_ctr, but when I want to save the changes in the database with the bapi BAPI_PO_CHANGE I dont success?

Thanks in adavance,



Former Member
0 Kudos


If oyu want to save to database you need to use 'BAPI_TRANSACTION_COMMIT' after the 'BAPI_PO_CHANGE' . Also the mode 'TEST' is usually to test or check if there are any erros in using the 'BAPI_PO_CHANGE' or 'BAPI_PO_CHANGE1'. This mode does not save anything to the Database even if you use 'BAPI_TRANSACTION_COMMIT'. The mode is only used to check and see if everything is fine before you do actual create or change etc.

best regards,


Active Participant
0 Kudos

Hi Javier,

as Swanand already mentioned, you need the FM 'BAPI_TRANSACTION_COMMIT'. But it is possible to use this FM also in the test mode to write the changes to the database. It is necessary to create a test sequence. This is possible in TA SE37 Menu Function Module/Test->Test Sequences. Fill bot FM in the correct order into the table. After you execute the first FM you can execute the second FM in the same LUW.

Kind regards


0 Kudos

Have you updated properly table POITEM and POITEMX  in table POITEM populate fund value to zero and in table POITEMX update flag value as X and also put PO Number and PO Item complete value in both table also flag for update in header structure then process and call commit process.

0 Kudos


To clarify a little bit more. Im able to modify orders, my only problem is to set the field funds center to initial (null).

This value derivates from the value of cost center.

In testing mode with the 'bapi_po_create1', if cost center is null -> funds center takes the value null. I use this bapi to obtaine the derivates values.

But If I want to save the changes, I use 'bapi_po_change'. All the values are correctly saved except that when the cost center is null -> funds center keep the old value and not initial.

I dont understand why the function 'bapi_po_change' doesnt derivate the values like the function 'bapi_po_create1'. The parameters are the same, I have everything filled, poitem and poitemx.

I hope it helps you,