共用方式為


SAP 中 TRFC 上的作業

交易式 RFC (tRFC) 是叫用為邏輯工作單元的一部分的 RFC (LUW) 。 在 SAP 系統上,LUW 包含完成商務或程式設計工作所需的所有步驟。 tRFC 代表叫用 RFC 的方式;這不是唯一的 SAP 成品。

您可以使用 Microsoft BizTalk Adapter for mySAP Business Suite 作為 tRFC 用戶端和 tRFC 伺服器。

  • 作為 tRFC 用戶端,配接器可讓您的應用程式在 SAP 系統上的 LUW 中叫用單一 RFC。 這可保證一次性執行 RFC。 這並不表示交易行為。

  • 作為 tRFC 伺服器,配接器可讓您在 LUW 內接收多個 RFC。 配接器支援交易式內容中的輸入 tRFC 呼叫;支援認可和回復行為。

tRFC 作業

tRFC 表示叫用 RFC 的方式;它不是個別的 SAP 成品。 因此,SAP 系統上的每個 RFC (,介面卡可以擷取中繼資料) 也會由 SAP 配接器呈現為 tRFC。 TRFC 會以 RFC 名稱呈現為 TRFC 中繼資料類別節點下的作業。 (當您使用 [新增配接器服務參考外掛程式] 或 [取用配接器服務增益集]。)

SAP 配接器支援下列 tRFC:

  • IMPORT 參數

  • CHANGING 參數 (僅支援 CHANGING 參數的輸入端)

注意

tRFC 會以非同步方式執行,因此不會傳回任何輸出值 (EXPORT 或 CHANGING 參數) 。

GUID 參數是由 tRFC 作業的配接器呈現。 此 GUID 是由配接器對應至與 tRFC 相關聯的 SAP 交易識別碼 (TID) 。 您可以使用此 GUID 參數來:

  • 在 tRFC 用戶端呼叫中確認 SAP 系統上的 tRFC。 您可以叫用 RfcConfirmTransId 作業來執行此動作。 這是配接器呈現的特殊作業,可確認 SAP 系統上的 TID。

  • 從 tRFC 用戶端和 tRFC 伺服器案例中的介面卡取得用於 tRFC 的實際 SAP TID。 您可以叫用 SAP 公用程式方法 ConvertGuidToTid 來執行此動作。

    如需這些作業的詳細資訊,請參閱 特殊作業。 如需介面卡用於 tRFC 之訊息結構和 SOAP 動作的詳細資訊,請參閱 tRFC 作業的訊息架構

叫用 SAP 系統中的交易式 RFC

一般而言,TRFC 可用來在單一 LUW 內執行一或多個 RFC 呼叫;不過,由於 SAP RFC SDK 的限制,SAP 介面卡僅支援每個 LUW 的單一 tRFC。 因此,介面卡會為每個 tRFC 建立 LUW (SAP TID) 。 針對這類用戶端,SAP 會將 LUW 定義為保證 RFC「一次性」執行的機制,並不表示認可和復原式交易。

下列步驟摘要說明使用 SAP 配接器在 RFC 用戶端呼叫中執行的工作。 其中有些步驟是由配接器用戶端執行,有些則由配接器執行。

  1. 配接器用戶端會傳送 tRFC 作業的要求訊息。 配接器用戶端可以選擇性地在此訊息中提供 GUID。

  2. SAP 配接器會接收要求訊息,並使用 RFC SDK 從 SAP 系統取得交易識別碼 (TID) 。 如果要求訊息包含 GUID,配接器會將此 GUID 對應至 SAP TID;否則,配接器會建立新的 GUID,並將其對應至 SAP TID

  3. 配接器會使用 TID 對 SAP 伺服器進行 tRFC 呼叫。 TID 的狀態會在 SAP 系統上標示為 FINISHED

  4. 配接器會傳回 GUID (,該 GUID 會對應至回應訊息中的 TID) 配接器用戶端。

  5. 配接器用戶端會在配接器上叫用 RfcConfirmTransID 作業,並在上一個步驟中傳回的 GUID。

  6. 配接器會使用 RfcConfirmTransID 要求訊息中的 GUID 來識別 SAP TID,並確認 SAP 系統上的 tRFC 呼叫。 這會導致 SAP 伺服器從其資料庫刪除 TID 專案。

注意

tRFC 用戶端呼叫不會傳回 EXPORT 或 CHANGING 參數。

如需下列詳細資訊︰

從 SAP 系統接收輸入交易式 RFC 呼叫

您可以使用配接器作為 tRFC 伺服器,從 SAP 接收 TRFC。 作為 tRFC 伺服器,當介面卡收到 tRFC 時,它會在您的應用程式上叫用對應的 tRFC 作業。 當配接器做為 tRFC 伺服器時,配接器支援下列功能:

TID 資料庫

當它作為 tRFC 伺服器時,配接器會使用SQL Server資料庫 TID 資料庫來管理從 SAP 系統收到的交易識別碼。 例如,它會使用 TID 資料庫來協助管理 SAP 系統的呼叫,以認可、復原及確認 TID。 配接器也會儲存它建立的 GUID,並將其與 TID 資料庫中的每個 SAP TID 產生關聯。

必要條件

若要讓配接器以 tRFC 伺服器的形式執行,您必須確定下列為 true:

  • RFC 必須在 SAP 系統上宣告。 因此配接器可以從 SAP 系統擷取描述 RFC 的中繼資料。 RFC 實際上是在您的應用程式中實作。

  • 介面卡必須在 SAP 閘道上向 RFC 目的地註冊。 註冊是以稱為程式識別碼的邏輯名稱為基礎。 您可以在連線 URI 中提供參數,以指定此註冊的程式識別碼、SAP 閘道和 SAP 伺服器。

  • TID 資料庫必須在 SQL Server中建立。 若要這樣做,您必須執行安裝程式所安裝的 SQL 腳本。 SQL 腳本通常會安裝在 < 安裝磁片磁碟機 > :\Program Files\Microsoft BizTalk 配接器套件上。 如需詳細資訊,請參閱 安裝 BizTalk 配接器套件

  • TidDatabaseConnectionString系結屬性必須設定為 TID 資料庫的 SQL 資料庫連接字串。 如需 TidDatabaseConnectionString 系結屬性的詳細資訊,請參閱 閱讀 BizTalk Adapter for mySAP Business Suite 系結屬性

注意

設定 TidDatabaseConnectionString 系結屬性會將介面卡設定為 tRFC 伺服器,而不是 RFC 伺服器。 如果 已設定 TidDatabaseConnectionString 系結屬性,而且您在連線 URI 中指定 RFC 目的地,配接器會作為來自 RFC 目的地的連入呼叫的 tRFC 伺服器。 如果未設定此系結屬性,配接器會作為 RFC 伺服器。

配接器如何處理輸入 RFC

下列步驟摘要說明使用 SAP 配接器進行 RFC 用戶端呼叫所執行的工作。 其中有些步驟是由配接器用戶端執行,有些則由配接器執行。

  1. SAP 系統會呼叫介面卡,以詢問是否已使用 TID。 配接器會傳回適當的 SAP 系統回應。 如果 TID 是新的,配接器會建立可認可的交易。 當 SAP 程式執行認可 (COMMIT WORK) 時,此交易會用來以交易方式將 TID 保存到 TID 資料庫。 它也會公開至處理輸入 TRFC 的應用程式程式碼。 此外,配接器會建立與 SAP TID 相關聯的 GUID。

  2. SAP 系統會將一或多個交易式 RFC 傳送至配接器。 針對每個 tRFC,配接器會在您的應用程式上叫用適當的 tRFC 作業。 配接器會將步驟 1 中建立的交易流向您的應用程式,以進行每個作業。 配接器會在作業的要求訊息中傳遞在步驟 1 中建立的 GUID。

  3. SAP 系統認可 LUW (COMMIT WORK) 。 配接器會嘗試認可與步驟 1 () 中所建立之 SAP TID 相關聯的交易。

    1. 如果在步驟 2 的任何呼叫期間,應用程式) 中止交易 (,則介面卡嘗試認可交易時會發生錯誤。 錯誤會傳回至 SAP。 移至步驟 4。

    2. 如果認可成功,TID 現在位於 TID 資料庫中。 移至步驟 5。

  4. 如果步驟 3 發生錯誤,或如果 SAP 回復 LUW (RESTART_OF_BACKGROUNDTASK) ,而不是認可,配接器會回復交易。 在此情況下,TID 永遠不會保存到 TID 資料庫。

  5. SAP 系統會確認 TID。 配接器會從 TID 資料庫移除 TID, (假設步驟 3 已順利完成,且 TID 存在於 TID 資料庫中。

注意

如果在 tRFC 伺服器作業期間嘗試連線到 TID 資料庫時發生錯誤,則錯誤碼表示 SAP 配接器未處理來自 SAP 的連入呼叫傳回至 SAP。

以 tRFC 伺服器的形式接收IDOC

您可以使用 SAP 配接器作為 RFC 伺服器或 tRFC 伺服器,從 SAP 系統接收IDOC。 不論是哪一種情況,您都必須設定 ReceiveIdocFormat 系結屬性,以指定配接器應該將 IDOC 資料發出至應用程式的格式。 如需使用配接器接收IDOC 的詳細資訊,請參閱 SAP 中的 IDOC 作業。 如需 SAP 配接器系結屬性的詳細資訊,請參閱 閱讀 BizTalk Adapter for mySAP Business Suite 系結屬性

特殊 tRFC 作業

SAP 配接器也可以在 SAP 系統上執行特定的 tRFC 作業。 其中一項作業是 RfcConfirmTransID。

  • RfcConfirmTransID。 您可以在 SAP 配接器上叫用這項作業,以確認對 SAP 伺服器進行的 tRFC 呼叫。 在介面卡用來將 IDOC 傳送至 SAP 伺服器作為 tRFC 的情況下,可能需要 RfcConfirmTransID。 使用 [新增配接器服務參考外掛程式] 和 [取用配接器服務增益集] 時,此作業可在 TRFC 節點下使用。

    如需 RfcConfirmTransID 作業之訊息結構和 SOAP 動作的詳細資訊,請參閱 tRFC 作業的訊息架構

另請參閱

使用配接器連線到 SAP 系統