Application Log


Description:

Easily usage of the SAP-Objects for the application log in complex Abap-OO applications.

Advantage to use it:

  • Easy handling of the functions for the application log
  • Fast implementation of the application log

New development objects:

Abap interface

Abap class

Abap interface

Create a new interface with SE24/SE80

It needs the 3 events FIRE_MESSAGE, DISPLAY_LOG, REFRESH, SAVE

You can copy the source (text based editor) here zsk_if_applog

(FIRE_MESSAGE is actually enogh to demonstrate)

Abap class

Create a new class with SE24/SE80

You can copy the source (text based editor) here zsk_cl_applog

Usage

  • Declare the interface in all classes, which have to use the application log.
  • Optional: use the alias in the class to shorten the event name
    e.g.: FM instead of ZSK_IF_APP_LOG~FIRE_MESSAGE
  • Use the event to trigger the messages
    raise event fm
        exporting
        imp_MSGID = ’00’
        imp_MSGTY = ‘I’
        imp_MSGNO = ‘398’
        imp_MSGV1 = ‘Test Message’.
  • Now you just have to declare an object refering to the class, instantiate it and set the event handler:

Data: gr_log type ref to zsk_cl_applog.
CREATE OBJECT GR_LOG
    EXPORTING
        Imp LOG NAME     = LV_LOG_NAME    ” dynamic value e.g. document number
        Imp OBJECT          = c_OBJECT                ” to be customized in SLG0
        Imp SUBOBJECT = LV SUBOBJECT        ” to be customized in SLG0
        Imp DAYS                = c_DAYS                      “constant e.g. 60
    EXCEPTIONS
        MISSING INPUT
        LOG NOT FOUND
        LOG HEADER INCONSISTENT 3
        INTERNAL ERROR
        Others
    IF SY-SUBRC 0.
        MESSAGE ID SY-MSGID TYPE ‘E’ NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        return.
    ENDIF.
“you can use also different instances and handle different logs in you applications

set HANDLER gr_log->CATCH_FIRED_MESSAGE for all instances.

 

  • Don’t forget to save & / or  display the log. Directly by the method save/display or from you application by triggering the event DISPLAY_LOG or SAVE.