06-18-2009 8:16 AM
Hi Guys,
iam using below FM to write error in application log . But the log iam not able to see in SLG1 tcode .Cany any one let me how can i fix this , is there any step by stp procedure ?
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
I_S_MSG = L_S_MSG
I_LOG_HANDLE =
EXCEPTIONS
LOG_NOT_FOUND = 0
OTHERS = 1.
RAISE NO_MORE_DATA.
ENDIF.
IF L_CONREC[] IS NOT INITIAL.
CHECK L_APPL[] IS INITIAL AND L_CONTYP[] IS INITIAL.
RAISE NO_MORE_DATA.
define some header data of this log
G_S_LOG-EXTNUMBER = 'Input fields are Null'.
G_S_LOG-ALUSER = SY-UNAME.
G_S_LOG-ALPROG = SY-REPID.
*create a log
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
I_S_LOG = G_S_LOG
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
Regards,
Sr
06-18-2009 8:32 AM
hi,
you have wrong order, see below code...
L_S_LOG-OBJECT = cOBJECT.
L_S_LOG-ALUSER = SY-UNAME.
L_S_LOG-ALPROG = SY-REPID.
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
I_S_LOG = L_S_LOG
IMPORTING
E_LOG_HANDLE = LOG_HANDLE
EXCEPTIONS
OTHERS = 1.
....
DATA: L_S_MSG TYPE BAL_S_MSG.
L_S_MSG-MSGTY = MSGTY.
L_S_MSG-MSGID = MSGID.
L_S_MSG-MSGNO = MSGNO.
L_S_MSG-MSGV1 = MSGV1.
L_S_MSG-MSGV2 = MSGV2.
L_S_MSG-MSGV3 = MSGV3.
L_S_MSG-MSGV4 = MSGV4.
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
i_log_handle = log_handle
i_s_msg = l_s_msg
EXCEPTIONS
log_not_found = 1
msg_inconsistent = 2
OTHERS = 3.
....
REFRESH N_LOG_HANDLE.
N_LOG_HANDLE-LOG_HANDLE = LOG_HANDLE.
COLLECT N_LOG_HANDLE.
SORT N_LOG_HANDLE.
T_LOG_HANDLE[] = N_LOG_HANDLE[].
CALL FUNCTION 'BAL_DB_SAVE'
EXPORTING
I_CLIENT = SY-MANDT
I_T_LOG_HANDLE = T_LOG_HANDLE
IMPORTING
E_NEW_LOGNUMBERS = L_S_LOGNUMBERS
EXCEPTIONS
LOG_NOT_FOUND = 1
SAVE_NOT_ALLOWED = 2
NUMBERING_ERROR = 3
OTHERS = 4.
regards,darek
06-18-2009 8:57 AM
Hi ,
What is Cobject and LOG_HANDLE is refered to which field?Can u please kindly explain.
L_S_LOG-OBJECT = cOBJECT.
L_S_LOG-ALUSER = SY-UNAME.
L_S_LOG-ALPROG = SY-REPID.
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
I_S_LOG = L_S_LOG
IMPORTING
E_LOG_HANDLE = LOG_HANDLE
EXCEPTIONS
OTHERS = 1.
....
DATA: L_S_MSG TYPE BAL_S_MSG.
L_S_MSG-MSGTY = MSGTY.
L_S_MSG-MSGID = MSGID.
L_S_MSG-MSGNO = MSGNO.
L_S_MSG-MSGV1 = MSGV1.
L_S_MSG-MSGV2 = MSGV2.
L_S_MSG-MSGV3 = MSGV3.
L_S_MSG-MSGV4 = MSGV4.
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
i_log_handle = log_handle
i_s_msg = l_s_msg
EXCEPTIONS
log_not_found = 1
msg_inconsistent = 2
OTHERS = 3.
....
REFRESH N_LOG_HANDLE.
N_LOG_HANDLE-LOG_HANDLE = LOG_HANDLE.
COLLECT N_LOG_HANDLE.
SORT N_LOG_HANDLE.
T_LOG_HANDLE[] = N_LOG_HANDLE[].
CALL FUNCTION 'BAL_DB_SAVE'
EXPORTING
I_CLIENT = SY-MANDT
I_T_LOG_HANDLE = T_LOG_HANDLE
IMPORTING
E_NEW_LOGNUMBERS = L_S_LOGNUMBERS
EXCEPTIONS
LOG_NOT_FOUND = 1
SAVE_NOT_ALLOWED = 2
NUMBERING_ERROR = 3
OTHERS = 4.
06-18-2009 9:09 AM
hi
"cOBJECT" it is name of object which you create in SLG0 transaction
and "log_handle" it is a handler for storing your messages, below data definition...
INCLUDE SBAL_CONSTANTS.
DATA: LOG_HANDLE TYPE BALLOGHNDL.
regards,darek
06-18-2009 9:39 AM
Hi ,
Thanks for you kind response .
I have problem in object , when iam using that object which i have created /existing in my program ,
its showing that it is not define in the program. Can let me know any seperate procedure for this or should ineed to define the object in the program.if so type of which ?
Reg
Sri
06-18-2009 9:47 AM
hi,
see also example program SBAL_DEMO_04_SINGLE_LOG...
regards,darek