1、打开PI-ESR,建立DT,MT,MM,SI,OM.
其他类似创建即可。
2、创建ID
3、激活SAP-SPROXY里的代理
4、建立接口程序
REPORT ZSAP2OUTSYSTEM. "定义与代理结构一致的程序变量 "接口变量定义 DATA:ZPROXY TYPE REF TO ZCO_SI_SAP2OUT_ASYN_OUT."双击代理接口的服务界面 "定义输出结构 DATA:IT_OUTPUT TYPE ZMT_SAP2OUT_ASYN_REQ. "传出结构 "定义异常 DATA:CX_AI_SYSTEM_FAULT TYPE REF TO CX_AI_SYSTEM_FAULT, CX_AI_APPLICATION_FAULT TYPE REF TO CX_AI_APPLICATION_FAULT. DATA:GV_ERROR_TEXT TYPE STRING. DATA:L_ERROR TYPE REF TO CX_SY_OPEN_SQL_DB. DATA:L_BINDATA TYPE XSTRING. DATA:L_CX_ROOT TYPE REF TO CX_ROOT. DATA:LT_XML2TABLE TYPE TABLE OF SMUM_XMLTB, LS_XML2TABLE TYPE SMUM_XMLTB, LT_XML_RETURN TYPE TABLE OF BAPIRET2. DATA: LV_XML TYPE STRING, LV_START TYPE SY-FDPOS, LV_END TYPE SY-FDPOS, LV_LENGHT TYPE SY-FDPOS, LV_RESULT TYPE CHAR50, LV_MESSAGE TYPE CHAR50. "为传出结构赋值 "抬头赋值 IT_OUTPUT-MT_SAP2OUT_ASYN_REQ-SAP2OUT_ASYN-ID = '22'. IT_OUTPUT-MT_SAP2OUT_ASYN_REQ-SAP2OUT_ASYN-NAME = '小小'. "创建代理,并调用代理方法传输数据 TRY . IF ZPROXY IS INITIAL. CREATE OBJECT ZPROXY. ENDIF. CALL METHOD ZPROXY->SI_SAP2OUT_ASYN_OUT EXPORTING OUTPUT = IT_OUTPUT. CATCH CX_AI_SYSTEM_FAULT. CREATE OBJECT CX_AI_SYSTEM_FAULT. GV_ERROR_TEXT = |下传OA失败:接口发生异常,{ CX_AI_SYSTEM_FAULT->GET_TEXT( ) }|. CATCH CX_AI_APPLICATION_FAULT . CREATE OBJECT CX_AI_APPLICATION_FAULT. GV_ERROR_TEXT = |下传OA失败:接口发生异常,{ CX_AI_APPLICATION_FAULT->GET_TEXT( ) }|. ENDTRY.
5、以上就是SAP对外围系统发送的大概步骤,由于是异步的,接口不报错,默认已经发送出去,至于对方有没有收到,自己是不知道的。
当然实际应用中一种是可以另外调用接收结果处理的同步接口用于反馈是否成功接收,至于处理过程就慢慢处理;
另一种是直接做成同步接口。
同步接口见下一篇。
https://www.cnblogs.com/BruceKing/p/14783593.html