`
shz2008bj
  • 浏览: 490977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PI 7.1: A step_by_step Guide for JDBC to RFC scenario

阅读更多

转自:http://scnblogs.techweb.com.cn/dario/archives/32.html

1.场景介绍

scenario

2.准备工作

要让JDBC adapter能够正常工作,必须保证对应的JDBC Driver已经被正确的部署了,关于如何部署可以参考SDN上的一篇文章:http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/00b4a020-4ae6-2c10-5a95-fed4ad9a4b60

3.工作环境介绍

在PI安装完成后,通过PI的ABAP client的事务代码SXMB_IFR或者直接在浏览器输入http://<hostname>:5<system number>00/dir 就可以进入到下面的界面

tools

其中我们会在SLD中完成各个系统信息,产品信息等的登记,在ESR中完成整个接口的DESIGN部分,然后在ID中完成CONFIGURATION部分,最后在RWB中可以查看整个场景的工作情况。

4.第一步:在SLD中定义Technical system,Business System和SWCV(Software Components Version),SWCV将会用来在ESR中管理各个OBJECT,相当于ABAP中的Package的概念,而BUSINESS SYSTEM将会作为发送方或者接收方的ID.由于这一部分非常简单,所以在此略过。

在这一步的定义完成之后,登录到ESR,按照路径 新建–>Work Areas–>Software Components Version,然后选择import from SLD就可以将SLD中的信息导入到ESR,以本次SCENARIO为例,我们将会看到我们创建的三个Business System CEA_AOC,CEA_ECC,CEA_PI已经出现在了ESR中,他们分别代表发送方,接收方和PI本身:

sld_to_esr

在上图中,CEA_AOC代表Oracle系统,CEA_ECC代表SAP ECC系统,而CEA_PI代表PI本身,通常我们会按照发送方,PI,接收方建立三个系统,然后会在开发的时候分别将各自相关的OBJECT放到对应的系统下,这样会让整个SCENARIO的结构特别清晰,有时候在网上看到很多的DEMO都是将发送方,PI,接受方的OBJECT放在一起,显得特别混乱。

5.第二步:发送方的相关DESIGN. 这里会牵涉到四个对象,按照依存关系分别是Data Type–>Message Type –>Service Interface –>Action

sender

其中在Data Types的定义中,我们需要定义一个数据结构,这个结构会对应到Oracle数据库表里面的字段,需要特别注意的是,通过JDBC从Oracle取出数据后形成的XML文件里面每一行数据是带有固定的tag<row>的,所以在这里也必须定义structure的名字为row,如下图所示。否则的话也许你已经取到数据到PI了,最后却发现怎么也传不到RFC的参数里面去。这个问题曾经困扰了我很久,测试的时候JDBC取数据一切正常可是RFC就是得不到数据,最后才发现有这里的一个原因。

define-data-type1

然后我们可以基于这个data type定义一个Message Type

message-type

以这个message type为基础,再定义一个Service Interface。

service-interface

最后定义一个action

action

到此为止发送方的定义完成。

6.第三步:定义接收方的信息

由于这次的接收方是通过RFC传递消息的,所以定义会比较简单,只需要从SAP导入RFC interface然后定义一个对应的ACTION就可以了。

导入RFC

rfc

再定义一个ACTION

action

到此接收方定义完毕

7.第四步:定义发送方和接收方的数据在PI上的MAPPING 转换.

先来定义Message Mapping,也就是如何将发送方XML文件转换成接收方XML文件的字段级别的转换规则,这里就会用到前面定义的发送MESSAGE TYPE和接收方的RFC以及各自对应的数据结构

message-mapping1

最下面的编辑框就是SAP自带的图形化MAPPING工具,提供了非常多的FUNCTION来做MAPPING。如果不能满足实际要求的话,也可以自己开发JAVA程序或者XSLT以及ABAP class。这里的MAPPING完成后,可以点击上面的TEST tab page进行测试,很方便。

接下来再来创建一个OPERATION MAPING,这一步会将发送方的OUTBOUND interface和接收方的INBOUND Interface做MAPPING,本例中接收方的Inbound INTERFACE就是前面导入的RFC.

om

接下来我们就可以把我们之前做的所有这些定义做出一个整体的integration scenario,这个scenario也会在下一步的ID配置中用到。

is

其中左边的START ACTION是发送方的ACTION,右边的END ACTION是接收方的ACTION,双击两个ACTION中的连线就可以看到前面定义的MAPPING。

激活所有的OBJECT(分别在每一步完成)后我们就完成了在ESR上的工作。

8.第五步:登录到ID进行配置工作

按照路径 TOOLS–>Apply Module from ES Repository并输入我们在ESR创建的integration scenario名字,我们就可以创建一个Configuration Scenario:

configuration-scenario

在这一步主要需要完成两个TASK,第一是创建或者选择已经选择好的Business System并分别分配到发送方和接收方,如果是新建,点击新建按钮按照提示做下去即可,前提条件是已经在SLD定义了相应的BUSINESS SYSTEM。第二个是为发送方和接收方分别创建CommunicationChannel,这一步有一个前提条件那就是需要先在ESR创建Communication Channel Template,这两步按照提示都可以轻松完成,所以这里就忽略了,这一步完成之后我们就会看到:

cs1

接下来就是两个ADAPTER的详细配置,先看JDBC sender adatper:

JDBC CONNECTION TAB

jdbc_connection

对于上面的CONNECTION 参数,其格式是jdbc:oracle:thin:@<ip address>:<port number>:<service_name>, 对于不同的数据库来说会不一样。

JDBC PROCESSING TAB

jdbc_pro

这里的话要注意的是Document Name必须使用前面我们在发送方定义的Message Type Name,否则的话会导致MAPPING无法进行,数据无法传输到RFC.

再看RFC ADAPTER的配置

rfc-adatper

这一步也就是填一些SAP系统的登录信息,也非常简单。

对于各个ADAPTER的定义和参数设置,可以参考sap help:http://help.sap.com/saphelp_nw2004s/helpdata/en/0b/9a50465ccf84479e39a6d50c90fb3f/frameset.htm

激活所有的OBJECTS, 配置就完成了。

9.第六步:登录到RWB查看Communication Channel状态:

可直接输入下面的URL进行查看: http://<host name>:5<system number>00/mdt/channelmonitorservlet

发送方COMMUNICATION CHANNEL:

cc_sender

接收方COMMUNICATION CHANNEL:

cc_receiver

9.双击生成的MESSAAGE ID可以看到进一步的详细信息,同时登录到PI的ABAP client通过事务代码SXI_MONITOR也可以看到关于每个message的详细信息。

分享到:
评论

相关推荐

    NW_RFC_750_ProgrammingGuide.pdf

    根据标题“NW_RFC_750_ProgrammingGuide.pdf”我们可以推断,该文档是一份关于SAP NetWeaver RFC SDK(远程功能调用)编程指南,并且与SAP NetWeaver 7.50版本的发布有关。RFC SDK是SAP NetWeaver技术组件中的一部分...

    SAP FRC接口调用calling RFC_METADATA_GET -- see log for details报错解决方案

    SAP.Middleware.Connector.RfcCommunicationException:“destination XXXX failed when calling RFC_METADATA_GET -- see log for details” 猜测的原因: 老的DLL库在获取接口实例时,会触发“RFC_METADATA_GET”...

    idoc上传Step-by-step guide on File-to-IDoc using SAP PI 7.0

    In conclusion, this step-by-step guide outlines the process of implementing a one-way asynchronous File-to-IDoc scenario in SAP PI 7.0. By following these steps, you can efficiently transfer supplier ...

    rfc3455.rar_IMS_RFC34_RFC3455_rfc_rfc 34

    RFC(Request for Comments)是互联网工程任务组(IETF)发布的一种技术规范,用于定义互联网相关的协议和技术标准。这里提到的RFC3455是与IMS相关的标准之一。 IMS是3GPP(第三代合作伙伴计划)提出的一个核心网络...

    RFC1122.rar_RFC 11_RFC11_buildueq_rfc_rfc Braden 1989a

    1122和1123[Braden 1989a, 1989b]。RFC 1122针对链路层、网络层和运输层;RFC 1123针对应用层。这两个RFC对早期重要的RFC文档作了大量的纠正和解释。如果要查看有关协议更详细的细节内容,它们通常是一个入口点。...

    RFC826.rar_ RFC8_RFC8_RFC826_rfc 8_rfc 826

    RFC(Request for Comments)是互联网工程任务组(IETF)发布的一种技术文档,用于定义互联网标准、协议和技术。RFC826是其中之一,它详细介绍了ARP(地址解析协议)。这个压缩包可能包含RFC826的完整文本,以及可能...

    RFC中文文档大全.zip_RFC中文文档_RFC开发文档_rfc 中文_rfc1155中文文档_rfc文档中文版

    RFC,全称为Request for Comments,是互联网工程任务组(IETF)发布的一种技术文档,用于定义互联网相关的协议、标准、实践和建议。这些文档对于网络开发者、系统管理员以及网络架构师来说非常重要,因为它们构成了...

    RFC867.rar_rfc 867_rfc 8_rfc867

    标题中的"RFC867.rar_rfc 867_rfc 8_rfc867"提到了一个网络协议相关的文档,主要关注RFC 867。RFC(Request for Comments)是互联网工程任务组(IETF)发布的一种标准文档,用于记录和公布互联网相关的技术规范、...

    RFC4244.An_Extension_to_SIP_for_Request_History_Information

    《RFC4244:SIP 请求历史信息扩展》文档定义了一个标准机制,用于捕获与Session Initiation Protocol (SIP)请求相关的历史信息。这一功能通过提供呼叫如何以及为何到达特定应用程序或用户的信息,使得许多增强服务...

    SAP PI RFC-to-Web Service Scenario

    SAP PI RFC-to-Web Service Scenario 在本文档中,我们将介绍如何使用SAP PI实现RFC-to-Web Service场景的同步调用。该场景中,我们将使用自定义的RFC客户端应用程序在SAP R/3系统中调用免费的Web服务,该Web服务...

    RFC_WS.zip_C# sap_SAP_rfc_rfc sap_web service

    标题中的"RFC_WS.zip_C# sap_SAP_rfc_rfc sap_web service"表明这是一个关于使用C#编程语言创建Web服务来调用SAP Remote Function Call (RFC)的项目。SAP RFC是一种通信协议,允许外部系统与SAP系统之间进行双向交互...

    SAPRFC.rar_CSHARP rfc_rfc_rfc sap

    RFM(Remote Function Module)和RFC(Remote Function Call)是SAP提供的一种通信机制,允许外部应用程序与SAP系统进行交互。在这个场景中,我们关注的是C#语言如何通过RFC来与SAP系统进行数据交换。 首先,`SAP...

    RFC894.rar_RFC 894_RFC894_rfc 8

    RFC,全称为“Request for Comments”,是互联网工程任务组(IETF)用于发布技术规范、建议和协议草案的一种文档格式。RFC 894是特定RFC系列中的一份,可能详细描述了某个互联网协议或标准。 描述中提到这个压缩包...

    rfc2285.rar_RFC 2285_RFC22_RFC2285_rfc2285中文

    RFC(Request for Comments)是互联网工程任务组(IETF)发布的一系列技术文档,用于描述互联网相关的协议、标准或技术建议。RFC 2285是其中之一,它在互联网测试领域具有重要的地位,是网络测试工程师和相关技术...

    SIP.zip_RFC 5626_RFC 5626 txt_RFC41_rfc4904 txt_rfc4904.txt

    这个压缩包“SIP.zip”包含了一系列关于SIP协议的RFC(Request for Comments)文档,这些文档是互联网工程任务组(IETF)发布的标准草案,用以定义和解释SIP协议的各种方面。 首先,RFC 5626是SIP的扩展,标题可能...

    rfc3588.rar_Dimater协议_IETF RFC 3588_RFC 3588_rfc_rfc3588中文版

    Dimater协议,全称为 Diameter 协议,是IETF(互联网工程任务组)在RFC 3588文档中定义的一种网络认证、授权和计费(AAA)协议。它旨在替代旧有的RADIUS协议,以解决RADIUS在处理高容量和复杂网络环境时的局限性。...

    rfc3016.rar_3016. com_RFC3016_RFC3016中文版_rfc 3016 pudn

    RFC(Request for Comments)是互联网工程任务组(IETF)发布的一种文档,用于标准化互联网相关的协议和技术。RFC3016是这些文档之一,它详细定义了一种特定的技术或协议。不过,具体RFC3016的内容需要通过阅读文档...

    444RFC3621(sip).zip_RFC36_RFC3621_rfc SIP_sip

    标题中的“444RFC3621(sip).zip_RFC36_RFC3621_rfc SIP_sip”表明这是一个与SIP(Session Initiation Protocol)相关的压缩文件,其中包含了对RFC3621标准的讨论。SIP是一种用于创建、修改和终止多媒体通信会话的...

    ParseDate.cr:这是一个小型库,尝试通过一次调用来解析各种日期格式

    当前的格式集是:时间::格式:: YAML_DATE时间::格式:: ISO_8601_DATE_TIME时间::格式:: ISO_8601_DATE时间::格式:: ISO_8601_TIME时间::格式:: RFC_2822时间::格式:: RFC_3339时间::格式:: HTTP_DATE ParseDate :: ...

Global site tag (gtag.js) - Google Analytics