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

reg BAPI_PO_CREATE1

Former Member
0 Likes
593

HAI TO ALL

I AM TRYING TO CREATE PO USING BAPI

ORDER IS SUCCESFULLY GENERATED, BUT THE CONDITIONS WHATEVER I PASS IS NOT UPDATED , I DON'T KNOW WHERE I AM MISSING

PLEASE GO THRO' MY PROGRAM AND CORRECT ME,

POHEAD_COND-ITM_NUMBER = '00010'.

POHEAD_COND-COND_ST_NO = 91.

POHEAD_COND-COND_COUNT = 2.

POHEAD_COND-COND_TYPE = 'ZINS'.

POHEAD_COND-COND_VALUE = 10.

POHEAD_COND-APPLICATIO = 'M'.

APPEND POHEAD_COND.

POITEM_COND-ITM_NUMBER = '00010'.

POITEM_COND-COND_ST_NO = 90.

POITEM_COND-COND_COUNT = 1.

POITEM_COND-COND_TYPE = 'ZINS'.

*POITEM_COND-COND_VALUE = 10.

POITEM_COND-APPLICATIO = 'M'.

APPEND POITEM_COND.

POHEAD_CONDX-ITM_NUMBER = '00010'.

POHEAD_CONDX-COND_ST_NO = 91.

POHEAD_CONDX-COND_COUNT = c_x .

POHEAD_CONDX-COND_TYPE = c_x .

POHEAD_CONDX-COND_VALUE = c_x .

POHEAD_CONDX-APPLICATIO = c_x .

APPEND POHEAD_CONDX.

POITEM_CONDX-ITM_NUMBER = '00010'.

POITEM_CONDX-COND_ST_NO = 90.

POITEM_CONDX-COND_COUNT = c_x .

POITEM_CONDX-COND_TYPE = c_x .

POITEM_CONDX-COND_VALUE = c_x .

POITEM_CONDX-APPLICATIO = c_x .

APPEND POITEM_CONDX.

call function 'BAPI_PO_CREATE1'

EXPORTING

poheader = pohead

poheaderx = poheadx

  • testrun = ' '

IMPORTING

exppurchaseorder = ex_po_number

  • expheader = exp_head

TABLES

return = t_return_out

poitem = poitem

poitemx = poitemx

poschedule = posched

poschedulex = poschedx

POCONDHEADER = POHEAD_COND

POCONDHEADERX = POHEAD_CONDX.

POCOND = POITEM_COND

  • POCONDX = POITEM_CONDX.

PLEASE REPLY ASAP

REGARDS

VIJAY

HAI TO ALL

I AM TRYING TO CREATE PO USING BAPI

ORDER IS SUCCESFULLY GENERATED, BUT THE CONDITIONS WHATEVER I PASS IS NOT UPDATED , I DON'T KNOW WHERE I AM MISSING

PLEASE GO THRO' MY PROGRAM AND CORRECT ME,

POHEAD_COND-ITM_NUMBER = '00010'.

POHEAD_COND-COND_ST_NO = 91.

POHEAD_COND-COND_COUNT = 2.

POHEAD_COND-COND_TYPE = 'ZINS'.

POHEAD_COND-COND_VALUE = 10.

POHEAD_COND-APPLICATIO = 'M'.

APPEND POHEAD_COND.

POITEM_COND-ITM_NUMBER = '00010'.

POITEM_COND-COND_ST_NO = 90.

POITEM_COND-COND_COUNT = 1.

POITEM_COND-COND_TYPE = 'ZINS'.

*POITEM_COND-COND_VALUE = 10.

POITEM_COND-APPLICATIO = 'M'.

APPEND POITEM_COND.

POHEAD_CONDX-ITM_NUMBER = '00010'.

POHEAD_CONDX-COND_ST_NO = 91.

POHEAD_CONDX-COND_COUNT = c_x .

POHEAD_CONDX-COND_TYPE = c_x .

POHEAD_CONDX-COND_VALUE = c_x .

POHEAD_CONDX-APPLICATIO = c_x .

APPEND POHEAD_CONDX.

POITEM_CONDX-ITM_NUMBER = '00010'.

POITEM_CONDX-COND_ST_NO = 90.

POITEM_CONDX-COND_COUNT = c_x .

POITEM_CONDX-COND_TYPE = c_x .

POITEM_CONDX-COND_VALUE = c_x .

POITEM_CONDX-APPLICATIO = c_x .

APPEND POITEM_CONDX.

call function 'BAPI_PO_CREATE1'

EXPORTING

poheader = pohead

poheaderx = poheadx

  • testrun = ' '

IMPORTING

exppurchaseorder = ex_po_number

  • expheader = exp_head

TABLES

return = t_return_out

poitem = poitem

poitemx = poitemx

poschedule = posched

poschedulex = poschedx

POCONDHEADER = POHEAD_COND

POCONDHEADERX = POHEAD_CONDX.

POCOND = POITEM_COND

  • POCONDX = POITEM_CONDX.

PLEASE REPLY ASAP

REGARDS

VIJAY

4 REPLIES 4
Read only

Former Member
0 Likes
543

Hi,

Im not sure just give try to this

Call BAPI_TRANSACTION_COMMIT will after ur BAPI.

<b>A sample code</b>:

&----


*& Report ZBAPI_CREATE_PO *

*& *

&----


*& Program demonstrates the BAPI call to create Purchase Order *

*& Minimum required parameters are used are as per the current *

*& system configuration *

&----


REPORT ZBAPI_CREATE_PO .

&----


*DATA DECLARATION

CONSTANTS : C_X VALUE 'X'.

*Structures to hold PO header data

DATA : HEADER LIKE BAPIMEPOHEADER ,

HEADERX LIKE BAPIMEPOHEADERX .

*Internal Tables to hold PO ITEM DATA

DATA : ITEM LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE,

ITEMX LIKE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE,

*Internal table to hold messages from BAPI call

RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.

data : w_header(40) value 'PO Header'.

data : ws_langu like sy-langu.

*text-001 = 'PO Header' - define as text element

selection-screen begin of block b1 with frame title text-001.

parameters : company like header-comp_code default '2700' ,

doctyp like HEADER-DOC_TYPE default 'NB' ,

cdate like HEADER-CREAT_DATE default sy-datum ,

vendor like HEADER-VENDOR default '0010000023',

pur_org like HEADER-PURCH_ORG default '2700' ,

pur_grp like HEADER-PUR_GROUP default '001' .

selection-screen end of block b1.

selection-screen begin of block b2 with frame title text-002.

parameters : item_num like ITEM-PO_ITEM default '00001',

material like ITEM-MATERIAL default 'CRANE' ,

plant like ITEM-PLANT default '2700' ,

quantity like ITEM-QUANTITY default 100.

selection-screen end of block b2.

&----


START-OF-SELECTION.

&----


*DATA POPULATION

&----


ws_langu = sy-langu. "Language variable

*POPULATE HEADER DATA FOR PO

HEADER-COMP_CODE = company .

HEADER-DOC_TYPE = doctyp .

HEADER-CREAT_DATE = cdate .

HEADER-VENDOR = vendor .

HEADER-LANGU = ws_langu .

HEADER-PURCH_ORG = pur_org .

HEADER-PUR_GROUP = pur_grp .

&----


*POPULATE HEADER FLAG.

&----


HEADERX-comp_code = c_x.

HEADERX-doc_type = c_x.

HEADERX-creat_date = c_x.

HEADERX-vendor = c_x.

HEADERX-langu = c_x.

HEADERX-purch_org = c_x.

HEADERX-pur_group = c_x.

HEADERX-doc_date = c_x.

&----


*POPULATE ITEM DATA.

&----


ITEM-PO_ITEM = item_num.

ITEM-MATERIAL = material.

ITEM-PLANT = plant.

ITEM-QUANTITY = quantity.

APPEND ITEM.

&----


*POPULATE ITEM FLAG TABLE

&----


ITEMX-PO_ITEM = item_num.

ITEMX-MATERIAL = C_X.

ITEMX-PLANT = C_X .

ITEMX-STGE_LOC = C_X .

ITEMX-QUANTITY = C_X .

ITEMX-TAX_CODE = C_X .

ITEMX-ITEM_CAT = C_X .

ITEMX-ACCTASSCAT = C_X .

APPEND ITEMX.

&----


*BAPI CALL

&----


CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = HEADER

POHEADERX = HEADERX

  • POADDRVENDOR =

  • TESTRUN =

  • IMPORTING

  • EXPPURCHASEORDER =

  • EXPHEADER =

  • EXPPOEXPIMPHEADER =

TABLES

RETURN = RETURN

POITEM = ITEM

POITEMX = ITEMX.

&----


*Confirm the document creation by calling database COMMIT

&----


CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

  • IMPORTING

  • RETURN =

.

end-of-selection.

&----


*Output the messages returned from BAPI call

&----


LOOP AT RETURN.

WRITE / RETURN-MESSAGE.

ENDLOOP.

rgds,

latheesh

Message was edited by: Latheesh Kaduthara

Read only

Manohar2u
Active Contributor
0 Likes
543

call function 'BAPI_PO_CREATE1'

EXPORTING

poheader = pohead

poheaderx = poheadx

  • testrun = ' '

IMPORTING

exppurchaseorder = ex_po_number

  • expheader = exp_head

TABLES

return = t_return_out

poitem = poitem

poitemx = poitemx

poschedule = posched

poschedulex = poschedx

POCONDHEADER = POHEAD_COND

POCONDHEADERX = POHEAD_CONDX.

POCOND = POITEM_COND

<b>* POCONDX = POITEM_CONDX.</b> <--Uncomment and tryout

Hope you are using bapi commit.

Regds

Manohar

Read only

Former Member
0 Likes
543

HAI MANOHAR

I TRYIED THAT BUT NOT WORKING

REGARDS

VIJAY

Read only

Manohar2u
Active Contributor
0 Likes
543

Here you have what you need, refer to this link

Regds

Manohar