JSON和SAP內錶轉化

2021-10-22 09:15:40 字數 1911 閱讀 5172

二、內錶結構轉json

josn格式,key 和value是帶雙引號的,使用 /ui2/cl_json=>deserialize反序列化

如下面的json格式

[

,]

定義內錶

data: begin of it_itab occurs 0

,sqdh

(200

) type c,

matnr(36

) type c,

posnr(2

) type c,

z002s

(255

) type c,

z007s

(255

) type c,

end of it_itab.

"json-

>內錶

call method /ui2/cl_json=

>deserialize

exporting

json = jsonstr "jsonstr是json字串

changing

data = it_itab[

]. 「it_itab[

]是轉化的內錶,中括號一定要有

types: begin of zsend_sms_data,

phonenumber

(255

) type c,

templateparamcode

(200

) type c,

type

(200

) type c,

notifytype

(200

) type c,

end of zsend_sms_data.

data:ls_zsend_sms_data type zsend_sms_data.

data: lv_json_str type string. 「要轉化的json

「內錶結構

ls_zsend_sms_data-phonenumber =

'13403124706'

.ls_zsend_sms_data-templateparamcode =

'1'.

ls_zsend_sms_data-type =

'1'.

ls_zsend_sms_data-notifytype =

'13403124706'

.

"內錶轉josn

lv_json_str =

/ui2/cl_json=

>

serialize

( data = ls_zsend_sms_data compress = abap_true pretty_name = abap_true )

.注意:需要對一些特殊字元做處理,否則外部系統處理json資料時會報錯

replace '&' with '' intolv_json_str.

replace '\r' with '' into lv_json_str.

replace '\n' with '' into lv_json_str.

replace alloccurrences of '\' in lv_json_str with '

/'.replace all occurrences of '"' in lv_json_str with ''

.最後轉化的json格式:

SAP學習6 內錶

內錶的種類 1.標準表 standardtable 系統為該錶的每一行資料生成一行資料生成乙個邏輯索引.填充標準表時,可以將資料附加在現有行之後,也可以插入到指定的位置,程式對內錶行的定址操作可通過關鍵字或索引進行.在對錶進行插入,刪除等操作時,各資料行在內在中的位置不變,系統僅重新排列各資料行的索...

內錶 XML互轉 JSON 內錶互轉

轉進內錶 strans try.call transformation id source xml lv text out options clear all 4.7 沒有這個options value handling accept data loss 這個引數也沒有 result data p ...

SAP 內錶的控制層處理 at

at 控制結構用來在loop 內錶時實現控制中斷處理。at first 和at last 表現為第一次和最後一次轉 換,只執行一次。在at new endat 之間的語句在字段的 值改變時執行,指出了控制層的開始。在at end of endat 之間的語句當字段的值改變時執 行,指出控制層的結束。...