REPORT YAPPLOG .
* This report uses the application log to recod the user login data
* TO set it up, first:
* Create an application log object (SLG0)
* Create a message to be called (se91)
* Call this form routine from a pai started in sapmsyst/020 flow logic
* or via user exit SUSR0001
* The application log can be displayed by SLG1
*---------------------------------------------------------------------*
*       FORM WRITE_APPLOG                                             *
*---------------------------------------------------------------------*
*       Write an application message when a user logs in             *
*---------------------------------------------------------------------*
FORM WRITE_APPLOG USING PASSWD TYPE C USER TYPE C.
  DATA: BEGIN OF BALMI.
          INCLUDE STRUCTURE BALMI.
  DATA: END OF BALMI.
  DATA: BEGIN OF SPAR OCCURS 10.
          INCLUDE STRUCTURE SPAR.
  DATA: END OF SPAR.
  DATA: BEGIN OF BALNRI OCCURS 10.
          INCLUDE STRUCTURE BALNRI.
  DATA: END OF BALNRI.

*1 very important
*2 important
*3 medium
*4 Additional information
  BALMI-PROBCLASS = 2.
*1 Immediate message display
*2 Message display on request
*3 Message display on further request
  BALMI-DETLEVEL = 1.
  BALMI-MSGTY = 'I'.
  BALMI-MSGID = 'ZA'.
  BALMI-MSGNO = '00'.
  BALMI-MSGV1 = USER.
  BALMI-MSGV2 = SY-DATUM.
  BALMI-MSGV3 = SY-UZEIT.
  BALMI-MSGV4 = PASSWD.
  BALMI-ALTEXT = 'Standard txt'.

  CALL FUNCTION 'APPL_LOG_WRITE_MESSAGE_PARAMS'
       EXPORTING
            OBJECT     = 'ZZZZ'
            MESSAGE    = BALMI
       TABLES
            PARAMETERS = SPAR.

  CALL FUNCTION 'APPL_LOG_WRITE_DB'
       EXPORTING
            OBJECT                = 'ZZZZ'
       TABLES
            OBJECT_WITH_LOGNUMBER = BALNRI.
ENDFORM.