其实直接在java中调SAP的RFC就可以把数据传到SAP里 但是通过java程序监听SAP, 然后SAP在需要的时候去访问java的程序,要更加安全。因为java访问SAP的话随时都可以,只需要运行java程序。 而从SAP访问java,只有SAP需要的时候,java才能访问SAP数据或者传送数据到SAP。
在程序之前要先在SM59里配置。在TCP/IP类型中新建一个 -->取一个destination名字,radiobutton选Registered Server Program. 随便取一个 Promgram ID. 在java里就用这个program id. Geteway host 填Sap服务器地址,Gateway service 填 sapgwnn(nn是System number,如00,01等,在SAP登录界面里选择登录的系统,然后选择“更改项目”,可以看到系统编号(system number)和服务器地址)。
SAP代码: z_sap_java这个函数模块只有一个输出参数 return_str. 在java的代码里面给它赋值,传到SAP。
REPORT z_temp_demo.
DATA str(100).
CALL FUNCTION 'Z_SAP_JAVA' DESTINATION 'Z_TEST_DESTINATION'
IMPORTING
RETURN_STR = str
.
message I000(O0) with str.
*********************************************************************************
JAVA代码: 类SAPLogon. 只是用来登录SAP