SAP从配置到编写代理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

准备工作:一、在文件:C:\WINDOWS\system32\drivers\etc\hosts增加以下代码:二、登录到IP:;点击EnterpriseServicesBuilder,下载下来的文件重命名为ir.jnlp;点击IntegrationBuilder,下载下来的文件重命名为id.jnlp。先配置ir:一、首先双击ir.jnlp,下载完成后,输入用户名和密码,AvailableProfile选择ProcessIntegration,点击登录。二、导入服务:在起始窗口的左侧栏,标签页DesignObjects中,选择所要配置的服务所在的命名空间下的ImportedObjects下的RFCs:127.0.0.1localhost127.0.0.1858656.com127.0.0.1my123.com127.0.0.18749.com127.0.0.14199.com127.0.0.17379.com127.0.0.17255.com127.0.0.13448.com127.0.0.17939.com127.0.0.18009.com127.0.0.1piaoxue.com127.0.0.1kzdh.com127.0.0.1about.blank.la127.0.0.16781.com127.0.0.17322.com127.0.0.19991.com195.204.151.12cmbcux2.sap.cmbc.cn195.204.151.12cmbcux2197.1.4.6pidev127.0.0.1a123197.1.5.5bstdev1197.1.4.5cedev右击RFCs,选择ImportofSAPObjects,打开登录窗口,填写服务IP(ApplicationServer:核心的IP地址)和系统编号(SystemNumber:核心的系统编号,基本是00),以及用户名Name:(piuser1)和密码Password:(cmbcinit):点击Continue进入第二步,选择RFCs,选择所要配置的服务:点击Continue进入第三步,选择finish成功导入后,再把服务激活。三、按要求在相应的命名空间下,创建一个新的MessageMapping。将REQ导出点击,导出REQ注意:导出RES时,确认与REQ相同。导出相应的bapi的req和res,为了创建核心的ED点击SaveDocumentResources分别将REQ和RES保存为XML文档:注意:RES导出同理;需重命名,系统默认名称是一样的。四、修改导出的REQ、RES文件。将xsd:schema节点中的属性:xmlns和targetNamespace的值修改为映射消息所在的命名空间:查找REQ、RES文件中含有union的节点(通常在数据类型time和date后面),将其内容进行修改:修改前:修改后xsd:simpleTypename=datexsd:unionmemberTypes=xsd:dategenericDate//xsd:simpleTypexsd:simpleTypename=genericDatexsd:restrictionbase=xsd:stringxsd:patternvalue=....-..-..//xsd:restriction/xsd:simpleTypexsd:simpleTypename=datexsd:restrictionbase=xsd:datexsd:restriction//xsd:simpleType注意:记得将新建的映射信息激活。这一步的目的是修改,为下一步做准备。五、然后在核心系统里面建一个外部数据引用(ExternalDefinition):SaveDocumentResources按钮命名规则为ED_加上服务名,超出30位则缩写。将Category改为xsd,将修改后的XML文档导入:同理导入RES的XML文档,并把两个新建的数据引用激活。六、创建核心接口和核心的action创建核心接口:点击下拉菜单修改点击导入XML文档注意:命名规范SI_BAPINAME_SYN_IN(client调用PI时,PI是outbound,PI调用BAPI,核心是inbound)同步是指有终端需要显示返回值,异步是指终端发送请求不需要返回值导入:修改为Inbound修改成同步将上一步创建的数据引用对应导入将刚刚新建的InterfaceServices导入到InboundInterfaces中保存,激活。以上都是在核心命名空间中的动作完成,接下来该建外围的。下面创建外围:----------------------------------------------------------------------------一、创建数据类型创建一个命名空间,命名规范:c.com/外围系统名/核心系统名_BAPINAME修改完成后,激活。接着创建Action:命名规范:A_BAPINAME_IN。创建REQ和RES类型,按照输入输出需要,引用刚才所建的结构体和表,创建元素:开始创建数据类型:DT_结构体或表的类型名称(最长30位)创建所需的结构体和表:根据场景分析后的服务,的输出输入参数,在DataTypes中制作相应的数据类型。在建立DataTypes时,要注意以下几点:1:于场景分析组提交上来的bapi文档中的类型,在配置时要注意更改如:TIMS----timeCUKY----stringDEC-----decimalNUMC----stringINT4----integer2:注意与核心的REQ和RES的类型和字段长度保持一致。3:如果此结构体为表,在新建DT_XX时,不必带item,但是在新建DT_XX_REQ或DT_XX_RES时定要把item加上。4:如果只有字段没有结构体的话,如果是输出就配置在RES里面,如果是输入就配置在REQ里。5:如果结构体后的参考打印直接指向的是它这个字段,在IR配置时就不用,写配置DT_XXX了如:OPENLOGBAPI_BCA_CENTRAL-OPENLOG在IR配置时在不用配置DI_OPENLOG而是直接在REQ或RES里写上此字段即可6:PIADDONElementp1:DT_ZBAPI_BCA_PI_ADDONp1为BAPI标识不用管。二、创建MessageType。命名规范:MT_BAPINAME三、创建外围服务接口:将刚建的两个MT对应导入:所创建的请求和回复两个MessageType分别使用刚刚创建的REQ和RES两个数据类型:四、创建外围MessageMapping。分别创建REQ和RES两个MessageMapping:左边导入外围的MessageType:右边导入核心的数据引用:注意:REQ对应REQ,RES对应RES。创建RES时,与REQ导入相反,左边导入数据引用,右边导入MessageType。最后,保存,激活。点击,将自动映射点击,下拉菜单选择ShowAll,将显示反映映射的红线五、创建OptionsMapping。命名规范:OM_BAPINAME。左边导入外围服务,右边导入核心服务。六、创建外围Action。建立外围和核心Action的关联。点击注:例子中核心和外围在同一个命名空间里,上图只是举个例子,实际中,核心和外围是不可能在同一命名空间里的。IR到此配置完成。----------------------------------------------------------------------------下面进行ID配置:一、创建CommunicationChannel。按左图,选择相对应的外围系统名称,双击,进入下图命名规范:CC_服务名(_协议类型(SOAP))_S,长度限制30位。点击Create进入下图:点击,进入下图选择Sender标签页保存,激活。二、菜单:Tools→applymodelfromESRepository点击,从列表中选择SOAP点击,选择在ir中创建的ProcessIntegrationScenario;点击Continue点击finish点击,进入下图选择一个场景选择全部系统组件选择服务所在的系统(因上面选择的是核心,所以选择DM所在的系统)因选择外围系统,所以选择外围所在的系统选择中间的双箭头选择外围和核心的交流通道,如下图:顺序从左往右点击,先保存,然后检查,最后点击创建配置对象,出现下图:完成后,点击工具栏中的Apply按钮,回到下图:保存,激活。(注意:激活时,弹出对话框中的所有对象都选中激活。)三、菜单:Tools→DisplayWSDL圈住为需要修改的地方,修改完后,回车。点击Continue创建wsdl文件,其实发送的url为:=*:BS_MMASMBL:CC_MMASMBL_GOODS_REVERSE_SBS_MMASMBL为bapi所在的外围名,CC_MMASMBL_GOODS_REVERSE_S为接口名。点击Continue下图中点击Apply后,回到此图,点击Continue点击出现下图:选择外围服务导入点击Continue点击Finish到此id配置完成。----------------------------------------------------------------------------开始生成代理。一、登录到对应的系统上。点击保存,导出WSDL文档输入事务码:sproxy注意:只对核心的代理接口创建代理类!在左侧的导航栏中找到新开发的代理类接口右击,选择创建代理Package添入相应的包名,DM和LM的分别为ZPI_DMPROXY和ZPI_LMPROXYPrefix写个前缀,例如ZPI点击Cont----------------------------------------------------------------------------在配置组合场景时,不创建核心,只创建外围。其中与上面创建同步场景不同的步骤如下:上面的步骤从创建外围开始。一、服务接口创建两个,点击Finish两个接口分别以IN和OUT结尾,相对应此处修改为Inbound和Outbound两个接口此处都修改成同步将上一步创建的数据引用对应导入,两个接口相同二、创建外围MessageMapping。分别创建REQ和RES两个MessageMapping,创建RES时,与REQ导入相反,左边导入数据引用,右边导入MessageType。但所导入的东西都在外围里最后,保存,激活。三、创建OptionsMapping。同理,创建OM时,左右两边导入的服务接口都同在外围。四、创建外围Action。创建两个Action,通常为了区别,分别以IN和OUT结尾。五、建立Action的关联同样的,关联时,选择刚刚在同一目录下创建的两个Action。六、在ID配置中的步骤:菜单:Tools→applymodelfromESRepository中,不同之处如下:点击,将自动映射点击,下拉菜单选择ShowAll,将显示反映映射的红线点击,进入下图选择一个场景选择全部系统组件选择服务所在的系统不同之处,同步场景中服务所在的系统是已知的,但在组合场景中,是需要查询服务所在的系统配置工作结束。----------------------------------------------------------------------------进入编写代理类阶段:一、进入工作台双击方法名称,进入下图:选择中间的双箭头所选系统会在这里体现双击,进入下图双击接口中的圈中的名称,进入下图点击进入可编辑状态,就可以开始编写代理类了。二、代理类编写注意事项:同步场景的代理类在

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功