发料:
DATA: lt_item TYPE TABLE OF bapi2017_gm_item_create, lt_return TYPE TABLE OF bapiret2, ls_item TYPE bapi2017_gm_item_create, ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lv_mblnr TYPE mblnr, lv_mjahr TYPE mjahr. ls_code = \'03\'. "T158G-GMCODE ls_header-pstng_date = sy-datum. ls_header-doc_date = sy-datum. "发料 ls_item-move_type = \'261\'. ls_item-material = \'MTBN-BDX010-A\'. "RESB-MATNR ls_item-entry_qnt = 1. "RESB-BDMNG - RESB-ENMNG ls_item-entry_uom = \'KG\'. "RESB-MEINS ls_item-plant = \'2000\'. "RESB-WERKS ls_item-stge_loc = \'211A\'. "RESB-LGORT ls_item-reserv_no = \'0000873063\'. "RESB-RSNUM ls_item-res_item = \'0002\'. "RSNUM-RSPOS APPEND ls_item TO lt_item.CLEAR ls_item. CALL FUNCTION \'BAPI_GOODSMVT_CREATE\' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code IMPORTING * goodsmvt_headret = materialdocument = lv_mblnr matdocumentyear = lv_mjahr TABLES goodsmvt_item = lt_item return = lt_return. READ TABLE lt_return WITH KEY type = \'E\' TRANSPORTING NO FIELDS. IF sy-subrc NE 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF. cl_demo_output=>write( lv_mblnr ). cl_demo_output=>write( lv_mjahr ). cl_demo_output=>write( lt_return ). cl_demo_output=>display( ).
退料:
DATA: lt_item TYPE TABLE OF bapi2017_gm_item_create, lt_return TYPE TABLE OF bapiret2, ls_item TYPE bapi2017_gm_item_create, ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lv_mblnr TYPE mblnr, lv_mjahr TYPE mjahr. ls_code = \'03\'. "T158G-GMCODE ls_header-pstng_date = sy-datum. ls_header-doc_date = sy-datum. "退料 ls_item-move_type = \'262\'. ls_item-xstob =\'X\'. "冲销移动类型标识符 ls_item-material = \'MTBN-BDX010-A\'. ls_item-entry_qnt = 1. ls_item-entry_uom = \'KG\'. ls_item-plant = \'2000\'. ls_item-stge_loc = \'211A\'. ls_item-reserv_no = \'0000873063\'. ls_item-res_item = \'0002\'. APPEND ls_item TO lt_item.CLEAR ls_item. CALL FUNCTION \'BAPI_GOODSMVT_CREATE\' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code IMPORTING * goodsmvt_headret = materialdocument = lv_mblnr matdocumentyear = lv_mjahr TABLES goodsmvt_item = lt_item return = lt_return. READ TABLE lt_return WITH KEY type = \'E\' TRANSPORTING NO FIELDS. IF sy-subrc NE 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF. cl_demo_output=>write( lv_mblnr ). cl_demo_output=>write( lv_mjahr ). cl_demo_output=>write( lt_return ). cl_demo_output=>display( ).
副产品收货:
DATA: lt_item TYPE TABLE OF bapi2017_gm_item_create, lt_return TYPE TABLE OF bapiret2, ls_item TYPE bapi2017_gm_item_create, ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lv_mblnr TYPE mblnr, lv_mjahr TYPE mjahr. ls_code = \'03\'. "T158G-GMCODE ls_header-pstng_date = sy-datum. ls_header-doc_date = sy-datum. "副产品收货 ls_item-move_type = \'531\'. ls_item-material = \'MTBN-PGX002\'. ls_item-entry_qnt = 1. ls_item-entry_uom = \'KG\'. ls_item-plant = \'2000\'. ls_item-stge_loc = \'211A\'. ls_item-reserv_no = \'0000873063\'. ls_item-res_item = \'0003\'. APPEND ls_item TO lt_item.CLEAR ls_item. CALL FUNCTION \'BAPI_GOODSMVT_CREATE\' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code IMPORTING * goodsmvt_headret = materialdocument = lv_mblnr matdocumentyear = lv_mjahr TABLES goodsmvt_item = lt_item return = lt_return. READ TABLE lt_return WITH KEY type = \'E\' TRANSPORTING NO FIELDS. IF sy-subrc NE 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF. cl_demo_output=>write( lv_mblnr ). cl_demo_output=>write( lv_mjahr ). cl_demo_output=>write( lt_return ). cl_demo_output=>display( ).
RE副产品收货
DATA: lt_item TYPE TABLE OF bapi2017_gm_item_create, lt_return TYPE TABLE OF bapiret2, ls_item TYPE bapi2017_gm_item_create, ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lv_mblnr TYPE mblnr, lv_mjahr TYPE mjahr. ls_code = \'03\'. "T158G-GMCODE ls_header-pstng_date = sy-datum. ls_header-doc_date = sy-datum. "RE副产品收货 ls_item-move_type = \'532\'. ls_item-xstob =\'X\'. "冲销移动类型标识符 ls_item-material = \'MTBN-PGX002\'. ls_item-entry_qnt = 1. ls_item-entry_uom = \'KG\'. ls_item-plant = \'2000\'. ls_item-stge_loc = \'211A\'. ls_item-reserv_no = \'0000873063\'. ls_item-res_item = \'0003\'. APPEND ls_item TO lt_item.CLEAR ls_item. CALL FUNCTION \'BAPI_GOODSMVT_CREATE\' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code IMPORTING * goodsmvt_headret = materialdocument = lv_mblnr matdocumentyear = lv_mjahr TABLES goodsmvt_item = lt_item return = lt_return. READ TABLE lt_return WITH KEY type = \'E\' TRANSPORTING NO FIELDS. IF sy-subrc NE 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF. cl_demo_output=>write( lv_mblnr ). cl_demo_output=>write( lv_mjahr ). cl_demo_output=>write( lt_return ). cl_demo_output=>display( ).
主产品和联产品收货
DATA: lt_item TYPE TABLE OF bapi2017_gm_item_create, lt_return TYPE TABLE OF bapiret2, ls_item TYPE bapi2017_gm_item_create, ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lv_mblnr TYPE mblnr, lv_mjahr TYPE mjahr. ls_code = \'02\'. "T158G-GMCODE ls_header-pstng_date = sy-datum. ls_header-doc_date = sy-datum. "主产品和联产品收货 ls_item-move_type = \'101\'. ls_item-material = \'CTYN0173-XX\'. ls_item-entry_qnt = 10. ls_item-entry_uom = \'PCS\'. ls_item-plant = \'2000\'. ls_item-stge_loc = \'211A\'. ls_item-orderid = \'000021009982\'. ls_item-order_itno = \'0001\'. "AFPO-POSNR ls_item-mvt_ind = \'F\'. APPEND ls_item TO lt_item.CLEAR ls_item. CALL FUNCTION \'BAPI_GOODSMVT_CREATE\' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code IMPORTING * goodsmvt_headret = materialdocument = lv_mblnr matdocumentyear = lv_mjahr TABLES goodsmvt_item = lt_item return = lt_return. READ TABLE lt_return WITH KEY type = \'E\' TRANSPORTING NO FIELDS. IF sy-subrc NE 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF. cl_demo_output=>write( lv_mblnr ). cl_demo_output=>write( lv_mjahr ). cl_demo_output=>write( lt_return ). cl_demo_output=>display( ).
RE主产品和联产品收货(仅RE未限制使用库存,RE FQC库存应该使用BAPI_GOODSMVT_CREATE来整笔冲销)
DATA: lt_item TYPE TABLE OF bapi2017_gm_item_create, lt_return TYPE TABLE OF bapiret2, ls_item TYPE bapi2017_gm_item_create, ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lv_mblnr TYPE mblnr, lv_mjahr TYPE mjahr. ls_code = \'02\'. "T158G-GMCODE ls_header-pstng_date = sy-datum. ls_header-doc_date = sy-datum. "RE主产品和联产品收货 ls_item-move_type = \'102\'. ls_item-material = \'CTYN0173-XX\'. ls_item-entry_qnt = 1. ls_item-entry_uom = \'PCS\'. ls_item-plant = \'2000\'. ls_item-stge_loc = \'211A\'. ls_item-orderid = \'000021009982\'. ls_item-order_itno = \'0001\'. "AFPO-POSNR ls_item-mvt_ind = \'F\'. APPEND ls_item TO lt_item.CLEAR ls_item. CALL FUNCTION \'BAPI_GOODSMVT_CREATE\' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code IMPORTING * goodsmvt_headret = materialdocument = lv_mblnr matdocumentyear = lv_mjahr TABLES goodsmvt_item = lt_item return = lt_return. READ TABLE lt_return WITH KEY type = \'E\' TRANSPORTING NO FIELDS. IF sy-subrc NE 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF. cl_demo_output=>write( lv_mblnr ). cl_demo_output=>write( lv_mjahr ). cl_demo_output=>write( lt_return ). cl_demo_output=>display( ).