2006 Jun 24 8:49 AM
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
2006 Jun 24 8:56 AM
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
2006 Jun 24 8:59 AM
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
2006 Jun 24 10:25 AM
2006 Jun 24 10:48 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |