SAP与外部WebService接口的链接

来源:互联网 发布:matlab svd 算法 编辑:程序博客网 时间:2024/05/20 02:30

SAP 能通过设置WebService与外部的webservice服务连接;

1、进入事务:SE80,选择 Package ,指定保存的开发包,按图1操作,创建一个Enterprise Service;

(图1)

2、会出现如下的创建导向窗口,选择 'Service Consumer',点击‘继续’,如图2;

 

(图2)

3、在弹出的下一个窗口中选择‘URL/HTTP Destination’,点击‘继续’,如图3;

(图3)

4、在弹出的窗口中,选择‘URL’,并输入wdsl地址,如图4;

(图4)

5、在弹出的窗口中,在'Package'栏中输入所需保存的开发类,若保存为本地开发类,则需将‘Local/Object’选上,如图5;

(图5)

6、点击完最终的‘Complete’后,如果相连接的WDSL没有问题,则会出现WebService 代理类的创建窗口,如图6;

(图6)

7、在保存并激活完代理类后,进入事务:LPCONFIG,进行创建逻辑端口的操作,如图7;

(图7)

8、在进入创建端口的界面后,输入描述,并在‘一般设置’下的‘调用参数’页签中,在'URL'中输入WSDL地址,并在‘应用程序特定设置’
    的‘全局设置’页签下将‘状态管理’勾上,否则在激活的时候会提示‘激活不成功’,如图8;
(图8)
9、在‘一般设置’下的‘操作’页签中,在‘SOAP’操作对应的输入框中输入对应的行为地址,如图9;
(图9)
10、保存并激活逻辑端口。
11、通过编写代码来测试SAP与WebService的链接,如附件;
12、

SAP与协同OA集成的意义:

大部门用户的操作都在OA中完成,无需登录到SAP中进行操作

ü 节省ERP的License费用

ü 减轻企业对SAP用户的培训压力

ü 简化操作、减轻SAP操作人的负担

双方系统数据相互引用,减少数据重复KEY IN,保障录入数据的一致性和正确性

以OA的强大灵活的流程处理能力弥补ERP在流程管理上的不足

扩展了SAP的权限管理,使所有用户都间接成为了SAP用户

减轻因SAP客户端用户频繁连接给ERP服务器的压力

复制代码
 1 *&----------------------------------------------------------------------* 2 *&  Program  Name :  ZQIU_TEST44 3 *&  Author's  Name : QLB 4 *&  Written   Date :  25.02.2014 15:59:03 5 *&  Request  Number: 6 *&  Program Description:  sap 与 webservice 的连接测试 7 *&----------------------------------------------------------------------* 8 *  Changer           Changed Date         Request  NO.        Dec. 9 *&----------------------------------------------------------------------*10 11 REPORT  zqiu_test44.12 13 DATA:webservice TYPE REF TO zco_oa_workflow_service.14 15 DATA:gw_zcreat_oa_workflow  TYPE zcreat_oa_workflow,16      gw_input  TYPE zcreat_oa_workflow1,17      gw_output TYPE zcreat_oa_workflow_response1.18 19 DATA:lo_sys_exception   TYPE REF TO cx_ai_system_fault,20      lo_app_exception   TYPE REF TO cx_ai_application_fault.21 22 DATA: p_str1   TYPE string,23       p_str2   TYPE string,24       p_str3   TYPE string.25 26 27 START-OF-SELECTION.28 29   "XML数据30   p_str1 = '<fields><field><name>Title</name><value>交办测试</value></field><field><name>Urgency</name><value>紧急</value></field>'.31   p_str2 = '<field><name>YQDate</name><value>2013-09-24</value></field><field><name>Day_HF</name><value>3</value></field><field><name>XGXM</name><value>1</value></field>'.32   p_str3 = '<field><name>Name_KH</name></field><field><name>Content</name><value>任务安排111</value></field><field><name>Remarks</name><value>备注111</value></field></fields>'.33 34   TRY.35       CREATE OBJECT webservice36         EXPORTING37           logical_port_name = 'LZP01'.38       "为此webservice创建的逻辑端口。39     CATCH cx_ai_system_fault .40       MESSAGE '出错了' TYPE 'E'.41   ENDTRY.42 43   "写输入参数44   gw_zcreat_oa_workflow-arg0 = 'TW9QUQXPR74U95SS'.45   gw_zcreat_oa_workflow-arg1 = 'L_TYLC_GZJB'.46   gw_zcreat_oa_workflow-arg2 = ''呵呵.47   gw_zcreat_oa_workflow-arg3 = ''.48   gw_zcreat_oa_workflow-arg4 = 'admin'.49   gw_zcreat_oa_workflow-arg5 = |{ p_str1 }{ p_str2 }{ p_str3 }|.50   gw_input-parameters = gw_zcreat_oa_workflow.51 52   TRY.53       CALL METHOD webservice->creat_oa_workflow54         EXPORTING55           creat_oa_workflow          = gw_input56         IMPORTING57           creat_oa_workflow_response = gw_output.58     CATCH cx_ai_system_fault INTO lo_sys_exception .59       "“message ‘出错了 systemai’ type ‘s’.60       WRITE lo_sys_exception->errortext.61     CATCH cx_ai_application_fault INTO lo_app_exception .62       WRITE / .63       WRITE lo_app_exception->textid.64   ENDTRY.65 

66 WRITE gw_output-parameters-return.

0 0