博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ABAP BAPI 销售订单生产交货单函数
阅读量:4552 次
发布时间:2019-06-08

本文共 1197 字,大约阅读时间需要 3 分钟。

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.

转载于:https://www.cnblogs.com/eagle-dtq/p/5467278.html

你可能感兴趣的文章
mysql安装(centos7)
查看>>
关于mysql数据库连接异常处理
查看>>
jedis异常Broken pipe (Write failed)
查看>>
zookeeper安装(linux)
查看>>
MySQL导入sql文件,过大导致错误
查看>>
设计模式
查看>>
idea快捷键(最常用)
查看>>
sftp安装(linux)
查看>>
java第三方工具包
查看>>
bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
查看>>
mysql引擎与物理文件
查看>>
IOC&AOP
查看>>
升级 phpStudy 中 MySQL 版本至 5.7.17
查看>>
php发送邮件
查看>>
adminMongo:mongoDB node GUI(mongoDB图形化界面)
查看>>
有点懵!
查看>>
Node +FastDFS 实现文件的上传下载
查看>>
ROS melodic安装过程中的用手机热点更好~
查看>>
apicloud如何实现优雅的下拉刷新与加载更多
查看>>
apicloud含有微信支付。支付宝支付和苹果内购的代码
查看>>