




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、作為目前ERP市場(chǎng)上最為領(lǐng)先的應(yīng)用系統(tǒng)之一,一直以來,SAP R/3在提供API應(yīng)用編程接口和接口工具方面也同樣領(lǐng)先于其它ERP廠商。ALE/IDocs是SAP公司為版本所提供的接口機(jī)制,目前應(yīng)用最為廣泛。在以后的版本中,又添加了技術(shù)上先進(jìn)的BAPI。本文作為系列介紹之一,對(duì)ALE/IDocs, BAPI以及其它可用的整合方式進(jìn)行介紹。1、ALE/IDocs是什么? ALE 是Application Link and Enabling的縮寫,是SAP專門為SAP與SAP之間所設(shè)計(jì)的整合中間件。IDocs是中介文本 (Intermediate DOCument) 的縮寫,是SAP提供的系統(tǒng)整合專
2、用的數(shù)據(jù)/消息格式。ALE在版本開始就作為SAP整個(gè)應(yīng)用體系的一部分,為分布式數(shù)據(jù)交換提供了可靠安全的通訊機(jī)制。ALE的設(shè)計(jì),原本作為兩個(gè)SAP流程之間的一種消息傳遞服務(wù)(Messaging Service) ,使SAP與SAP的業(yè)務(wù)流程之間企業(yè)數(shù)據(jù)能夠有效的交換,為兩個(gè)獨(dú)立的SAP之間提供了的系統(tǒng)整合服務(wù)。不過,隨著應(yīng)用的發(fā)展,ALE/IDocs接口機(jī)制也已然成為與其它非SAP系統(tǒng)的標(biāo)準(zhǔn)的整合方式。 ALE的設(shè)計(jì)結(jié)構(gòu)可以分為三層,即應(yīng)用層,數(shù)據(jù)/消息分配層和通訊層。通訊層是SAP整合機(jī)制的基礎(chǔ),它利用遠(yuǎn)程功能呼叫RFC(Remote Function Call) 調(diào)用SAP系統(tǒng)的功能模塊。數(shù)
3、據(jù)/消息分配層,主要提供三個(gè)關(guān)鍵服務(wù):按數(shù)據(jù)分配模型決定數(shù)據(jù)接收者。消息的過濾和轉(zhuǎn)換。數(shù)據(jù)/消息的壓縮,以提高傳遞效率。應(yīng)用層直接與SAP系統(tǒng)接口,生成或從其它系統(tǒng)接收含有路由信息的消息文本IDocs,包括消息接收者的姓名,要求發(fā)送的類型以及對(duì)消息進(jìn)行處理的規(guī)則。ALE的機(jī)制代替了原來的SAP所提供的批數(shù)據(jù)通訊BDC(Batch Data Communication) 方式。顧名思義,BDC為系統(tǒng)之間提供了簡(jiǎn)單的數(shù)據(jù)批處理服務(wù),還不能作為一種中間件技術(shù),它沒有提供系統(tǒng)之間進(jìn)行無縫整合所要求的糾錯(cuò)功能、系統(tǒng)管理和其它安全措施。總得說來,應(yīng)用SAP的ALE機(jī)制進(jìn)行SAP與SAP或非SAP系統(tǒng)整合有
4、以下幾個(gè)好處:ALE技術(shù)不受SAP版本升級(jí)的影響,它提供了版本向后兼容性。ALE定義于SAP應(yīng)用層,與SAP的邏輯層相對(duì)獨(dú)立,整個(gè)ALE中間件獨(dú)立于發(fā)送和接收系統(tǒng)。ALE消息設(shè)計(jì)邏輯保證消息的“一次且只有一次”的消息傳遞。ALE采用“存儲(chǔ)-發(fā)送”技術(shù)確保消息即使系統(tǒng)發(fā)生故障或接收方?jīng)]有準(zhǔn)備接收時(shí)也可以達(dá)到目的地。這樣就保證接收方不至于收到重復(fù)消息。ALE也提供了IDocs管理功能。主要有文本縮減、文本版本控制以及文本數(shù)據(jù)過濾。三種控制機(jī)制使得SAP開發(fā)人員可以根據(jù)實(shí)際需要對(duì)IDocs文本在運(yùn)行中進(jìn)行動(dòng)態(tài)處理。ALE提供了系統(tǒng)管理功能,允許對(duì)ALE系統(tǒng)進(jìn)行啟動(dòng)/復(fù)位/恢復(fù)等系統(tǒng)操作,為開發(fā)人員提
5、供了進(jìn)一步的管理控制。 IDoc 幾乎可以傳帶任何SAP應(yīng)用的數(shù)據(jù),是一種“外圍”定義格式,與SAP的應(yīng)用數(shù)據(jù)定義不直接相關(guān)。IDocs已經(jīng)廣泛應(yīng)用于早期的SAP-EDI的數(shù)據(jù)交換,因而它的設(shè)計(jì)有點(diǎn)類似于EDI的標(biāo)準(zhǔn),即EDIFACT標(biāo)準(zhǔn)。 IDocs是以字符基礎(chǔ)的,因而是可讀的。它有三種紀(jì)錄類型,即:控制紀(jì)錄-含文本信息,如IDoc類型,發(fā)送/接收方信息以及文本標(biāo)識(shí)。數(shù)據(jù)紀(jì)錄-含管理和實(shí)際數(shù)據(jù)部分。狀態(tài)紀(jì)錄-用來追蹤文本傳遞各點(diǎn)的狀態(tài),如狀態(tài)碼,系統(tǒng)時(shí)間,錯(cuò)誤標(biāo)識(shí)等。3. WE21,選擇端口類型后點(diǎn)新建按鈕154. 配置分布模型和伙伴參數(shù)19RBDMIDOC 增量發(fā)送程序231.自建IDOC
6、類型首先創(chuàng)建用來記錄增量發(fā)送時(shí)間戮的自建表ZIDOC_LOG,結(jié)構(gòu)如下圖:通過自建表來記錄IDOC發(fā)送的時(shí)間戳,有一定的漏單危險(xiǎn),推薦每次取值設(shè)置的時(shí)間為當(dāng)前時(shí)間往前一段時(shí)間來避免因?yàn)?多次IDOC發(fā)送過程中遺漏的記錄。假如想統(tǒng)計(jì)或查詢已發(fā)記錄,可以通過自建表來保存已發(fā)送信息。WE31定義自定義段ZMKAL(用于自定義IDOC類型發(fā)布生產(chǎn)版本),開發(fā)完成后可設(shè)置批準(zhǔn),表示開發(fā)完成,如需修改則需要取消批準(zhǔn)ZMKAL_IDOC,將剛才定義的段ZMKAL掛在此類型下,開發(fā)完成后可設(shè)置版本,表示開發(fā)完成,如需修改則需要取消發(fā)布。1.4 WE81定義消息類型MKAL_IDOC。1.5WE82 把基本類型
7、ZMKAL_IDOC分配給消息類型MKAL_IDOC。1.6定義自定義IDOC類型所需的結(jié)構(gòu)ZMKAL_LINE。表結(jié)構(gòu),ZMKAL_TYP,對(duì)應(yīng)行類型結(jié)構(gòu)為ZMKAL_LINE1.7創(chuàng)建發(fā)送生產(chǎn)版本IDOC用的函數(shù):ZMKAL_IDOC_SEND,源代碼如下,參數(shù)、異常定義見函數(shù)開頭說明FUNCTION zmkal_idoc_send .*"-*"*"Local interface:*" TABLES*" ZMKAL
8、60;TYPE ZMKAL_TYP*" EXCEPTIONS*" NO_IDOC*" NO_MODEL*"-*variables of general interest DATA:*control record for the IDoc idoc_control
9、 LIKE edidc,*data records for the IDoc t_idoc_data LIKE edidd OCCURS 0 WITH HEADER LINE,*table for the IDocs created by MASTER_IDOC_CONTROL t_comm_control LIKE edidc OC
10、CURS 0 WITH HEADER LINE,*partner type for logical system c_partner_type_logical_system LIKE edidc-rcvprt,*help variable for the check if an IDoc has to be created h_create_i
11、doc.* variables specific for this example DATA:* field strings with IDoc segment structure e1xmkal TYPE zmkal_line,* &
12、#160; data to be put to the control record c_message_type LIKE edidc-mestyp VALUE 'ZMKAL_IDOC', c_base_idoc_type LIKE edid
13、c-idoctp VALUE 'ZMKAL_IDOC',* segment types to be put to the data record table c_header_segtyp LIKE edidd-segnam VALUE 'ZMKAL
14、'.* check if an IDoc has to be created, read the distribution model CALL FUNCTION 'ALE_MODEL_DETERMINE_IF_TO_SEND' EXPORTING
15、 message_type = c_message_type* SENDING_SYSTEM = ' '*
16、 RECEIVING_SYSTEM = ' '* VALIDDATE = SY-DATUM
17、160; IMPORTING idoc_must_be_sent = h_create_idoc.* exceptions* own_system_not_defined = 1*
18、160; others = 2. IF h_create_idoc IS INITIAL. raise no_model.* no messa
19、ge flow maintained in the model, nothing to do EXIT. ENDIF.* put the application header record to the IDoc LOOP AT zmkal. MOVE-CORRESPONDING
20、160;zmkal TO e1xmkal.* append record to IDoc data table t_idoc_data-segnam = c_header_segtyp. t_idoc_data-sdata = e1xmkal. APPEND t_idoc_data. ENDLOOP.
21、0; idoc_control-mestyp = c_message_type. idoc_control-idoctp = c_base_idoc_type. CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'* in update task "if application document is posted in
22、 update task EXPORTING master_idoc_control = idoc_control TAB
23、LES communication_idoc_control = t_comm_control master_idoc_data
24、 = t_idoc_data EXCEPTIONS error_in_idoc_control = 1
25、60; error_writing_idoc_status = 2 error_in_idoc_data = 3
26、0; sending_logical_system_unknown = 4 OTHERS
27、160; = 5.* A commit work has to be done. It could also be done in the calling* application. COMMIT WORK. READ TABLE t_comm_control INDEX 1.
28、IF sy-subrc <> 0. raise no_idoc.* no IDoc was created, you can react here, if neccessary ENDIF.ENDFUNCTION.1.8程序中通過自建時(shí)間戳表來抓取增量數(shù)據(jù),并調(diào)用函數(shù)zmkal_idoc_send。傳遞數(shù)據(jù)表,生成IDOC。ZE1PLPOL_TEXT(用于擴(kuò)展工藝路線IDOC基本類型,增加描述文本)創(chuàng)建擴(kuò)展類型ZLOIROU02銜接擴(kuò)展到基本類型LOIROU02選中段E1PLPOL,點(diǎn)擊新建,將之前創(chuàng)建的段類型擴(kuò)展至該段下。2.3 WE8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 注冊(cè)會(huì)計(jì)師學(xué)習(xí)方法分享試題及答案
- 銀行財(cái)務(wù)報(bào)表解讀技巧試題及答案2025年探討
- 項(xiàng)目管理師的職業(yè)道德與責(zé)任試題及答案
- 2024-2025學(xué)年甘肅省臨夏回族自治州臨夏中學(xué)高三沖刺模擬語文試卷含解析
- 四年級(jí)班主任德育工作總結(jié)(6篇)
- 小學(xué)教學(xué)總結(jié)范文匯編6篇
- 2025年證券從業(yè)資格證備考心理準(zhǔn)備試題及答案
- 學(xué)校政教工作總結(jié)(5篇)
- 關(guān)于二年級(jí)的語文教學(xué)總結(jié)(4篇)
- 公司美工年終總結(jié)(3篇)
- 河南省洛陽(yáng)市澗西區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期中考試數(shù)學(xué)試題
- 社會(huì)認(rèn)知理論發(fā)展
- 管道完整性管理培訓(xùn)
- 小學(xué)全體教師安全工作培訓(xùn)
- 19G522-1鋼筋桁架混凝土樓板圖集
- 律師事務(wù)所薪酬分配制度
- 馬克思主義誕生與傳播課件
- 2025年高考語文一輪復(fù)習(xí):文言斷句(新高考)
- 北師大版數(shù)學(xué)八年級(jí)下冊(cè)全冊(cè)教案及反思
- 幸福心理學(xué)智慧樹知到答案2024年浙江大學(xué)
- 五年級(jí)數(shù)學(xué)下冊(cè)期末測(cè)試卷及答案【可打印】
評(píng)論
0/150
提交評(píng)論