Skip to Content
0
Former Member
Jan 07, 2008 at 03:52 AM

BAPI_PO_CREATE1 CAN'T CHANGE NETPRICE

125 Views

HI all ,

I use bapi_po_create1 to create a PO , It's work fine but I can't change net price ..

someone can tell what is error ??

*/---- header

POHEAD-COMP_CODE = ITAB_PO_HEADER-BUKRS . " 公司

POHEAD-DOC_TYPE = ITAB_PO_HEADER-BSART . " 單據類別

POHEAD-CREAT_DATE = SY-DATUM . " 建立日期

POHEAD-VENDOR = ITAB_PO_HEADER-LIFNR. " 供應商

POHEAD-PURCH_ORG = ITAB_PO_HEADER-EKORG . " 採購組織

POHEAD-PUR_GROUP = ITAB_PO_HEADER-EKGRP. " 採購群組

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-PURCH_ORG = C_X.

POHEADX-PUR_GROUP = C_X.

POHEADX-LANGU = C_X.

POHEADX-DOC_DATE = C_X.

*/-----item

ITAB_POITEM-PO_ITEM = W_EBELP . " 項次編號

ITAB_POITEM-MATERIAL = ITAB_PO-MATNR . " 料號

ITAB_POITEM-PLANT = ITAB_PO-WERKS . " 工廠

ITAB_POITEM-STGE_LOC = ITAB_PO-LGORT . " 倉別

ITAB_POITEM-QUANTITY = ITAB_PO-LABST . " 數量

ITAB_POITEM-PO_UNIT = ITAB_PO-MEINS . " 單位

ITAB_POITEM-NET_PRICE = ITAB_PO-CURR_PR . " 單價

ITAB_POITEM-PRICE_UNIT = ITAB_PO-PEINH. " 單價基數 ITAB_PO-PEINH ,

ITAB_POITEM-PREQ_NAME = 'BAPI' . " 申請人

ITAB_POITEM-RET_ITEM = 'X' . " 退貨註記

ITAB_POITEM-TRACKINGNO = ITAB_PO-EBELN . " 上一筆採購單

ITAB_POITEM-SHORT_TEXT = ITAB_PO-TXZ01 . " 發票號碼資訊

APPEND ITAB_POITEM.

CLEAR ITAB_POITEM.

ITAB_POITEMX-PO_ITEM = W_EBELP .

ITAB_POITEMX-PO_ITEMX = C_X .

ITAB_POITEMX-MATERIAL = C_X .

ITAB_POITEMX-PLANT = C_X .

ITAB_POITEMX-STGE_LOC = C_X .

ITAB_POITEMX-QUANTITY = C_X .

ITAB_POITEMX-PO_UNIT = C_X .

ITAB_POITEMX-NET_PRICE = C_X .

ITAB_POITEMX-PRICE_UNIT = C_X .

ITAB_POITEMX-PREQ_NAME = C_X .

ITAB_POITEMX-RET_ITEM = C_X .

ITAB_POITEMX-TRACKINGNO = C_X .

ITAB_POITEMX-SHORT_TEXT = C_X .

ITAB_POITEMX-TAX_CODE = C_X .

ITAB_POITEMX-ITEM_CAT = C_X .

ITAB_POITEMX-ACCTASSCAT = C_X .

APPEND ITAB_POITEMX.

CLEAR ITAB_POITEMX.

*/----


ITAB_POSCHED-PO_ITEM = W_EBELP .

ITAB_POSCHED-SCHED_LINE = W_EBELP .

ITAB_POSCHED-DEL_DATCAT_EXT = 'D'.

DEL_DATE = SY-DATUM + 1.

WRITE DEL_DATE TO ITAB_POSCHED-DELIVERY_DATE.

ITAB_POSCHED-DELIV_TIME = '000001'.

ITAB_POSCHED-QUANTITY = ITAB_PO-LABST.

APPEND ITAB_POSCHED.

CLEAR ITAB_POSCHED.

ITAB_POSCHEDX-PO_ITEM = W_EBELP.

ITAB_POSCHEDX-SCHED_LINE = W_EBELP.

ITAB_POSCHEDX-PO_ITEMX = C_X.

ITAB_POSCHEDX-SCHED_LINEX = C_X.

ITAB_POSCHEDX-DEL_DATCAT_EXT = C_X.

ITAB_POSCHEDX-DELIVERY_DATE = C_X.

ITAB_POSCHEDX-QUANTITY = C_X.

APPEND ITAB_POSCHEDX.

CLEAR ITAB_POSCHEDX.

*/----


ITAB_POCOND-ITM_NUMBER = W_EBELP .

ITAB_POCOND-CURRENCY = ITAB_PO-WAERS .

ITAB_POCOND-COND_VALUE = ITAB_PO-CURR_PR . " 單價

ITAB_POCOND-COND_UNIT = ITAB_PO-MEINS . " 單位

ITAB_POCOND-COND_P_UNT = ITAB_PO-PEINH. " 單價基數 ITAB_PO-PEINH ,

ITAB_POCOND-CHANGE_ID = 'U' .

APPEND ITAB_POCOND.

CLEAR ITAB_POCOND.

ITAB_POCONDX-ITM_NUMBER = W_EBELP.

ITAB_POCONDX-ITM_NUMBER = C_X.

ITAB_POCONDX-CURRENCY = C_X.

ITAB_POCONDX-COND_VALUE = C_X.

ITAB_POCONDX-COND_UNIT = C_X.

ITAB_POCONDX-COND_P_UNT = C_X.

ITAB_POCONDX-CHANGE_ID = C_X.

APPEND ITAB_POCONDX.

CLEAR ITAB_POCONDX.

*/----CALL BAPI FUNCTION -


CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = POHEAD

POHEADERX = POHEADX

TESTRUN = ' '

NO_PRICE_FROM_PO = ' '

IMPORTING

EXPPURCHASEORDER = EX_PO_NUMBER

EXPHEADER = EXP_HEAD

TABLES

RETURN = RETURN

POITEM = ITAB_POITEM

POITEMX = ITAB_POITEMX

POSCHEDULE = ITAB_POSCHED

POSCHEDULEX = ITAB_POSCHEDX .

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X' .