Application Development and Automation 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: 
Read only

PO BAPI

Former Member
0 Likes
411

How to add PO Items via PO BAPI?

If possible please give example code.

I am trying to do the same via BAPI_PO_CHANGE.

Is it possible to ass item via same BAPI or some other BAPI should be used?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
377

The same BAPI_PO_CHANGE can be used to update the item details,

we can make the following using this BAPI:

1. Change in header data

2. Change in item

3. Change in delivery schedule

4. Change in account assignment

5. Change in conditions

6. Change in partners

But please pass the appropriate values.

Reward points if useful.

Regards,

Arul

3 REPLIES 3
Read only

dhruv_shah3
Active Contributor
0 Likes
377

Hi,

Use the following code :

&----


*& Report ZDS_BAPI_PO

*&

&----


*&

*&

&----


REPORT ZDS_BAPI_PO.

DATA: PO_NUM TYPE BAPIMEPOHEADER-PO_NUMBER.

DATA :WA_HEADER TYPE BAPIMEPOHEADER,

WA_HEADERX TYPE BAPIMEPOHEADERX.

DATA: IT_ITEM TYPE TABLE OF BAPIMEPOITEM,

IT_ITEMX TYPE TABLE OF BAPIMEPOITEMX,

WA_ITEM TYPE BAPIMEPOITEM,

WA_ITEMX TYPE BAPIMEPOITEMX,

IT_RETURN TYPE TABLE OF BAPIRET2,

WA_RETURN TYPE BAPIRET2.

WA_HEADER-COMP_CODE = '1000 '.

WA_HEADER-DOC_TYPE = 'NB'.

WA_HEADER-ITEM_INTVL = '00001'.

WA_HEADER-VENDOR = '0000001000' .

WA_HEADER-PMNTTRMS = '0001' .

WA_HEADER-PURCH_ORG = '1000' .

WA_HEADER-PUR_GROUP = '001' .

WA_HEADER-CURRENCY = 'EUR '.

WA_HEADERX-COMP_CODE = 'X'.

WA_HEADERX-DOC_TYPE = 'X'.

WA_HEADERX-ITEM_INTVL = 'X'.

WA_HEADERX-VENDOR = 'X' .

WA_HEADERX-PMNTTRMS = 'X' .

WA_HEADERX-PURCH_ORG = 'X' .

WA_HEADERX-PUR_GROUP = 'X' .

WA_ITEM-PO_ITEM = '00001' .

WA_ITEM-MATERIAL = '100-100'.

WA_ITEM-PLANT = '1000'.

WA_ITEM-STGE_LOC = '0001'.

WA_ITEM-QUANTITY = '15.000'.

WA_ITEM-TAX_CODE = 'V0'.

WA_ITEM-ITEM_CAT = '0'.

*WA_ITEM-ACCTASSCAT = 'K'.

APPEND WA_ITEM TO IT_ITEM.

WA_ITEMX-PO_ITEM = '00001' .

WA_ITEMX-MATERIAL = 'X'.

WA_ITEMX-PLANT = 'X'.

WA_ITEMX-STGE_LOC = 'X'.

WA_ITEMX-QUANTITY = 'X'.

WA_ITEMX-TAX_CODE = 'X'.

WA_ITEMX-ITEM_CAT = 'X'.

WA_ITEMX-ACCTASSCAT = 'X'.

APPEND WA_ITEMX TO IT_ITEMX.

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = WA_HEADER

POHEADERX = WA_HEADERX

  • POADDRVENDOR =

  • TESTRUN =

  • MEMORY_UNCOMPLETE =

  • MEMORY_COMPLETE =

  • POEXPIMPHEADER =

  • POEXPIMPHEADERX =

  • VERSIONS =

  • NO_MESSAGING =

  • NO_MESSAGE_REQ =

  • NO_AUTHORITY =

  • NO_PRICE_FROM_PO =

IMPORTING

EXPPURCHASEORDER = PO_NUM

  • EXPHEADER =

  • EXPPOEXPIMPHEADER =

TABLES

RETURN = IT_RETURN

POITEM = IT_ITEM

POITEMX = IT_ITEMX

  • POADDRDELIVERY =

  • POSCHEDULE =

  • POSCHEDULEX =

  • POACCOUNT =

  • POACCOUNTPROFITSEGMENT =

  • POACCOUNTX =

  • POCONDHEADER =

  • POCONDHEADERX =

  • POCOND =

  • POCONDX =

  • POLIMITS =

  • POCONTRACTLIMITS =

  • POSERVICES =

  • POSRVACCESSVALUES =

  • POSERVICESTEXT =

  • EXTENSIONIN =

  • EXTENSIONOUT =

  • POEXPIMPITEM =

  • POEXPIMPITEMX =

  • POTEXTHEADER =

  • POTEXTITEM =

  • ALLVERSIONS =

  • POPARTNER =

  • POCOMPONENTS =

  • POCOMPONENTSX =

  • POSHIPPING =

  • POSHIPPINGX =

  • POSHIPPINGEXP =

.

IF PO_NUM IS NOT INITIAL.

WRITE:/ 'Po is generated :::::::-',PO_NUM.

ELSE.

LOOP AT IT_RETURN INTO WA_RETURN.

write: / WA_RETURN-MESSAGE.

ENDLOOP.

endif.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

  • IMPORTING

  • RETURN =

.

regards,

DS

Read only

Former Member
0 Likes
378

The same BAPI_PO_CHANGE can be used to update the item details,

we can make the following using this BAPI:

1. Change in header data

2. Change in item

3. Change in delivery schedule

4. Change in account assignment

5. Change in conditions

6. Change in partners

But please pass the appropriate values.

Reward points if useful.

Regards,

Arul

Read only

Former Member
0 Likes
377

hi

good

i dont think y ou can add a PO using the BAPI_PO_CHANGE bapi.

thanks

mrutyun^