SAP ABAP发布HTTP RESTFUL服务
1.定义接口的输入和输出JSON格式,示例如下:
输入格式:
{
"GUID":"",
"ZIF_IFNUM":"",
"IFDIC":"",
"TRSYS":"",
"ORSYS":"",
"IFOPT":"",
"BUSNO":"",
"ZDATA":
{
"BSTKD":"",
"AUART":"",
"VKORG":"",
"VTWEG":"",
"SPART":"",
"KUNNR_AG":"",
"AUDAT":"0000-00-00",
"AUGRU":"",
"ZZUNIQU":"",
"ZZEXTERN":"",
"ZZSSALE":"",
"ZZCUSNA":"",
"ZZRECNA":"",
"ZZRECTE":"",
"ZZCOUNT":"",
"ZZPROVI":"",
"ZZCITY":"",
"ZZLITT":"",
"ZZADDR":"",
"REV01":"1",
"REV02":"",
"REV03":"",
"REV04":"",
"REV05":"",
"REV06":"",
"REV07":"",
"REV08":"",
"REV09":"",
"REV10":"",
"ITEMS":
[
{
"POSNR":10,
"MATNR":"",
"KWMENG":0,
"VRKME":"",
"WERKS":"",
"LGORT":"",
"PSTYV":"",
"KBETR_ZPR2":0,
"REV01":"",
"REV02":"",
"REV03":"",
"REV04":"",
"REV05":"",
"REV06":"",
"REV07":"",
"REV08":"",
"REV09":"",
"REV10":""
}
]
}
}
反馈格式:
{
"GUID": "",
"BUSNO": "",
"IF_STATU": "",
"IFMSG": "",
"STATUS": "",
"SAPNO": "",
"REV01": "",
"REV02": "",
"REV03": "",
"REV04": "",
"REV05": "",
"REV06": "",
"REV07": "",
"REV08": "",
"REV09": "",
"REV10": "",
"ZDATA": {"SAPNO": ""}
}
2.定义实现类:继承接口IF_HTTP_EXTENSION
重定义方法:HANDLE_REQUEST
定义结构化数据LS_REQUEST,LS_RESPONSE 用于序列号和反序列化数据。
*获取请求参数。
LV_JSON = SERVER->REQUEST->IF_HTTP_ENTITY~GET_CDATA( ).
*反序列化。
/UI2/CL_JSON=>DESERIALIZE( EXPORTING JSON = LV_JSON ASSOC_ARRAYS = ABAP_TRUE CHANGING DATA = LS_REQUEST ). .
*业务数据处理,根据处理结果序列号JSON.
LV_RESPONSE_JSON = /UI2/CL_JSON=>SERIALIZE( DATA = LS_RESPONSE ASSOC_ARRAYS = ABAP_TRUE ).
SERVER->RESPONSE->SET_STATUS( CODE = 200 REASON = 'Ok' ).
SERVER->RESPONSE->SET_CONTENT_TYPE( 'application/json' ).
SERVER->RESPONSE->SET_CDATA( DATA = LV_RESPONSE_JSON ).
3.SICF 发布服务
文章来自于网络,如果侵犯了您的权益,请联系站长删除!