ABAP的PO接口调用
这个说的是我们调用外围系统的接口
首先要一次性创建成功sap的软件
zsoa0024这个结构是根据需求自己创建的结构,具体看你的需求是怎么样的
其中还有个try catch的异常捕捉cx_ai_system_fault这个也是类里面异常
怎么查看这个异常,打开配置好的接口类
TYPES: BEGIN OF lty_out,
zoa_id TYPE string,
zoa_status_h TYPE string,
END OF lty_out.
DATA:ls_input TYPE zsoa0024,
lv_json TYPE string,
ls_out TYPE lty_out.
DATA lv_input TYPE zdo_create_workflow_request_r2.
DATA lv_output TYPE zdo_create_workflow_request_r3.
DATA zcl_oa007c_snd TYPE REF TO zco_si_oa007c_snd.
CLEAR:ls_input.
ls_input-workflowid = ' ' .
ls_input-applicationcode = ''.
ls_input-creatorid = 'weaver'.
ls_input-requestlevel = '0'.
ls_input-requestname = '2020-09-09'.
ls_input-oldrequestid = ''.
ls_input-maindata = ps_head.
LOOP AT pt_item1 INTO DATA(ls_item1).
APPEND ls_item1 TO ls_input-detaildata-gx.
ENDLOOP.
LOOP AT pt_item2 INTO DATA(ls_item2).
APPEND ls_item2 TO ls_input-detaildata-bj.
ENDLOOP.
/ui2/cl_json=>serialize(
EXPORTING
pretty_name = /ui2/cl_json=>pretty_mode-low_case
data = ls_input
RECEIVING r_json = lv_json ).
CREATE OBJECT zcl_oa007c_snd.
lv_input-in0 = lv_json.
TRY.
CALL METHOD zcl_oa007c_snd->si_oa007c_snd
EXPORTING
output = lv_input
IMPORTING
input = lv_output.
CATCH cx_ai_system_fault INTO DATA(ls_exc).
pv_mesage = ls_exc->get_text( ).
pv_error = 'X'.
ENDTRY.
IF lv_output IS NOT INITIAL.
/ui2/cl_json=>deserialize(
EXPORTING
pretty_name = /ui2/cl_json=>pretty_mode-low_case
json = lv_output-out
CHANGING data = ls_out ).
pv_zoa_id = ls_out-zoa_id.
ENDIF.