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

BAPI_PO_ CREATE

Former Member
0 Likes
446

HOW TO CREATE THE PURCHASE ORDER USING BAPI

2 REPLIES 2
Read only

Former Member
0 Likes
408

Hi,

Just ask your functional consultant which all data is mandatory and pass that data using the above BAPI.

If you require sample program just search SDN there are lots of sample codes.

Reward points if useful.

Regards,

Atish

Read only

Former Member
0 Likes
408

Hi,

here is some sample code to help you get started using the BAPI. Of course, you will have to substitute valid values for a couple variables.

constants : c_x value 'X'.

data: del_date type sy-datum.

data: pohead type bapimepoheader.

data: poheadx type bapimepoheaderx.

data: exp_head type bapimepoheader.

data: return type table of bapiret2 with header line.

data: poitem type table of bapimepoitem with header line.

data: poitemx type table of bapimepoitemx with header line.

data: posched type table of bapimeposchedule with header line.

data: poschedx type table of bapimeposchedulx with header line.

data: ex_po_number type bapimepoheader-po_number.

  • Header Level Data

pohead-comp_code = '0010'.

pohead-doc_type = 'NB' .

pohead-creat_date = sy-datum .

pohead-vendor = '0000012345'.

pohead-purch_org = '1000'.

pohead-pur_group = 'EMG'.

pohead-langu = sy-langu.

pohead-doc_date = sy-datum.

poheadx-comp_code = c_x.

poheadx-doc_type = c_x.

poheadx-creat_date = c_x.

poheadx-vendor = c_x.

poheadx-langu = c_x.

poheadx-purch_org = c_x.

poheadx-pur_group = c_x.

poheadx-doc_date = c_x.

  • Item Level Data

poitem-po_item = 1.

poitem-material = '000000000040001000'.

poitem-plant = '0006'.

poitem-stge_loc = '6000'.

poitem-quantity = 1.

append poitem.

poitemx-po_item = 1.

poitemx-po_itemx = c_x.

poitemx-material = c_x.

poitemx-plant = c_x .

poitemx-stge_loc = c_x .

poitemx-quantity = c_x .

poitemx-tax_code = c_x .

poitemx-item_cat = c_x .

poitemx-acctasscat = c_x .

append poitemx.

  • Schedule Line Level Data

posched-po_item = 1.

posched-sched_line = 1.

posched-del_datcat_ext = 'D'.

del_date = sy-datum + 1.

write del_date to posched-delivery_date.

posched-deliv_time = '000001'.

posched-quantity = 1.

append posched.

poschedx-po_item = 1.

poschedx-sched_line = 1.

poschedx-po_itemx = c_x.

poschedx-sched_linex = c_x.

poschedx-del_datcat_ext = c_x.

poschedx-delivery_date = c_x.

poschedx-quantity = c_x.

append poschedx.

call function 'BAPI_PO_CREATE1'

EXPORTING

poheader = pohead

poheaderx = poheadx

testrun = ' '

IMPORTING

exppurchaseorder = ex_po_number

expheader = exp_head

TABLES

return = return

poitem = poitem

poitemx = poitemx

poschedule = posched

poschedulex = poschedx.

call function 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X'.

if not ex_po_number is initial.

call function 'DEQUEUE_ALL'.

else.

call function 'DEQUEUE_ALL'.

message i036.

endif.

<b>Reward points</b>

Regards