SAP系统与外部系统的三种接口形式
生活随笔
收集整理的這篇文章主要介紹了
SAP系统与外部系统的三种接口形式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SAP系統(tǒng)之所以能成為ERP產(chǎn)品的代名詞,不僅僅是因?yàn)镾AP系統(tǒng)己經(jīng)集成了當(dāng)今世界最強(qiáng)大的管理功能和最優(yōu)秀的業(yè)務(wù)流程,也是因?yàn)镾AP系統(tǒng)提供了一個(gè)功能較為完善的開放的開發(fā)平臺(tái),它提供的開發(fā)接口使得SAP系統(tǒng)能夠得以更廣泛的應(yīng)用,能更大程度上滿足不同企業(yè)的需求。
根據(jù)系統(tǒng)數(shù)據(jù)交換的方式以及讀寫數(shù)據(jù)的相對(duì)關(guān)系不同,可以將外部系統(tǒng)與SAP系統(tǒng)的接口形式分為:主動(dòng)式,被動(dòng)式和中間式,如下圖所示。
1、主動(dòng)式接口
即外部系統(tǒng)將SAP系統(tǒng)所需的信息直接寫入SAP系統(tǒng)的數(shù)據(jù)庫中。這種方式要求詳細(xì)了解SAP系統(tǒng)內(nèi)部的數(shù)據(jù)庫結(jié)構(gòu),并且SAP系統(tǒng)允許外部系統(tǒng)往里寫數(shù)據(jù)(即有寫的權(quán)限)。一般來說,主動(dòng)式接口形式需要對(duì)SAP系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)很清楚,對(duì)SAP系統(tǒng)錄入數(shù)據(jù)時(shí)需要進(jìn)行哪些數(shù)據(jù)校驗(yàn)也要很清楚,同時(shí)也要遵循SAP系統(tǒng)的數(shù)據(jù)校驗(yàn)規(guī)范,將其所需的物料信息、產(chǎn)品信息、加工信息等一一寫入SAP系統(tǒng)中,保證數(shù)據(jù)的準(zhǔn)確性和有效性。
采用主動(dòng)式接口形式的優(yōu)點(diǎn):外部系統(tǒng)與SAP系統(tǒng)中的信息同步性好。但在安全性方面存在一定問題,如出現(xiàn)寫數(shù)據(jù)沖突,即外部系統(tǒng)寫數(shù)據(jù)到SAP系統(tǒng)的同時(shí),SAP系統(tǒng)本身也在往數(shù)據(jù)庫中寫入數(shù)據(jù)。對(duì)于SAP系統(tǒng)建議一般不要采用此種方式。
2、被動(dòng)式接口
被動(dòng)式接口,即SAP系統(tǒng)從外部系統(tǒng)中讀取所需的數(shù)據(jù),將其寫入自已的數(shù)據(jù)庫中。對(duì)于被動(dòng)式又有兩種方式:全被動(dòng)式和半被動(dòng)式。
.全被動(dòng)式:外部系統(tǒng)完全公開其表達(dá)和存儲(chǔ)信息的數(shù)據(jù)庫結(jié)構(gòu),SAP系統(tǒng)讀取信息時(shí)自行判斷哪些信息是增加的,哪些是修改的,哪些己刪除了。
.半被動(dòng)式:外部系統(tǒng)除公開其數(shù)據(jù)庫結(jié)構(gòu)外,還提供一些握手信號(hào)單獨(dú)存入握手信號(hào)表中,握手信息說明哪些信息作了更新,這樣SAP系統(tǒng)在讀取外部系統(tǒng)中的信息(如某物料更改信息)時(shí),根據(jù)握手信號(hào)表來讀取外部系統(tǒng)中已經(jīng)發(fā)生更改的部分信息,不需要全部讀一遍,這樣可以提高接口處理的速度。
采用被動(dòng)式接口形式的優(yōu)點(diǎn):外部系統(tǒng)與SAP系統(tǒng)的同步性也做得比較好,安全性方面也比主動(dòng)式要好。但實(shí)現(xiàn)起來較為麻煩,需要有較強(qiáng)的SAP接口方面的知識(shí)。一般由專門的SAP實(shí)施顧問來完成這種開發(fā)。
3、中間式接口
中間式接口,即外部系統(tǒng)將SAP系統(tǒng)所需的信息生成中間文件或中間數(shù)據(jù)表,SAP系統(tǒng)直接讀取中間文件或?qū)⒅虚g表中的信息寫入數(shù)據(jù)庫中,這種方式要求對(duì)外部系統(tǒng)和SAP系統(tǒng)兩方都要做一些開發(fā)工作。
需要特別提出的是:采用中間式接口時(shí)必須時(shí)刻注意如何保證外部和SAP信息一致性。常用的有兩種方式:一種是由SAP系統(tǒng)來保證,即外部系統(tǒng)將SAP系統(tǒng)所需的信息定期寫在中間文件或數(shù)據(jù)表中,SAP系統(tǒng)讀取該信息時(shí)與SAP系統(tǒng)中已有的信息進(jìn)行分析比較,判斷哪是新增的、哪是修改的、哪些刪除了,最后把更新的信息寫入SAP系統(tǒng)中:另一種是,外部系統(tǒng)在生成中間文件或數(shù)據(jù)表時(shí),與SAP系統(tǒng)中己有的數(shù)據(jù)進(jìn)行比較,判斷哪些數(shù)據(jù)進(jìn)行了更新,并將更新的數(shù)據(jù)寫入中間文件或數(shù)據(jù)表。然后,SAP系統(tǒng)讀取中間文件或數(shù)據(jù)表中的數(shù)據(jù)直接寫入自己的數(shù)據(jù)庫中。這種方式要求在外部系統(tǒng)寫中間文件之前SAP系統(tǒng)將其數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出,以供外部系統(tǒng)進(jìn)行比較用。
中間式接口是比較常用的一種方式,這種方式外部系統(tǒng)和SAP系統(tǒng)相對(duì)獨(dú)立,接口不涉及雙方內(nèi)部的結(jié)構(gòu),而且接口的責(zé)任也很明確,數(shù)據(jù)的安全性也得到了保證。但這種方式存在的問題就是兩個(gè)系統(tǒng)的數(shù)據(jù)同步性稍差一些,但只要合理地規(guī)定讀寫中間文件或數(shù)據(jù)表的時(shí)間,數(shù)據(jù)的同步性是不會(huì)影響使用的。
sap用戶加密函數(shù)
??EXPORTING
????auth_method = 'P'
????userid??????= 'barry'
????password????= 'barry'
??EXCEPTIONS
????OTHERS??????= 25.
IF sy-subrc <> 0.
??WRITE 'Error!'.
ELSE.
??WRITE 'Correct!'.
ENDIF. 由于sap的維護(hù)費(fèi)用和sap系統(tǒng)內(nèi)用戶數(shù)量有關(guān),且比較貴, 所以考慮把系統(tǒng)用采用兩中方式1、下查詢外部系統(tǒng)用戶表(usr02)為了和SAP用戶表對(duì)應(yīng)好記命名,外部系統(tǒng)用戶查詢結(jié)果為空時(shí)調(diào)用RFC(ZUSR_LOGIN),設(shè)置返回值,根據(jù)返回值確定sap系統(tǒng)是否有此用戶,登錄密碼是否正確,JSP頁面再做相應(yīng)提示,密碼不正確,還是用戶名為空。
根據(jù)系統(tǒng)數(shù)據(jù)交換的方式以及讀寫數(shù)據(jù)的相對(duì)關(guān)系不同,可以將外部系統(tǒng)與SAP系統(tǒng)的接口形式分為:主動(dòng)式,被動(dòng)式和中間式,如下圖所示。
1、主動(dòng)式接口
即外部系統(tǒng)將SAP系統(tǒng)所需的信息直接寫入SAP系統(tǒng)的數(shù)據(jù)庫中。這種方式要求詳細(xì)了解SAP系統(tǒng)內(nèi)部的數(shù)據(jù)庫結(jié)構(gòu),并且SAP系統(tǒng)允許外部系統(tǒng)往里寫數(shù)據(jù)(即有寫的權(quán)限)。一般來說,主動(dòng)式接口形式需要對(duì)SAP系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)很清楚,對(duì)SAP系統(tǒng)錄入數(shù)據(jù)時(shí)需要進(jìn)行哪些數(shù)據(jù)校驗(yàn)也要很清楚,同時(shí)也要遵循SAP系統(tǒng)的數(shù)據(jù)校驗(yàn)規(guī)范,將其所需的物料信息、產(chǎn)品信息、加工信息等一一寫入SAP系統(tǒng)中,保證數(shù)據(jù)的準(zhǔn)確性和有效性。
采用主動(dòng)式接口形式的優(yōu)點(diǎn):外部系統(tǒng)與SAP系統(tǒng)中的信息同步性好。但在安全性方面存在一定問題,如出現(xiàn)寫數(shù)據(jù)沖突,即外部系統(tǒng)寫數(shù)據(jù)到SAP系統(tǒng)的同時(shí),SAP系統(tǒng)本身也在往數(shù)據(jù)庫中寫入數(shù)據(jù)。對(duì)于SAP系統(tǒng)建議一般不要采用此種方式。
2、被動(dòng)式接口
被動(dòng)式接口,即SAP系統(tǒng)從外部系統(tǒng)中讀取所需的數(shù)據(jù),將其寫入自已的數(shù)據(jù)庫中。對(duì)于被動(dòng)式又有兩種方式:全被動(dòng)式和半被動(dòng)式。
.全被動(dòng)式:外部系統(tǒng)完全公開其表達(dá)和存儲(chǔ)信息的數(shù)據(jù)庫結(jié)構(gòu),SAP系統(tǒng)讀取信息時(shí)自行判斷哪些信息是增加的,哪些是修改的,哪些己刪除了。
.半被動(dòng)式:外部系統(tǒng)除公開其數(shù)據(jù)庫結(jié)構(gòu)外,還提供一些握手信號(hào)單獨(dú)存入握手信號(hào)表中,握手信息說明哪些信息作了更新,這樣SAP系統(tǒng)在讀取外部系統(tǒng)中的信息(如某物料更改信息)時(shí),根據(jù)握手信號(hào)表來讀取外部系統(tǒng)中已經(jīng)發(fā)生更改的部分信息,不需要全部讀一遍,這樣可以提高接口處理的速度。
采用被動(dòng)式接口形式的優(yōu)點(diǎn):外部系統(tǒng)與SAP系統(tǒng)的同步性也做得比較好,安全性方面也比主動(dòng)式要好。但實(shí)現(xiàn)起來較為麻煩,需要有較強(qiáng)的SAP接口方面的知識(shí)。一般由專門的SAP實(shí)施顧問來完成這種開發(fā)。
3、中間式接口
中間式接口,即外部系統(tǒng)將SAP系統(tǒng)所需的信息生成中間文件或中間數(shù)據(jù)表,SAP系統(tǒng)直接讀取中間文件或?qū)⒅虚g表中的信息寫入數(shù)據(jù)庫中,這種方式要求對(duì)外部系統(tǒng)和SAP系統(tǒng)兩方都要做一些開發(fā)工作。
需要特別提出的是:采用中間式接口時(shí)必須時(shí)刻注意如何保證外部和SAP信息一致性。常用的有兩種方式:一種是由SAP系統(tǒng)來保證,即外部系統(tǒng)將SAP系統(tǒng)所需的信息定期寫在中間文件或數(shù)據(jù)表中,SAP系統(tǒng)讀取該信息時(shí)與SAP系統(tǒng)中已有的信息進(jìn)行分析比較,判斷哪是新增的、哪是修改的、哪些刪除了,最后把更新的信息寫入SAP系統(tǒng)中:另一種是,外部系統(tǒng)在生成中間文件或數(shù)據(jù)表時(shí),與SAP系統(tǒng)中己有的數(shù)據(jù)進(jìn)行比較,判斷哪些數(shù)據(jù)進(jìn)行了更新,并將更新的數(shù)據(jù)寫入中間文件或數(shù)據(jù)表。然后,SAP系統(tǒng)讀取中間文件或數(shù)據(jù)表中的數(shù)據(jù)直接寫入自己的數(shù)據(jù)庫中。這種方式要求在外部系統(tǒng)寫中間文件之前SAP系統(tǒng)將其數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出,以供外部系統(tǒng)進(jìn)行比較用。
中間式接口是比較常用的一種方式,這種方式外部系統(tǒng)和SAP系統(tǒng)相對(duì)獨(dú)立,接口不涉及雙方內(nèi)部的結(jié)構(gòu),而且接口的責(zé)任也很明確,數(shù)據(jù)的安全性也得到了保證。但這種方式存在的問題就是兩個(gè)系統(tǒng)的數(shù)據(jù)同步性稍差一些,但只要合理地規(guī)定讀寫中間文件或數(shù)據(jù)表的時(shí)間,數(shù)據(jù)的同步性是不會(huì)影響使用的。
sap用戶加密函數(shù)
REPORT??z_barry_user_pass.
TABLES: usr02,xu400 .
DATA: msgid LIKE sy-msgid,
??????msgno LIKE sy-msgno,
??????param.
??????
usr02-bname = 'BARRY'.
xu400-newcode = 'BARRY'.
CALL 'XXPASS'
??ID 'CODE' FIELD xu400-newcode
??ID 'CODX' FIELD usr02-bcode
??ID 'NAME' FIELD usr02-bname??
??ID 'VERS' FIELD usr02-codvn??
??ID 'MESG' FIELD msgno
??ID 'ARBG' FIELD msgid.
WRITE usr02-bcode .
友情提示:運(yùn)行CALL 'XXPASS'前最好跟Basis搞好關(guān)系,在你運(yùn)行后好讓他給你解除用戶鎖定,哈哈 ? ? 如果僅僅是驗(yàn)證密碼: CALL FUNCTION 'SUSR_CHECK_LOGON_DATA'??EXPORTING
????auth_method = 'P'
????userid??????= 'barry'
????password????= 'barry'
??EXCEPTIONS
????OTHERS??????= 25.
IF sy-subrc <> 0.
??WRITE 'Error!'.
ELSE.
??WRITE 'Correct!'.
ENDIF. 由于sap的維護(hù)費(fèi)用和sap系統(tǒng)內(nèi)用戶數(shù)量有關(guān),且比較貴, 所以考慮把系統(tǒng)用采用兩中方式1、下查詢外部系統(tǒng)用戶表(usr02)為了和SAP用戶表對(duì)應(yīng)好記命名,外部系統(tǒng)用戶查詢結(jié)果為空時(shí)調(diào)用RFC(ZUSR_LOGIN),設(shè)置返回值,根據(jù)返回值確定sap系統(tǒng)是否有此用戶,登錄密碼是否正確,JSP頁面再做相應(yīng)提示,密碼不正確,還是用戶名為空。
總結(jié)
以上是生活随笔為你收集整理的SAP系统与外部系统的三种接口形式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MuleESB开篇
- 下一篇: java信息管理系统总结_java实现科