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

Faith ·
更新时间:2024-09-21
· 905 次阅读

一、创建委外采购订单(事务代码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.


作者:SAP剑客



sap demo 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章