博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SAP 货物移动 BAPI 的简单使用 BAPI_GOODSMVT_CREATE
阅读量:2036 次
发布时间:2019-04-28

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

在进行货物移动时,会经常用到  BAPI_GOODSMVT_CREATE 这个BAPI ,在使用这个BAPI是有三个参数是必须传进去的 1.抬头数据  一般只要传个时间,过账人就可以了  2.行项目数据  也就具体要进行过账的物料  这里得根据不同移动类型选择不同的参数   3.移动码 这个一般是根据移动性质判断的 
下面是一段105移库的代码,由于是根据采购订单的 所以参数里面指定了采购订单。
 DATA:output_header   LIKE bapi2017_gm_head_01 ,
       output_code     LIKE bapi2017_gm_code.
  DATA:lh_input_mblnr  TYPE mseg-mblnr,
       lh_string       TYPE string,
       lh_row          TYPE char3.
  DATA:i_bukrs         TYPE ekko-bukrs.
  TYPES:input_item     LIKE bapi2017_gm_item_create,
        input_number   LIKE bapi2017_gm_serialnumber,
        input_return   LIKE bapiret2 .
  DATA:it_input_item   TYPE STANDARD TABLE OF input_item,
       lt_input_item   LIKE LINE OF it_input_item,
       it_input_return TYPE STANDARD TABLE OF input_return,
       lt_input_return LIKE LINE OF it_input_return,
       it_input_number TYPE STANDARD TABLE OF input_number,
       lt_input_number LIKE LINE OF it_input_number.
  DATA:it_marv         TYPE STANDARD TABLE OF marv,
       wa_marv         LIKE LINE OF it_marv.
  REFRESH:it_input_item,it_input_return,it_input_number.
  CLEAR:output_header,output_code.
  output_header-pstng_date sy-datum.
  output_header-doc_date   sy-datum.
  output_header-doc_date   sy-datum.
  "
  lt_input_item-material   'KT1000010'  "物料
  lt_input_item-plant      '3710'       "发出工厂
  lt_input_item-stge_loc   'P200'       "发获仓
  lt_input_item-move_stloc 'P800'       "收获货仓库
  lt_input_item-move_type  '105'        "移动类型
  lt_input_item-entry_qnt  '1'          "数量
  lt_input_item-stck_type  'X'          "X  为移动到质检仓 其他点击进去看
  lt_input_item-po_number '4500000456'  "采购订单
  lt_input_item-po_item '00010'         "行项目
  lt_input_item-entry_uom  'ST'         "指定单位
  lt_input_item-mvt_ind 'B'             "指定移库为采购订单
  APPEND lt_input_item TO it_input_item.
  CLEAR:lh_input_mblnr.
  IF it_input_item IS NOT INITIAL.
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header  output_header
        goodsmvt_code    '01'
      IMPORTING
        materialdocument lh_input_mblnr
      TABLES
        goodsmvt_item    it_input_item
        return           it_input_return.
    IF sy-subrc AND lh_input_mblnr <> ''.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait 'X'.
      COMMIT WORK AND WAIT.
      IF sy-subrc 0.
        MESSAGE s999(zmesWITH lh_input_mblnr '库存调拨单过账成功'.
      ENDIF.
    ELSE.
***转出操作失败。
      CLEAR:lh_string.
      LOOP AT it_input_return INTO lt_input_return .
        CLEARlh_row.
        lh_row lt_input_return-row.
        CONCATENATE  lt_input_return-message lh_string
           INTO lh_string SEPARATED BY space.
      ENDLOOP.
      MESSAGE i999(zmesWITH lh_string.
    ENDIF.
  ENDIF.

转载地址:http://jslaf.baihongyu.com/

你可能感兴趣的文章
threading.local
查看>>
flask上下文
查看>>
宏定义中的参数需要加括号的原因
查看>>
sizeof
查看>>
Linux的SOCKET编程详解
查看>>
fork与vfork的区别
查看>>
exit()与_exit()函数的区别(Linux系统中)
查看>>
【C/C++】Linux下使用system()函数一定要谨慎
查看>>
setsid()函数的作用
查看>>
守护进程的创建方法和步骤
查看>>
ioctl用法详解
查看>>
嵌入式Linux中常见的问题
查看>>
深入理解socket网络异常
查看>>
对深拷贝与浅拷贝的再次理解
查看>>
函数popen()
查看>>
Linux线程同步 屏障
查看>>
TCP 的那些事儿(上)
查看>>
TCP 的那些事儿(下)
查看>>
TCP的拥塞控制
查看>>
每天进步一点点——Linux中的线程局部存储(二)
查看>>