SAP RFC使用总结:
(1).BAPI and RFC
SAP R/3的接口方式主要有RFC(Romote Function Call,远程函数调用)、IDOC、BAPI三种,BAPI实际上也是RFC函数,它处理一组业务。使用Tcode:BAPI/BAPIW在SAP系统中可查看到各模块的BAPI函数。
RFC版本:
sRFC( synchronous RFC)是RFC的第一个版本,它要求连接的双方是同步的工作方式,即都是在可用状态才能够实现成功调用。
aRFC(asynchronous RFC)这种RFC可以实现异步的RFC调用方式,它可以进行多个并发调用,并且不要求被调用系统的可用状态。发出调用系统会一直尝试直到获得被调用系统的应答。它通常用于当你需要提高系统并行调用多个RFC的效率,相对于强制等待程序的结果,它的效率更高。
tRFC(transactional RFC)是对aRFC进行相关技术改进后的一个RFC版本,其于ARFC相同点是实现异步调用,其优点是可以将多个调用进行LUW分组处理, 并只执行一次运行。现在aRFC基本上已经停用。
qRFC(queue(d) RFC)是tRFC的一个增强版本,它保证了所传输数据的处理次序。 pRFC(Parallel RFC)是一种特殊的RFC,它是aRFC的一种扩展类型。因为它改善了系统的性能,在执行大量的aRFC时。SAP 使用它在MRP里面提高速度。但是它只能执行在同一个系统和同一个client里。
RFC不但是一种函数,更是一种数据通信协议,类TCP/IP.
(2).iDOC and Doc,XI,NetWeaver
IDoc: An Intermediate Document (IDoc) is a SAP standard format for data transfer between systems.
IDocs are mainly used for Application Link Enabling (ALE) and for Electronic Data Interchange (EDI). They are not used for processing inside an application.
DBoc: Business Documents (BDocs) are used by the CRM Middleware to exchange data with mobile clients. Furthermore BDocs are the central data structure to process business objects internally. In contrast to Idocs, for which the internal processing has to be implemented manually, the coding to
process BDoc may be generated automatically.
(3).SOA and ESA
企业服务架构(ESA)和面向服务的体系结构(service-oriented architecture,SOA)的组件模型
.
通过实现 SOA,可以带来大量好处(某人如此总结道):
﹡更高的业务和 IT 一致性
﹡基于组件的系统
﹡松散耦合的组件和系统
﹡基于网络的基础设施,允许分散于各地且采用不同技术的资源协同工作
﹡动态构建的按需应用程序
﹡更高的代码重用率
﹡更好地标准化整个企业内的流程
﹡更易于集中企业控制
"SOA is a pretty old hat". SOA is nothing new, What make it new is when it is implemented using standard-based Web Services technologies.
(4).SAP NW
NW包括应用平台,之上为流程集程,信息集成和人员集成,
通过使用SAP NetWeaver业务流程管理(SAP NetWeaver BPM)和NetWeaver业务规则管理(SAP NetWeaver BRM),企业用户能有效利用这些产品进行组合应用, 创新流程组合, NetWeaver BPM和SAP NetWeaver BRM都是SAP NetWeaver组合应用环境(Composition Environment,CE)中的重要组成部分。
说白了,就是内置好常见业务流程,让企业按需组装.
这点就好比去电脑城DIY,将显卡声卡硬盘CPU机箱MEMORY组起就用,
想法是美好的,做起来是困难的!
NW组件包括,SAP将这些东西比喻成一个壮汉的全部,SAP也太能忽悠!
外表:Portal(门户) ,Collaboration(协同)
大脑:BI(Business Intellegence,商业智能),KM(Knowledge Management,知识管理) 脊柱:MDM(Master Data Management主数据管理)
神经系统:流程管理(Process Management)
骨骼肌肉:Application Server
SAP BPM简介
SAP BPM设计了3个不同的技术关注点来满足各种不同的需求环境和场景,针对这3个关注点都有相应的工具还实现,这3个关注点分别是:
1.个人流程管理
通过EP(SAP企业门户)框架中的协同任务工具(Universal Worklist, Guided Procedures, Collaboration等),实现个人用户创建轻量级的特定的业务流程,优化每天的任务,增加了与同事之间协同工作的透明度。
通过门户,一次登录,处处使用.
2. mySAP应用组件流程管理
SAP商业工作流工具(SAP Business workflow)内嵌在SAP Web Application Server中, 用来实现SAP应用内部组件之间的业务流程集成和管理,是SAP应用(ERP,CR
M,SRM等)的工作流工具。
3.异构系统流程管理
ccBPM工具属于SAP XI的一部分,通过该工具可以实现对跨越商业应用和企业之间的界限的复杂流程的设计、建模、实现、管理和控制,可以使用java,MS .net进行流程开发管理。
(5).RFC
RFC不仅是一个函数,也是一个数据通信协议,SAP显然是吃定大集团的管理应用,在大集团通常分散了若干Sap应用,可通过RFC协议进行连接,Tcode:SM59 ,典型应用:
1.MDM,总部MDM做整个集团的主数据编码规划,通过XI+RFC连接自动分发到各分散服务器.
2.BI数据仓库系统通过RFC从分散的R/3应用服务器中抽取数据,做报表分析和数据挖掘
3.SLM(SoLution Management),SLM通过RFC连接各企业,在SLM统一登录,R/3那边设置好RFC用户可自动登录, 当然SLM还提供了完善的问题处理流程跟踪,只是,不知这个SLM SAP又卖了多少银两?
1.使用登录控件
外部系统连接SAP调用RFC函数,以VBA为例(目前我这只有VBA,不搞coding,其它开发工具一样), SAP Gui Client安装的时候,引用的是"SAP.Functions"这个控件
Set sapFunctions = CreateObject("SAP.Functions")
Set sapConnect = sapFunctions.Connection
sapConnect.System = "GMT"
sapConnect.ApplicationServer = "*.*.*.*"
sapConnect.SystemNumber = 0
sapConnect.User = "******"
sapConnect.password = "******"
sapConnect.Client = "100"
sapConnect.Language = "EN"
2.搜索一下是否你机器上是否存在如下Dll
sap.connector.dll
sap.connector.rfc.dll
3.直接连接sap DB table
因sap存在簇表和池表,即使透明表DB层和ABAP层看到的也有差异,所以,除非你非常有经验,一般读取数据可能出现偏差, 或许大家会认为怎么搞成这样,我的看法是ABAP这开发工具真的比较烂,尤其是格式报表上,那个Form,smartform格式报表也远不如crystal,当时SAP要如此折腾估计是担心大家不用它那烂工具,不过,最近BO,cyrstal都给sap搞到手了. 最后, 作一个可怜的顾问,要财务与税务齐飞,宏观微观经济一色,业务和技术开发并行,也就算了,还要学习世界各国鸟语,鸟语一没学好,上一个国外项目,财务顾问将人家会计科目翻译的多悲惨!科目英语连美国人都看不懂.
利用DOM 的方法和属性实现对表格的动态操作
A 利用DOM 动态添加一行
1. <script language="javascript">
2. window.onload=function(){
3. //插入一行
4. var oTr = document.getElementById("mytable").insertRo
w(2);
5. var aText = new Array();
6. aText[0] = document.createTextNode("cell1的内容");
7. aText[1] = document.createTextNode("cell2的内容");
8. aText[2] = document.createTextNode("cell3的内容");
9. aText[3] = document.createTextNode("cell4的内容");
10. aText[4] = document.createTextNode("cell5的内容
");
11. for(var i=0;i<aText.length;i++){
12. var oTd = oTr.insertCell(i);
13. oTd.appendChild(aText[i]);
14. }
15. }
16. </script>
B 利用DOM 修改单元格内容
1. <script language="javascript">
2. window.onload=function(){
3. var oTable = document.getElementById("mytable");
4. //修改单元格内容
5. oTable.rows[3].cells[4].innerHTML = "更改的内容";
6. }
7. </script>
C 利用DOM 删除一个单元格或一行
1. <script language="javascript">
2. window.onload=function(){
3. var oTable = document.getElementById("mytable");
4. //删除一行,后面的行号自动补齐
5. oTable.deleteRow(2);
6. //删除一个单元格,后面的也自动补齐
7. oTable.rows[2].deleteCell(1);
8. }
9. </script>
D 利用DOM 动态添加一列,并动态删除某行
1. <script language="javascript">
2. function myDelete(){
3. var oTable = document.getElementById("mytable");
4. //删除该行
5. this.parentNode.parentNode.parentNode.removeChild(thi
s.parentNode.parentNode);
6. }
7.
8. window.onload=function(){
9. var oTable = document.getElementById("mytable");
10. var oTd;
11. //动态添加delete链接
12. for(var i=1;i<oTable.rows.length;i++){
13. oTd = oTable.rows[i].insertCell(5);
14. oTd.innerHTML = "<a href='#'>delete</a>";
15. oTd.firstChild.onclick = myDelete; //添加删除事
件
16. }
17. }
18. </script>
E 利用DOM 动态删除某一列
1. <script language="javascript">
2. function deleteColumn(oTable,iNum){
3. //自定义删除列函数,即每行删除相应单元格
4. for(var i=0;i<oTable.rows.length;i++)
5. oTable.rows[i].deleteCell(iNum);
6. }
7.
8. window.onload=function(){
9. var oTable = document.getElementById("mytable");
10. deleteColumn(oTable,2); //参数2:表示要删除的列号
11. }
12. </script>
第二篇:SAP RFC总结
SAP RFC使用总结:
(1).BAPI and RFC
SAP R/3的接口方式主要有RFC(Romote Function Call,远程函数调用)、IDOC、BAPI三种,BAPI实际上也是RFC函数,它处理一组业务。使用Tcode:BAPI/BAPIW在SAP系统中可查看到各模块的BAPI函数。
RFC版本:
sRFC( synchronous RFC)是RFC的第一个版本,它要求连接的双方是同步的工作方式,即都是在可用状态才能够实现成功调用。
aRFC(asynchronous RFC)这种RFC可以实现异步的RFC调用方式,它可以进行多个并发调用,并且不要求被调用系统的可用状态。发出调用系统会一直尝试直到获得被调用系统的应答。它通常用于当你需要提高系统并行调用多个RFC的效率,相对于强制等待程序的结果,它的效率更高。
tRFC(transactional RFC)是对aRFC进行相关技术改进后的一个RFC版本,其于ARFC相同点是实现异步调用,其优点是可以将多个调用进行LUW分组处理,并只执行一次运行。现在aRFC基本上已经停用。
qRFC(queue(d) RFC)是tRFC的一个增强版本,它保证了所传输数据的处理次序。 pRFC(Parallel RFC)是一种特殊的RFC,它是aRFC的一种扩展类型。因为它改善了系统的性能,在执行大量的aRFC时。SAP 使用它在MRP里面提高速度。但是它只能执行在同一个系统和同一个client里。
RFC不但是一种函数,更是一种数据通信协议,类TCP/IP.
(2).iDOC and Doc,XI,NetWeaver
IDoc: An Intermediate Document (IDoc) is a SAP standard format for data transfer between systems.
IDocs are mainly used for Application Link Enabling (ALE) and for Electronic Data Interchange
(EDI). They are not used for processing inside an application.
DBoc: Business Documents (BDocs) are used by the CRM Middleware to exchange data with mobile
clients. Furthermore BDocs are the central data structure to process business objects internally.
In contrast to Idocs, for which the internal processing has to be implemented manually, the coding to
process BDoc may be generated automatically.
(3).SOA and ESA
企业服务架构(ESA)和面向服务的体系结构(service-oriented architecture,SOA)的组件模型
.
通过实现 SOA,可以带来大量好处(某人如此总结道):
﹡更高的业务和 IT 一致性
﹡基于组件的系统
﹡松散耦合的组件和系统
﹡基于网络的基础设施,允许分散于各地且采用不同技术的资源协同工作
﹡动态构建的按需应用程序
﹡更高的代码重用率
﹡更好地标准化整个企业内的流程
﹡更易于集中企业控制
"SOA is a pretty old hat". SOA is nothing new, What make it new is when it is implemented using standard-based Web Services technologies.
(4).SAP NW
NW包括应用平台,之上为流程集程,信息集成和人员集成,
通过使用SAP NetWeaver业务流程管理(SAP NetWeaver BPM)和NetWeaver业务规则管理(SAP NetWeaver BRM),企业用户能有效利用这些产品进行组合应用, 创新流程组合, NetWeaver BPM和SAP NetWeaver BRM都是SAP NetWeaver组合应用环境(Composition Environment,CE)中的重要组成部分。
说白了,就是内置好常见业务流程,让企业按需组装.
这点就好比去电脑城DIY,将显卡声卡硬盘CPU机箱MEMORY组起就用,
想法是美好的,做起来是困难的!
NW组件包括,SAP将这些东西比喻成一个壮汉的全部,SAP也太能忽悠!
外表:Portal(门户) ,Collaboration(协同)
大脑:BI(Business Intellegence,商业智能),KM(Knowledge Management,知识管理) 脊柱:MDM(Master Data Management主数据管理)
神经系统:流程管理(Process Management)
骨骼肌肉:Application Server
SAP BPM简介
SAP BPM设计了3个不同的技术关注点来满足各种不同的需求环境和场景,针对这3个关注点都有相应的工具还实现,这3个关注点分别是:
1.个人流程管理
通过EP(SAP企业门户)框架中的协同任务工具(Universal Worklist, Guided Procedures, Collaboration等),实现个人用户创建轻量级的特定的业务流程,优化每天的任务,增加了与同事之间协同工作的透明度。
通过门户,一次登录,处处使用.
2. mySAP应用组件流程管理
SAP商业工作流工具(SAP Business workflow)内嵌在SAP Web Application Server中,用来实现SAP应用内部组件之间的业务流程集成和管理,是SAP应用(ERP,CRM,
SRM等)的工作流工具。
3.异构系统流程管理
ccBPM工具属于SAP XI的一部分,通过该工具可以实现对跨越商业应用和企业之间的界限的复杂流程的设计、建模、实现、管理和控制,可以使用java,MS .net进行流程开发管理。
(5).RFC
RFC不仅是一个函数,也是一个数据通信协议,SAP显然是吃定大集团的管理应用,在大集团通常分散了若干Sap应用,可通过RFC协议进行连接,Tcode:SM59 ,典型应用:
1.MDM,总部MDM做整个集团的主数据编码规划,通过XI+RFC连接自动分发到各分散服务器.
2.BI数据仓库系统通过RFC从分散的R/3应用服务器中抽取数据,做报表分析和数据挖掘
3.SLM(SoLution Management),SLM通过RFC连接各企业,在SLM统一登录,R/3那边设置好RFC用户可自动登录, 当然SLM还提供了完善的问题处理流程跟踪,只是,不知这个SLM SAP又卖了多少银两?
1.使用登录控件
外部系统连接SAP调用RFC函数,以VBA为例(目前我这只有VBA,不搞coding,其它开发工具一样), SAP Gui Client安装的时候,引用的是"SAP.Functions"这个控件
Set sapFunctions = CreateObject("SAP.Functions")
Set sapConnect = sapFunctions.Connection
sapConnect.System = "GMT"
sapConnect.ApplicationServer = "*.*.*.*"
sapConnect.SystemNumber = 0
sapConnect.User = "******"
sapConnect.password = "******"
sapConnect.Client = "100"
sapConnect.Language = "EN"
2.搜索一下是否你机器上是否存在如下Dll
sap.connector.dll
sap.connector.rfc.dll
3.直接连接sap DB table
因sap存在簇表和池表,即使透明表DB层和ABAP层看到的也有差异,所以,除非你非常有经验,一般读取数据可能出现偏差, 或许大家会认为怎么搞成这样,我的看法是ABAP这开发工具真的比较烂,尤其是格式报表上,那个Form,smartform格式报表也远不如crystal,当时SAP要如此折腾估计是担心大家不用它那烂工具,不过,最近BO,cyrstal都给sap搞到手了. 最后, 作一个可怜的顾问,要财务与税务齐飞,宏观微观经济一色,业务和技术开发并行,也就算了,还要学习世界各国鸟语,鸟语一没学好,上一个国外项目,财务顾问将人家会计科目翻译的多悲惨!科目英语连美国人都看不懂.