介面的冪等性:
處理:在介面呼叫時對以介面id為主鍵的日誌表進行鎖表操作
介面id對應的資料已經成功呼叫介面時做出處理
介面日誌記錄
webservice 日誌可以通過srt_util檢視,pi日誌可以通過sxi_monitor檢視,但是rfc及rest呼叫的介面則需要單獨記錄。
考慮到介面日誌為運維人員檢視,可以封裝出來以function為基礎的一套通用的介面日誌記錄及展示功能,不管sap呼叫外部系統還是外部系統呼叫sap均封裝處理為function統一記錄日誌。
可參考表結構
mandt
mandt
clnt 3
0 集團
relid
relid
char 2
0關係id
funcname
rs38l_fnam
char 30
0功能模組的名稱
inte***ce_id
char 30
0介面id/外部單據號
time_stamp
timestampl
dec 21
7時間戳
funcpara
rs38l_par_
char 30
0引數名稱
srtf2
srtf2
int4 10
0連續標識
area
rs38l_area
char 26
0函式組, 函式模組屬於函式組
business_num
char 30
0sap
單據號
erdat
datum
dats 8
0 日期
erzet
uzeit
tims 6
0 時間
ernam
uname
char 12
0使用者名稱
msg_type
bapi_mtype
char 1
0訊息型別: s 成功,e 錯誤,w 警告,i 資訊,a 中斷
msg_text
bapi_msg
char
220 0
訊息文字
clustr
sybin2
int2 5
0syst
的bin2資料元素
clustd
clustd
lraw
2886 0
應用日誌:indx 表資料簇
處理方式:
在介面呼叫結束處呼叫日誌記錄子例程
在子例程中通過棧獲取介面名
通過指標訪問的形式獲取介面傳入傳出引數
使用簇表的特點儲存介面引數值參考鏈結
介面id,sap單據號,訊息型別,訊息文字等可以作為傳入引數或者約定特定變數通過指標訪問。
通過介面日誌管理平台展示日誌
展示日誌表資料
以指標方式獲取儲存在簇表的引數值展示或者再次動態填充引數重新呼叫function,debug錯誤原因
獲取時間戳
gettime
stamp
field
time_stamp.
獲取介面對應函式組表:tfdir
獲取介面引數名稱:cl_fb_parameter_db=>read
資料簇儲存 export
todatabase
zlog(fl
)idls_key
from
ls_inte***ce_log.
參考鏈結
資料互動方式
sap發布的介面的資料格式一般為xml, 但是也有為了方便在介面引數中使用string字元作為實際資料的互動(常見的為json格式)。還有通過web服務發布rest介面,引數形式一般也為json格式。
sap 呼叫外部介面可以直接生成abap格式呼叫,但是restful 呼叫則一般為json格式,還有一些比如銀行介面以xml報文為主。
各種格式之間需要做資料轉換
json 和abap 之間的轉換使用方法/ui2/cl_json=>serialize及/ui2/cl_json=>deserialize 比較方便。
xml 和abap 之間的轉換比較方便的是使用類cl_xml_document的方法。
transformation 可以實現三種格式之間的轉換,只是相對麻煩一些。
一般發布介面時還是以string字串做出傳入傳出引數傳輸json格式資料較為方便。
UI介面設計 介面設計流程
人類社會逐步向非物質社會邁進,網際網路資訊產業已經走入我們的生活。在這樣乙個非物質社會中,與軟體這些非物質產品再也不象過去那樣緊緊靠技術就能處於不敗之地。工業設計開始關注非物質產品。但是在國內依然普遍存在這樣乙個稱呼 美工 工 的意思就是沒有思想緊緊靠體力工作的人。這是乙個很愚昧的做法,愚昧在於稱呼...
介面設計定理
介面設計定理 模組分解原理探索 模組分解原理與三權分立 介面關係穩定原理探索 前面幾篇文章中講過模組分解原理和介面關係穩定原理,這篇文章中將使用模組分解原理和介面關係穩定原理來推導乙個重要的定理 介面設計定理。在講解介面設計定理前,先看一下robert c.martin著的 敏捷軟體開發 一書中提到...
介面設計定理
介面設計定理 模組分解原理探索 模組分解原理與三權分立 介面關係穩定原理探索 前面幾篇文章中講過模組分解原理和介面關係穩定原理,這篇文章中將使用模組分解原理和介面關係穩定原理來推導乙個重要的定理 介面設計定理。在講解介面設計定理前,先看一下robert c.martin著的 敏捷軟體開發 一書中提到...