cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_PO_CREATE1 Condition pricing problem

Former Member
0 Kudos

Hi Experts,

I created the PO through BAPI_PO_CREAE1 according to the below code. In that PO which i created default condition type "PBXX".But i want condition Type "PB00".so in my BAPI condtion table POCOND i gave "U" [ POCOND-change_id = 'U' (update) ].But the default "PBXX" is again coming.

when i give POCOND-change_id = 'I' (insert) two condition types are coming(PB00 & PBXX).

I referred our forum(sdn) throughly.I won't get solution.

data: del_date type sy-datum.

data: ORDER_HEADERS_OUT like BAPISDHD OCCURS 0 WITH HEADER LINE.

data: ORDER_ITEMS_OUT like BAPISDIT OCCURS 0 WITH HEADER LINE.

data: ORDER_SCHEDULES_OUT like BAPISDHEDU OCCURS 0 WITH HEADER LINE.

data: ORDER_PARTNERS_OUT like BAPISDPART OCCURS 0 WITH HEADER LINE.

data: ORDER_COND_HEAD like BAPICONDHD OCCURS 0 WITH HEADER LINE.

data: ORDER_COND_ITEM like BAPICONDIT OCCURS 0 WITH HEADER LINE.

data: ORDER_TEXTHEADERS_OUT like BAPISDTEHD OCCURS 0 WITH HEADER LINE.

datA: ORDER_TEXTLINES_OUT like BAPITEXTLI OCCURS 0 WITH HEADER LINE.

data: I_BAPI_VIEW like ORDER_VIEW OCCURS 0 WITH HEADER LINE.

************************************************************

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 : POTEXTHEADER type table of BAPIMEPOTEXTHEADER with header line .

data: POTEXTITEM type table of BAPIMEPOTEXT with header line.

*data: POTEXTITEMx type table of BAPIMEPOTEXTx with header line.

DATA: POCOND TYPE table of BAPIMEPOCOND with header line.

DATA: POCONDX TYPE TABLE OF BAPIMEPOCONDX WITH HEADER LINE.

data: ex_po_number type bapimepoheader-po_number.

data: itno type i.

************************************************************

i_bapi_view-HEADER = 'X'.

i_bapi_view-ITEM = 'X'.

i_bapi_view-SDSCHEDULE = 'X'.

i_bapi_view-PARTNER = 'X'.

i_bapi_view-SDCOND = 'X'.

i_bapi_view-SDCOND_ADD = 'X'.

i_bapi_view-TEXT = 'X'.

*i_bapi_view- = 'X'.

APPEND I_BAPI_VIEW.

DATA: SONO LIKE SALES_KEY OCCURS 0 WITH HEADER LINE..

SONO-VBELN = '0001014145'.

APPEND SONO.

CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'

EXPORTING

i_bapi_view = I_BAPI_VIEW

  • I_MEMORY_READ =

tables

sales_documents = SONO

ORDER_HEADERS_OUT = ORDER_HEADERS_OUT

ORDER_ITEMS_OUT = ORDER_ITEMS_OUT

ORDER_SCHEDULES_OUT = ORDER_SCHEDULES_OUT

  • ORDER_BUSINESS_OUT =

ORDER_PARTNERS_OUT = ORDER_PARTNERS_OUT

  • ORDER_ADDRESS_OUT =

  • ORDER_STATUSHEADERS_OUT =

  • ORDER_STATUSITEMS_OUT =

  • ORDER_CONDITIONS_OUT =

ORDER_COND_HEAD = ORDER_COND_HEAD

ORDER_COND_ITEM = ORDER_COND_ITEM

  • ORDER_COND_QTY_SCALE =

  • ORDER_COND_VAL_SCALE =

  • ORDER_CONTRACTS_OUT =

ORDER_TEXTHEADERS_OUT = ORDER_TEXTHEADERS_OUT

ORDER_TEXTLINES_OUT = ORDER_TEXTLINES_OUT

.

BREAK-POINT.

pohead-comp_code = 'SG20'.

pohead-doc_type = 'NB' .

pohead-creat_date = sy-datum .

pohead-vendor = '0000100040'.

pohead-purch_org = 'SG20'.

pohead-pur_group = '001'.

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.

*POTEXTITEM-PO_ITEM = itno.

*POTEXTITEM-TEXT_ID =

*POTEXTITEM-TEXT_FORM

POTEXTHEADER-TEXT_LINE = SONO.

append POTEXTHEADER.

  • Item Level Data

itno = 10.

loop at ORDER_ITEMS_OUT.

poitem-po_item = itno.

poitem-material = ORDER_ITEMS_OUT-material.

poitem-plant = 'SG20'.

poitem-stge_loc = 'SA01'.

poitem-quantity = ORDER_ITEMS_OUT-REQ_QTY .

POITEM-NET_PRICE = ORDER_ITEMS_OUT-NET_PRICE.

append poitem.

poitemx-po_item = itno.

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 .

POITEMX-NET_PRICE = C_X.

append poitemx.

  • POTEXTITEM-PO_NUMBER =

POTEXTITEM-PO_ITEM = itno.

POTEXTITEM-TEXT_ID = 'F01'.

*POTEXTITEM-TEXT_FORM

POTEXTITEM-TEXT_LINE = SONO.

append POTEXTITEM.

POCOND-itm_number = ITNO.

POCOND-cond_st_no = '001'.

POCOND-COND_COUNT = '01'.

POCOND-cond_type = 'PB00'.

POCOND-cond_value = ORDER_ITEMS_OUT-REQ_QTY.

POCOND-currency = ORDER_ITEMS_OUT-CURRENCY.

POCOND-CONDISACTI = ' '.

POCOND-COND_UPDAT = 'X'.

POCOND-change_id = 'U'.

APPEND pocond.

POCONDX-itm_number = ITNO.

POCONDX-cond_st_no = '001'.

POCONDX-cond_st_nox = 'X'.

POCONDX-itm_numberx = 'X'.

POCONDX-COND_COUNT = 'X'.

POCONDX-cond_type = 'X'.

POCONDX-cond_value = 'X'.

POCONDX-currency = 'X'.

POCONDX-CONDISACTI = 'X'.

POCONDX-change_id = 'X'.

POCONDX-COND_UPDAT = 'X'.

APPEND POCONDX.

itno = itno + 10.

endloop.

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

POTEXTHEADER = POTEXTHEADER

POTEXTITEM = POTEXTITEM

POCOND = POCOND

POCONDX = POCONDX .

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.

WRITE: / EX_PO_NUMBER.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Vioth,

Did you got solution for thsi i am also facing the same problem.If you konw the solution kindly suggest the solution for this

Thanks in Adavce,

Regards...............Kishore

Answers (0)