Aller au contenu

Ecrire dans la log

Dans le programme on fera :

DATA: app_header LIKE balhdri, t_log_mess LIKE balmi OCCURS 0 WITH HEADER LINE.

  • Objet et sous objet paramétrés par SLG0
  • Object dans BALOBJ
  • Subobject dans V_BALSUB

    app_header-object = 'ZFULLPCB'. app_header-subobject = 'ZFP_'.

  • Info d'entête app_header-altcode = 'SE37'. app_header-alprog = 'ZRFC_IN_FULL_PCB'.

    IF o_return = '02' OR o_return = '00'. t_log_mess-msgty = 'W'. t_log_mess-probclass = '1'. ELSE. t_log_mess-msgty = 'S'. t_log_mess-probclass = '4'. ENDIF. t_log_mess-msgid = '00'. t_log_mess-msgno = '398'. t_log_mess-msgv1 = o_text. APPEND t_log_mess.

    IF o_return = '01'. gt_full_pcb2[] = gt_full_pcb[]. DELETE ADJACENT DUPLICATES FROM gt_full_pcb2 COMPARING MATERIAL. DESCRIBE TABLE gt_full_pcb2 LINES t_log_mess-msgv1. CONDENSE t_log_mess-msgv1. t_log_mess-msgv2 = 'Lines received in ZBW_FULL_PCB'. t_log_mess-probclass = '4'. APPEND t_log_mess. ENDIF.

    CALL FUNCTION 'ZAPPL_LOG_CREATE' EXPORTING object = app_header-object subobject = app_header-subobject app_header = app_header TABLES APPL_LOG_MESS_TAB = t_log_mess.

Et le module fonction :

FUNCTION ZAPPL_LOG_CREATE. "---------------------------------------------------------------------- ""Local Interface: " IMPORTING " REFERENCE(OBJECT) TYPE BALOBJ_D " REFERENCE(SUBOBJECT) TYPE BALSUBOBJ " VALUE(APP_HEADER) TYPE BALHDRI OPTIONAL " TABLES " APPL_LOG_MESS_TAB STRUCTURE BALMI OPTIONAL "---------------------------------------------------------------------- DATA: appl_log_prot_tab LIKE balnri OCCURS 1, handle TYPE balloghndl.

  • A créer par SLG0
  • Object dans BALOBJ -> ex 'ZPURCHASE'
  • Subobject dans BALSUB. -> ex 'PPL_PO'
  • dans appl_log_mess_tab-PROBCLASS
  • 1 très important
  • 2 important
  • 3 moyen
  • 4 Informations supplémentaires
  • app_header-object = 'ZPURCHASE'. app_header-subobject = 'PPL_PO'. app_header-altcode = 'SE37'. app_header-alprog = 'ZTEST_SLG1'. app_header-extnumber = 'yoo'.

app_header-object = object. app_header-subobject = subobject.

CALL FUNCTION 'APPL_LOG_INIT' EXPORTING object = object subobject = subobject

  • LOG_HANDLE = ' ' EXCEPTIONS object_not_found = 1 subobject_not_found = 2 OTHERS = 3. IF sy-subrc <> 0.
  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

  • CALL FUNCTION 'APPL_LOG_WRITE_HEADER' EXPORTING header = app_header IMPORTING e_log_handle = handle EXCEPTIONS object_not_found = 1 subobject_not_found = 2 OTHERS = 3. IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

  • CALL FUNCTION 'APPL_LOG_WRITE_MESSAGES' EXPORTING object = object subobject = subobject log_handle = handle update_or_insert = 'I' TABLES messages = appl_log_mess_tab EXCEPTIONS object_not_found = 1 subobject_not_found = 2 OTHERS = 3. IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

  • Application-Log auf die DB schreiben CALL FUNCTION 'APPL_LOG_WRITE_DB' EXPORTING object = object subobject = subobject log_handle = handle TABLES object_with_lognumber = appl_log_prot_tab EXCEPTIONS object_not_found = 1 subobject_not_found = 2 internal_error = 3 OTHERS = 4.

ENDFUNCTION.