




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
相关技术简介RFC ( Romote Function Call,远程函数调用 ) 接口模式 RFC是SAP系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为SAP与外部通信的基本协议。简单地说,RFC过程就是系统调用当前系统外的程序模块,从而实现某个功能,而且调用系统和被调用系统中至少有一个必须是SAP ABAP系统。这种远程功能调用也可在同一系统内部进行(如本地SAP系统内的远程调用);但通常情况下,调用程序和被调用程序处于不同系统。 SAP系统RFC应用的原理很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。优点:SAP的RFC调用是其接口技术中最简单和易用的一种方式,该方式开发比较简便,特别适合于外部报表开发。缺点:但对于大数据量的查询效率相对较低。如果有大数据量开发很多使用IDOC和BAPI接口开发技术 RFC接口方案开发量小,实施简单,很快就能满足客户需求,如在外部系统打印报表,或外部系统获取SAP简单的数据信息进行加工处理等。但这种方案只能满足客户简单的需求。BAPI (Business Application Programming Interface)接口模式 BAPI是Business Application Programming Interface的缩写, 是SAP为3.0版本以上提供的基于企业目标(Business Object) 技术的接口应用界面。SAP在3.0版本以上采用了Object-oriented技术,逻辑定义了SAP R/3系统的所有功能目标,并且将所有的目标(Objects) 和BAPIs存储于企业目标库BOR(Business Objects Repository). SAP R/3 企业目标的目标类型(Object Type) 相当于目标设计语言中类(Class) 的概念,其定义结构由以下几部分组成:基本数据-所有目标类的通用属性,如目标标识和默认方法(Method) 。接口界面-目标的方法(Method), 事件(Event), 特征(Attributes) 。键(Key Fields)-供BOR中目标检索使用方法(Methods)- 对目标进行所要求的各种操作。特征(Attibutes)- 描述目标特征。事件(Events)- 触发以改变目标状态。BAPI是一个标准化的开放接口。BAPI是SAP提供给用户的一些标准函数,比如创建销售订单的函数 ,只要给定相应的参数,就可以实现特定的功能.它也克服了很多BDC 存在的固有BUG.优点:BAPI是外部系统对SAP标准业务进行调用的一种方式,当外部系统有对SAP标准业务关联较紧密的功能性开发调用时较适合。缺点:但当外部系统与SAP系统间有大数据量的交付,并且分布广,网络状况较差情况下不适合。这种模式,也是只需写少量的代码就能实现,并且满足了客户对SAP业务模块对象化的应用,这种模式需要在SAP业务模块进行适量的配置,这是目前小业务数据量交付的常用接口模式,因为外部系统只需给出调用的输入参数,在获取SAP的输出参数,但SAP系统自身处理相应业务逻辑,这增加了SAP服务器负载,并且不适宜分布较广的系统间大数据量的交付ALE(Application Link and Enabling )/IDocs(Intermediate DOCument)接口模式 ALE 是Application Link and Enabling的缩写,是SAP专门为SAP与SAP之间所设计的整合中间件。IDocs是中介文本 (Intermediate DOCument) 的缩写,是SAP提供的系统整合专用的数据/消息格式。ALE在SAP 3.0版本开始就作为SAP整个应用体系的一部分,为分布式数据交换提供了可靠安全的通讯机制。ALE的设计,原本作为两个SAP流程之间的一种消息传递服务(Messaging Service) ,使SAP与SAP的业务流程之间企业数据能够有效的交换,为两个独立的SAP之间提供了的系统整合服务。不过,随着应用的发展,ALE/IDocs接口机制也已然成为与其它非SAP系统的标准的整合方式。ALE的机制代替了原来的SAP所提供的批数据通讯BDC(Batch Data Communication) 方式顾名思义,BDC为系统之间提供了简单的数据批处理服务,还不能作为一种中间件技术,它没有提供系统之间进行无缝整合所要求的纠错功能、系统管理和其它安全措施。ALE这些方面却处理的很好IDoc是EDI(电子数据接口)的一种标准,它是SAP系统支持的唯一一种EDI标准, 所以,在SAP系统中,不用考虑EDI各个标准的转换问题 ALE/IDocs模式适合有大数据量交付,系统间网络状况较差,且分布较广的SAP系统与非SAP系统间的集成接口模式SAP.NET 可以实现与SAP系统的IDOC,FM,BAPI,RFC ,web service方式的连接,进行交互,其中web service是未来SAP与外界进行交互技术发展的趋势,也是ESOA的实现之一。SAP.NET 可以实现与SAP系统的IDOC,FM,BAPI,RFC ,web service方式的连接,进行交互,其中web service是未来SAP与外界进行交互技术发展的趋势,也是ESOA的实现之一。开发步骤:这个实例使用BAPI_USER_GET_DETAIL 做为receiver interface 和用户定义outbound 同步interface。创建response message mapping 。创建interface mapping 。创建sender communication channel 类型是SOAP adapter ,使用outbound synchronous interface 创建 receiver communication channel 创建receiver determination在ID端定义web service,创建WSDL outbound synchronous ,URL http:/host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel 在.net 开发环境下加入web 引用,可以用本地文件,或者远程URL。编译后会生成CS的类文件,关于 的应用可以查看安装后的DEMO,很好,很强大。在线等 vb 与sap 接口的问题 (从sap读取数据中文不能正确显示)利用Visual Basic开发SAP接口程序初探2005-11-18 09:16作者:冯强出处:天极开发责任编辑:方舟SAP R/3系统是业界最先进、最稳定的ERP系统,国际和国内大型企业采用该系统的比例遥遥领先于其它ERP系统的总和。SAP R/3内建了二次开发平台,使用的开发语言叫做ABAP,是一种类似于COBOL的编程语言。ABAP在报表输出方面功能相对较弱(只能按行打印在屏幕上或者导出到Excel中处理),所以日常工作中经常需要在外部开发程序。通过程序接口自动读取SAP R/3的数据表(视图),在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。SAP R/3的接口方式主要有RFC、IDOC、BAPI三种,本文要介绍的是相对比较简单的RFC(Romote Function Call,远程函数调用)。SAP系统RFC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。下面是RFC调用的模型: 本文主要不是讨论SAP R/3函数的开发,因为使用SAP的公司一般都有专门的ABAP开发人员。大家如果有机会接触ABAP平台,可以通过事务代码SE37进入ABAP开发平台的函数编制器进行函数开发测试。如图:下面主要以VB为例介绍一下SAP接口RFC的开发思路。在SAP客户端SAP Gui Client安装的时候,注意选择安装附带的SDK包(最保险是选择完全安装)。RFC接口程序开发,主要用的是SAP.Functions这个控件,通过控件在外部程序模拟SAP Gui Client的用户登录和函数调用,然后返回函数的值。请看下面的程序片段和重点注解(尤其是test_Click()):Private Sub Command1_Click() 定义R/3用户名和密码变量(用户名应由SAP管理员开运行函数的权限)Dim logname As String * 22, password As String * 22 Call logonr3(logname, password) 调用SAP登录界面程序If logflag Then 调用生产、开发系统开关StatusBar1.Visible = TrueStatusBar1.SimpleText = 正在登录SAP R/3系统.Dim R3AppServer As String, R3Client As String, R3SystemNo As StringIf Form2.opPRD.Value Then 以下服务器参数请根据客户配置情况更改R3AppServer = 生产系统服务器IPR3Client = 800生产系统集团代码R3SystemNo = 00 生产系统号ElseR3AppServer = 开发系统服务器IPR3Client = 101R3SystemNo = 00End IfUnload Form2 释放 Form2 , 所有控件及值不可用Set Functions = CreateObject(Sap.Functions) 创建RFC的本地对象Set Connect = Functions.Connection 设置连接Connect.ApplicationServer = R3AppServer 赋值服务器IPConnect.Client = R3Client 赋值SAP集团代码Connect.Language = ZH 置SAP系统界面中文Connect.User = Trim(logname) 赋值SAP登录用户名Connect.password = Trim(password) 赋值SAP登录用户密码Connect.SystemNumber = R3SystemNo 赋值SAP系统号If Not Connect.Logon(0, True) Then 软件登录SAP并判断MsgBox 登录SAP R/3失败,请重新登录!, vbOKOnly + vbExclamation, 系统提示Command1.SetFocusElse 登录SAP成功Command1.Enabled = FalseCommand2.Enabled = Truetest.Enabled = TrueEnd IfStatusBar1.SimpleText = StatusBar1.Visible = FalseEnd IfEnd SubPrivate Sub Command2_Click() 注销SAP登录Connect.LogOffCommand2.Enabled = FalseCommand1.Enabled = Truetest.Enabled = FalseEnd SubPrivate Sub Command3_Click() 退出SAP接口演示程序If Form1.Command2.Enabled ThenMsgBox 退出前请断开SAP R/3系统!, vbOKOnly + vbInformation, 系统提示ElseEndEnd IfEnd SubPrivate Sub Form_Load()Command2.Enabled = Falsetest.Enabled = Falselogoflag = FalseEnd SubPrivate Sub test_Click() SAP RFC远程调用处理主演示Dim GetCustomers As ObjectDim Customers As ObjectDim i As Integer 通过RFC接口远程运行SAP内部函数RFC_CUSTOMER_GET 赋要调用的SAP内建函数名Set GetCustomers = Functions.Add(RFC_CUSTOMER_GET) GetCustomers.Exports(KUNNR) = 0000000103 向函数入口赋值(客户代码) 向函数入口赋查询表名称Set Customers = GetCustomers.Tables(CUSTOMER_T) If GetCustomers.Call Then 调用成功遍历显示客户所有信息条目For i = 1 To Customers.rowcountMsgBox Customers(i, KUNNR)Next iElseMsgBox 搜索出错! 出错信息: + GetCustomers.ExceptionEnd IfEnd Sub SAP的RFC调用是其接口技术中最简单和易用的一种方式,该方式开发比较简便,特别适合于外部报表开发,但对于大数据量的查询效率相对较低。大家在熟练掌握后,可以进一步学习高级的IDOC和BAPI接口开发技术。 利用Visual Basic开发SAP接口程序初探2005-11-18 09:16作者:冯强出处:天极开发责任编辑:方舟SAP R/3系统是业界最先进、最稳定的ERP系统,国际和国内大型企业采用该系统的比例遥遥领先于其它ERP系统的总和。SAP R/3内建了二次开发平台,使用的开发语言叫做ABAP,是一种类似于COBOL的编程语言。ABAP在报表输出方面功能相对较弱(只能按行打印在屏幕上或者导出到Excel中处理),所以日常工作中经常需要在外部开发程序。通过程序接口自动读取SAP R/3的数据表(视图),在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。SAP R/3的接口方式主要有RFC、IDOC、BAPI三种,本文要介绍的是相对比较简单的RFC(Romote Function Call,远程函数调用)。SAP系统RFC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。下面是RFC调用的模型: 本文主要不是讨论SAP R/3函数的开发,因为使用SAP的公司一般都有专门的ABAP开发人员。大家如果有机会接触ABAP平台,可以通过事务代码SE37进入ABAP开发平台的函数编制器进行函数开发测试。如图:下面主要以VB为例介绍一下SAP接口RFC的开发思路。在SAP客户端SAP Gui Client安装的时候,注意选择安装附带的SDK包(最保险是选择完全安装)。RFC接口程序开发,主要用的是SAP.Functions这个控件,通过控件在外部程序模拟SAP Gui Client的用户登录和函数调用,然后返回函数的值。请看下面的程序片段和重点注解(尤其是test_Click()):Private Sub Command1_Click() 定义R/3用户名和密码变量(用户名应由SAP管理员开运行函数的权限)Dim logname As String * 22, password As String * 22 Call logonr3(logname, password) 调用SAP登录界面程序If logflag Then 调用生产、开发系统开关StatusBar1.Visible = TrueStatusBar1.SimpleText = 正在登录SAP R/3系统.Dim R3AppServer As String, R3Client As String, R3SystemNo As StringIf Form2.opPRD.Value Then 以下服务器参数请根据客户配置情况更改R3AppServer = 生产系统服务器IPR3Client = 800生产系统集团代码R3SystemNo = 00 生产系统号ElseR3AppServer = 开发系统服务器IPR3Client = 101R3SystemNo = 00End IfUnload Form2 释放 Form2 , 所有控件及值不可用Set Functions = CreateObject(Sap.Functions) 创建RFC的本地对象Set Connect = Functions.Connection 设置连接Connect.ApplicationServer = R3AppServer 赋值服务器IPConnect.Client = R3Client 赋值SAP集团代码Connect.Language = ZH 置SAP系统界面中文Connect.User = Trim(logname) 赋值SAP登录用户名Connect.password = Trim(password) 赋值SAP登录用户密码Connect.SystemNumber = R3SystemNo 赋值SAP系统号If Not Connect.Logon(0, True) Then 软件登录SAP并判断MsgBox 登录SAP R/3失败,请重新登录!, vbOKOnly + vbExclamation, 系统提示Command1.SetFocusElse 登录SAP成功Command1.Enabled = FalseCommand2.Enabled = Truetest.Enabled = TrueEnd IfStatusBar1.SimpleText = StatusBar1.Visible = FalseEnd IfEnd SubPrivate Sub Command2_Click() 注销SAP登录Connect.LogOffCommand2.Enabled = FalseCommand1.Enabled = Truetest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校电教室管理制度
- 学校请销假管理制度
- 学红色文化管理制度
- 安全办工作管理制度
- 安全风险源管理制度
- 宝格丽酒店管理制度
- 实验室岗位管理制度
- 客户应收款管理制度
- 客运站卫生管理制度
- 家具制造业管理制度
- 2024年合肥市公安局第二批招考聘用警务辅助人员678人高频考题难、易错点模拟试题(共500题)附带答案详解
- 《土地整治学》期末考试复习题库资料(含答案)
- 2024年贵州省贵阳市中考生物地理试题(含答案解析)
- 盘扣式落地卸料平台施工施工方法及工艺要求
- 宁波浙江宁波市北仑区人民医院招聘编外工作人员30人(护理)笔试历年典型考题及考点附答案解析
- JT-T-1202-2018城市公共汽电车场站配置规范
- 2024年春季学期中国文学基础#期末综合试卷-国开(XJ)-参考资料
- 文艺复兴经典名著选读智慧树知到期末考试答案章节答案2024年北京大学
- 一年级下-科学-非纸笔测试
- 用S7200编写摇臂钻床PLC程序梯形图
- 2024年造价工程师-水运工程造价工程师笔试参考题库含答案
评论
0/150
提交评论