查看供应商库存报表(事务代码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.
作者:SAP剑客