测试】SAP 委外加工收货BAPI Demo

一、创建委外采购订单(事务代码ME21N)

二、将所需材料发货至供应商处(事务代码MB1B)

查看供应商库存报表(事务代码MBLB)

三、委外PO的收货(这里使用BAPI_GOODSMVT_CREATE)


    
    
  1. *&---------------------------------------------------------------------*
  2. *& Report ZTEST_WWJG
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8. REPORT ZTEST_WWJG.
  9. DATA:LT_RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE,
  10. L_DOC TYPE MSEG-MBLNR,
  11. L_YEAR TYPE MSEG-MJAHR,
  12. LT_ITEM TYPE STANDARD TABLE OF BAPI2017_GM_ITEM_CREATE WITH HEADER LINE,
  13. LW_HEADER TYPE BAPI2017_GM_HEAD_01,
  14. LW_GM_CODE TYPE BAPI2017_GM_CODE,
  15. LV_MES TYPE CHAR255,
  16. L_LINE_ID TYPE MSEG-LINE_ID VALUE '000000',
  17. L_PARENT_ID TYPE MSEG-PARENT_ID VALUE '000000',
  18. L_LINE_DEPTH TYPE MSEG-LINE_DEPTH VALUE '00'.
  19. CLEAR:LW_HEADER,LW_GM_CODE.
  20. LW_GM_CODE-GM_CODE = '01' . "收货入库
  21. LW_HEADER-PSTNG_DATE = '20190401'. "凭证中的过帐日期
  22. LW_HEADER-DOC_DATE = '20190401'. "凭证中的凭证日期
  23. LW_HEADER-PR_UNAME = SY-UNAME. "用户名
  24. LW_HEADER-REF_DOC_NO = '4500465846'. "参考订单
  25. LW_HEADER-HEADER_TXT = 'Subcontracting'."抬头文本
  26. CLEAR:LT_ITEM.
  27. * 物料
  28. LT_ITEM-MATERIAL = '51715-D8000'.
  29. * 工厂
  30. LT_ITEM-PLANT = 'CN31'.
  31. * 批次号
  32. *LT_ITEM-BATCH = ''.
  33. * 移动类型
  34. LT_ITEM-MOVE_TYPE = '101'.
  35. * 库存地点
  36. LT_ITEM-STGE_LOC = 'F110'.
  37. * 基本单位数量
  38. LT_ITEM-ENTRY_QNT = 10.
  39. * 输入单位
  40. LT_ITEM-ENTRY_UOM = 'KG'.
  41. * 订单单位数量
  42. LT_ITEM-PO_PR_QNT = 10.
  43. * 订单价格单位(采购)
  44. LT_ITEM-ORDERPR_UN = 'EA'.
  45. * 采购订单号
  46. LT_ITEM-PO_NUMBER = 4500465846.
  47. * 采购凭证的项目编号
  48. LT_ITEM-PO_ITEM = '00010'.
  49. * 移动标识
  50. LT_ITEM-MVT_IND = 'B'.
  51. * 凭证行的唯一标识
  52. L_LINE_ID = L_LINE_ID + 1.
  53. L_PARENT_ID = L_LINE_ID.
  54. LT_ITEM-LINE_ID = L_LINE_ID.
  55. APPEND LT_ITEM.
  56. CLEAR:LT_ITEM.
  57. * 移动类型
  58. LT_ITEM-MOVE_TYPE = '543'.
  59. * 物料编号
  60. LT_ITEM-MATERIAL = '51715-D8000-A'.
  61. * 工厂
  62. LT_ITEM-PLANT = 'CN31'.
  63. * 特殊库存标识
  64. LT_ITEM-SPEC_STOCK = 'O'.
  65. * 批次号
  66. *LT_ITEM-BATCH = ''.
  67. * 数量
  68. LT_ITEM-ENTRY_QNT = 2.
  69. * 基本计量单位
  70. LT_ITEM-ENTRY_UOM = 'EA'.
  71. * 上一行的识别码
  72. LT_ITEM-PARENT_ID = L_PARENT_ID.
  73. * 凭证行的唯一标识
  74. L_LINE_ID = L_LINE_ID + 1.
  75. LT_ITEM-LINE_ID = L_LINE_ID.
  76. * 凭证中行层次结构级别
  77. L_LINE_DEPTH = '01'.
  78. LT_ITEM-LINE_DEPTH = L_LINE_DEPTH.
  79. APPEND LT_ITEM.
  80. CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
  81. EXPORTING
  82. GOODSMVT_HEADER = LW_HEADER
  83. GOODSMVT_CODE = LW_GM_CODE
  84. * TESTRUN = ' '
  85. * GOODSMVT_REF_EWM =
  86. * GOODSMVT_PRINT_CTRL =
  87. IMPORTING
  88. * GOODSMVT_HEADRET =
  89. MATERIALDOCUMENT = L_DOC
  90. MATDOCUMENTYEAR = L_YEAR
  91. TABLES
  92. GOODSMVT_ITEM = LT_ITEM
  93. RETURN = LT_RETURN.
  94. LOOP AT LT_RETURN WHERE TYPE CA 'AEX'.
  95. EXIT.
  96. ENDLOOP.
  97. IF SY-SUBRC = 0.
  98. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  99. LOOP AT LT_RETURN WHERE TYPE CA 'AEX'.
  100. LV_MES = LV_MES && LT_RETURN-MESSAGE && ';'.
  101. ENDLOOP.
  102. WRITE:LV_MES.
  103. ELSE.
  104. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  105. EXPORTING
  106. WAIT = 'X'.
  107. WRITE: '收货凭证:', L_DOC.
  108. ENDIF.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值