本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系。
VL31N根据采购订单创建内向交货单
BBP_INB_DELIVERY_CREATE
代码示例
LS_HEAD-DELIV_DATE = SY-DATUM.
LS_HEAD-DELIV_EXT = 'PO Create Inbound Delivery'.
LOOP AT IT_INPUT INTO LS_INPUT.
SELECT SINGLE MATNR
MENGE
MEINS
INTO (LS_ITEM-MATERIAL,
LS_ITEM-DELIV_QTY,
LS_ITEM-UNIT)
FROM EKPO
WHERE EBELN = LS_INPUT-EBELN
AND EBELP = LS_INPUT-EBELP.
LS_ITEM-PO_NUMBER = LS_INPUT-EBELN.
LS_ITEM-PO_ITEM = LS_INPUT-EBELP.
APPEND LS_ITEM TO LT_ITEM.
CLEAR: LS_ITEM.
ENDLOOP.
CALL FUNCTION 'BBP_INB_DELIVERY_CREATE'
EXPORTING
IS_INB_DELIVERY_HEADER = LS_HEAD
IMPORTING
EF_DELIVERY = LV_VBELN
TABLES
IT_INB_DELIVERY_DETAIL = LT_ITEM
RETURN = LT_RETURN.
按照参数正常去传输,BAPI 无任何返回消息,内向交货单也没创建,经debug 发现 ME_CONFIRMATION_VIA_EDI 这个函数里面 的物料编码在传值的过程中丢失了。如下图:
所以打了隐式增强。
代码如下:
DATA: WA_XKOMDLGN LIKE LINE OF XKOMDLGN.
**To update Material Number..
LOOP AT T_KOM INTO WA_XKOMDLGN.
SELECT SINGLE MATNR INTO WA_XKOMDLGN-MATNR
FROM EKPO WHERE EBELN EQ WA_XKOMDLGN-VGBEL
AND EBELP EQ WA_XKOMDLGN-VGPOS.
MODIFY T_KOM FROM WA_XKOMDLGN.
ENDLOOP.
增强之后,BAPI可以正常创建内向交货单。