MIGO相关bapi:BAPI_GOODSMVT_CREATE 移动类型314 E

主要实现代码:


  DATA: goodsmvt_header LIKE  bapi2017_gm_head_01,
          itab            TYPE TABLE OF bapi2017_gm_item_create WITH
HEADER LINE,
          return          LIKE TABLE OF bapiret2 WITH HEADER LINE,
          mat_doc         LIKE  bapi2017_gm_head_ret-mat_doc.
    CLEAR:goodsmvt_header.

    goodsmvt_header-doc_date = sy-datum.            "凭证中的凭证日期
    goodsmvt_header-pstng_date = sy-datum.          "凭证中的过帐日期
    goodsmvt_header-pr_uname = sy-uname.            "用户名
   LOOP AT gt_vbeln ASSIGNING FIELD-SYMBOL(<lfs_vbeln>).
  CLEAR:itab,itab[].
      LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<lfs_alv>) WHERE vbeln =
<lfs_vbeln>-vbeln.
        CLEAR:mat_doc,itab,return.

        itab-material    =  <lfs_alv>-matnr .         "article物料号
        itab-material_external = <lfs_alv>-matnr.         "物料号
        itab-move_mat_external = <lfs_alv>-matnr.         "物料号

        itab-move_type   =  '413' .  "移动类型(转账过账销售订单到销售订单)
        itab-spec_stock  =  'E' .    "特殊库存标识:现有订单

        itab-material_long = <lfs_alv>-matnr.         "物料号
        itab-plant       =  <lfs_alv>-werks .         "工厂
        itab-stge_loc    =  <lfs_alv>-lgort .         "库存地点
        itab-stk_seg_long =  <lfs_alv>-charg .        "库存细分
        itab-stk_segment =  <lfs_alv>-charg .         "库存细分
          itab-batch       =  <lfs_alv>-charg .       "批次

        itab-move_mat    =  <lfs_alv>-matnr2 .        "接收/发出物料
        itab-move_mat_long  =  <lfs_alv>-matnr2 .     "接收/发出物料
        itab-move_plant  =  <lfs_alv>-werks2 .        "收货/发货工厂
        itab-move_stloc  =  <lfs_alv>-lgort2 .        "收货/发货库存地点
        itab-mov_seg_long =  <lfs_alv>-charg2 .       "库存细分
        itab-move_segment =  <lfs_alv>-charg2 .       "库存细分
        itab-move_batch  =  <lfs_alv>-charg2 .        "批次

        itab-entry_qnt   =  <lfs_alv>-lmange.      "调拨数量
        itab-entry_uom   =  'PR'.                  "条目单位

        itab-val_sales_ord  =   <lfs_alv>-vbeln.  "评估销售订单库存的销售订单号----从
        itab-val_s_ord_item =   <lfs_alv>-posnr.  "评估销售订单库存的销售订单项目

        itab-sales_ord = <lfs_alv>-vbeln2.        "销售订单中的条款数---到
        itab-s_ord_item = <lfs_alv>-posnr2.       "销售订单交货计划
        APPEND itab. CLEAR itab.
      ENDLOOP.
     clear:mat_doc,return,return[].


      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
        EXPORTING
          goodsmvt_header  = goodsmvt_header
          goodsmvt_code    = '04'   "转移过账
        IMPORTING
          materialdocument = mat_doc
        TABLES
          goodsmvt_item    = itab
          return           = return.

      READ TABLE return WITH KEY type = 'E'.
      IF  sy-subrc = 0.
        LOOP AT return WHERE type = 'E' .
          CONCATENATE <lfs_alv>-message return-message ',' INTO
<lfs_alv>-message.
        ENDLOOP.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .

      ELSE.


......


PS:有些栏位填写可以删减一点点,MSEG表对应保存的栏位可以通过Function:
MAP2I_B2017_GM_ITEM_TO_IMSEG查看。

有两点需要注意的地方:

goodsmvt_code :
01: Goods receipt for purchase order 采购订单收货
02: Goods receipt for production order 生产订单收货
03: Goods issue 货物的问题
04: Transfer posting 转帐
05: Other goods receipts 其它收货
06: Reversal of goods movements 货物流动逆转
07: Subsequent adjustment to a subcontract order 对分包订单的后续调整

goodsmvt_item中 移动标识:
Domain: KZBEW - Movement Indicator 领域:KZBEW -运动指示器
Goods movement w/o reference 无参考资料的货物运输
B - Goods movement for purchase order 采购订单的货物移动
F - Goods movement for production order 货物移动为生产订单
L - Goods movement for delivery note 货物运交单
K - Goods movement for kanban requirement (WM - internal only) 基于看板要求的货物移动(WM -内部)
O - Subsequent adjustment of “material-provided” consumption “供料”消耗的后续调整
W - Subsequent adjustment of proportion/product unit material 比例/产品单元材料的后续调整


版权声明:本文为CSDN博主「Smallbites」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39108448/article/details/107342112

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值