tRFC 作業的訊息結構描述
transactiostructnal Remote Function Calls (tRFC) 是用來在 LUW (工作單元中執行 RFC 呼叫) 。 SAP 配接器支援每個 LUW 的多個 TRFC 進行輸入 tRFC 呼叫。 針對輸出 (用戶端) tRFC 呼叫,介面卡只能在 LUW 中支援單一 tRFC;因此,它會在每個用戶端 tRFC 呼叫的 SAP 上建立 LUW。 如需 SAP 配接器如何支援 tRFC 作業的詳細資訊,請參閱 SAP 中 TRFC 上的作業。 本節說明 tRFC 作業的訊息架構和動作。
tRFC 作業的訊息結構
每個 tRFC 作業都包含要求訊息和回復 (回應) 訊息。 SAP 配接器會將 GUID 與 SAP 系統交易識別碼關聯 (TID) ,以識別 SAP 系統上的 LUW。 此 GUID 可以同時出現在 TransactionRfcOperationIdentifier > 元素中的 < tRFC 要求和回應訊息中。
針對輸出 tRFC 呼叫,您可以將 GUID 傳遞至 tRFC 要求訊息中的配接器。 如果您未提供 GUID,配接器就會為您產生一個。 配接器一律會傳回 tRFC 回應訊息中的 GUID。 您會在 RfcConfirmTransID 作業中傳遞此 GUID,以確認 SAP 系統上的 TID。
針對輸入 tRFC 呼叫,配接器會傳遞它產生的 GUID,並對應至 tRFC 要求訊息中的 SAP TID。 您可以選擇性地在回應訊息中傳回此 GUID。
重要
在某些情況下,例如,若要針對 SAP 系統上的問題進行疑難排解,您可能需要 SAP TID 的實際值來識別 SAP 系統上的 tRFC。 您可以呼叫 ConvertGuidToTid 方法來取得與 GUID 相關聯的 SAP TID 值。 如需 ConvertGuidToTid的詳細資訊,請參閱 特殊作業。
下表顯示用於 tRFC 作業和 RfcConfirmTransID 作業的訊息架構。 RfcConfirmTransID 作業是由介面卡呈現,因此您可以在用戶端 tRFC 呼叫中確認 SAP TID。
作業 | XML 結構 | Description |
---|---|---|
tRFC ([RFC_NAME]) |
<[RFC_NAME] xmlns="[VERSION]/Trfc/"> <IN1_PARAM_NAME>v1</IN1_PARAM_NAME> <IN2_PARAM_NAME>v2</IN2_PARAM_NAME> … <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME> <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME> … <TABLE1_PARAM_NAME xmlns="[VERSION]/Types/Trfc/"> <STRUCT1_PARAM_NAME> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </STRUCT1_PARAM_NAME> … </TABLE1_PARAM_NAME> … <TransactionalRfcOperationIdentifier>GUID </TransactionalRfcOperationIdentifier> </[RFC_NAME]> |
在 SAP 系統上叫用 tRFC。 - 支援匯入、變更和資料表參數。 - 匯入和變更參數可以是 SAP 結構類型、SAP TABLE TYPES 或 SAP 單一資料型別。 - tRFC 用戶端呼叫沒有在輸出端傳回的值。 SAP 會以非同步方式使用輸入端值來執行它們。 <TransactionalRfcOperationIdentifier > 元素: - 針對輸出 tRFC 呼叫,您可以選擇性地指定 GUID,該 GUID 應該由此元素中的配接器對應至 SAP TID。 如果未指定 GUID,SAP 配接器會產生一個,並將它對應至 tRFC 的 SAP TID。 - 針對輸入 tRFC 呼叫,配接器會傳遞對應至這個專案中 SAP TID 的 GUID。 |
tRFC 回應 ([RFC_NAME]回應) |
<[RFC_NAME]Response xmlns="[VERSION]/Trfc/"> <TransactionalRfcOperationIdentifier>GUID </TransactionalRfcOperationIdentifier> </[RFC_NAME]Response> |
表示 RFC 已傳送至 SAP 系統。 - tRFC 用戶端呼叫沒有在輸出端傳回的值。 SAP 會以非同步方式使用輸入端值來執行它們。 <TransactionalRfcOperationIdentifier > 元素: - 針對輸出 tRFC 呼叫,配接器會在此元素中傳送與 tRFC 之 SAP TID 相關聯的 GUID。 - 針對輸入 tRFC 呼叫,您可以選擇性地傳回要求訊息中配接器所傳送的 GUID。 |
RfcConfirmTransID (RfcConfirmTransID) |
<RfcConfirmTransID xmlns="[VERSION]/Trfc/"> <TransactionalRfcOperationIdentifier>GUID </TransactionalRfcOperationIdentifier> </RfcConfirmTransID> |
RfcConfirmTransID 作業會確認 SAP 系統上輸出 tRFC 作業中使用的 TID。 <TransactionalRfcOperationIdentifier > 元素包含對應至與輸出 tRFC 呼叫相關聯 TID 的 GUID。 您應該將此設定為 tRFC 回應訊息中配接器所傳回之 GUID 的值。 如需 RfcConfirmTransID 作業的詳細資訊,請參閱 特殊作業。 |
RfcConfirmTransIDResponse (RfcConfirmTransIDResponse) |
<RfcConfirmTransIDResponse xmlns="[VERSION]/Trfc/"> </RfcConfirmTransIDResponse> |
表示 SAP 配接器已在 SAP 系統上確認 TID。 |
[VERSION] = 訊息版本字串;例如, http://Microsoft.LobServices.Sap/2007/03
。
[RFC_NAME] = RFC 的名稱;例如,RFC_CUSTOMER_GET。
[IN_PARAM_NAME] = RFC Import 參數的名稱。
[INOUT_PARAM_NAME] = RFC Changing 參數的名稱。
[TABLE_PARAM_NAME] = RFC Table 參數的名稱。
[STRUCT_PARAM_NAME] = RFC 結構參數的名稱。
GUID = 識別與 tRFC 相關聯之 SAP TID 的 GUID。
tRFC 作業的訊息動作
下表顯示用於 tRFC 作業的訊息動作。
作業 | 郵件動作 | 範例 |
---|---|---|
[RFC_NAME] | [VERSION]/Trfc/[RFC_NAME] | http://Microsoft.LobServices.Sap/2007/03/Trfc/RFC_CUSTOMER_GET |
[RFC_NAME]回應 | [VERSION]/Trfc/[RFC_NAME]/response | http://Microsoft.LobServices.Sap/2007/03/Trfc/RFC_CUSTOMER_GET/response |
RfcConfirmTransID | [VERSION]/Trfc/RfcConfirmTransID | http://Microsoft.LobServices.Sap/2007/03/Trfc/RfcConfirmTransID |
RfcConfirmTransID 回應 | [VERSION/Trfc/RfcConfirmTransID/response | http://Microsoft.LobServices.Sap/2007/03/Trfc/RfcConfirmTransID/response |
[VERSION] = 訊息版本字串;例如, http://Microsoft.LobServices.Sap/2007/03
。
[RFC_NAME] = 要叫用的 RFC 名稱;例如,RFC_CUSTOMER_GET。