❶ 如何实现sap与外部系统接口
根据系统数据交换的方式以及读写数据的相对关系不同,可以将外部系统与SAP系统的接口形式分为:主动式,被动式和中间式
1、主动式接口
即外部系统将SAP系统所需的信息直接写入SAP系统的数据库中。这种方式要求详细了解SAP系统内部的数据库结构,并且SAP系统允许外部系统往里写数据(即有写的权限)。一般来说,主动式接口形式需要对SAP系统的数据库结构很清楚,对SAP系统录入数据时需要进行哪些数据校验也要很清楚,同时也要遵循SAP系统的数据校验规范,将其所需的物料信息、产品信息、加工信息等一一写入SAP系统中,保证数据的准确性和有效性。
采用主动式接口形式的优点:外部系统与SAP系统中的信息同步性好。但在安全性方面存在一定问题,如出现写数据冲突,即外部系统写数据到SAP系统的同时,SAP系统本身也在往数据库中写入数据。对于SAP系统建议一般不要采用此种方式。
2、被动式接口
被动式接口,即SAP系统从外部系统中读取所需的数据,将其写入自已的数据库中。对于被动式又有两种方式:全被动式和半被动式。
.全被动式:外部系统完全公开其表达和存储信息的数据库结构,SAP系统读取信息时自行判断哪些信息是增加的,哪些是修改的,哪些己删除了。
.半被动式:外部系统除公开其数据库结构外,还提供一些握手信号单独存入握手信号表中,握手信息说明哪些信息作了更新,这样SAP系统在读取外部系统中的信息(如某物料更改信息)时,根据握手信号表来读取外部系统中已经发生更改的部分信息,不需要全部读一遍,这样可以提高接口处理的速度。
采用被动式接口形式的优点:外部系统与SAP系统的同步性也做得比较好,安全性方面也比主动式要好。但实现起来较为麻烦,需要有较强的SAP接口方面的知识。一般由专门的SAP实施顾问来完成这种开发。
3、中间式接口
中间式接口,即外部系统将SAP系统所需的信息生成中间文件或中间数据表,SAP系统直接读取中间文件或将中间表中的信息写入数据库中,这种方式要求对外部系统和SAP系统两方都要做一些开发工作。
需要特别提出的是:采用中间式接口时必须时刻注意如何保证外部和SAP信息一致性。常用的有两种方式:一种是由SAP系统来保证,即外部系统将SAP系统所需的信息定期写在中间文件或数据表中,SAP系统读取该信息时与SAP系统中已有的信息进行分析比较,判断哪是新增的、哪是修改的、哪些删除了,最后把更新的信息写入SAP系统中:另一种是,外部系统在生成中间文件或数据表时,与SAP系统中己有的数据进行比较,判断哪些数据进行了更新,并将更新的数据写入中间文件或数据表。然后,SAP系统读取中间文件或数据表中的数据直接写入自己的数据库中。这种方式要求在外部系统写中间文件之前SAP系统将其数据库中的数据导出,以供外部系统进行比较用。
中间式接口是比较常用的一种方式,这种方式外部系统和SAP系统相对独立,接口不涉及双方内部的结构,而且接口的责任也很明确,数据的安全性也得到了保证。但这种方式存在的问题就是两个系统的数据同步性稍差一些,但只要合理地规定读写中间文件或数据表的时间,数据的同步性是不会影响使用的。
❷ sap可以直接连接postgresql数据库吗如何连接,求详细解答
SAP连接外部数据库通常是要在DBCO中进行外部数据源配置。
目前ECC6中可以配置数据源的数据库:SAP DB, DB2, Informix,MSSQL,Oracle.
至于PI好像是SAP中间件系统,具体不是很了解。
❸ abap接口方法有哪些
ABAP的一些特性。 1、ABAP/4 支持商业数据类型和操作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。 2、ABAP/4 报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。 3、ABAP/4 允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。 4、ABAP/4 包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。 5、ABAP/4 包含一个叫 Open SQL 的SQL子集。用Open SQL,您可以读取和访问数据库表,与所用的数据库系统无关。 6、ABAP/4将对话程序组织为包含对话模块的模块池。每个动态程序(由一个屏幕及其流逻辑组成的“动态程序”)都基于一个ABAP/4 对话程序。流逻辑包含对 ABAP/4对话模块的调用。 ABAP的一些优点。 1、ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。 2、ABAP/4具有事件驱动的特性。 3、ABAP/4和COBOL具有类似之处。 4、ABAP/4适合生成报表。 5、ABAP/4支持对数据库的操作。
❹ 如何从SAP中连接其他数据库
1. 工作环境需求
A. The operating system user <sid>adm must be able to log on to the secondary database.
B. The R/3 table DBCON must be maintained.
C. The correct database library 'dboraslib.<ext>' must exist in the kernel directory.
Connect to SQL Server database Prerequisite: At least one Windows application server must be available on the R/3 system and the DBSL dynamic library (DLL) dbmssslib.dll must be installed on this server. This dll can be downloaded from the SAP Service Marketplace.
dbmssslib.dll
2. 配置连接信息
配置TCODE: dbco
任何配置信息都存储在DBCON表中.
配置示例:
A. 访问MSSQL的配置示例(参见SAP Notes 178949)
CON_NAME: <my_conn_name>
DBMS: MSS
USER_NAME: <db_user>
PASSWORD: <password>
CON_ENV: MSSQL_SERVER=<server_name> MSSQL_DBNAME=<db_name>
db_user could be sapr3 for example if the server is running R/3. The password field may be blocked from view by asterisks in sm30. USER_NAME can be left blank in order to use integrated security (4.6d kernel and later). In that case make sure that the OS User running R/3 has the required privilege on the remote server. A mmy password must be entered in sm30, it will not be used when the user name is blank.
Specifying the server name
The server name is simply the name of the SQL Server or named instance i.e. the hostname (for a default instance), or <host>/<instname>
Starting with release 6.40 however there are some special considerations that should be taken into account. When running with kernel release 6.40 or later, the R/3 system will prepend a protocol specifier to the server name. Example:
1. For a server running on the same server:
np:<servername>
2. For a remote server:
tcp:<servername>
This forces the connection to be made with a named pipes and tcp/ip protocols respectively.
When specifying the server name you can override this by setting your own protocol (tcp: or np:), or you can make R/3 avoid setting any prefix by using simply :<servername> - a colon in front of the server name.
B. 访问ORACLE的配置示例()
Connection name logical name of the connection
DBMS ORA
User name Oracle users
DB password password for the above-mentioned Oracle user
Conn.info TNS alias
Permanent Usually should not be set for a secondary connection.
3. 程序中如何使用
例程一
report zdbcon .
data: dbn(128).
EXEC SQL.
CONNECT TO 'DAN1'
ENDEXEC.
EXEC SQL.
SET CONNECTION 'DAN1'
ENDEXEC.
EXEC SQL.
SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
write: / 'current database name', dbn.
DAN1在DBCON表中配置
CON NAME DAN1
DBMS MSS
USER NAME iis_log
PASSWORD CON ENV
MSSQL_SERVER=tcp:###.###.###.### MSSQL_DBNAME=iislog
例程二
Here is an example for how to connect to another server with CON_NAME=BSK. The example assumes BSK is running R/3:
EXEC SQL.
CONNECT TO 'BSK'
ENDEXEC.
EXEC SQL.
SET CONNECTION 'BSK'
ENDEXEC.
EXEC SQL.
SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
WRITE: / 'current database name', DBN.
EXEC SQL.
SET CONNECTION DEFAULT
ENDEXEC.
EXEC SQL.
SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
WRITE: / 'current database name', DBN.
❺ 如何在ABAP里操作别的数据库,如SQL Server拜托各位大神
Connection
name:test
DBMS
?
?
?
?
?
:INF
User
name
?
?
?:studyerp
DB
Password
?
?:studyerp/studyerp
Conn.
info
?
?
:Don't
Know
how
to
write
Reconnect
type
:(Not
selected/Selected)
这里配置好后,据说还需要在两个DB之间建立信任关系。不同的数据库不知道是否可以,我们公
司同一数据库就是通过建立不同数据库之间的信任关系来直接将数据相互传输的。
查看原帖>>
希望采纳
❻ ABAP如何去实现连接到外部的SQL SERVER
这个可以到SAP德帮助网站获得帮助文档,大约有4个,不过访问需要用户和密码!!如果SAP数据库也是SQL,需要用DBCON创建一条记录建立与外部数据库的连接(需要BASIS人员来配置),然后用NATIVE SQL来获取数据,放到内表里,以后操作内表就可以了!如果数据库不同,需要到向SAP顾问所要一些组建,很麻烦的!!
❼ 怎样直接连接SAP数据库
必须要通过接口的方式。以VB为例,假如要读取库存数据,你可以通过BAPI的方式。以下代码供你参考
'Set gboSAPusr = goBapiCtrl.GetSAPObject("Material", Name;"PLANT",plant;"STGE_LOC", STGE_LOC; "UNIT",unit)
gboSAPusr.AVAILABILITY Return:=oReturn, MaterialGeneralData:=oMaterialData
GetSAPStock = oMaterialData.Value("WKBST")
❽ 内表怎么和数据库连接
内表就是一块内存.
ABAP中可以把SAP管理的数据库的数据抓到你自己建的内表中.
如果要在外部数据库抓数据库到sap的内表中,要做接口程序实现.
❾ 在ABAP中如何使用native sql连接外部数据库
nt系统,后台数据库是oracle,访问外部数据比较容易,需要在sap网站上下载关于数据库的dll文 件,放到它制定的目录下,然后就可以做数据库连接了,然后就可用natvie sql了。 至于linux系统+后台是oracle,访问外部数据库现在我还没有在sap的网站上找到直接访问外部 sql server的直接方法。 ? ABAP可以通过OLE来实现对外部SQL的访问,但是可惜的是,只能前台运行,不能跑后台。不知 道哪位有跑后台的例子。通过DBCO配置DBCON表,然后在ABAP里面写native SQL来实现数据库连接 可以跑后台吗?在这里看到几个好帖,是介绍通过配置DBCON表的,但是现状是UNIX+ORACLE的后 台数据库,第一步,非要在服务器段做ORACLE和外部SQL的连接之后,才能配置DBCON,然后再调 用本地SQL吗?这个问题瞒烦的。能不能直接配一下DBCON,然后调用native SQL就OK了?!
❿ help:有没有好方法在ABAP中读取外部数据库,如SQLSERVER等
有! 首先在SAP APPLICATION SERVER端建立与数据库的通信,如安装相应的客户端程序及联接别名; 再用SM30维护DBCON表,输入数据库联接信息; 最后就可以在程序中用NATIVE SQL语句对数据库操作了。