- REPORT zini_LOG_CLASS.
- CLASS Zini_LOG DEFINITION.
- PUBLIC SECTION.
- DATA: log TYPE bal_s_msg.
- METHODS:
- constructor IMPORTING i_object TYPE any,
- inicia,
- add_log IMPORTING i_txt TYPE any OPTIONAL
- i_save TYPE any OPTIONAL, "<-- XFELD
- display,
- grabar.
- PRIVATE SECTION.
- CONSTANTS: c_vers TYPE string VALUE 'v0.1'.
- DATA: my_handle TYPE balloghndl,
- my_t_log TYPE bal_t_logh,
- my_is_log TYPE bal_s_log.
- ENDCLASS.
- CLASS zini_LOG IMPLEMENTATION.
- method display.
- DATA: t_handle TYPE bal_t_logh.
- check not my_handle is INITIAL.
- APPEND my_handle TO t_handle.
- CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
- EXPORTING
- * I_S_DISPLAY_PROFILE =
- i_t_log_handle = t_handle
- * I_T_MSG_HANDLE =
- * I_S_LOG_FILTER =
- * I_S_MSG_FILTER =
- * I_T_LOG_CONTEXT_FILTER =
- * I_T_MSG_CONTEXT_FILTER =
- i_amodal = 'X'
- * I_SRT_BY_TIMSTMP = ' '
- * I_MSG_CONTEXT_FILTER_OPERATOR = 'A'
- * IMPORTING
- * E_S_EXIT_COMMAND =
- EXCEPTIONS
- profile_inconsistent = 1
- internal_error = 2
- no_data_available = 3
- no_authority = 4
- OTHERS = 5.
- ENDMETHOD.
- METHOD constructor.
- my_is_log-object = i_object.
- ENDMETHOD.
- METHOD add_log.
- TYPES: BEGIN OF ty_type,
- msgv1 TYPE symsgv,
- msgv2 TYPE symsgv,
- msgv3 TYPE symsgv,
- msgv4 TYPE symsgv,
- END OF ty_type.
- DATA ax TYPE ty_type.
- IF log-msgty IS INITIAL. log-msgty = 'S'. ENDIF.
- IF log-msgid IS INITIAL. log-msgid = '00'. ENDIF.
- IF log-msgno IS INITIAL. log-msgno = '398'. ENDIF.
- IF i_txt IS NOT INITIAL. ax = i_txt. MOVE-CORRESPONDING ax TO log. ENDIF.
- CALL FUNCTION 'BAL_LOG_MSG_ADD'
- EXPORTING
- i_log_handle = my_handle
- i_s_msg = log
- * IMPORTING
- * E_S_MSG_HANDLE =
- * E_MSG_WAS_LOGGED =
- * E_MSG_WAS_DISPLAYED =
- EXCEPTIONS
- log_not_found = 1
- msg_inconsistent = 2
- log_is_full = 3
- OTHERS = 4.
- IF i_save IS NOT INITIAL.
- grabar( ).
- ENDIF.
- CLEAR log.
- ENDMETHOD.
- METHOD inicia.
- CLEAR my_handle.
- REFRESH my_t_log.
- CALL FUNCTION 'BAL_LOG_CREATE'
- EXPORTING
- i_s_log = my_is_log
- IMPORTING
- e_log_handle = my_handle
- EXCEPTIONS
- log_header_inconsistent = 1
- OTHERS = 2.
- IF sy-subrc EQ 0.
- APPEND my_handle TO my_t_log.
- ENDIF.
- ENDMETHOD.
- METHOD grabar.
- CALL FUNCTION 'BAL_DB_SAVE'
- EXPORTING
- i_t_log_handle = my_t_log
- EXCEPTIONS
- log_not_found = 1
- save_not_allowed = 2
- numbering_error = 3
- OTHERS = 4.
- ENDMETHOD.
- ENDCLASS.
- END-OF-SELECTION.
- DATA(my_log) = NEW zini_log( 'ZORDENES' ).
- my_log->inicia( ).
- DO 5 TIMES.
- my_log->add_LOG( i_txt = |Hello world: { sy-index }|
- i_save = abap_true ).
- ENDDO.
- my_log->display( ).
Última modificación de la página el 05 June 2024 a las 19h05
Powered by
PmWiki