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

来源:互联网 发布:shadownsocks ubuntu 编辑:程序博客网 时间:2024/05/29 17:00

一、背景:

   使用函数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.
0 0
原创粉丝点击