*&---------------------------------------------------------------------*
*& Report  ZBIIP_TAKIM_AC
*&---------------------------------------------------------------------*
REPORT  ZBIIP_TAKIM_AC.
TYPE-POOLS: rsplf.
DATA: l_repid TYPE sy-repid.
DATA: ls_column_selection TYPE baldisp,
      ls_display_profile TYPE bal_s_prof.
data: l_local_log TYPE RSPC_LOGID.
data: l_chain_status TYPE RSPC_STATE.
data: start_time like SY-UZEIT.
data: end_time like SY-UZEIT.
data: diff_time like SY-UZEIT.
data: curr_time like SY-UZEIT.
data: polling_interval type i value 30.
DATA: l_c_nm TYPE RSPC_CHAIN.
DATA: l_time like SY-UZEIT.
DATA : ZENQ TYPE STANDARD TABLE OF SEQG3.
DATA : wa_ZENQ TYPE SEQG3.
DATA : ANSWER.
   CALL FUNCTION 'RSPC_API_CHAIN_START'
      EXPORTING
        I_CHAIN = 'ZBIIP_TAKIMAC'
      IMPORTING
        E_LOGID = l_local_log.
    do.
      CALL FUNCTION 'RSPC_API_CHAIN_GET_STATUS'
        EXPORTING
          I_CHAIN  = l_c_nm
          I_LOGID  = l_local_log
        IMPORTING
          E_STATUS = l_chain_status.
      case l_chain_status.
        when 'G' or 'F'.
          write: / 'Chain OK ', sy-uzeit.
          exit.
        when 'A' or 'P' or 'S' or 'Q' or 'Y'.
          wait up to polling_interval seconds.
*      curr_time = sy-uzeit.
*      diff_time = curr_time - start_time.
*      if diff_time > l_time.
*        write: / 'Job timed out for chain ', l_c_nm.
*        message: E000(Chain_Timeout).
*        exit.
*      endif.
        when 'R'.
          write: / 'LOGID = ', l_local_log.
          write: / 'Status = ', l_chain_status.
          message: E000(Chain_Failed01).
          exit.
        when others.
          write: / 'LOGID = ', l_local_log.
          write: / 'Status = ', l_chain_status.
          message: E000(Chain_Failed02).
          exit.
      endcase.
    enddo.
* Process Chain contains Planning function below code shows planning function log
CALL FUNCTION 'APPL_LOG_DISPLAY'
  EXPORTING
    object                         = rsplf_c_appl_log_planning
    object_attribute               = 2
    subobject                      = rsplf_c_appl_log_plsq_exec
    subobject_attribute            = 2
    external_number                = ' '
    external_number_attribute      = 2
    title_list_screen              = ' '
    title_selection_screen         = ' '
    date_from                      = sy-datum            "#EC DOM_EQUAL
    date_to                        = sy-datum            "#EC DOM_EQUAL
    time_to                        = '235959'            "#EC DOM_EQUAL
    external_number_display_length = 20
    column_selection               = ls_column_selection
    i_s_display_profile            = ls_display_profile
    i_variant_report               = l_repid
  EXCEPTIONS
    no_authority                   = 01.
No comments:
Post a Comment