您的位置:首页 > 其它

使用函数BBP_INB_DELIVERY_CREATE(VL31n)创建内向交货单时,交货单内的物料字段为空

2015-09-07 20:17 537 查看
一、背景:

使用函数BBP_INB_DELIVERY_CREATE(VL31n)创建内向交货单时,交货单内的物料字段为空,网上查了一些资料,找到了下面的解决方法,希望有更好的解决方法的筒子们告知一下。

二、以下步骤是解决方法:

第一步:调用BBP_INB_DELIVERY_CREATE

DATA:DEL_HEADER LIKE BBP_INBD_L.

DATA:DEL_TAB LIKE BBP_INBD_D OCCURS 0 WITH HEADER LINE.

DATA:DEL_RET LIKE BAPIRETURN OCCURS 0 WITH HEADER LINE.

DATA:DEL_NO TYPE VBELN_VL.

LOOP AT INPUT.

MOVE-CORRESPONDING INPUT TO OUTPUT.

CLEAR DEL_HEADER.

DEL_HEADER-DELIV_DATE = INPUT-EINDT.

DEL_HEADER-DELIV_EXT = 12121.

CLEAR DEL_TAB.

REFRESH DEL_TAB.

DEL_TAB-DELIV_QTY = INPUT-LFIMG.

SELECT SINGLE

MEINS

MATNR

INTO (DEL_TAB-UNIT, DEL_TAB-MATERIAL)

FROM EKPO

WHERE EBELN = INPUT-EBELN

AND EBELP = INPUT-EBELP.

* DEL_TAB-MATERIAL = 'YL10-00101-000'.

DEL_TAB-PO_NUMBER = INPUT-EBELN.

DEL_TAB-PO_ITEM = INPUT-EBELP.

APPEND DEL_TAB.

CLEAR DEL_TAB.

CALL FUNCTION 'BBP_INB_DELIVERY_CREATE'

EXPORTING

IS_INB_DELIVERY_HEADER = DEL_HEADER

IMPORTING

EF_DELIVERY = DEL_NO

TABLES

IT_INB_DELIVERY_DETAIL = DEL_TAB

RETURN = DEL_RET.

IF SY-SUBRC = 0 and DEL_NO <> ''.

OUTPUT-VBELN = DEL_NO.

OUTPUT-FLAG = 'S'.

OUTPUT-MESSAGE = '创建内项交货成功!'.

ELSE.

OUTPUT-FLAG = 'E'.

OUTPUT-MESSAGE = '创建内项交货失败'.

ENDIF.

APPEND OUTPUT.

CLEAR OUTPUT.

ENDLOOP.

第二步:Implicit Enhancement in end of FM 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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: