IDOC配置手冊_第1頁
IDOC配置手冊_第2頁
IDOC配置手冊_第3頁
IDOC配置手冊_第4頁
IDOC配置手冊_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、作為目前ERP市場上最為領(lǐng)先的應(yīng)用系統(tǒng)之一,一直以來,SAP R/3在提供API應(yīng)用編程接口和接口工具方面也同樣領(lǐng)先于其它ERP廠商。ALE/IDocs是SAP公司為版本所提供的接口機制,目前應(yīng)用最為廣泛。在以后的版本中,又添加了技術(shù)上先進的BAPI。本文作為系列介紹之一,對ALE/IDocs, BAPI以及其它可用的整合方式進行介紹。1、ALE/IDocs是什么? ALE 是Application Link and Enabling的縮寫,是SAP專門為SAP與SAP之間所設(shè)計的整合中間件。IDocs是中介文本 (Intermediate DOCument) 的縮寫,是SAP提供的系統(tǒng)整合專

2、用的數(shù)據(jù)/消息格式。ALE在版本開始就作為SAP整個應(yīng)用體系的一部分,為分布式數(shù)據(jù)交換提供了可靠安全的通訊機制。ALE的設(shè)計,原本作為兩個SAP流程之間的一種消息傳遞服務(wù)(Messaging Service) ,使SAP與SAP的業(yè)務(wù)流程之間企業(yè)數(shù)據(jù)能夠有效的交換,為兩個獨立的SAP之間提供了的系統(tǒng)整合服務(wù)。不過,隨著應(yīng)用的發(fā)展,ALE/IDocs接口機制也已然成為與其它非SAP系統(tǒng)的標準的整合方式。 ALE的設(shè)計結(jié)構(gòu)可以分為三層,即應(yīng)用層,數(shù)據(jù)/消息分配層和通訊層。通訊層是SAP整合機制的基礎(chǔ),它利用遠程功能呼叫RFC(Remote Function Call) 調(diào)用SAP系統(tǒng)的功能模塊。數(shù)

3、據(jù)/消息分配層,主要提供三個關(guān)鍵服務(wù):按數(shù)據(jù)分配模型決定數(shù)據(jù)接收者。消息的過濾和轉(zhuǎn)換。數(shù)據(jù)/消息的壓縮,以提高傳遞效率。應(yīng)用層直接與SAP系統(tǒng)接口,生成或從其它系統(tǒng)接收含有路由信息的消息文本IDocs,包括消息接收者的姓名,要求發(fā)送的類型以及對消息進行處理的規(guī)則。ALE的機制代替了原來的SAP所提供的批數(shù)據(jù)通訊BDC(Batch Data Communication) 方式。顧名思義,BDC為系統(tǒng)之間提供了簡單的數(shù)據(jù)批處理服務(wù),還不能作為一種中間件技術(shù),它沒有提供系統(tǒng)之間進行無縫整合所要求的糾錯功能、系統(tǒng)管理和其它安全措施??偟谜f來,應(yīng)用SAP的ALE機制進行SAP與SAP或非SAP系統(tǒng)整合有

4、以下幾個好處:ALE技術(shù)不受SAP版本升級的影響,它提供了版本向后兼容性。ALE定義于SAP應(yīng)用層,與SAP的邏輯層相對獨立,整個ALE中間件獨立于發(fā)送和接收系統(tǒng)。ALE消息設(shè)計邏輯保證消息的“一次且只有一次”的消息傳遞。ALE采用“存儲-發(fā)送”技術(shù)確保消息即使系統(tǒng)發(fā)生故障或接收方?jīng)]有準備接收時也可以達到目的地。這樣就保證接收方不至于收到重復(fù)消息。ALE也提供了IDocs管理功能。主要有文本縮減、文本版本控制以及文本數(shù)據(jù)過濾。三種控制機制使得SAP開發(fā)人員可以根據(jù)實際需要對IDocs文本在運行中進行動態(tài)處理。ALE提供了系統(tǒng)管理功能,允許對ALE系統(tǒng)進行啟動/復(fù)位/恢復(fù)等系統(tǒng)操作,為開發(fā)人員提

5、供了進一步的管理控制。 IDoc 幾乎可以傳帶任何SAP應(yīng)用的數(shù)據(jù),是一種“外圍”定義格式,與SAP的應(yīng)用數(shù)據(jù)定義不直接相關(guān)。IDocs已經(jīng)廣泛應(yīng)用于早期的SAP-EDI的數(shù)據(jù)交換,因而它的設(shè)計有點類似于EDI的標準,即EDIFACT標準。 IDocs是以字符基礎(chǔ)的,因而是可讀的。它有三種紀錄類型,即:控制紀錄-含文本信息,如IDoc類型,發(fā)送/接收方信息以及文本標識。數(shù)據(jù)紀錄-含管理和實際數(shù)據(jù)部分。狀態(tài)紀錄-用來追蹤文本傳遞各點的狀態(tài),如狀態(tài)碼,系統(tǒng)時間,錯誤標識等。3. WE21,選擇端口類型后點新建按鈕154. 配置分布模型和伙伴參數(shù)19RBDMIDOC 增量發(fā)送程序231.自建IDOC

6、類型首先創(chuàng)建用來記錄增量發(fā)送時間戮的自建表ZIDOC_LOG,結(jié)構(gòu)如下圖:通過自建表來記錄IDOC發(fā)送的時間戳,有一定的漏單危險,推薦每次取值設(shè)置的時間為當前時間往前一段時間來避免因為 多次IDOC發(fā)送過程中遺漏的記錄。假如想統(tǒng)計或查詢已發(fā)記錄,可以通過自建表來保存已發(fā)送信息。WE31定義自定義段ZMKAL(用于自定義IDOC類型發(fā)布生產(chǎn)版本),開發(fā)完成后可設(shè)置批準,表示開發(fā)完成,如需修改則需要取消批準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,對應(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ù)據(jù),并調(diào)用函數(shù)zmkal_idoc_send。傳遞數(shù)據(jù)表,生成IDOC。ZE1PLPOL_TEXT(用于擴展工藝路線IDOC基本類型,增加描述文本)創(chuàng)建擴展類型ZLOIROU02銜接擴展到基本類型LOIROU02選中段E1PLPOL,點擊新建,將之前創(chuàng)建的段類型擴展至該段下。2.3 WE8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論