Hi Experts,
I am successful in creating logs for SLG1. When I go to SLG1 I am able to view my logs there but I am facing one issue here. In log message my requirement is to show string but somehow it is not getting displayed completely. Its been long that I am reading blogs on SCN but couldn't find anything useful.
Code I have written for generating logs is below:
DATA: lf_obj TYPE balobj_d VALUE '/HSGRP1/DI',
lf_subobj TYPE balsubobj VALUE 'ZAPPL_LOGS',
ls_header TYPE balhdri,
lf_log_handle TYPE balloghndl,
lf_log_number TYPE balognr,
lt_msg TYPE balmi_tab,
ls_msg TYPE balmi,
lt_lognum TYPE TABLE OF balnri,
ls_lognum TYPE balnri,
lf_ID TYPE symsgid VALUE '/HSGRP1/DI_MESSAGES'.
* Header information for the log
ls_header-object = lf_obj.
ls_header-subobject = lf_subobj.
ls_header-aldate = sy-datum.
ls_header-altime = sy-uzeit.
ls_header-aluser = sy-uname.
ls_header-aldate_del = sy-datum + 1.
* Get the Log handle using the header
CALL FUNCTION 'APPL_LOG_WRITE_HEADER'
EXPORTING
header = ls_header
IMPORTING
e_log_handle = lf_log_handle
EXCEPTIONS
object_not_found = 1
subobject_not_found = 2
error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* * Get the next avaliable Log number
CALL FUNCTION 'BAL_DB_LOGNUMBER_GET'
EXPORTING
i_client = sy-mandt
i_log_handle = lf_log_handle
IMPORTING
e_lognumber = lf_log_number
EXCEPTIONS
log_not_found = 1
lognumber_already_exists = 2
numbering_error = 3
OTHERS = 4.
ls_msg-msgty = 'I'.
ls_msg-msgid = lf_ID.
ls_msg-msgno = '000'.
ls_msg-msgv1 = outdata_itab-line.
APPEND ls_msg TO lt_msg.
ls_msg-msgty = 'I'.
ls_msg-msgid = lf_ID.
ls_msg-msgno = '001'.
ls_msg-msgv1 = fromClauseString.
APPEND ls_msg TO lt_msg.
ls_msg-msgty = 'I'.
ls_msg-msgid = lf_ID.
ls_msg-msgno = '002'.
ls_msg-msgv1 = whereClauseString.
APPEND ls_msg TO lt_msg.
ls_msg-msgty = 'I'.
ls_msg-msgid = lf_ID.
ls_msg-msgno = '003'.
ls_msg-msgv1 = rowcount.
APPEND ls_msg TO lt_msg.
ls_msg-msgty = 'I'.
ls_msg-msgid = lf_ID.
ls_msg-msgno = '004'.
ls_msg-msgv1 = rowskips.
APPEND ls_msg TO lt_msg.
* lt_msg = '1'.
CALL FUNCTION 'APPL_LOG_WRITE_MESSAGES'
EXPORTING
object = lf_obj
subobject = lf_subobj
log_handle = lf_log_handle
TABLES
messages = lt_msg
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.
MOVE-CORRESPONDING ls_header TO ls_lognum.
ls_lognum-lognumber = lf_log_number.
APPEND ls_lognum TO lt_lognum.
*
CALL FUNCTION 'APPL_LOG_WRITE_DB'
EXPORTING
object = lf_obj
subobject = lf_subobj
log_handle = lf_log_handle
TABLES
object_with_lognumber = lt_lognum
EXCEPTIONS
object_not_found = 1
subobject_not_found = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR lt_msg.
REFRESH lt_msg.
CLEAR gv_msg.
In slg1 when I try to view logs it comes like this:
Here in "fields selected" it should show complete text which is coming dynamically from front end in string format. As of now it is showing limited text.
Also I tried to add long text but that's not useful for our requirement. Please help me in letting me know what else I can try..
Regards
Akanksha Srivastava