Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DATA: ls_goodsmvt_header TYPE bapi2017_gm_head_01,
- ls_goodsmvt_code TYPE bapi2017_gm_code,
- lt_return TYPE TABLE OF bapiret2,
- lt_goodsmvt_item TYPE TABLE OF bapi2017_gm_item_create,
- lt_goodsmvt_serialnumber TYPE TABLE OF bapi2017_gm_serialnumber,
- ls_return TYPE bapiret2,
- ls_general_data TYPE bapimatdoa.
- CHECK dont_perform_mat_movement = ''.
- ls_goodsmvt_header-pstng_date = is_oper-oper-exec_fin_date.
- ls_goodsmvt_header-doc_date = is_oper-oper-exec_fin_date.
- ls_goodsmvt_code-gm_code = '03'.
- IF iv_device_group = 'X'.
- DESCRIBE TABLE is_oper-install LINES DATA(device_count).
- ELSE.
- device_count = 1.
- ENDIF.
- DO device_count TIMES.
- IF iv_device_group = 'X'.
- READ TABLE is_oper-install ASSIGNING FIELD-SYMBOL(<ls_install>) INDEX sy-index.
- ELSE.
- ASSIGN is_install TO <ls_install>.
- ENDIF.
- SELECT SINGLE b_werk, b_lager FROM eqbs INTO @DATA(ls_eqbs) WHERE equnr = @<ls_install>-equnr1.
- IF sy-subrc NE 0.
- DATA(alpha) = |{ <ls_install>-equnr1 ALPHA = OUT }|.
- add_msg_par ls_return 'ZPWM' 'E' '149' '' alpha '' '' ''.
- MESSAGE e149(zwpm) INTO DATA(message_e149).
- RAISE EXCEPTION TYPE cx_wo_validation_exception
- EXPORTING
- x_situation = CONV #( message_e149 )
- x_pbclass = probclass_high
- x_return = ls_return.
- ENDIF.
- READ TABLE lt_goodsmvt_item ASSIGNING FIELD-SYMBOL(<ls_goodsmvt_item>)
- WITH KEY material = <ls_install>-matnr1.
- IF sy-subrc NE 0.
- APPEND INITIAL LINE TO lt_goodsmvt_item ASSIGNING <ls_goodsmvt_item>.
- ENDIF.
- DATA(matdoc_itm) = sy-tabix.
- <ls_goodsmvt_item>-material = <ls_install>-matnr1.
- <ls_goodsmvt_item>-plant = ls_eqbs-b_werk.
- <ls_goodsmvt_item>-stge_loc = ls_eqbs-b_lager.
- <ls_goodsmvt_item>-move_type = '261'.
- <ls_goodsmvt_item>-orderid = gs_header-orderid.
- <ls_goodsmvt_item>-entry_qnt = <ls_goodsmvt_item>-entry_qnt + 1.
- CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
- EXPORTING
- material = <ls_install>-matnr1
- IMPORTING
- material_general_data = ls_general_data.
- <ls_goodsmvt_item>-entry_uom = ls_general_data-base_uom.
- lcl_functions=>get_valuation_type( EXPORTING iv_equnr = <ls_install>-equnr1
- IMPORTING ev_val_type = <ls_goodsmvt_item>-val_type ).
- * <ls_goodsmvt_item>-val_type = 'KORISTENO'.
- APPEND INITIAL LINE TO lt_goodsmvt_serialnumber ASSIGNING FIELD-SYMBOL(<ls_ser>).
- <ls_ser>-matdoc_itm = matdoc_itm.
- <ls_ser>-serialno = <ls_install>-sernr1.
- ENDDO.
- CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
- EXPORTING
- goodsmvt_header = ls_goodsmvt_header
- goodsmvt_code = ls_goodsmvt_code
- testrun = iv_testrun
- IMPORTING
- materialdocument = ev_mat_document
- TABLES
- goodsmvt_item = lt_goodsmvt_item
- goodsmvt_serialnumber = lt_goodsmvt_serialnumber
- return = lt_return.
- READ TABLE lt_return ASSIGNING FIELD-SYMBOL(<ls_return>) WITH KEY type = 'E'.
- IF sy-subrc = 0.
- MESSAGE ID <ls_return>-id TYPE <ls_return>-type NUMBER <ls_return>-number
- WITH <ls_return>-message_v1 <ls_return>-message_v2 <ls_return>-message_v3
- <ls_return>-message_v4 INTO DATA(message).
- RAISE EXCEPTION TYPE cx_wo_validation_exception
- EXPORTING
- x_situation = CONV #( message )
- x_pbclass = '2'
- * x_syst =
- x_return = <ls_return>.
- ELSE.
- COMMIT WORK AND WAIT.
- ENDIF.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement