请各位高手帮忙,ABAP 中除RFC外还有哪些接口技术?主要用途?

作者&投稿:雀图 (若有异议请与网页底部的电邮联系)
ABAP如何获取一个RFC的所有结构~

你是说获取rfc传出的内表或者工作区吗?比如输出的是内表,你只需要参照rfc里的表结构定义一个内表,用来接收rfc传出的内表就ok'了

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。
idoc是基于SAP自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。
idoc是系统间利用message传递,不涉及底层函数调用,idoc的处理方式是用edi来执行的.
你可以理解为IDOC是SAP为了同外部系统或内部不同client通迅所采用的一种数据结构,不同的idoc type 定义了不同的格式,如关于material master data 的IDOC, BOM, PO,SO等相关的IDOC,, ALE 主要用于内部数据交换用的,如不同client, EDI用于同外部系统的交换数据,它们的本质都 是base on IDOC。。。idoc是基于SAP自己的类似xml格式的文档数据交换的方式。idoc基于文档,可以实现异步的。
RFC是面向过程的,调用简单直接;
BAPI是面向对象的,有属性、有方法、有事件,更加复杂和丰富,更能反映SAP的业务应用,而BAPI方法的构造是基于RFC的,你也可以认为BAPI封装了RFC我觉得RFC在应用时最为灵活。
IDOC是SAP标准的文件交换格式,SAP已经有了大量的Function Module来处理和传递IDOC,特别是对于要和其它系统交换数据时,配合一些系统如biztalk server,IDOC会显得非常的方便,开发的工作量也是最小的。
RFC的话,如果配合SAP的BDC使用的话,或者你是一个ABAP的高手的话,RFC也是很灵活的。
至于BAPI的话,我觉得SAP的bapi概念很好,但是接口很不完善,很多数据无法通过SAP本身的
BAPI完成,得自己来做开发。
对于bapi和rfc到底那个好用,我觉得没什么定论。
有时bapi好用,有时rfc好用。
bapi好用在于,其效率相对比较高,这个主要体现在有些bapi是用direct input的方式写的,
效率高。
但你如果用rfc写也有他的好处,当你写的不只是一个luw时,而每个luw都比较简单,在这种情况下就用rfc开发比较快。
SAP的idoc文件替代了edi文件的作用。
ale是一种通讯的模式。
bapi,一种函数,SAP提供一大堆,用于主要的业务流程的处理
rfc,一种函数,用于与外部程序调用
应该说RFC是其它内容的基础,它是一个Function module,可以被远程调用。而BAPI本身就是一个RFC,但它被作为BO的Interface,作用更进一步,除了BAPI文档中提到的内容外,还可以作为ALE/IDOC的开发基础。
ALE是R/3系统之间的应用层数据交换,至于用什么,就看具体配置了,比如可以用IDOC,同步/异步BAPI,甚至用EDI。非SAP系统无法用ALE来实现。
至于数据传输的方式,可以是IDOC(底层是用RFC来实际的),也可以是EDI,所以说IDOC/EDI实际上是数据的载体。

ALE/IDocs是SAP公司为SAP R/3 R4.6C版本所提供的接口机制,目前应用最为广泛。在 R4.0以后的版本中,又添加了技术上先进的BAPI。
1、ALE/IDocs是什么?
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整合机制的基础,它利用远程功能呼叫RFC(Remote Function Call) 调用SAP系统的功能模块。

数据/消息分配层,主要提供三个关键服务:
按数据分配模型决定数据接收者。
消息的过滤和转换。
数据/消息的压缩,以提高传递效率。
应用层直接与SAP系统接口,生成或从其它系统接收含有路由信息的消息文本IDocs,包括消息接收者的姓名,要求发送的类型以及对消息进行处理的规则。

ALE的机制代替了原来的SAP所提供的批数据通讯BDC(Batch Data Communication) 方式。顾名思义,BDC为系统之间提供了简单的数据批处理服务,还不能作为一种中间件技术,它没有提供系统之间进行无缝整合所要求的纠错功能、系统管理和其它安全措施。总得说来,应用SAP的ALE机制进行SAP与SAP或非SAP系统整合有以下几个好处:

ALE技术不受SAP版本升级的影响,它提供了版本向后兼容性。ALE定义于SAP应用层,与SAP的逻辑层相对独立,整个ALE中间件独立于发送和接收系统。
ALE消息设计逻辑保证消息的“一次且只有一次”的消息传递。ALE采用“存储-发送”技术确保消息即使系统发生故障或接收方没有准备接收时也可以达到目的地。这样就保证接收方不至于收到重复消息。
ALE也提供了IDocs管理功能。主要有文本缩减、文本版本控制以及文本数据过滤。三种控制机制使得SAP开发人员可以根据实际需要对IDocs文本在运行中进行动态处理。
ALE提供了系统管理功能,允许对ALE系统进行启动/复位/恢复等系统操作,为开发人员提供了进一步的管理控制。
IDoc 几乎可以传带任何SAP应用的数据,是一种“外围”定义格式,与SAP的应用数据定义不直接相关。IDocs已经广泛应用于早期的SAP-EDI的数据交换,因而它的设计有点类似于EDI的标准,即EDIFACT标准。

IDocs是以字符基础的,因而是可读的。它有三种纪录类型,即:

控制纪录-含文本信息,如IDoc类型,发送/接收方信息以及文本标识。
数据纪录-含管理和实际数据部分。
状态纪录-用来追踪文本传递各点的状态,如状态码,系统时间,错误标识等。

2、ALE/IDocs的消息发送接收过程

下面对ALE/IDocs在系统整合过程中消息的实际传递进行介绍。

让我们首先看发送过程。

一个发送过程由事件触发,文本生成,数据打包以及交由传输媒介传递这四个步骤组成,具体如下:
应用系统事件触发
系统目标(Objects) 的状态变化,用户自主活动或其它数据库特定变化等可以启动数据表的触发程序,从而进行数据传递的初始化工作,如数据准备。

生成主IDoc文本(Master)
按标准格式生成主IDoc文件,包含所有可以传递数据(不分接收者)

生成通讯Idoc
从主IDoc中生成只与特定接收者有关的文本,通讯文本是主文本的子数据集(Subset)

Idoc 发送
利用异步通讯方式将一定版本的IDoc传递到接收方。

接收过程始于SAP系统从外部收到IDoc文本。接收过程的优点在于,接收方既可以是SAP系统,也可以是第三方系统,这也是SAP与第三方进行有效整合的基础。接收过程由以下三个步骤组成:
存储Idoc-将文本存储于数据库,并进行语法校验
邮件处理程序读取Idoc--一个专门设计的IDoc处理程序读取IDoc并产生SAP或其它系统所需的系统消息。多个程序可以同时运行。
生成系统文本--处理程序进一步生成系统文本供系统使用,并将结果信息存于Idoc d的状态纪录中。

3、BAPI简介
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,开发人员可以实现对BOR进行实时访问,从而实现应用系统(SAP-SAP)之间在数据/逻辑层上的有效整合。

4、应用SAP-DCOM接口
SAP于1998首次提供SAP-DCOM接口,以满足各种桌面应用开发的要求。利用DCOM连接端口,开发人员可以利用VB, C++,以DCOM目标方式访问SAP数据。在Web应用上,可以用VBScript, JavaScript 以DHTML方式页面访问,也可以用ASP访问数据。

另外,利用DCOM也可以间接访问SAP的企业目标库BOR。上面提到的BAPI是SAP系统上专用的,在实际应用上不如DCOM来得广泛。DCOM端口主要有两个技术模块组成,一个是管理模块,另一个模块生成SAP BO的DCOM 代理组件(Proxy Components),生成的DCOM组件存放于C++。代理组件有以下属性:

Client-要访问的R/3客户系统
UserID-R/3用户
Password-用户密码
Language-系统语言
Destination-预先定义的目标名称
另外,每个组件具有以下方法:

PutSeesionInfo()—设定系统一次调用的目标参数
AdviceRfcGuiSink()—用于需要SAPGUI或dubugging的场合。
CommitWork()-用于数据更新,无implicit commit的场合。
InitKeys()-DCOM目标键初始化
DimAs()-返回Microsoft ADO(Advanced Data Object) 纪录集(支持游标控制)。
其它从R/3 BO定义中继承的方法。
总起说来,SAP R/3 作为一个相对灵活的ERP系统,利用上述的各种整合技术能够实现SAP系统之间以及SAP 与其它系统之间的数据/过程的整合。当然,一个应用系统的高度客户化导致了系统整合的难度。随着系统功能的增加,多种可供采用的整合技术也就显得很有必要。对于SAP R/3用户来说,正确选择适用的整合技术是实现成功系统整合的关键。

还有专门做接口的PI

IDOC,用于和其他系统做数据传输

IDOC

XI/PI

文本文件


请各位高手帮忙: 在RT三角形ABC中斜边长AB为35,正方形DCEF内接与三角...
因为正方形DCEF内接于RT三角形ABC 所以FD\/\/AC, FE\/\/BC 所以 三角形FBD相似于三角形ABC,三角形AFE相似于三角形ABC 所以 三角形FBD相似于三角形AFE 所以 FD\/AE=BD\/FE 因为 正方形DCEF边长为12 所以 AE*BD=144 在直角三角开拓ABC中,由勾股定理可得:AC^2+BC^2=AB^2 即 ( AE...

ab(a+b)⊃2;-(a+b)⊃2;+1 因式分解 各位高手帮帮忙!!!
=ab(a+b)²-a(a+b)-b(a+b)+1 =[a(a+b)-1][b(a+b)-1]=(a²+ab-1)(b²+ab-1).

...∠3=∠4,请说明AB\/\/EF。 求各位高手帮帮忙,最好两天之内。。。(详...
∠1=∠2,则有AB\/\/CD.(内错角相等,两直线平行)。由于AB\/\/CD,所以∠3=∠B。(两直线平行,同位角相等)。∠3=∠4,则有 ∠4=∠B。∠4与∠B是同位角,所以AB\/\/EF.(同位角相等,两直线平行)。

...7月13日差不多12点出生,AB型血,求各位大侠帮忙看下命运,主要想知道...
巨蟹座的人对金钱及物质的追求欲很强烈,今天出生的人这种特质尤其明显。当他以赚钱为目的而采取行动时,就像变了个人似的。具有相当强的实践力,让人觉得是个有能力、会做事的顶尖高手。然而,在没有赚钱的时候,那种追逐实际利益的欲求,就会以肉欲的快乐来代替。因此往往会暴饮暴食或沉迷在恋爱之中。

...则点O到AB的距离为( ) 各位高手帮帮忙,,速度啊。
取BC中点D,∵AB=AC=10,∴ AD⊥BC ∵BC=12 ∴BD=6 ∴AD=√(AB^2-BD^)=√(100-36)=8 ∴SΔABC=1\/2*BC*AD=48 设△ABC内切圆半径为r 则SΔABC=1\/2(AB+BC+AC)*r=48 ==>r=3 ,则点O到AB的距离为(3)

急急急!!!各位数学高手帮帮忙哈,谢谢了!在三△ABC中,角B=45○,sinC=4...
由A点作BC的垂线,交BC于D,由于角B是45度,所以角BAD也是45度,即△ABD是等腰直角三角形,AB是斜边,AD=BD,只要求出AD长,AB=根2*AD。△ADC是直角三角形,所以AD=AC*sinC=10*4\/5=8,因此AB=8*根2

...平分∠DCO,交圆O与E 请各位高手帮帮忙(主要是第二小题)
连接OE,CE交AB于F,所以 角CFD等于角OFE,又因为CE平分角OCD,所以角OCE等于角ECD,又因为OC等于OE等于半径,所以角OCE等于角OEC,所以角OEC等于角EOD,所以三角形FCD于三角形FEO相似,又因为角CEF等于九十度,所以角EOF等于九十度,所以角AOB=角BOE所以两段弧相等 ...

各位高手。谢谢帮忙啊!急急急,要过程
AB+AD=m AB·AD=m\/2-1\/4 当ABCD为菱形时,AB=AD 所以AB=m\/2=√(m\/2-1\/4)所以m²\/4-m\/2+1\/4=0,即m²-2m+1=0,所以m=1.边长AB=1\/2 (2).若AB=2,则AD=m-2 所以AB·AD=2(m-2)=m\/2-1\/4 即m=5\/2 所以AD=1\/2 所以周长是(2+1\/2)×2=5 ...

急急急!!!还望各位高手帮忙啊!!在此感激不尽。 已知三角形ABC,AB=AC...
过点E作EM∥AC交BC于点M,则∠BME=∠ACB,∠MED=∠F ∵AB=AC ∴∠B=∠ACB=∠BME ∴BE=ME ∵BE=CF ∴ME=CF ∴ΔEMD≌ΔFCD ∴DE=DF

数学题~~~各位高手帮忙~坐等~
设点A、B、C分别代表广州、香港、台湾,则根据题意得AB:BC:AC=5:6:9,AC=1089,∴BC=6AC\/9=726,AB=605,∴飞机从台湾绕道香港再到广州的飞行距离约为BC+AB=726+605=1331公里。

伽师县13315982617: ABAP简单语法问题,忘高手帮忙. -
衷菁八味: LOOP AT ITAB. SELECT SINGLE KBETR FROM KONV INTO (ITAB-KBETR) WHERE KNUMV = ZKNUMV AND KPOSN = ITAB-POSNR AND KSCHL = 'MWST'. ITAB-KBETR = ITAB-KBETR / 10.MODIFY ITAB. CLEAR ITAB. ENDLOOP. ENDFORM. 第二个也一样的道理 ITAB-ABCD = ITAB-KBETR / 1000 * ITAB-ECW.MODIFY ITAB.

伽师县13315982617: ABAP高手请进 -
衷菁八味: **定义内表 data: begin of itab occurs 0 , type_count type i , mara_count type i , end of itab .**定义sy-tabix .DATA:L_INDEX LIKE SY-TABIX.** 新增物料组计算资料到itab select distinct count(matkl) into itab-type_count from mara .append itab .clear...

伽师县13315982617: ABAP问题求救,请高手帮忙
衷菁八味: vkbpl6012 :怎么这样说呢?按理来说BC400包中的程序是系统带的一些例子呀.应该是可以全部调试运行的呀.我这个是参照Olivia提示的图建的.建好后就可以了.但是别的程序还是有些未定义的.比如说SBC400CUST,也是未定义.郁闷!

伽师县13315982617: 求助一个abap问题,请高手帮忙
衷菁八味: 兄弟,这个帖对你可能有帮忙 http://blog.chinaunix.net/u1/40527/showart.php?id=411190

伽师县13315982617: 菜鸟跪求Abap高手帮助... -
衷菁八味: 首先,确定日期的存放格式是2008.1.1这样吗?sap后台数据库表里大部分日期是以"20080101"这样的8位字符串存放的.1.简单方法: select * from test where Date like '200801%'. 其中%是abap sql里面用来做通配符的符号.2.标准方法: ...

伽师县13315982617: 新手请教个ABAP编程的问题
衷菁八味: 扫描枪的最后一个字符就是回去符,在PAI中处理一下吧.

伽师县13315982617: ABAP 高手请进 -
衷菁八味: 一般 SELECT-OPTIONS 中定义屏幕输入就是这种形式的(RANGES定义的也一样),是一个表,代表屏幕输入的值和范围,LOW 代表输入的单一值或最小范围值;HIGH代表输入的最大范围值;OPTION 中写入的是符号,比如等于 不等于 在.....之间 等等;SIGN,固定值.

伽师县13315982617: 主板诊断卡代码rf什么故障 -
衷菁八味: 主板点不亮,那插上DEBUG是怎么显示的???主板供电没问题...应该是芯片出问题了...

伽师县13315982617: 高手请进,请教一个abap的算法实现
衷菁八味: 例如:DATA p_date LIKE SY-DATUM.p_date = SY-DATUM.p_date = p_date - 1.WRITE: / 'p_date = ', p_date.

伽师县13315982617: 如何通过外部程序更新SAP中的BOM
衷菁八味: ABAP写的function,可以通过RFC使用其他语言调用.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网