Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REPORT zprocess_ordertrigger_queue.
- TABLES: nast.
- DATA: gv_returncode TYPE sysubrc,
- ls_queue TYPE zorderqueue,
- cv_returncode TYPE sysubrc,
- gv_end(1).
- DATA:lt_orderqueue TYPE TABLE OF zorderqueue,
- lt_aubel TYPE TABLE OF vbrp,
- lv_time TYPE time12,
- ls_orderqueue TYPE zorderqueue,
- ls_vbup TYPE vbup,
- lv_task(10) TYPE c,
- ls_task TYPE zorderqueue,
- lv_tabix TYPE i,
- lv_runtime TYPE i,
- lv_rtime TYPE time12,
- lv_index TYPE syst_tabix,
- lv_message_type TYPE kschl,
- lv_message_partner TYPE nast-parnr,
- ls_comwa TYPE vbco3,
- lv_spras TYPE na_spras,
- lv_vbeln TYPE vbeln_vf.
- *SELECT SINGLE low FROM tvarvc INTO lv_time WHERE name = 'ZOrderTriggerQueueOffsetMin'.
- SELECT * FROM zorderqueue INTO TABLE lt_orderqueue WHERE status NE 'X' ORDER BY PRIMARY KEY. " AND Time > lv_time.
- IF sy-subrc = 0.
- LOOP AT lt_orderqueue INTO ls_orderqueue.
- IF ls_orderqueue-vbeln <> lv_vbeln.
- IF nast IS INITIAL.
- SELECT SINGLE spras FROM nast INTO lv_spras WHERE objky = ls_orderqueue-vbeln.
- ELSE.
- lv_spras = nast-spras.
- ENDIF.
- IF lv_spras IS INITIAL.
- lv_spras = 'E'.
- ENDIF.
- DATA(lv_msg_v1) = CONV sy-msgv1( text-001 ).
- DATA(lv_msg_v2) = CONV sy-msgv2( ls_orderqueue-vbeln ).
- DATA(lv_msg_v3) = CONV sy-msgv2( ls_orderqueue-aubel ).
- PERFORM add_message_to_log USING 'I' lv_msg_v1 lv_msg_v2 lv_msg_v3 space.
- lv_task = ls_orderqueue-vbeln.
- ls_task = ls_orderqueue.
- lv_message_type = 'ZOCN'.
- lv_message_partner = 'RADIUSAN'.
- gv_end = 0.
- CALL FUNCTION 'Z_CREATE_MESSAGE'
- STARTING NEW TASK ls_task
- DESTINATION 'NONE'
- PERFORMING f_cal ON END OF TASK
- EXPORTING
- iv_vbeln = ls_orderqueue-vbeln
- iv_message_type = lv_message_type
- iv_message_partner = lv_message_partner
- iv_spras = lv_spras
- iv_partner_function = 'LS'
- EXCEPTIONS
- system_failure = 1
- communication_failure = 2
- resource_failure = 3.
- WAIT UNTIL gv_end = 1
- UP TO 20 SECONDS.
- IF gv_end = 1.
- cv_returncode = gv_returncode.
- ELSE.
- * KM 21/02/2019: add logging
- lv_msg_v1 = CONV sy-msgv1( text-002 ).
- PERFORM add_message_to_log USING 'I' lv_msg_v1 space space space.
- cv_returncode = 8.
- ENDIF.
- lv_vbeln = ls_orderqueue-vbeln.
- ENDIF.
- ENDLOOP.
- ENDIF.
- FORM add_message_to_log USING uv_msg_ty TYPE sy-msgty
- uv_msg_v1 TYPE sy-msgv1
- uv_msg_v2 TYPE sy-msgv2
- uv_msg_v3 TYPE sy-msgv3
- uv_msg_v4 TYPE sy-msgv4.
- CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
- EXPORTING
- msg_arbgb = 'ZSD_SO_PRINT_CONF'
- msg_nr = '001'
- msg_ty = uv_msg_ty
- msg_v1 = uv_msg_v1
- msg_v2 = uv_msg_v2
- msg_v3 = uv_msg_v3
- msg_v4 = uv_msg_v4
- EXCEPTIONS
- message_type_not_valid = 1
- no_sy_message = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- RETURN.
- ENDIF.
- ENDFORM.
- FORM f_cal USING lv_task.
- DATA: lt_messages TYPE bapiret2_t,
- lt_nast TYPE TABLE OF nast,
- ls_nast TYPE nast,
- lt_queue TYPE TABLE OF zorderqueue. " KM 09/01/2019: add logging
- RECEIVE RESULTS FROM FUNCTION 'Z_CREATE_MESSAGE'
- IMPORTING rv_subrc = gv_returncode
- et_messages = lt_messages
- EXCEPTIONS
- system_failure = 1
- communication_failure = 2
- resource_failure = 3.
- IF NOT sy-subrc IS INITIAL.
- gv_returncode = 8.
- *--------#981361------
- ELSEIF sy-subrc = 0.
- SELECT * FROM zorderqueue INTO TABLE lt_queue WHERE vbeln = ls_task-vbeln. " AND aubel = ls_task-aubel.
- IF sy-subrc = 0.
- LOOP AT lt_queue INTO ls_queue.
- CLEAR lt_nast.
- SELECT * FROM nast INTO TABLE lt_nast WHERE objky = ls_queue-aubel AND kschl = 'ZOCN' AND kappl = 'V1'.
- IF sy-subrc = 0.
- DATA(lv_line) = lines( lt_nast ).
- READ TABLE lt_nast INDEX lv_line INTO ls_nast.
- IF sy-subrc = 0 AND ls_nast-vstat = '1'.
- ls_queue-status = 'X'.
- MODIFY zorderqueue FROM ls_queue.
- ENDIF.
- ENDIF.
- ENDLOOP.
- ENDIF.
- ENDIF.
- *----------------------
- * KM 09/01/2019: add logging
- LOOP AT lt_messages ASSIGNING FIELD-SYMBOL(<lf_message>).
- <lf_message>-type = 'S'.
- PERFORM add_message_to_log USING <lf_message>-type <lf_message>-message_v1 <lf_message>-message_v2 <lf_message>-message_v3 <lf_message>-message_v4.
- ENDLOOP.
- gv_end = 1.
- ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement