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

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論