下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、I:T HXTI 1訓(xùn)岡小削DOC H H T嚇rH丨卅UM疔回oa isstyni iwoact Wgie利環(huán)T!f;I WESJ tflDQC/ Mii;iL!T f- Jh” . WH? A4*gr4 Id詐7 yp Ifr IcrAjn訶】i.*勢Deine a VCcnrwlRH忖m忖*r日削BIi iDrlie ! Aod 1也眇4 RfC Sw niriBw vhcti程靜iT lnw 1 Plr!r( (EI :LIIHIhH* H二亠,N if二h*斗比陽1苗鬥和iV I&靜亡已肚*d Jjan占總llwUPT. Hd Mniivtu-ol Ihirdi*. IDMi
2、k wl a ipwn.IJg ue Muta r IM lildLAw.INihp SW瞬屜ELIDg n sig? n卻妙期110les1 DMn尸羊fipinflM刊Dt秤曹Mtwig尸畐nwvnflIIEIHE.I硏 girf nriqin$Br 0 f h drcK:町-gl MaM McPianpe曲I DM債5*Fi lx*! it 1EN- KM HE啊rrwwl Ki wenJUWHLlEfwrq”皿戶h第承Kl WMI j uie aider Bfttntdl euenMl:. Pt.AEEvll oak Hkt ei*MiiQitp. vLsci Rnkst n nnai
3、cffd Foorthir egrrerfsj fhaFiJ-er an口hprjr-jT|日 卄1gjp-npi; -ind尸財aoh nd畔.ii辰辰0幗FAiiiriF nlh審I M l腦!* vil池b wiry fllifer K ftu NaaTH tivr pihn| |15K IhH-t Th申巧弼呷禪徒ID埶出自 站靜14存亦丹匕 郢卻曙Il II igarijif ii Md iluiAMI DMTRH AtMflta IHH AMuart VM-宅nm Md pirM tMHM a OS3IMJ4 Ari Miyn ID:Rawsm4 oi dHi, wfe flit
4、wlfiwi liwpuem d iftt!Do: T pp. Thi 1口DC Mamlrind tor HUFRIM* nilw ckm桃桃i.min時iDOC%irAnuiBlaii gdt- W dp9#prc c1殆呂bqmgrilQniaf-.-nf Hfrf TMI- ftFliCF WM*t*g* Tfp* T4t -HABIAssig ning Message type to Idoc type: Tcode - we82ProcessThe two processes for IDoc are Outbo und Process and Inbound Process.Ou
5、tbo und ProcessWhe n the data is sent out from the system, the process is called Outbo und Processand the IDoc is known as Outbo und IDoc.Inbound ProcessWhe n the data is coming in, the process is called Inbound Process and the IDoc isknown as Inbound IDoc. Outbo und Process (Se nding System Steps :
6、1 Goto Tcode SALE:Creati ng the logical systemClick on Sending & Receiving Systems Selectlogical Systems-Here Define theLogical Systems Click on Execute Butt onGo for New En tries1 System Name : LOG1:Descriptio n: Sen di ng System2 System Name : LOG2:Descripti on: Receivi ng SystemPress Enter &a
7、mp; Save it will ask for Request if you want new request create newrequest or press con ti nue for tran sferri ng the objects.Assig ning Clie nt to the Logical System:Select Assig n Clie nt to Logical Systems -Clie nt : Sending SystemLogical System : LOG1and alsoClie nt : Recei ving SystemLogical Sy
8、stem : LOG2Save this Data.Step 2 For RFC Creatio n:Goto Tcode SM59 and Select R/3 Conn ectsClick on create Butt onRFC Destination Name should be same as partners logical system name and casesen sitive to create the ports automatically while gen erati ng the part ner profilesGive the in formatio n fo
9、r required fields:RFC Desti nation : LOG2Conn ecti on type : 3Target Host : System No : 00Clie nt : 210User : Log in user n amePassword :Save this & Test it and Remote Log inStep 3 Goto Tcode BD64:Click on the cha nge butt on Click on the create model view Short Text: model viewTech nical Name:
10、LMODSave this & press okSelect just created model viewName: LMODGoto add message typeModel Name : LMODSen der : L0G1Receiver : L0G2Message type: ZAZHARMESSSave and press En ter.4 Goto Tcode BD82:Give Model View : LMODPart ner system : LOG2Execute this by press ing F8It will gives you sending sys
11、tem port No: A00000000089 (Like5 Goto Tcode BD64:Select the model viewGoto Edit model view DistributePress ok & Press En ter.Run your ZprogramREPORT ZIDOC1 .DATA: Begi n of imara occurs 0,mat nr like mara-mat nr,mtart like mara-mtart,end of imara.DATA: wamas_c on LIKE edidc,imas_data LIKE edidd
12、OCCURS 0 WITH HEADER LINE,icom_co n LIKE edidc OCCURS 0 WITH HEADER LINE. PARAMETERS:e_mat nr LIKE mara-mat nr,e_msgtyp LIKE edidc-mestyp,e_rcvprn LIKE edidc-rcvpr n.* retrive app. data from DBSELECT mat nr mtart FROM mara INTO TABLE imara WHERE mat nr = e_mat nr.*Master idoc con trol recordwamas_c
13、on-rcvprt = LS.wamas_co n-rcvprn = e_rcvprn.wamas_co n-idoctp = ZAZHARIDOC.wamas_c on-mestyp = e_msgtyp.* master idoc data recordsLOOP AT imara.imas_data-seg nam = ZAZHARSEG.move imara to imas_data-sdata .APPEND imas_data.ENDLOOP.CALL FUNCTION MASTER_IDOC_DISTRIBUTE EXPORTINGmaster_idoc_c on trol =
14、wamas_c onTABLEScom muni cati on _idoc_c on trol = icom_c on master_idoc_data = imas_dataCOMMIT WORK.6 Verifyi ng Tran sfer of IDOCs Tcode - we05ALE/IDOC Status Codes (outbou nd:01 IDoc Added30 IDoc ready for dispatch29 Error in ALE service Layer12 Dispatch ok03 Data passed to port ok.Inbound Proces
15、s (Recei ving System Steps:Do the same step as you did in sending system Creati ng IDoc Defining the Segme nt Creati ng Message Type Assig ning the Message Type Defi ning the Logical System Assig ning the Logical System Creating the Distribution Model1 Goto Tcode - we57:Assig n fun ctio n module to
16、IDoc typeModule: Fun cti on moduleBasic type:Message type:Direct ion: 2 (inbound2 Creat ing Inbound process code - we423 Verify ing Idoc List Tcode - we054 ALE/IDOC Status Codes (In bou nd:50 IDoc Added51 Applicati on Docume nt not posted64 IDoc ready to be tran sferred to applicati on62 IDoc passed
17、 to applicatio n53 Applicati on Docume nt posted簡而言之,IDOC 是類似 XML 的一種 SAP 系統(tǒng)與其他系統(tǒng)的一種集成工具。假設(shè) I04 和 I02 是同一個集團下兩個不同子公司的 SAP 系統(tǒng),I04 需要將其采購 訂單信息及時發(fā)送給 I02。下面簡單介紹 IDOC 的設(shè)置步驟,為了避免混淆,我的命 名都比較特別。1, 設(shè)置 IDOC Type.(1 WE31,創(chuàng)建 segment 類似于創(chuàng)建 XML 的結(jié)點及結(jié)點屬性。這里先輸入YPOHEAD ,點擊創(chuàng)建,在接下來的屏幕中,錄入EBELN, BUKRS, BEDAT等字段及他們對應(yīng)的 d
18、ata element 接著創(chuàng)建 YPOITEM ,輸入 EBELN, EBELP, MATNR,MENGE, MEINS 等字段及他們對應(yīng)的 data element。保存后用 SE12 查看你將發(fā)現(xiàn),系統(tǒng)自動添加了 YPOHEAD 和 YPOITEM 兩個 結(jié)構(gòu)每個字段都成了 CHAR 類型,長度就是 WE31 中的 EXPORT LENG。(2 WE30,創(chuàng)建 IDOC Type,定義結(jié)點間的相互邏輯關(guān)系.先輸入 YPOIDOC ,然后點擊創(chuàng)建,緊跟著點擊 create new 進入。在主界面中,先 點擊創(chuàng)建按鈕,將 YPOHEAD 添加,設(shè)置 Mandatory seg 打勾,min
19、= 1, max = 1,代表我們每個 IDOC僅包含一張采購訂 單。然后在 YPOHEAD 下添加 YPOITEM ,同樣的 Mandatory seg 打勾,min = 1, max = 99999.2, 創(chuàng)建 Message Type.(1 WE81,創(chuàng)建 Message Type.先切換到編輯狀態(tài),然后點擊 New Entries 輸入 YPO 即可。(2 WE82,關(guān)聯(lián) Message Type 和 IDOC Type.實例Outbo undIdoc-3 創(chuàng)建到 102 的端口 .首先確保系統(tǒng)內(nèi)已經(jīng)有到 102 的 R/3 Connection(SM59 ,如果沒有則先創(chuàng)建一個 名為
20、102001。接著 WE21 創(chuàng)建 Port,類型 TRANSACTIONAL RFC,名為 I02PORT , RFC desti nation則填寫 102001。4, SALE ,創(chuàng)建 Logical System.SALE, Sending and Recei ving Systems, Logical Systems, defi ne logical system新 增一個 logicalsystem 名為 I02LS ,這將作為下一步的 Partner。Define logical systems 下方,有 Assig n Clie nt to logical system,這里可
21、針對本系統(tǒng)(I04 定義 logical system,作為發(fā)送 IDOC 時的發(fā)送方標(biāo)識,我對 Client 001 的定義是 I04LS.5, WE20,定義我們的 Partner profile.在 PARTNER TYPE 為 logical system 下,創(chuàng)建一個 patner no 為 I02LS 的 partner ,type 填寫 LS。下面的 Permitted age nt 填寫 US(User, Age nt 為你自己的用戶名或某 basis 人員 用戶名。然后,點擊 outbound 下方的加號,創(chuàng)建一個 outbound parameterMessage Type
22、 為YPO , receiverport 為 I02PORT , output mode 選擇 tran sfer idoc immed., Basic Type 填寫YPOIDOC ,保存即可。6,編程發(fā)送 IDOC設(shè)置了這么多,真累啊,總算可以寫程序了,是不是很開心呢?程序的思路就是,把每個 IDOC 結(jié)點按字符串形式逐個添加,而字符串的添加次序自然也體現(xiàn)了 IDOC 結(jié)點間的 邏輯關(guān)系。代碼如下,DATA: ls_pohead TYPE ypohead,ls_poitem TYPE ypoitem,ls_edidc TYPE edidc,lt_edidc TYPE TABLE OF ed
23、idc,lt_edidd TYPE TABLE OF edidd WITH HEADER LINE.CLEAR ls_edidc.*系統(tǒng)根據(jù)下面 4 行即可與 WE20 設(shè)置關(guān)聯(lián)起來ls_edidc-mestyp = YPO. Message Typels_edidc-idoctp = YPOIDOC. IDOC Typels_edidc-rcvprn = I02LS. Part ner Number of Recipie ntls_edidc-rcvprt = LS. Part ner Type of Receiver*添加 IDOC 結(jié)點CLEAR lt_edidd.lt_edidd-se
24、g nam = YPOHEAD.結(jié)點名稱lt_edidd-dti nt2 = 0.CLEAR ls_pohead.Is_pohead-ebeln = 4001122334.Is_pohead-bukrs = 0400.Is_pohead-bedat = 20090630. It_edidd-sdata = ls_pohead 結(jié)點內(nèi)容 APPEND Itedidd. CLEAR lt edidd. lt edidd-segnam = YPOITEM. It edidd-dtint2 = 0. CLEAR ls_poitem.Is_poitem-ebeln = 4001122334. Is_po
25、item-ebelp = 0001. Is_poitem-mat nr =000000000000004527. Is_poitem-me nge = 3. Is_poitem-me ins = ST. It_edidd-sdata =ls_poitem. APPEND lt_edidd. CLEAR lt_edidd. It_edidd-seg nam = YPOITEM. It_edidd-dtint2 = 0. CLEAR ls_poitem. Is_poitem-ebeln = 4001122334. Is_poitem-ebelp =0002.Is_poitem-mat nr = 0
26、00000000000009289. Is_poitem-me nge = 5. Is_poitem- mei ns =M. It_edidd-sdata = ls_poitem. APPEND lt_edidd. CALL FUNCTIONMASTER_IDOC_DISTRIBUTE EXPORTING master_idoc_co ntrol = ls_edidc ExportTABLES com muni cati on _idoc_c on trol = lt_edidc Import master_idoc_data = lt_ediddExport EXCEPTIONS error
27、 in idoc control =1 error writing idoc status =2 error_in_idoc_data =3 sending。gical_system _unknown = 4 OTHERS = 5. IF sy-subrc 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msg no WITH sy-msgv1 sy-msgv2sy-msgv3 sy-msgv4. ELSE. COMMIT WORK. WRITE: Idoc sen t:. LOOP AT lt_edidcINTO ls_edidc. NEW-LIN
28、E. WRITE: Idoc number is, ls_edidc-doc num,; receiver part neris, ls_edidc-rcvpr n, ; sen der part ner,ls_edidc-s ndprn. ENDLOOP. ENDIF. 7,查看 IDOC.WE05 可以查看我們剛剛發(fā)送的 IDOC , BD87 還可對 IDOC 進行一些處理。-實例-Inbound Idoc 這 里將繼續(xù)沿用上篇文章的例子, 講述 I02對接收到的采購訂單信息進行的相關(guān)處 理。 1, 創(chuàng)建 IDOCType 和 Message Type.與上篇 Outbound Idoc
29、 中的前兩個步驟完 全一樣。2,創(chuàng)建一個function : Y_IDOC_PO_PROCESS.當(dāng) IDOC 設(shè)置完畢之 后, SAP 可以自動調(diào)用 該 FuntionModule 處理 IDOC。所以這個函數(shù)的接口都是規(guī) 范的。下面步驟中將介紹的 tcode:BD51中可以查詢到很多 Inbound Function,比 如 IDOC_INPUT_BBP_IV,可參照 創(chuàng)建我們的接口。 接下來就可以寫入 我們的代 碼,根據(jù) IDOC 內(nèi)容,創(chuàng)建相應(yīng)的銷售訂單。為了簡化,這里我們僅僅將其存到數(shù) 據(jù)庫表里面,請先創(chuàng)建兩個表 丫丫 02_POHEAD 和丫丫02_POITEM, 字段參考 WE3
30、1 中 的 YPOHEAD 和 YPOITEM。 然后 寫入下面代碼:DATA:lv_subrc LIKE sy-subrc, ls_chead TYPE ypohead, ls_citem TYPE ypoitem, ls_poheadTYPE y02_pohead, lt_poitem TYPE TABLE OF y02_poitem WITH HEADER LINE. CLEARidoc_c on trl. READ TABLE idoc_co ntrl INDEX 1. IF idoc_co ntrl-mestyp YPO. RAISEwrong_fun ction_called. E
31、NDIF. LOOP AT idoc_co ntrl. CLEAR: ls_pohead, lt_poitem.LOOP AT idoc_data WHERE doc num = idoc_c on trl-doc num. CASE idoc_data-seg nam.WHEN YPOHEAD. CLEAR: ls_chead, ls_pohead. ls_chead = idoc_data-sdata.MOVECORRESPONDING ls_chead TO ls_pohead. WHEN YPOITEM. CLEAR: ls_citem,lt_poitem. ls_citem = id
32、oc_data-sdata. MOVE-CORRESPONDING ls_citem TO lt_poitem.APPEND lt_poitem. WHEN OTHERS. ENDCASE. ENDLOOP. lv_subrc = 0. INSERTy02_pohead FROM ls_pohead. IF sy-subrc = 0. INSERT y02_poitem FROM TABLElt_poitem. lv_subrc = sy-subrc. ELSE.訂單號已經(jīng)存在 lv_subrc = sy-subrc. ENDIF. IFlv_subrc = 0. COMMIT WORK. C
33、LEAR idoc_status. idoc_status-doc num =idoc_contrl-docnum. idoc_status-status = 53. IDOC 處理成功 APPEND idoc_status.ELSE. ROLLBACK WORK. CLEAR idoc_status. idoc_status-docnum = idoc_c ontrl-doc num. idoc_status-status = 51. IDOC 不 成功 idoc_status-msgty = E. 錯誤信息idoc_status-msgid = YMSG. idoc_status-msgno = 001. APPEND idoc_status. ENDIF.ENDLOOP. 3, 在 BD51 中注冊我們的 Function Module.在編輯狀態(tài)下, 點 擊 New En tri
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年淄博道路貨運駕駛員從業(yè)資格證考試
- 專業(yè)健身教練服務(wù)合同協(xié)議書
- 2025年天津從業(yè)資格證模擬考試題貨運考題
- 籃球防守技巧
- 綠色金融支持新能源項目合作協(xié)議
- 小學(xué)生課本經(jīng)典故事
- 金融科技產(chǎn)品研發(fā)合作協(xié)議
- 醫(yī)療器械使用操作安全免責(zé)協(xié)議
- 辦公區(qū)域管理及辦公資源管理辦法
- 學(xué)前教育課程故事解構(gòu)
- 2025年云南昆明經(jīng)濟技術(shù)開發(fā)區(qū)投資開發(fā)(集團)有限公司招聘筆試參考題庫附帶答案詳解
- HSE基礎(chǔ)知識培訓(xùn)
- 社會單位消防安全知識考試題庫(濃縮500題)
- 企業(yè)地震應(yīng)急預(yù)案樣本(三篇)
- GB/T 5483-2024天然石膏
- 2024-2025學(xué)年三年級上冊數(shù)學(xué)蘇教版學(xué)考名師卷期末數(shù)學(xué)試卷
- 水生生物學(xué)智慧樹知到期末考試答案章節(jié)答案2024年寧波大學(xué)
- 提撈采油操作規(guī)程
- 初中英語語法課堂教學(xué)設(shè)計有效性的探討
- 《煤礦開采學(xué)》課程設(shè)計實例
- (完整版)todo,doingsth初中魔鬼訓(xùn)練帶答案
評論
0/150
提交評論