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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM