日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP SLG1 日志API

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP SLG1 日志API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*&---------------------------------------------------------------------*
*& ?包括 ? ? ? ? ? ? ? ?ZLOG
*&---------------------------------------------------------------------*


******************************* 調用演示 ********************************
*REPORT zwtest.
*
*"首先通過TCode:SLG0,創建日志對象和子對象
*"在代碼中加入ZLOG的包含文件,調用日志API進行日志記錄
*"通過TCode:SLG1查看日志
*"通過TCode:SLG2刪除日志
*
*"首先初始化日志,傳入參數為日志的子對象,
*"主對象在Include文件中寫死了,一般只建立一個主對象即可,在主對象下可建立多個子對象
*PERFORM init_log USING 'UNKNOWN_LOG' '單據ID'.
*
*"記錄日志,可傳STRING類型參數
*PERFORM log USING 'S' 'Hello World'.
*PERFORM log USING 'W' 'Hello World'.
*PERFORM log USING 'E' 'Hello World'.
*
*"最后保存日志到數據庫
*PERFORM save_log.
*
*INCLUDE zlog."添加Include引用
******************************* 調用演示 ********************************


DATA: gv_log_handle TYPE balloghndl."Application Log: Log Handle GUID


*&---------------------------------------------------------------------*
*& ? ? ?Form ?init_log
*&---------------------------------------------------------------------*
* ? ? ? 初始化日志
*----------------------------------------------------------------------*
* ? ? ?-->p_subobject ?事務碼SLG0,在對象ZRIGOL下建立的子對象
* ? ? ?-->p_extnumber ?外部標識符(單據號),可作為檢索條件
*----------------------------------------------------------------------*
FORM init_log USING p_subobject
? ? ? ? ? ? ? ? ? ? p_extnumber.
? DATA: ls_msg TYPE bal_s_msg.
? DATA: ls_log TYPE bal_s_log."日志標題數據


? ls_log-object ? ? = 'ZRIGOL'."主對象
? ls_log-subobject ?= p_subobject."子對象
? ls_log-extnumber ?= p_extnumber."外部標識符
? ls_log-aldate ? ? = sy-datum.
? ls_log-altime ? ? = sy-uzeit.
? ls_log-aluser ? ? = sy-uname.
? ls_log-alprog ? ? = sy-repid.


? "創建日志
? CALL FUNCTION 'BAL_LOG_CREATE'
? ? EXPORTING
? ? ? i_s_log ? ? ? ? ? ? ? ? = ls_log
? ? IMPORTING
? ? ? e_log_handle ? ? ? ? ? ?= gv_log_handle
? ? EXCEPTIONS
? ? ? log_header_inconsistent = 1
? ? ? OTHERS ? ? ? ? ? ? ? ? ?= 2.


? IF sy-subrc <> 0.
? ? MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
? ? ? ? WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
? ELSE.
? ? ls_msg-msgty = 'S'.
? ? ls_msg-msgid = '00'.
? ? ls_msg-msgno = '001'.
? ? ls_msg-msgv1 = '▼▼▼▼▼▼▼▼▼▼'.
? ? CONCATENATE sy-datum+0(4) '-' sy-datum+4(2) '-' sy-datum+6(2) ' ' sy-uzeit+0(2) ':' sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO ls_msg-msgv2.
? ? ls_msg-msgv3 = ' 開始'.
? ? ls_msg-msgv4 = '▼▼▼▼▼▼▼▼▼▼'.


? ? PERFORM log3 USING ls_msg.
? ENDIF.
ENDFORM. ? ? ? ? ? ? ? ? ? ?"init_log


*&---------------------------------------------------------------------*
*& ? ? ?Form ?log3
*&---------------------------------------------------------------------*
* ? ? ? 向日志里添加消息(3)
*----------------------------------------------------------------------*
FORM log3 USING p_msg TYPE bal_s_msg.


? IF gv_log_handle IS INITIAL.
? ? PERFORM init_log USING 'UNKNOWN_LOG' ''.
? ENDIF.


? CALL FUNCTION 'BAL_LOG_MSG_ADD'
? ? EXPORTING
? ? ? i_log_handle ? ? = gv_log_handle
? ? ? i_s_msg ? ? ? ? ?= p_msg
? ? EXCEPTIONS
? ? ? log_not_found ? ?= 1
? ? ? msg_inconsistent = 2
? ? ? log_is_full ? ? ?= 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.


ENDFORM. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"log3


*&---------------------------------------------------------------------*
*& ? ? ?Form ?log2
*&---------------------------------------------------------------------*
* ? ? ? 向日志里添加消息(2)
*----------------------------------------------------------------------*
* ? ? ?-->MSGTY 消息類型 S E W
* ? ? ?-->MSGV1 日志消息1
* ? ? ?-->MSGV2 日志消息2
* ? ? ?-->MSGV3 日志消息3
* ? ? ?-->MSGV4 日志消息4
*----------------------------------------------------------------------*
FORM log2 USING p_msgty TYPE symsgty
? ? ? ? ? ? ? ? value(p_msgv1)
? ? ? ? ? ? ? ? value(p_msgv2)
? ? ? ? ? ? ? ? value(p_msgv3)
? ? ? ? ? ? ? ? value(p_msgv4).


? DATA: ls_msg TYPE bal_s_msg.
? ls_msg-msgty = p_msgty.
? ls_msg-msgid = '00'.
? ls_msg-msgno = '001'.
? ls_msg-msgv1 = p_msgv1.
? ls_msg-msgv2 = p_msgv2.
? ls_msg-msgv3 = p_msgv3.
? ls_msg-msgv4 = p_msgv4.


? CONDENSE ls_msg-msgv1 NO-GAPS.
? CONDENSE ls_msg-msgv2 NO-GAPS.
? CONDENSE ls_msg-msgv3 NO-GAPS.
? CONDENSE ls_msg-msgv4 NO-GAPS.


? PERFORM log3 USING ls_msg.


ENDFORM. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"log2


*&---------------------------------------------------------------------*
*& ? ? ?Form ?log
*&---------------------------------------------------------------------*
* ? ? ? 向日志里添加消息
*----------------------------------------------------------------------*
* ? ? ?-->P_MSGTY ?消息類型 S E W
* ? ? ?-->P_MSG ? ?日志消息
*----------------------------------------------------------------------*
FORM log USING p_msgty TYPE symsgty
? ? ? ? ? ? ? ?value(p_msg).
? DATA: lv_times TYPE int4,
? ? ? ? lv_length TYPE int4,
? ? ? ? lv_laststr TYPE char200.
? DATA: ls_msg TYPE bal_s_msg.


? CONDENSE p_msg NO-GAPS.
? lv_length = STRLEN( p_msg ).
? lv_times = lv_length DIV 200 + 1.


? DO lv_times TIMES.
? ? IF sy-index <> lv_times.
? ? ? CLEAR: ls_msg.
? ? ? ls_msg-msgty = p_msgty.
? ? ? ls_msg-msgid = '00'.
? ? ? ls_msg-msgno = '001'.
? ? ? ls_msg-msgv1 = p_msg+0(50).
? ? ? ls_msg-msgv2 = p_msg+50(50).
? ? ? ls_msg-msgv3 = p_msg+100(50).
? ? ? ls_msg-msgv4 = p_msg+150(50).
? ? ? PERFORM log3 USING ls_msg.


? ? ? SHIFT p_msg LEFT BY 200 PLACES.
? ? ELSE.
? ? ? CLEAR: lv_laststr.
? ? ? lv_laststr = p_msg.


? ? ? CLEAR: ls_msg.
? ? ? ls_msg-msgty = p_msgty.
? ? ? ls_msg-msgid = '00'.
? ? ? ls_msg-msgno = '001'.
? ? ? ls_msg-msgv1 = lv_laststr+0(50).
? ? ? ls_msg-msgv2 = lv_laststr+50(50).
? ? ? ls_msg-msgv3 = lv_laststr+100(50).
? ? ? ls_msg-msgv4 = lv_laststr+150(50).
? ? ? PERFORM log3 USING ls_msg.
? ? ENDIF.
? ENDDO.
ENDFORM. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"log


*&---------------------------------------------------------------------*
*& ? ? ?Form ?log_bapi
*&---------------------------------------------------------------------*
* ? ? ? 記錄BAPI日志
*----------------------------------------------------------------------*
* ? ? ?-->P_BAPIRET ?BAPI標準返回參數
*----------------------------------------------------------------------*
FORM log_bapi USING p_bapiret TYPE bapiret2.


? DATA: ls_msg TYPE bal_s_msg.


? ls_msg-msgty = p_bapiret-type.
? ls_msg-msgid = p_bapiret-id.
? ls_msg-msgno = p_bapiret-number.
? ls_msg-msgv1 = p_bapiret-message_v1.
? ls_msg-msgv2 = p_bapiret-message_v2.
? ls_msg-msgv3 = p_bapiret-message_v3.
? ls_msg-msgv4 = p_bapiret-message_v4.


? PERFORM log3 USING ls_msg.
ENDFORM. ? ? ? ? ? ? ? ? ? ?"log_bapi


*&---------------------------------------------------------------------*
*& ? ? ?Form ?save_log
*&---------------------------------------------------------------------*
* ? ? ? 保存日志到數據庫
*----------------------------------------------------------------------*
FORM save_log.
? DATA: ls_msg TYPE bal_s_msg.
? DATA: lt_log_handle TYPE bal_t_logh.


? IF gv_log_handle IS INITIAL.
? ? EXIT.
? ENDIF.


? ls_msg-msgty = 'S'.
? ls_msg-msgid = '00'.
? ls_msg-msgno = '001'.
? ls_msg-msgv1 = '▲▲▲▲▲▲▲▲▲▲'.
? CONCATENATE sy-datum+0(4) '-' sy-datum+4(2) '-' sy-datum+6(2) ' ' sy-uzeit+0(2) ':' sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO ls_msg-msgv2.
? ls_msg-msgv3 = ' 結束'.
? ls_msg-msgv4 = '▲▲▲▲▲▲▲▲▲▲'.


? PERFORM log3 USING ls_msg.


? APPEND gv_log_handle TO lt_log_handle.


? CALL FUNCTION 'BAL_DB_SAVE'
? ? EXPORTING
* ? ? I_CLIENT ? ? ? ? ? ? ? = SY-MANDT
* ? ? I_IN_UPDATE_TASK ? ? ? = ' '
* ? ? I_SAVE_ALL ? ? ? ? ? ? = ' '
? ? ? i_t_log_handle ? ? ? ? = lt_log_handle
* ? IMPORTING
* ? ? E_NEW_LOGNUMBERS ? ? ? =
? ? EXCEPTIONS
? ? ?log_not_found ? ? ? ? ?= 1
? ? ?save_not_allowed ? ? ? = 2
? ? ?numbering_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.
ENDFORM. ? ? ? ? ? ? ? ? ? ?"save_log 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的SAP SLG1 日志API的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。