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.