zoukankan      html  css  js  c++  java
  • ABAP BAPI 销售订单生产交货单函数

    TYPESBEGIN OF ty_so,
             vbeln LIKE  vbap-vbeln,
             posnr LIKE  vbap-posnr,
           END OF ty_so.

    FORM frm_create_dn  USING    u_so
                        CHANGING c_dn c_result.
      DATA:l_vbeln LIKE vbap-vbeln,
           l_posnr LIKE vbap-posnr.

      DATA: lt_so_item TYPE TABLE OF bapidlvreftosalesorder,
            ls_so_item TYPE bapidlvreftosalesorder,

            lt_return  TYPE TABLE OF bapiret2,
            ls_return  TYPE bapiret2.
      DATA: gt_so TYPE ty_so OCCURS 0,
            wa_so TYPE ty_so.

      CLEAR lt_so_item.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_so
        FROM vbap
        WHERE vbeln EQ u_so.

      LOOP AT gt_so INTO wa_so.
        ls_so_item-ref_doc = wa_so-vbeln.
        ls_so_item-ref_item = wa_so-posnr.
        APPEND ls_so_item TO lt_so_item.
        CLEAR ls_so_item.
      ENDLOOP.


      CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
        IMPORTING
          delivery          = c_dn
        TABLES
          sales_order_items = lt_so_item
          return            = lt_return.

      READ TABLE lt_return INTO ls_return WITH KEY type 'E'.

      IF sy-subrc EQ 0.
        c_result = ls_return-message.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
    *       IMPORTING
    *         RETURN        =
          .

        EXPORT lt_return TO MEMORY ID 'LT_RETURN'.
        "PERFORM frm_show_message.
        RETURN.
      ELSE.
        c_result = ls_return-message.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait 'X'.
      ENDIF.

    ENDFORM.

  • 相关阅读:
    获得音视频信息
    stf-多设备管理平台搭建
    接口用例设计
    阿里云Ubuntu服务器搭建SVN
    Jenkins首次启动卡在加载页面
    初使Jenkins构建Python项目
    MongoDB使用python脚本写入数据
    python re操作
    使用Python脚本写入MongoDB数据
    chromedriver与chrome版本对应表及下载地址
  • 原文地址:https://www.cnblogs.com/eagle-dtq/p/5467278.html
Copyright © 2011-2022 走看看