SAP PI系統(tǒng)集成ECC端通過監(jiān)控日志設(shè)計(jì)和實(shí)現(xiàn)方法_第1頁
SAP PI系統(tǒng)集成ECC端通過監(jiān)控日志設(shè)計(jì)和實(shí)現(xiàn)方法_第2頁
SAP PI系統(tǒng)集成ECC端通過監(jiān)控日志設(shè)計(jì)和實(shí)現(xiàn)方法_第3頁
SAP PI系統(tǒng)集成ECC端通過監(jiān)控日志設(shè)計(jì)和實(shí)現(xiàn)方法_第4頁
SAP PI系統(tǒng)集成ECC端通過監(jiān)控日志設(shè)計(jì)和實(shí)現(xiàn)方法_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1業(yè)務(wù)需求進(jìn)行接口項(xiàng)目開發(fā),必須涉及的一個(gè)問題是開發(fā)接口日志。雖然SAPPI和SAPECC系統(tǒng)提供了完善的接口日志機(jī)制,可以記錄所有發(fā)送和接收的同步和異步接口消息,但是為了能夠兼容所有的消息格式,SAP采用簇表方式記錄消息日志。因此,雖然可以通過日期和時(shí)間等信息檢索接口日志,但是不能對(duì)日志中的其它關(guān)鍵字進(jìn)行檢索,如接口傳輸?shù)挠唵尉幪?hào),公司代碼等。然而,如果全部采用定制開發(fā)日志表的方式記錄接口消息日志,既大大增加了接口項(xiàng)目的工作量,也無法有效的記錄所有接口消息內(nèi)容。例如,通過接口傳輸會(huì)計(jì)憑證內(nèi)容,需要在日志表中記錄傳入的憑證抬頭,行項(xiàng)目等內(nèi)容,附加字段,同時(shí)需要記錄接口的處理結(jié)果以及返回消息,這需要定制非常復(fù)雜的日志數(shù)據(jù)庫表結(jié)構(gòu)才能完成。接口日志實(shí)現(xiàn)這個(gè)問題困擾了我很長時(shí)間,不過一次和一個(gè)被超級(jí)復(fù)雜的零售業(yè)項(xiàng)目折磨了快一年的PI顧問聊天后,得到了這個(gè)思路,并根據(jù)這個(gè)思路實(shí)現(xiàn)了一個(gè)較為通用的PI接口日志的實(shí)現(xiàn)方式。思路不是原創(chuàng)。實(shí)現(xiàn)通用接口日志的基本思路是,結(jié)合SAP提供的標(biāo)準(zhǔn)日志功能,定制日志數(shù)據(jù)庫表用來存儲(chǔ)主要的檢索字段,如接口名稱,使用單位,日期,時(shí)間,處理狀態(tài),并保存一個(gè)指向SAP標(biāo)準(zhǔn)日志功能的鏈接。用戶通過定制的接口報(bào)表檢索接口日志,通過點(diǎn)擊鏈接,查看接口傳輸數(shù)據(jù)的詳細(xì)內(nèi)容。2日志使用方式用戶在選擇屏幕輸入檢索條件,查找接口日志.SAPP王系統(tǒng)可用性監(jiān)控程序選擇條件岌送系統(tǒng)名稱到岌送殽殽編號(hào) :1到發(fā)送系統(tǒng)日期2012/02/03到2012/02/04岌送系統(tǒng)時(shí)間15:00:00到16:00:00目標(biāo)系統(tǒng)名稱到目標(biāo)磊統(tǒng)至純漏號(hào)到目標(biāo)系統(tǒng)日期到目標(biāo)系統(tǒng)時(shí)間00:00:00到00:00:00狀態(tài)到接口日志表。用戶雙擊MessagelD,可以跳轉(zhuǎn)到SAPECC的標(biāo)準(zhǔn)接口日志.SAPP王養(yǎng)統(tǒng)可用性監(jiān)控程序氫站呂冢&aakh口七oSAPP王養(yǎng)統(tǒng)可用性監(jiān)控程序氫站呂冢&aakh口七o「岌送系統(tǒng)名稱—左送…岌送系統(tǒng)日期岌送系統(tǒng)…Lr3dev01r3dev01^3104—310雙擊Message!D.跳轉(zhuǎn)至1

SAPECG的標(biāo)準(zhǔn)接口三志F2&004A7CF04129E10080000A446M2012/02/03 15:18:502012/02/03 15:49:36 4F2B165960D0415AE10080000A44&^0AINTERFACEos_SAP_CheckMessage_SAPos_SAP_CheckMessage_SAPSAP標(biāo)準(zhǔn)日志界面,可以查詢接口消息的詳細(xì)內(nèi)容。阻輕ilOrignalMassgcMsgD-"溝ResponseMsgID-4F2AA574F2B0D4A7CFO^I12-5E100BO阻輕ilOrignalMassgcMsgD-"溝ResponseMsgID-4F2AA574F2B0D4A7CFO^I12-5E100BOOOO.M^l6A0A;▼31Xf^lLMessageMsgID=」<■inb&unJMessage(sencet7Gil[ntearationserver'、」mbcundMeEsaoe[recei▼C3SOAPHeader<?kitiIversiqW1 encdding='UTF-S"standalan^=''y&s'?一<--ZrtcundMessdQE-->-<soap;Envelopexmlns:soAP=nhttp:ffschemas.xinIsoap.or^/soap/envelo|xrnlns;SAP=nhttp://snp.c€im/M/XI/Ne55age/30,>-<SOAP:Headsr>-<5AP:MainI xrnlng:SAP=nhtt[):"M[[>.c:t>n#xiFXI/MBMsac]Qfgo"30AvlErkionruxw:DDUISAl?[ASCIrOArE11E<?xmlversion^!Bonencoding^utf-a"?>-<nD:MT_SAP_checkMessage_SAP_Requestxmlns;riorumMainRAliblaM@^gingHopLiEtRunTimeParfomnanceHssdcDiagnosticSystemTra匸e▼巳SOAPBody?目ManiFest+回+回+1=1+1=1+國*國亠目*目DisplayXMLMessageVersions君|卸window1^wndow2E^wind&w1固⑴iiidow2呂固盤3OutboundInterface接口實(shí)現(xiàn)方式取ECC外發(fā)proxy接口的MessageID和接口Interface名稱.1.1.1函數(shù)聲明DATA:G_LO_SYS_EXCEPTIONTYPEREFTOCX_AI_SYSTEM_FAULT.”異常變量定義DATA:WA_ZCHECK_MESSAGETYPEZCHECK_MESSAGE.”日志表工作區(qū)DATA:G_MESSAGE_PROTOCOLTYPEREFTOIF_WSPROTOCOL_MESSAGE_ID.”MessageProtocol用來取MessageIDDATAG_MESSAGE_IDTYPESXMSGUID.”MessageID,指向SAP標(biāo)準(zhǔn)日志程序的鏈接DATA:G_HEADER_PROTOCOLTYPEREFTOIF_WSPROTOCOL_XI_HEADER.”HeaderProtocol,用來取MessageInterfaceDATA:G_INTERFACETYPERM_OIFNAME.“MessageInterface,接口名稱1.1.2接口取數(shù)邏輯TRY.*創(chuàng)建OutboundPROXYInterface對(duì)象CREATEOBJECTG_ZCO_OS_SAP_CHECK_MESSAGE_SAP.“OutboundProxyInterface對(duì)象*得到Protocol,用于取MessagelD和InterfaceG_HEADER_PROTOCOL?=G_ZCO_OS_SAP_CHECK_MESSAGE_SAP->GET_PROTOCOL(IF_WSPROTOCOL=>XI_HEADER).“取HeaderProtocolG_MESSAGE_PROTOCOL?=G_ZCO_OS_SAP_CHECK_MESSAGE_SAP->GET_PROTOCOL(IF_WSPROTOCOL=>MESSAGE_ID).“取MessageProtocol調(diào)用Outbound接口發(fā)送數(shù)據(jù)CALLMETHODG_ZCO_OS_SAP_CHECK_MESSAGE_SAP->OS_SAP_CHECK_MESSAGE_SAPEXPORTINGOUTPUT=OUTPUTIMPORTINGINPUT=INPUT.COMMITWORK.取MessageID和InterfaceG_MESSAGE_ID=G_MESSAGE_PROTOCOL->GET_MESSAGE_ID().“取MessageIDG_INTERFACE=G_HEADER_PROTOCOL->GET_HEADER_FIELD(IF_WSPROTOCOL_XI_HEADER=>INTERFACE).“取Interface異常捕獲CATCHCX_AI_SYSTEM_FAULTINTOG_LO_SYS_EXCEPTION.FLAG=1.PERFORMSAVE_INFOUSINGTG_LO_SYS_EXCEPTION->ERRORTEXT.EXIT.ENDTRY.1.1.3保存日志W(wǎng)A_ZCHECK_MESSAGE-MESSAGE_ID=G_MESSAGE_ID.“MessageIDWA_ZCHECK_MESSAGE-INTERFACE=G_INTERFACE.“InterfaceMODIFYZCHECK_MESSAGEFROMWA_ZCHECK_MESSAGE.“保存日志表4InboundInterface接口實(shí)現(xiàn)方式取ECC通過proxy接收接口消息的MessageID和接口Interface名稱.以下代碼需要通過TCODE:SRPOXY在InboundPROXY中編寫.1.1.4函數(shù)聲明DATA:LO_SERVER_CONTEXTTYPEREFTOIF_WS_SERVER_CONTEXT.“ServerContext對(duì)象,用來取接口相關(guān)控制信息DATA:G_MESSAGE_PROTOCOLTYPEREFTOIF_WSPROTOCOL_MESSAGE_ID.“MessageProtocol用來去MessageIDDATAG_MESSAGE_IDTYPESXMSGUID.“MessageIDDATA:G_HEADER_PROTOCOLTYPEREFTOIF_WSPROTOCOL_XI_HEADER.“HeaderProtocol,用來去MessageInterfaceDATA:G_INTERFACETYPERM_OIFNAME. “MessageInterfaceDATA:WA_ZCHECK_MESSAGETYPEZCHECK_MESSAGE.“日志表工作區(qū)DATA:G_LO_SYS_EXCEPTIONTYPEREFTOCX_AI_SYSTEM_FAULT. “異常變量定義1.1.5接口取數(shù)邏輯TRY.取ServerContext對(duì)象LO_SERVER_CONTEXT=CL_PROXY_ACCESS=>GET_SERVER_CONTEXT().取MessageIDG_MESSAGE_PROTOCOL?=LO_SERVER_CONTEXT->GET_PROTOCOL(IF_WSPROTOCOL=>MESSAGE_ID).“取MessageProtocolG_MESSAGE_ID=G_MESSAGE_PROTOCOL->GET_MESSAGE_ID().“從MessageProtocol中獲得MessageID取MessageInterfaceG_HEADER_PROTOCOL?=LO_SERVER_CONTEXT->GET_PROTOCOL(IF_WSPROTOCOL=>XI_HEADER).“取HeaderProtocolG_INTERFACE=G_HEADER_PROTOCOL->GET_HEADER_FIELD(IF_WSPROTOCOL_XI_HEADER=>INTERFACE).“從HeaderProtocol中獲得Interface異常捕獲CATCHCX_AI_SYSTEM_FAULTINTOG_LO_SYS_EXCEPTION.EXIT.ENDTRY.1.1.6保存日志W(wǎng)A_ZCHECK_MESSAGE-MESSAGE_ID=G_MESSAGE_ID.“MessageIDWA_ZCHECK_MESSAGE-INTERFACE=G_INTERFACE.“InterfaceMODIFYZCHECK_MESSAGE1FROMWA_ZCHECK_MESSAGE.5日志報(bào)表(ALV)通過FM:SXMB_DISPLAY_MESSAGE_MONITOR顯示接口日志以下是日志報(bào)表的雙擊事件部分.FORMUSER_COMMANDUSINGR_UCOMMLIKESY-UCOMMRS_SELFIELDTYPESLIS_SELFIELD.DATA:SXMSMGUIDTYPE SXMSMGUID.“MessageIDDATA:WA_INFOLIKELINEOFGIT_INFO."日志表工作區(qū)CASER_UCOMM.WHEN‘DBCLK'.“當(dāng)用戶雙擊MessagelD,跳轉(zhuǎn)到PI標(biāo)準(zhǔn)接口日志中READTABLEGIT_INFOINTOWA_INFOINDEXRS_SELFIELD-TABINDEX.*雙擊Message,顯示接口日志IFRS_SELFIELD-FIELDNAME=‘MESSAGE_ID'.SXMSMGUID=WA_INFO-MESSAGE_ID.CALLFUNCTION‘SXMB_DISPLAY_MESSAGE_MONITOR'“ 調(diào)用FM,顯示接口日志的XML文件EXPORTINGIM_MESSAGE_ID=SXMSMGUID.“MessageIDIFSY-SUBRC<>0.ENDIF.ENDIF.ENDCASE.ENDFORM.參考文檔:/saphelp_nwpi71/helpdata/en/51/d5cd16235e4643ae8ec92395c4ad97/content.htm文章索引:1.1.7IDoc[SAPPI]ECC系統(tǒng)發(fā)送供應(yīng)商主數(shù)據(jù)(IDoc)到SAPPI系統(tǒng)的配置步驟⑴[SAPPI]ECC系統(tǒng)發(fā)送供應(yīng)商主數(shù)據(jù)(IDoc)到SAPPI系統(tǒng)的配置步驟(2)后臺(tái)作業(yè)[SAPPI1ECC系統(tǒng)發(fā)送供應(yīng)商主數(shù)據(jù)(IDoc)到SAPPI系統(tǒng)的配置步驟⑶PI接口配置[SAPPI1ECC系統(tǒng)發(fā)送IDoc成本中心主數(shù)據(jù)(COSMAS)到外圍系統(tǒng)的配置步驟[SAPPI]ECC系統(tǒng)發(fā)送IDoc內(nèi)部訂單主數(shù)據(jù)(InternaLOrder)到外圍系統(tǒng)的配置步驟[SAPPI]ECC系統(tǒng)發(fā)送IDoc工作分解結(jié)構(gòu)WBS(PROJECT)到外圍系統(tǒng)的配置步驟[SAPPI]ECC中的IDoc接口消息監(jiān)控方法WE02WE07WE09SAPPI系統(tǒng)發(fā)送IDoc到ECC系統(tǒng)的系統(tǒng)連接和權(quán)限配置SAPPI接口配置SAPPI中通過ContextObj

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論