❶ 如何實現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語句對資料庫操作了。