在外部调用接口时,通常会需要保存外部的调用记录,期间会用到表,这里将传入的表转换成json格式(也可以转换成XML),并存入通用日志表中。
1.SE11,新建通用的LOG表,表结构参考下图:
2.在接口中,如果需要保存记录,则调用下面代码。
DATA: json_ser TYPE REF TO cl_trex_json_serializer, json_des TYPE REF TO cl_trex_json_deserializer. DATA: jsonstr TYPE string. CREATE OBJECT json_ser EXPORTING data = it_plm007[]. CALL METHOD json_ser->serialize. CALL METHOD json_ser->get_data RECEIVING rval = jsonstr. ls_zrfc_logs-funcname = 'Z_RFC_PLM_007'. ls_zrfc_logs-zsystem = p_system. ls_zrfc_logs-uname = p_uname. ls_zrfc_logs-zname1 = p_name1. ls_zrfc_logs-erdat = sy-datum. ls_zrfc_logs-uzeit = sy-uzeit. * ls_zrfc_logs-ep_type = ep_type. * ls_zrfc_logs-ep_message = ep_message. ls_zrfc_logs-jsonstr1 = jsonstr. MODIFY zrfc_logs FROM ls_zrfc_logs. IF sy-subrc EQ 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF.