Hướng dẫn sử dụng Application Log
Posted: Fri Mar 18, 2022 10:16 pm
Trong chủ đề này mình sẽ chia sẽ về cách sử dụng lớp cl_rso_application_log trong ABAP nhằm mục đích hiển thị các thông báo tới người dùng như hình minh họa bên dưới đây
Log sau khi được khởi tạo các bạn có thể thêm message vào trong log ở bất cứ nơi đâu trong chương trình, tuy nhiên phải đảm bảo log đã được khởi tạo ở một giai đoạn trước khi các message được thêm vào.
Message được thêm vào trong log phải ở dạng message text, do vậy trước khi thực hiện thêm message chúng ta cần phải thêm đoạn mã đọc dữ liệu của message:
Sau khi dữ liệu text đã được đọc, chúng ta tiếp tục gọi đoan method sau để thêm message vào trong log
Và bước cuối cùng chúng ta cần làm là nên hiển thị log và xóa log
Đây là một dạng log được sử dụng với mục đích hiển thị một lần và không cần phải lưu lại, với loại log cần lưu lại. Để sử dụng được log này trước tiên chúng ta cần thực hiện khởi tạo log
Code: Select all
IF cl_rso_application_log=>appl_log_get_log_handle( ) IS INITIAL.
CALL METHOD cl_rso_application_log=>appl_log_create
EXPORTING
i_object = rstr_c_appl_log_trfn
i_subobject = rstr_c_appl_log_trfn_content
i_extnumber = ''.
ENDIF.
Message được thêm vào trong log phải ở dạng message text, do vậy trước khi thực hiện thêm message chúng ta cần phải thêm đoạn mã đọc dữ liệu của message:
Code: Select all
DATA: lv_mess(128) TYPE c.
MESSAGE ID ls_bapi-id TYPE ls_bapi-type NUMBER ls_bapi-number WITH ls_bapi-message_v1 ls_bapi-message_v2 ls_bapi-message_v3 ls_bapi-message_v4
INTO lv_mess.
Code: Select all
cl_rso_application_log=>add_text(
EXPORTING
i_text = lv_mess " Text
i_msgty = rs_c_error " Messages, Message Type
i_detlevel = '1'
).
Code: Select all
IF cl_rso_application_log=>if_rso_application_log~appl_log_get_num_of_msgs( ) > 0.
cl_rso_application_log=>if_rso_application_log~appl_log_show_as_popup(
i_one_msg_direct = rs_c_false
i_one_msg_type_s = rs_c_false ).
cl_rso_application_log=>appl_log_delete( ).
ENDIF.