SAP中的ALE, IDOC
ALE技術:應用鏈接支持(Application Link Enabling 簡稱ALE),是一項用于創建和運行分布式應用的技術。ALE是SAP的專有技術。
ALE對象——ALE包含了可控的數據消息交換,可以確保松散耦合的應用程序之間的數據一致性。ALE由三層組成,應用服務、分發服務和通信服務。ALE的基本原理是提供一個分布式的并且完全整合的R/3系統。每一個應用都是自適應的。每一個自適應系統使用一種特定的方法實現數據冗余。因此數據必須是分布的、且同步的。
ALE通信圖
1,IDOC類型和消息類型的區別是什么?如何聯系IDOC類型和消息類型?
消息類型把意義賦予了IDOC,IDOC類型則將結構給予了IDOC。消息會在包含著不同消息類型的系統之間交換。消息類型依賴于包含的數據和涉及的處理過程,它決定了消息的技術結構和IDOC類型。IDOC類型標識了SAP用于解釋一個busness transaction的格式。
2,IDOC信息存儲在哪里?
|
表 |
描述 |
|
EDID4 |
存儲數據記錄 (version 4.6) |
|
EDIDC |
存儲IDOC的控制記錄信息 |
|
EDIDD |
數據段 (EDI中間文檔) |
|
EDIDS |
存儲IDOC的狀態 |
3,處理代碼是什么?處理代碼的類型是什么?
處理代碼是指一個可以幫助從/向IDOC讀寫數據的workflow或者是function module。處理代碼應用在ALE和EDI中,用以標識需要被調用以進行后續處理過程的function module或者API。進站和出站接口也使用處理代碼,但是用于不同的目的。出站處理代碼保存在表TEDE1中,而進站處理代碼保存在TEDE2中。
以下是處理代碼類型。
|
處理代碼 |
描述 |
|
Inbound Process Code |
This will Idoc and create corresponding application data |
|
Outbound Process Code |
讀取應用數據并放置到IDOC中 |
|
Status Proces Code |
處理IDOC被發送到其它系統時出現的錯誤 |
|
System Process Code |
創建工作條目,如果在IDOC/應用文檔處理中發生某些錯誤的情況下 |
4,如何處理IDOC?
你可以使用以下程序來處理IDOC:
RBDMANI2 : 手動重新處理IDOC
RBDMANIN : 發送狀態51的IDOC
RBDMOIND : 狀態03->12的出站IDOC
RSEOUT00 : 處理狀態30的IDOC
RBDAPP01 : 處理狀態64的IDOC
RBDAGAIN : 重新處理不正確的出站IDOC
RBDAGAI2 : 重新處理ALE輸入錯誤的IDOC
5,如何從發送系統追蹤接收系統的IDOC?
運行事務代碼BD87
在IDOC編號字段填入出站IDOC,然后運行。或者當你運行主數據事務比如說BD10的時候,記住開始時間和結束時間并且填到BD87的相應字段里面,并且給出消息類型和接收系統的名字,然后運行
選擇相應的消息類型,然后點擊追蹤IDOC按鈕
6,如何基于數據追蹤IDOC?
步驟:
運行事務代碼WE09
把消息類型名填入字段“邏輯消息”,比如,填上“DEBMAS”
現在我們要移動到“在數據記錄中的搜索標準”部分
在這部分我們要填入段的名字,即我們想要搜索的數據的段名,填入到“在段中搜索”中。比如,填上“EX - E1KNA1M”
在“在字段中搜索”字段中,我們要填入想要搜索的數據段的字段名,比如用“KUNNR”來搜索特定的客戶編碼對應的IDOC。
現在在字段“值”中我們要填入搜索值。比如,客戶編碼“100”。
我們現在要運行事務。
結果可以是單個IDOC或者多個IDOC的列表,這取決于輸入的搜索條件。
7,如何在同一個系統里面發送和接受IDOC?
創建一個虛擬的邏輯系統
新條目。前往事務代碼 SALE->基本設置->邏輯系統->新條目,輸入SYSID_CLNT,但是這個是虛擬的,所以使用SYSID的前兩個字符和前綴“D”,接著加上下劃線和客戶端號。(注:原文是SALE-> sending and Receiving Systems -> Logical Systems ,疑有誤)。
例如,如果ERP_100是R/3的邏輯系統,創建的虛擬系統名應該是ERD_100.
為源系統創建端口(ERP_100)
前往WE21并且選擇“事務性RFC”然后點擊創建按鈕。將端口命名為“SAP”并且把它和SYSID結合到一起,在我們的例子里應該是SAPERP。選擇合適的版本,輸入當前系統的RFC連接,在這個例子里是“ERP”。
在合作伙伴類型LS里創建合作伙伴配置:
接收端 ( Outbound to ) : 在合作伙伴類型LS,編號ERD_100中創建出站參數,給出消息類型,接收端名(即我們在第二步中創建的)。輸入基本類型。
發送端( Inbound From ): 在合作伙伴類型LS,編號ERD_100中創建入站參數,給出合適的消息類型和處理代碼。
現在創建單獨的程序來發送IDOC:
程序需要在某個點調用FM: MASTER_IDOC_DISTRIBUTE,這時需要傳遞如下的EDIDC結構:
i_edidc-mestyp = 消息類型.
i_edidc-idoctp = 基本類型.
i_edidc-rcvprt = 'LS'.
Concatenate 'SAP' sy-sysid into l_port.
i_edidc-rcvpor = l_port.
i_edidc-rcvprn = 'ERD_000'.
CONCATENATE sy-sysid '_' sy-mandt
INTO l_sndprn.
i_edidc-sndprn = l_sndprn.
i_edidc-sndprt = 'LS'.
i_edidc-sndpor = l_port.
觀察發送端口和接收端口,這是關鍵所在。出站IDOC通過名為ERP_100的發送者被發往端口SAPERP,接收者為ERD_100,接著入站IDOC也通過發送者ERP_100被發往相同的端口SAPERP,接收者仍是ERD_100.
8. 消息控制是什么?什么時候使用它?
消息控制是一種根據選擇條件和需求來輸出文檔的機制。該原理并非只應用在EDI和ALE中,也在其它的輸出媒介(比如:打印,傳真)中使用。消息控制會判斷文檔類型、時間、數量和媒介。NAST表存儲了輸出記錄。用于創建輸出消息的條件(選擇條件和需求)存儲在條件表里。搜索機制用于訪問隊列、輸出結果以及判斷應用文檔是否有資格被輸出。
一些有關消息控制的T-CODE:
|
事務代碼 |
描述 |
|
NACE |
條件記錄維護 |
|
VOK2 |
SD消息控制組件 |
|
VOK3 |
采購消息控制組件 |
|
VOFM |
關于需求、公式的配置 |
|
V/86 |
條件表字段目錄 |
|
WE15 |
IDOC測試:從消息控制出站測試 |
9,如何重新處理失敗的傳輸條目?
你可以使用程序RSARFCEX重處理失敗的傳輸條目。
10,可以在用哪個事務代碼在統一額地方找到出站和入站處理代碼?
WE64
本文鏈接:http://www.cnblogs.com/hhelibeb/p/6625534.html
英文原文:ALE, IDOC
IDOC的參考:
IDoc
IDoc Basics For Functional Consultants
總結
以上是生活随笔為你收集整理的SAP中的ALE, IDOC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下如何批量修改文件名
- 下一篇: Type TIMESTAMP(3) of