Abap - 采购退货出库 使用MIGOBAPI BAPI_GOODSMVT_CREATE

** MIGO BAPI变量
  DATA: goodsmvt_header  TYPE bapi2017_gm_head_01,              "放过账日期,操作者,抬头文本等抬头数据
        goodsmvt_code    TYPE bapi2017_gm_code,                 "使用的过账事务,下方有参数详述
        gt_good          TYPE TABLE OF bapi2017_gm_item_create, "重要表,存储要进行货物移动的物料,数量,等
        gw_good          TYPE bapi2017_gm_item_create,          "工作区
        goodsmvt_headret TYPE bapi2017_gm_head_ret,             "过账后产生的物料凭证编号和年份
        lt_return        LIKE TABLE OF bapiret2 ,               "返回消息内表
        lw_return        LIKE bapiret2.                         "返回消息结构
  DATA: materialdocument TYPE bapi2017_gm_head_ret-mat_doc,     "单独存放的物料凭证号
        matdocumentyear  TYPE bapi2017_gm_head_ret-doc_year,    "单独存放的凭证年份
        i_mat_doc        LIKE rm07m-mblnr,                      "返回凭证号
        i_mat_year       LIKE rm07m-mjahr,                      "返回凭证年度
        lv_pstng_date    LIKE sy-datum.                         "过账日期

    LOOP AT lt_data INTO lw_data.
      IF sy-tabix = 1.
        goodsmvt_header-header_txt = lw_data-wmsdh. "抬头文本
        goodsmvt_header-doc_date   = sy-datum.      "生成凭证日期
      ENDIF.
      gw_good-material  = lw_data-matnr. " 物料号
      gw_good-plant     = lw_data-werks. " 工厂
      gw_good-stge_loc  = lw_data-lgort. " 发货库存地
      gw_good-entry_qnt = lw_data-menge. " 数量
      gw_good-entry_uom = lw_data-meins. " 单位
      gw_good-batch     = lw_data-charg. " 批次
      gw_good-item_text = |{ lw_data-wmsdh }/{ lw_data-wmshh }|.
      gw_good-mvt_ind   = 'B'.                " 移动标识  B:采购收货 F:生产收货
      gw_good-move_type = '101'.              " 移动类型
      gw_good-po_number = lw_data-sapdh.      " 采购订单单号
      gw_good-po_item   = lw_data-saphh+1(5). " 采购订单行号
      gw_good-po_item   = |{ gw_good-po_item ALPHA = IN }|.
      APPEND gw_good TO gt_good.
      CLEAR: gw_good,lw_data,lv_lfart.
    ENDLOOP.

    goodsmvt_header-pstng_date = lv_pstng_date. "凭证过账日期
    goodsmvt_code = '01'.
    "调用BAPI生成物料凭证
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header  = goodsmvt_header
        goodsmvt_code    = goodsmvt_code
      IMPORTING
        materialdocument = i_mat_doc
        matdocumentyear  = i_mat_year
      TABLES
        goodsmvt_item    = gt_good
        return           = lt_return.

    READ  TABLE lt_return INTO lw_return WITH KEY type = 'E'.
    IF sy-subrc <> 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      mat_doc = |{ i_mat_doc }{ i_mat_year }|.
      mtype   = 'S'.
      msg     = |生成SAP物料凭证:{ i_mat_doc }|.
    ELSE.
      mtype   = 'E'.
      msg     = |物料凭证创建失败:{ lw_return-message }|.
    ENDIF.

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值