SD 创建交货单

5 篇文章 1 订阅

  "bapi参数
  DATA: lv_vbeln      TYPE bapishpdelivnumb-deliv_numb,
        lv_ship_point TYPE bapidlvcreateheader-ship_point,
        lt_dlv_items  TYPE TABLE OF bapidlvreftosto,
        lt_return     TYPE bapiret2_t.

 

 

if    zlx =  'STO'.

  "根据采购订单获取明细
  DO 6 TIMES.
    SELECT a~ebeln, a~ebelp, a~meins, a~menge,b~reswk
      INTO TABLE @DATA(lt_ekpo)
      FROM ekpo AS a
      INNER JOIN ekko AS b ON a~ebeln = b~ebeln
      WHERE a~ebeln = @ps_ref->zsto_no.

    IF sy-subrc NE 0.
      WAIT UP TO '0.2' SECONDS.
    ELSE.
      EXIT.
    ENDIF.
  ENDDO.

 

  lt_dlv_items = VALUE #( ( ref_doc = ps_ref->zsto_no ) ).

  CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_STO'
    EXPORTING
      ship_point        = lv_ship_point
**     DUE_DATE                =
**     DEBUG_FLG               =
**     NO_DEQUEUE              = ' '
    IMPORTING
      delivery          = lv_vbeln
**     NUM_DELIVERIES          =
    TABLES
      stock_trans_items = lt_dlv_items
**     SERIAL_NUMBERS    =
**     EXTENSION_IN      =
**     DELIVERIES        =
**     CREATED_ITEMS     =
**     EXTENSION_OUT     =
      return            = lt_return.

 

ELSEIF ZLX = 'SO'.


  "根据销售订单获取明细
  DO 6 TIMES.
    SELECT a~vbeln, a~posnr
      INTO TABLE @DATA(lt_vbap)
      FROM vbap AS a
      WHERE a~vbeln = @ps_ref->zso_no1.

    IF sy-subrc NE 0.
      WAIT UP TO '0.2' SECONDS.
    ELSE.
      EXIT.
    ENDIF.
  ENDDO.

 

 lt_dlv_items = VALUE #( ( ref_doc = ps_ref->zso_no1 ) ).

  CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
* EXPORTING
*   SHIP_POINT              =
*   DUE_DATE                =
*   DEBUG_FLG               =
*   NO_DEQUEUE              = ' '
    IMPORTING
      delivery          = lv_vbeln
*     NUM_DELIVERIES    =
    TABLES
      sales_order_items = lt_dlv_items
*     SERIAL_NUMBERS    =
*     EXTENSION_IN      =
*     DELIVERIES        =
*     CREATED_ITEMS     =
*     EXTENSION_OUT     =
      return            = lt_return.
ENDIF.
  DO 1 TIMES.
    LOOP AT lt_return TRANSPORTING NO FIELDS WHERE type CA 'AEX'.
      EXIT.
    ENDLOOP.

    CHECK sy-subrc NE 0.
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值