Universal Application Log Routines
Posted: Sun Jan 26, 2020 2:25 pm
Y_BAL_LOG erzeugt Log Einträge im Speicher und zeigt das Ergebneis als POPUP.
Y_BAL_LOG_DB erzeugt Log Einträge auf der Datenbank und zeigt das Ergebneis über Ta SLG1.
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- FUNCTION y_bal_log.
- *"----------------------------------------------------------------------
- *"*"Local Interface:
- *" IMPORTING
- *" REFERENCE(I_MSGTY) TYPE SYMSGTY OPTIONAL
- *" REFERENCE(I_MSGID) TYPE SYMSGID OPTIONAL
- *" REFERENCE(I_MSGNO) TYPE SYMSGNO OPTIONAL
- *" REFERENCE(I_MSGV1) OPTIONAL
- *" REFERENCE(I_MSGV2) OPTIONAL
- *" REFERENCE(I_MSGV3) OPTIONAL
- *" REFERENCE(I_MSGV4) OPTIONAL
- *" REFERENCE(I_DISPLAY) TYPE XFELD OPTIONAL
- *" REFERENCE(I_REFRESH) TYPE XFELD OPTIONAL
- *" REFERENCE(I_REPID) TYPE SYREPID
- *" EXCEPTIONS
- *" ERROR_CREATE
- *" ERROR_ADD_MESSAGE
- *" ERROR_REFRESH
- *" ERROR_DISPLAY_PROFILE
- *" ERROR_DISPLAY
- *"----------------------------------------------------------------------
- * Konstanten TRU, FALSE global
- DATA:
- l_log_handle TYPE balloghndl,
- l_s_log TYPE bal_s_log,
- l_s_display_profile TYPE bal_s_prof,
- l_msg TYPE bal_s_msg,
- l_t_handle TYPE bal_t_logh,
- l_create TYPE xfeld.
- cx_false(1) VALUE ' '.
- * Handle aus memory lesen
- l_log_handle IS INITIAL.
- l_create = cx_true.
- ELSE.
- l_create = cx_false.
- * Suche nach Protokoll (bereits im Speicher angelegt??)
- CALL FUNCTION 'BAL_GLB_SEARCH_LOG'
- EXPORTING
- i_t_log_handle = l_t_handle
- EXCEPTIONS
- log_not_found = 1
- OTHERS = 2.
- l_create = cx_true.
- DATA:
- def TYPE bal_s_mdef .
- * Noch nicht angelegt, also kreieren
- CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_GET'
- IMPORTING
- e_s_msg_defaults = def.
- CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_SET'
- EXPORTING
- * I_AUTHORIZATION =
- i_s_msg_defaults = def
- EXCEPTIONS
- not_authorized = 1
- defaults_inconsistent = 2
- OTHERS = 3
- .
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- l_s_log-extnumber = 'Application Log'(001).
- CALL FUNCTION 'BAL_LOG_CREATE'
- EXPORTING
- i_s_log = l_s_log
- IMPORTING
- e_log_handle = l_log_handle
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_create.
- ELSE.
- ************************************************************************
- * Message hinzufügen
- ************************************************************************
- l_msg-msgty = i_msgty.
- l_msg-msgid = i_msgid.
- l_msg-msgno = i_msgno.
- l_msg-msgv1 = i_msgv1.
- l_msg-msgv2 = i_msgv2.
- l_msg-msgv3 = i_msgv3.
- l_msg-msgv4 = i_msgv4.
- *'BAL_LOG_MSG_ADD'
- CALL FUNCTION 'BAL_LOG_MSG_CUMULATE'
- EXPORTING
- i_log_handle = l_log_handle
- i_s_msg = l_msg
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_add_message.
- ************************************************************************
- * Protokoll anzeigen
- ************************************************************************
- CALL FUNCTION 'BAL_DSP_PROFILE_POPUP_GET'
- IMPORTING
- e_s_display_profile = l_s_display_profile
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_display_profile.
- l_s_display_profile-use_grid = cx_true.
- l_s_display_profile-disvariant-handle = 'LOG'.
- l_s_display_profile-cwidth_opt = cx_true.
- l_s_display_profile-pop_adjst = cx_true.
- DATA:
- l_s_msg_filter TYPE bal_s_mfil,
- l_r_msgty TYPE bal_s_msty,
- l_r_probclass TYPE bal_s_prcl.
- * Meldungstyp definieren
- * l_r_msgty-option = 'EQ'.
- * l_r_msgty-sign = 'I'.
- * l_r_msgty-low = 'E'. "Fehler
- * APPEND l_r_msgty TO l_s_msg_filter-msgty.
- * l_r_msgty-option = 'EQ'.
- * l_r_msgty-sign = 'I'.
- * l_r_msgty-low = 'S'. "Fehler
- * APPEND l_r_msgty TO l_s_msg_filter-msgty.
- * Problemklasse definieren
- * l_r_probclass-option = 'NE'.
- * l_r_probclass-sign = 'I'.
- * l_r_probclass-low = '4'. "Zusatzinformationen
- * APPEND l_r_probclass TO l_s_msg_filter-probclass.
- *
- CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
- EXPORTING
- i_s_display_profile = l_s_display_profile
- i_s_msg_filter = l_s_msg_filter
- i_amodal = cx_false
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_display.
- ************************************************************************
- * Protokoll löschen
- ************************************************************************
- CALL FUNCTION 'BAL_LOG_REFRESH'
- EXPORTING
- i_log_handle = l_log_handle
- EXCEPTIONS
- log_not_found = 1
- OTHERS = 2.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_refresh.
- GeSHi ©
Y_BAL_LOG_DB erzeugt Log Einträge auf der Datenbank und zeigt das Ergebneis über Ta SLG1.
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- FUNCTION y_bal_log_db.
- *"----------------------------------------------------------------------
- *"*"Local Interface:
- *" IMPORTING
- *" REFERENCE(I_S_LOG) TYPE BAL_S_LOG OPTIONAL
- *" REFERENCE(I_MSGTY) TYPE SYMSGTY OPTIONAL
- *" REFERENCE(I_MSGID) TYPE SYMSGID OPTIONAL
- *" REFERENCE(I_MSGNO) TYPE SYMSGNO OPTIONAL
- *" REFERENCE(I_MSGV1) OPTIONAL
- *" REFERENCE(I_MSGV2) OPTIONAL
- *" REFERENCE(I_MSGV3) OPTIONAL
- *" REFERENCE(I_MSGV4) OPTIONAL
- *" REFERENCE(I_SAVE) TYPE XFELD DEFAULT ' '
- *" REFERENCE(I_DISPLAY) TYPE XFELD DEFAULT ' '
- *" REFERENCE(I_REFRESH) TYPE XFELD OPTIONAL
- *" REFERENCE(I_REPID) TYPE SYREPID
- *" EXCEPTIONS
- *" ERROR_CREATE
- *" ERROR_ADD_MESSAGE
- *" ERROR_REFRESH
- *" ERROR_DISPLAY_PROFILE
- *" ERROR_SAVE
- *" ERROR_DISPLAY
- *"----------------------------------------------------------------------
- * Konstanten TRU, FALSE global
- DATA:
- l_log_handle TYPE balloghndl,
- l_s_display_profile TYPE bal_s_prof,
- l_msg TYPE bal_s_msg,
- gs_log_head TYPE bal_s_log,
- l_t_handle TYPE bal_t_logh,
- l_create TYPE xfeld.
- cx_false(1) VALUE ' '.
- * Handle aus memory lesen
- l_log_handle IS INITIAL.
- l_create = cx_true.
- ELSE.
- l_create = cx_false.
- * Suche nach Protokoll (bereits im Speicher angelegt??)
- CALL FUNCTION 'BAL_GLB_SEARCH_LOG'
- EXPORTING
- i_t_log_handle = l_t_handle
- EXCEPTIONS
- log_not_found = 1
- OTHERS = 2.
- l_create = cx_true.
- DATA:
- def TYPE bal_s_mdef .
- * Noch nicht angelegt, also kreieren
- CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_GET'
- IMPORTING
- e_s_msg_defaults = def.
- CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_SET'
- EXPORTING
- * I_AUTHORIZATION =
- i_s_msg_defaults = def
- EXCEPTIONS
- not_authorized = 1
- defaults_inconsistent = 2
- OTHERS = 3.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- * i_s_log-extnumber = 'Application Log'(001).
- gs_log_head = i_s_log.
- ELSE.
- gs_log_head-object = 'ARCHIVING'.
- gs_log_head-subobject = 'SUMLOG'.
- gs_log_head-aldate = sy-datum.
- gs_log_head-altime = sy-uzeit.
- gs_log_head-aluser = sy-uname.
- gs_log_head-altcode = sy-tcode.
- gs_log_head-alprog = sy-repid.
- gs_log_head-almode = 'D'.
- * gs_log_head-ALDATE_DEL = sy-datum + 100. " 100 Tage
- * gs_log_head-DEL_BEFORE = 'X'.
- CALL FUNCTION 'BAL_LOG_CREATE'
- EXPORTING
- i_s_log = gs_log_head
- IMPORTING
- e_log_handle = l_log_handle
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_create.
- ELSE.
- ************************************************************************
- * Message hinzufügen
- ************************************************************************
- l_msg-msgty = i_msgty.
- l_msg-msgid = i_msgid.
- l_msg-msgno = i_msgno.
- l_msg-msgv1 = i_msgv1.
- l_msg-msgv2 = i_msgv2.
- l_msg-msgv3 = i_msgv3.
- l_msg-msgv4 = i_msgv4.
- *'BAL_LOG_MSG_ADD'
- CALL FUNCTION 'BAL_LOG_MSG_CUMULATE'
- EXPORTING
- i_log_handle = l_log_handle
- i_s_msg = l_msg
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_add_message.
- ************************************************************************
- * Protokoll anzeigen
- ************************************************************************
- CLEAR l_s_display_profile.
- *CALL FUNCTION 'BAL_DSP_PROFILE_POPUP_GET'
- * IMPORTING
- * e_s_display_profile = ls_anzeigeprofil.
- CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'
- IMPORTING
- e_s_display_profile = l_s_display_profile.
- CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
- EXPORTING
- i_s_display_profile = l_s_display_profile
- i_t_log_handle = l_t_handle
- i_amodal = ' '
- EXCEPTIONS
- profile_inconsistent = 1
- internal_error = 2
- no_data_available = 3
- no_authority = 4
- OTHERS = 5.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- ************************************************************************
- * Protokoll auf Datenbank speichern
- ************************************************************************
- * save logs
- CALL FUNCTION 'BAL_DB_SAVE'
- EXPORTING
- i_save_all = 'X'
- EXCEPTIONS
- OTHERS = 1.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- ************************************************************************
- * Protokoll löschen
- ************************************************************************
- CALL FUNCTION 'BAL_LOG_REFRESH'
- EXPORTING
- i_log_handle = l_log_handle
- EXCEPTIONS
- log_not_found = 1
- OTHERS = 2.
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- RAISING error_refresh.
- GeSHi ©