Advertisement
Guest User

Untitled

a guest
Feb 25th, 2019
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 3.79 KB | None | 0 0
  1.     DATA: ls_goodsmvt_header       TYPE  bapi2017_gm_head_01,
  2.           ls_goodsmvt_code         TYPE bapi2017_gm_code,
  3.           lt_return                TYPE TABLE OF bapiret2,
  4.           lt_goodsmvt_item         TYPE TABLE OF bapi2017_gm_item_create,
  5.           lt_goodsmvt_serialnumber TYPE TABLE OF bapi2017_gm_serialnumber,
  6.           ls_return                TYPE bapiret2,
  7.           ls_general_data          TYPE bapimatdoa.
  8.  
  9.  
  10.     CHECK dont_perform_mat_movement = ''.
  11.  
  12.     ls_goodsmvt_header-pstng_date = is_oper-oper-exec_fin_date.
  13.     ls_goodsmvt_header-doc_date = is_oper-oper-exec_fin_date.
  14.  
  15.     ls_goodsmvt_code-gm_code = '03'.
  16.  
  17.  
  18.     IF iv_device_group = 'X'.
  19.       DESCRIBE TABLE is_oper-install LINES DATA(device_count).
  20.     ELSE.
  21.       device_count = 1.
  22.     ENDIF.
  23.  
  24.     DO device_count TIMES.
  25.  
  26.       IF iv_device_group = 'X'.
  27.         READ TABLE is_oper-install ASSIGNING FIELD-SYMBOL(<ls_install>) INDEX sy-index.
  28.       ELSE.
  29.         ASSIGN is_install TO <ls_install>.
  30.       ENDIF.
  31.  
  32.  
  33.       SELECT SINGLE b_werk, b_lager FROM eqbs INTO @DATA(ls_eqbs) WHERE equnr = @<ls_install>-equnr1.
  34.       IF sy-subrc NE 0.
  35.  
  36.         DATA(alpha) = |{ <ls_install>-equnr1 ALPHA = OUT }|.
  37.  
  38.         add_msg_par ls_return 'ZPWM' 'E' '149' '' alpha '' '' ''.
  39.  
  40.         MESSAGE e149(zwpm) INTO DATA(message_e149).
  41.  
  42.         RAISE EXCEPTION TYPE cx_wo_validation_exception
  43.           EXPORTING
  44.             x_situation = CONV #( message_e149 )
  45.             x_pbclass   = probclass_high
  46.             x_return    = ls_return.
  47.  
  48.       ENDIF.
  49.  
  50.       READ TABLE lt_goodsmvt_item ASSIGNING FIELD-SYMBOL(<ls_goodsmvt_item>)
  51.       WITH KEY material = <ls_install>-matnr1.
  52.       IF sy-subrc NE 0.
  53.         APPEND INITIAL LINE TO lt_goodsmvt_item ASSIGNING <ls_goodsmvt_item>.
  54.       ENDIF.
  55.       DATA(matdoc_itm) = sy-tabix.
  56.  
  57.       <ls_goodsmvt_item>-material = <ls_install>-matnr1.
  58.       <ls_goodsmvt_item>-plant = ls_eqbs-b_werk.
  59.       <ls_goodsmvt_item>-stge_loc = ls_eqbs-b_lager.
  60.  
  61.       <ls_goodsmvt_item>-move_type = '261'.
  62.       <ls_goodsmvt_item>-orderid = gs_header-orderid.
  63.       <ls_goodsmvt_item>-entry_qnt = <ls_goodsmvt_item>-entry_qnt + 1.
  64.  
  65.       CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
  66.         EXPORTING
  67.           material              = <ls_install>-matnr1
  68.         IMPORTING
  69.           material_general_data = ls_general_data.
  70.  
  71.  
  72.       <ls_goodsmvt_item>-entry_uom = ls_general_data-base_uom.
  73.  
  74.  
  75.       lcl_functions=>get_valuation_type( EXPORTING iv_equnr = <ls_install>-equnr1
  76.         IMPORTING ev_val_type = <ls_goodsmvt_item>-val_type ).
  77.  
  78. *      <ls_goodsmvt_item>-val_type = 'KORISTENO'.
  79.  
  80.  
  81.       APPEND INITIAL LINE TO lt_goodsmvt_serialnumber ASSIGNING FIELD-SYMBOL(<ls_ser>).
  82.       <ls_ser>-matdoc_itm = matdoc_itm.
  83.       <ls_ser>-serialno = <ls_install>-sernr1.
  84.  
  85.     ENDDO.
  86.  
  87.     CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
  88.       EXPORTING
  89.         goodsmvt_header       = ls_goodsmvt_header
  90.         goodsmvt_code         = ls_goodsmvt_code
  91.         testrun               = iv_testrun
  92.       IMPORTING
  93.         materialdocument      = ev_mat_document
  94.       TABLES
  95.         goodsmvt_item         = lt_goodsmvt_item
  96.         goodsmvt_serialnumber = lt_goodsmvt_serialnumber
  97.         return                = lt_return.
  98.  
  99.  
  100.     READ TABLE lt_return ASSIGNING FIELD-SYMBOL(<ls_return>) WITH KEY type = 'E'.
  101.     IF sy-subrc = 0.
  102.       MESSAGE ID <ls_return>-id TYPE <ls_return>-type NUMBER <ls_return>-number
  103.       WITH <ls_return>-message_v1 <ls_return>-message_v2 <ls_return>-message_v3
  104.       <ls_return>-message_v4 INTO DATA(message).
  105.  
  106.       RAISE EXCEPTION TYPE cx_wo_validation_exception
  107.         EXPORTING
  108.           x_situation = CONV #( message )
  109.           x_pbclass   = '2'
  110. *         x_syst      =
  111.           x_return    = <ls_return>.
  112.     ELSE.
  113.       COMMIT WORK AND WAIT.
  114.     ENDIF.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement