一、创建委外采购订单(事务代码ME21N)
二、将所需材料发货至供应商处(事务代码MB1B)
查看供应商库存报表(事务代码MBLB)
三、委外PO的收货(这里使用BAPI_GOODSMVT_CREATE)
-
*&---------------------------------------------------------------------*
-
*& Report ZTEST_WWJG
-
*&
-
*&---------------------------------------------------------------------*
-
*&
-
*&
-
*&---------------------------------------------------------------------*
-
-
REPORT ZTEST_WWJG.
-
-
DATA:LT_RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE,
-
L_DOC TYPE MSEG-MBLNR,
-
L_YEAR TYPE MSEG-MJAHR,
-
LT_ITEM TYPE STANDARD TABLE OF BAPI2017_GM_ITEM_CREATE WITH HEADER LINE,
-
LW_HEADER TYPE BAPI2017_GM_HEAD_01,
-
LW_GM_CODE TYPE BAPI2017_GM_CODE,
-
LV_MES TYPE CHAR255,
-
L_LINE_ID TYPE MSEG-LINE_ID VALUE
'000000',
-
L_PARENT_ID TYPE MSEG-PARENT_ID VALUE
'000000',
-
L_LINE_DEPTH TYPE MSEG-LINE_DEPTH VALUE
'00'.
-
-
CLEAR:LW_HEADER,LW_GM_CODE.
-
LW_GM_CODE-GM_CODE =
'01' .
"收货入库
-
LW_HEADER-PSTNG_DATE = '20190401'. "凭证中的过帐日期
-
LW_HEADER-DOC_DATE =
'20190401'.
"凭证中的凭证日期
-
LW_HEADER-PR_UNAME = SY-UNAME. "用户名
-
LW_HEADER-REF_DOC_NO =
'4500465846'.
"参考订单
-
LW_HEADER-HEADER_TXT = 'Subcontracting'."抬头文本
-
-
CLEAR:LT_ITEM.
-
* 物料
-
LT_ITEM-MATERIAL =
'51715-D8000'.
-
* 工厂
-
LT_ITEM-PLANT =
'CN31'.
-
* 批次号
-
*LT_ITEM-BATCH =
''.
-
* 移动类型
-
LT_ITEM-MOVE_TYPE =
'101'.
-
* 库存地点
-
LT_ITEM-STGE_LOC =
'F110'.
-
* 基本单位数量
-
LT_ITEM-ENTRY_QNT =
10.
-
* 输入单位
-
LT_ITEM-ENTRY_UOM =
'KG'.
-
* 订单单位数量
-
LT_ITEM-PO_PR_QNT =
10.
-
* 订单价格单位(采购)
-
LT_ITEM-ORDERPR_UN =
'EA'.
-
* 采购订单号
-
LT_ITEM-PO_NUMBER =
4500465846.
-
* 采购凭证的项目编号
-
LT_ITEM-PO_ITEM =
'00010'.
-
* 移动标识
-
LT_ITEM-MVT_IND =
'B'.
-
* 凭证行的唯一标识
-
L_LINE_ID = L_LINE_ID +
1.
-
L_PARENT_ID = L_LINE_ID.
-
LT_ITEM-LINE_ID = L_LINE_ID.
-
APPEND LT_ITEM.
-
-
CLEAR:LT_ITEM.
-
* 移动类型
-
LT_ITEM-MOVE_TYPE =
'543'.
-
* 物料编号
-
LT_ITEM-MATERIAL =
'51715-D8000-A'.
-
* 工厂
-
LT_ITEM-PLANT =
'CN31'.
-
* 特殊库存标识
-
LT_ITEM-SPEC_STOCK =
'O'.
-
* 批次号
-
*LT_ITEM-BATCH =
''.
-
* 数量
-
LT_ITEM-ENTRY_QNT =
2.
-
* 基本计量单位
-
LT_ITEM-ENTRY_UOM =
'EA'.
-
* 上一行的识别码
-
LT_ITEM-PARENT_ID = L_PARENT_ID.
-
* 凭证行的唯一标识
-
L_LINE_ID = L_LINE_ID +
1.
-
LT_ITEM-LINE_ID = L_LINE_ID.
-
* 凭证中行层次结构级别
-
L_LINE_DEPTH =
'01'.
-
LT_ITEM-LINE_DEPTH = L_LINE_DEPTH.
-
APPEND LT_ITEM.
-
-
CALL FUNCTION
'BAPI_GOODSMVT_CREATE'
-
EXPORTING
-
GOODSMVT_HEADER
=
LW_HEADER
-
GOODSMVT_CODE
= LW_GM_CODE
-
* TESTRUN =
' '
-
* GOODSMVT_REF_EWM =
-
* GOODSMVT_PRINT_CTRL =
-
IMPORTING
-
* GOODSMVT_HEADRET =
-
MATERIALDOCUMENT =
L_DOC
-
MATDOCUMENTYEAR
= L_YEAR
-
TABLES
-
GOODSMVT_ITEM
=
LT_ITEM
-
RETURN
= LT_RETURN.
-
LOOP AT LT_RETURN WHERE TYPE CA
'AEX'.
-
EXIT.
-
ENDLOOP.
-
-
IF SY-SUBRC =
0.
-
CALL FUNCTION
'BAPI_TRANSACTION_ROLLBACK'.
-
LOOP AT LT_RETURN WHERE TYPE CA
'AEX'.
-
LV_MES = LV_MES && LT_RETURN-MESSAGE &&
';'.
-
ENDLOOP.
-
WRITE:LV_MES.
-
ELSE.
-
CALL FUNCTION
'BAPI_TRANSACTION_COMMIT'
-
EXPORTING
-
WAIT
=
'X'.
-
WRITE:
'收货凭证:', L_DOC.
-
ENDIF.