閱讀 BizTalk Adapter for mySAP Business Suite 系結屬性
Microsoft BizTalk Adapter for mySAP Business Suite 會呈現數個系結屬性,可讓您控制部分執行時間和設計階段行為。 本節說明這些系結屬性,並提供主題的連結,說明如何設定這些屬性。
SAP 配接器系結屬性
下表顯示依類別分組的 SAP 配接器系結屬性。 類別是指每個系結屬性出現在不同應用程式所呈現之對話方塊中的節點,以設定配接器 (SAPBinding) 。
CloseTimeout 系結屬性:指定 WCF 連線關閉逾時。 預設值是 1 分鐘。
- 類別:一般
- .NET 類型:System.DateTime
DataTypesBehavior 系結屬性:SAP 系統不會強制為 DATS、TIMS 和 NUMC 欄位指定正確的值。 因此,如果 DATS、TIMS 和 NUMC 欄位的 SAP 資料存放區中有不正確值,而且用戶端程式會嘗試使用 SAP 配接器讀取值,配接器會擲回例外狀況。
- 類別:一般
- .NET 類型:Microsoft.Adapters.SAP.SapDataTypesBehavior
SAP 系統有特殊值,代表沒有對等 .NET 類型的 DATS、TIMS 和 NUMC 欄位的最小值和最大值。 例如,DATS 欄位的最小值和最大值分別為 000000000 和 99999999,其中沒有相等的 .NET 類型 DateTime。 此外,將 DATS 欄位的最小值和最大值轉換為 DateTime.MinValue 和 DateTime.Max 值不可行,因為 DATS 欄位的最小值或最大值和 .NET DateTime 類型的最小值或最大值不相同。
若要讓配接器用戶端在 SAP 系統中遇到特殊值時控制配接器行為,您可以設定 DataTypesBehavior 系結屬性。 這是具有下列子屬性的複雜系結屬性:
DateTimeMaxToDats:指定配接器用戶端傳送 「9999-12-31T23:59.9999999」 值時,配接器應該遵循的行為來傳送 DATS 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果用戶端程式傳送 DateTime.MAX 值,配接器會擲回錯誤。
- < 值 >:當設定為此時,如果用戶端程式傳送 DateTime.MAX 值,配接器會將指定的值傳送至 SAP。 預設值為 99991231。
DateTimeMaxToTims:指定配接器用戶端傳送 「9999-12-31T23:59:59.99999999」 值時,介面卡應該遵循的行為來傳送 TIMS 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果用戶端程式傳送 DateTime.MAX 值,配接器會擲回錯誤。
- < 值 >:當設定為此時,如果用戶端程式傳送 DateTime.MAX 值,配接器會將指定的值傳送至 SAP。 預設值為 235959。
DateTimeMinToDats:指定配接器用戶端傳送值為 「0001-01-01T00:00:00」時,配接器應該遵循的行為來傳送 DATS 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果用戶端程式傳送 DateTime.MIN 值,配接器會擲回錯誤。
- < 值 >:當設定為此時,如果用戶端程式傳送 DateTime.MIN 值,配接器會將指定的值傳送至 SAP。 預設值為 00010101。
DateTimeMinToTims: 指定配接器在配接器用戶端傳送 DateTime.MIN 值時,應該遵循的行為來傳送 TIMS 值,也就是 「0001-01-01T00:00:00」。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果用戶端程式傳送 DateTime.MIN 值,配接器會擲回錯誤。
- < 值 >:當設定為此時,如果用戶端程式傳送 DateTime.MIN 值,配接器會將指定的值傳送至 SAP。 預設值為 000000。
DateTimeNullToDats: 指定配接器用戶端傳送 Null DateTime 值時,配接器應該遵循的行為來傳送 DATS 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果用戶端程式傳送 Null DateTime 值,配接器會擲回錯誤。
- SKIP (預設) :當設定為此時,配接器會略過欄位,而且如果用戶端程式傳送 Null DateTime 值,就不會將任何值傳送至 SAP。
- < VALUE >:當設定為此時,如果用戶端程式傳送 Null DateTime 值,配接器會將指定的值傳送至 SAP。
DateTimeNullToTims: 指定配接器用戶端傳送 Null DateTime 值時,配接器應該遵循的行為來傳送 TIMS 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果用戶端程式傳送 Null DateTime 值,配接器會擲回錯誤。
- SKIP (預設) :當設定為此時,配接器會略過欄位,而且如果用戶端程式傳送 Null DateTime 值,就不會將任何值傳送至 SAP。
- < VALUE >:當設定為此時,如果用戶端程式傳送 Null DateTime 值,配接器會將指定的值傳送至 SAP。
DatsMaxToDateTime: 指定配接器在接收 DATS 時,配接器應該遵循的行為來擷取 DateTime 值。從 SAP 99999999的 MAX 值。 您可以將此值設定為下列值:
- 錯誤 (預設) :當設定為此時,如果介面卡收到 DATS,就會擲回錯誤。SAP 的最大值。
- Null:當設定為此時,如果配接器收到 DATS,則會傳回 Null。SAP 的最大值。
- < 值 >:當設定為這個值時,配接器會以 XSD:DateTime 格式剖析指定的值,並將其傳回給用戶端程式。
DatsMinToDateTime: 指定配接器在接收 DATS 時,配接器應該遵循的行為來擷取 DateTime 值。MIN 值,也就是 SAP 的 00000000。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,配接器會在收到 DATS 時擲回錯誤。SAP 的 MIN 值。
- Null:當設定為此時,如果配接器收到 DATS,則會傳回 Null。SAP 的 MIN 值。
- < 值 >:當設定為這個值時,配接器會以 XSD:DateTime 格式剖析指定的值,並將其傳回給用戶端程式。
預設值為:
- BizTalk Server 2020 CU1 和更早版本:ERROR。
- BizTalk Server 2020 CU2 和更新版本:0001-01-01T00:00:00。
EmptyDatsToDateTime: 指定配接器在介面卡從 SAP 收到空的 DATS 值時,應該遵循的行為來擷取 DateTime 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果配接器收到 SAP 的空白 DATS 值,配接器會擲回錯誤。
- Null:當設定為此時,如果配接器從 SAP 收到空的 DATS 值,配接器會傳回 Null。
- < VALUE >。 當設定為此時,配接器會剖析 XSD:DateTime 格式的指定值,並將其傳回給用戶端程式。 預設值為 0001-01-01T00:00:00。
EmptyNumcToInt: 指定配接器在接收空白 NUMC 值時,配接器應該遵循的行為, (SAP 的所有空格) 擷取整數值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果配接器收到 SAP 的空白 NUMC 值,配接器就會擲回錯誤。
- Null:當設定為此時,如果配接器從 SAP 收到空的 NUMC 值,配接器會傳回 Null。
- < VALUE >。 當設定為此時,配接器會假設指定的值是有效的 Int32 或 Int64 值,並將它傳回給用戶端程式。 預設值為 0。
EmptyTimsToDateTime: 指定配接器在介面卡從 SAP 收到空的 TIMS 值時,應該遵循的行為來擷取 DateTime 值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果配接器收到 SAP 的空白 TIMS 值,配接器會擲回錯誤。
- Null:當設定為此時,如果配接器收到來自 SAP 的空白 TIMS 值,配接器會傳回 Null。
- < VALUE >。 當設定為此時,配接器會剖析 XSD:DateTime 格式的指定值,並將其傳回給用戶端程式。 預設值為 0001-01-01T00:00:00。
InvalidDatsToDateTime: 指定配接器在介面卡從 SAP 收到不正確 DATS 值時,應該遵循的行為來擷取 DateTime 值。 您可以將此值設定為下列值:
- 錯誤 (預設) :當設定為此時,如果介面卡從 SAP 收到不正確 DATS 值,則會擲回錯誤。
- Null:當設定為此時,如果配接器從 SAP 收到不正確 DATS 值,配接器會傳回 Null。
- < VALUE >。 當設定為此時,配接器會剖析 XSD:DateTime 格式的指定值,並將其傳回給用戶端程式。
InvalidNumcToInt: 指定配接器在介面卡從 SAP 收到無效 NUMC 值時,應該遵循的行為來擷取整數值。 您可以將此值設定為下列值:
- 錯誤:當設定為此時,如果介面卡從 SAP 收到不正確 NUMC 值,則會擲回錯誤。
- Null:當設定為此時,如果配接器收到來自 SAP 的無效 NUMC 值,配接器會傳回 Null。
- < VALUE >。 當設定為此時,配接器會假設指定的值是有效的 Int32 或 Int64 值,並將它傳回給用戶端程式。 預設值為 0。
TimsMaxToDateTime: 指定配接器在配接器收到 TIMS 時,應該遵循的行為來擷取 DateTime 值。SAP 的最大值。 您可以將此值設定為下列值:
- 錯誤 (預設) :當設定為此時,如果介面卡收到 TIMS,就會擲回錯誤。SAP 的最大值。
- Null:當設定為此時,如果配接器收到 TIMS,則會傳回 Null。SAP 的最大值。
- < VALUE >。 當設定為此時,配接器會剖析 XSD:DateTime 格式的指定值,並將其傳回給用戶端程式。
名稱 系結屬性:不支援。
- 類別:一般
- .NET 類型:字串
OpenTimeout 系結屬性:指定 WCF 連線開啟逾時。 預設值是 1 分鐘。
- 類別:一般
- .NET 類型:System.DateTime
ReceiveTimeout 系結屬性:指定 WCF 訊息接收逾時。 基本上,這表示配接器等候輸入訊息的時間上限。 預設值是 10 分鐘。
- 類別:一般
- .NET 類型:System.DateTime
針對接收IDOC 之類的輸入作業,建議將逾時設定為可能的最大值;是 24.20:31:23.6470000 (24 天) 。 搭配BizTalk Server使用配接器時,將逾時設定為大值並不會影響配接器的功能。
SendTimeout 系結屬性:指定 WCF 訊息傳送逾時。 預設值是 1 分鐘。
- 類別:一般
- .NET 類型:System.DateTime
EnableBizTalkCompatiblityMode 系結屬性:指定是否應該載入 BizTalk 分層通道繫結項目。 會載入 BizTalk 分層通道繫結項目,讓 BizTalk 交易流經 SAP 配接器至 SAP 系統。
- 類別:BizTalk
- .NET 類型:bool (System.Boolean)
您需要知道的事項:
- 將此設定為 true 以載入繫結項目。 否則,請將此設定為 false。
- 從 BizTalk Server 使用配接器時,您必須一律將 屬性設定為true。 從 Visual Studio 使用配接器時,您必須一律將 屬性設定為 false。
EnableBusinessObjects 系結屬性:這個屬性已被取代。 使用 [新增配接器服務參考外掛程式] 或 [取用配接器服務增益集] 流覽中繼資料時,配接器一律會顯示 BAPI 節點。 此行為與 BizTalk 配接器套件 1.0 版中的 EnableBusinessObjects 設定為 true 相同。
- 類別:Bapi
- .NET 類型:bool (System.Boolean)
EnableConnectionPooling 系 結屬性:指定是否啟用 SAP 配接器連線集區。 預設值為 true,指定已啟用連接集區。
- 類別:連線
- .NET 類型:bool (System.Boolean)
IdleConnectionTimeout 系結屬性:指定 SAP 配接器閒置連線逾時。 當集區中的連線閒置 (未使用的) 超過此逾時期間時,將會處置連線。 預設值是 15 分鐘。 閒置連線逾時僅適用于未使用之集區中的連線。 這不會影響作用中 (開啟) 連線,而連線可能正在等候資料。
- 類別:連線
- .NET 類型:System.DateTime
MaxConnectionsPerSystem 系結 屬性:指定 SAP 配接器連接集區中的連線數目上限。 預設值為 50。 MaxConnectionsPerSystem 是應用程式域內的靜態屬性。 這表示當您變更應用程式域中一個系結實例的 MaxConnectionsPerSystem 時,新值會套用至從該應用程式域內所有系結實例建立的所有物件。
- 類別:連線
- .NET 類型:int (System.Int32)
根據預設,SAP 用戶端程式庫 (librfc32u.dll) 最多支援 100 個 SAP 系統的連線。 如果您超過此數目的連線,SAP 配接器將會擲回例外狀況。 基於這個理由,您不應該將 MaxConnectionsPerSystem 設定為大於 SAP 用戶端程式庫所支援連線數目的值。 您可以藉由設定環境變數來增加 SAP 用戶端程式庫支援的連線數目,CPIC_MAX_CONV。 設定此變數之後,您必須重新開機電腦,變更才會生效。
RfcAllowStartProgram 系結屬性:指定 RFC 用戶端程式庫如有需要,RFC 用戶端程式庫可以啟動的外部程式。 例如,如果您要叫用會在執行配接器用戶端的電腦上叫用程式的內部調用 RFC,則必須為此系結屬性指定該程式的名稱。
- 類別:連線
- .NET 類型:字串
您需要知道的事項:
如果您要為此系結屬性指定多個程式,則必須以分號分隔它們。 例如,如果您想要指定
sapftp
和saphttp
程式,則必須將它們指定為sapftp;saphttp
。此外,請確定符合下列條件:
- RFC 所需的外部程式可在執行配接器用戶端的電腦上取得。
- 外部程式的位置會出現在執行配接器用戶端之電腦上的 PATH 變數中。
例如,BAPI_DOCUMENT_CHECKOUTVIEW2內部執行程式 。
sapftp
因此,叫用此 RFC 時,您必須將 RfcAllowStartProgram 系結屬性設定為sapftp
。 您也必須確定sapftp
程式可在本機使用,並將程式的位置sapftp
新增至執行配接器用戶端之電腦上的 PATH 變數。ConnectorType 系結屬性:選擇使用傳統 RFC 連線到 SAP,或使用 SAP Connector for .NET (NCo) 。
- 類別:ConnectorType
- .NET 類型:
EnablePerformanceCounters 系結屬性:指定是否要啟用 WCF LOB 配接器 SDK 效能計數器和 SAP 配接器 LOB 延遲效能計數器。 預設值為 false;效能計數器已停用。 LOB 延遲效能計數器會測量 SAP 配接器呼叫 SAP 系統所花費的總時間。
- 類別:診斷
- .NET 類型:bool (System.Boolean)
EnablePerformanceCounters 是應用程式域內的靜態屬性, (應用程式域) WCF LOB 配接器 SDK 效能計數器,但它是配接器 LOB 延遲效能計數器的實例屬性。 這表示變更應用程式域中系結實例的 EnablePerformanceCounters 將會:
- 針對從相同應用程式域內的所有系結實例建立的所有物件,啟用或停用 WCF LOB 配接器 SDK 效能計數器。
- 只有在進行變更之後,才針對從該系結實例建立的物件啟用或停用介面卡的 LOB 延遲效能計數器。
AutoConfirmSentIdocs 系結屬性:指定 SAP 配接器是否自動認可用於傳送 IDocs 的 TRFC 用戶端呼叫。 預設值為 false;自動認可已停用。 如果停用自動認可,用戶端應用程式必須叫用 RfcConfirmTransID 作業,明確地認可 tRFC 呼叫。 RfcConfirmTransID作業是由 SAP 配接器呈現的特殊作業。 當您使用 [新增配接器服務參考 Visual Studio 外掛程式] 或 [取用配接器服務 BizTalk 專案增益集] 時,它會出現在 TRFC 節點底下。
- 類別:Idoc
- .NET 類型:bool (System.Boolean)
PadReceivedIdocWithSpaces 系結屬性:指定 ReceiveIdoc 作業傳回的每一行是否以空格填補為正確的長度。 預設值為 false;行不會填補。
- 類別:Idoc
- .NET 類型:bool (System.Boolean)
EnableSafeTyping 系結屬性:啟用或停用安全輸入。 預設值為 false;安全輸入已停用。 此功能可控制配接器如何呈現特定 SAP 資料類型。 如需安全輸入的詳細資訊,請參閱 基本 SAP 資料類型。
- 類別:中繼資料
- .NET 類型:bool (System.Boolean)
FlatFileSegmentIndicator系結屬性:指定 appinfo > 標籤是否 < 應包含剖析一般檔案 IDocs 的區段類型或區段定義。 不過,請注意,XML 架構元素應該一律只包含區段定義名稱。
- 類別:中繼資料
- .NET 類型:列舉 Microsoft.Adapters.SAP.FlatFileSegmentIndicator
FlatFileSegmentIndicator屬性有兩個可能的值:
- SegmentDefinition (預設) 表示一般檔案應該包含 IDoc 中每個區段的區段定義。
- SegmentType 指出一般檔案應該包含 IDoc 中每個區段的區段類型。
GenerateFlatfileCompatibleIdocSchema 系結屬性:指定是否應該將一般檔案 < appinfo > 標籤新增至 IDoc 訊息架構。 BizTalk 一般檔案剖析器需要此專案。 預設值為 true,指定 < appinfo > 標記會新增至架構。
- 類別:中繼資料
- .NET 類型:bool (System.Boolean)
ReceiveIDocFormat 系結屬性:指定 SAP 配接器在輸入端將訊息分派給用戶端應用程式的 XML 格式, (SAP 到配接器) 。
- 類別:中繼資料
- .NET 類型:列舉 Microsoft.Adapters.SAP.IdocReceiveFormat
ReceiveIDocFormat屬性有三個可能的值:
- String 指定 IDoc 訊息應該以 WCF 訊息中的單一字串欄位表示。
- 具類型 (預設) 指定應該剖析 IDoc 訊息,並以強型別 WCF 訊息表示。
- Rfc 指定 SAP 配接器應該傳遞傳入 RFC 呼叫作為具有 RFC 參數的 WCF 訊息。
UseNCoConnectionPoolSettings 系結屬性:以更細微的細微性啟用 SAP .NET Connector (NCo) 連線集區參數的控制。 這個屬性會指出指派給 NCoPoolSize 和 MaxPoolWaitTime 的值是否應該覆寫介面卡根據 WCF 連接集區組態屬性所設定的預設值。 根據預設,它會設定為 false。 如果設定為 true,新的 SAP NCo 連線集區屬性會覆寫介面卡所設定的預設值,而IDLE_TIMEOUT和IDLE_CHECK_TIME NCo 用戶端參數將會設定為 IdleConnectionTimeout 值。
- 類別:SAP NCo 連線集區
- .NET 類型:bool (System.Boolean)
NCoPoolSize 系結屬性:對應至 SAP NCo 用戶端連線參數POOL_SIZE。 它代表保留在 NCo 連線集區中的 SAP NCo 連線數目上限。 根據預設,它會設定為與Connection類別中MaxConnectionsPerSystem屬性相同的值。
- 類別:SAP NCo 連線集區
- .NET 類型:int (System.Int32)
MaxPoolWaitTime 系結屬性:對應至MAX_POOL_WAIT_TIME SAP NCo 連接參數。 它代表 NCo 連線要求在達到尖峰連線限制之後等候的時間上限,以毫秒為單位。 根據預設,它會設定為 0 毫秒。
- 類別:SAP NCo 連線集區
- .NET 類型:int (System.Int32)
SncLibrary 系結屬性:指定電腦上的 SNC 程式庫位置。 如果 PATH 環境變數包含程式庫所在的目錄,您只需要提供程式庫的檔案名;否則您必須提供完整路徑。 SncLibrary系結屬性會顯示 SAP 連接屬性。 如需詳細資訊,請參閱 SAP 檔。
您必須在連線 URI 中設定 UseSnc 參數,才能啟用安全網路通訊 (SNC) 。 如需 SAP 連線 URI 的詳細資訊,請參閱 建立 SAP 系統連線 URI。
- 類別:SNC
- .NET 類型:字串
SncPartnerName 系結屬性:指定 SNC 夥伴名稱。 SncPartnerName系結屬性會顯示 SAP 連接屬性。 如需詳細資訊,請參閱 SAP 檔。
您必須在連線 URI 中設定 UseSnc 參數,才能啟用安全網路通訊 (SNC) 。 如需 SAP 連線 URI 的詳細資訊,請參閱 建立 SAP 系統連線 URI。
- 類別:SNC
- .NET 類型:字串
TidDatabaseConnectionString系結屬性:指定 SAP 配接器用來儲存交易識別碼 (TID) 之SQL Server資料庫的資料庫連接字串。 BizTalk 配接器套件安裝精靈會安裝一些 SQL 腳本,這些腳本必須由SQL Server系統管理員針對現有的資料庫執行,以建立配接器用來儲存 TID 的SQL Server物件,以啟用輸入交易式 RFC (tRFC) 伺服器呼叫。 如需 SQL 腳本的詳細資訊,請參閱安裝磁片磁碟機 > :\Program Files\Microsoft BizTalk Adapter Pack\Documents 提供的 < BizTalk 配接器套件安裝指南。
- 類別:TrfcServer
- .NET 類型:字串
您需要知道的內容:
- 您必須設定此屬性,才能啟用從 SAP 接收 IDocs 或 RFC 的輸入 tRFC 伺服器呼叫。 預設值為 null;tRFC 伺服器呼叫未啟用。
- 您可以使用下列格式指定連接字串:
Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;
- 若要指定連接字串,請按一下系結屬性的省略號按鈕 (...) ,然後輸入必要連接字串屬性的值。
AcceptCredentialsInUri 系結屬性:指定 SAP 連線 URI 是否可以包含 SAP 系統的使用者認證。 預設值為 false,這會停用連線 URI 中的使用者認證。 如果 AcceptCredentialsInUri 為 false ,且 SAP 連線 URI 包含使用者認證,SAP 配接器會擲回例外狀況。 如果您必須在 URI 中指定認證,您可以將 AcceptCredentialsInUri 設定為 true 。 如需詳細資訊,請參閱 建立 SAP 系統連線 URI。
- 類別:[取用配接器服務增益集] 或 [新增配接器服務參考外掛程式] 未顯示。
- .NET 類型:bool (System.Boolean)
如何設定 SAP 系結屬性?
當您指定 SAP 系統的連線時,您可以設定 SAP 系結屬性。 如需如何在下列情況下設定系結屬性的相關資訊:
使用取用配接器服務 BizTalk 專案增益集。或新增配接器服務參考 Visual Studio 外掛程式,請參閱 連線到 Visual Studio 中的 SAP 系統。
重要
使用取用配接器服務增益集或新增配接器服務參考外掛程式時,如果您未針對字串類型的系結屬性指定值,且其預設值為 null,則系結檔案中將無法使用該系結屬性, (XML 檔案) 或 app.config 檔案。 如有必要,您必須在系結檔或 app.config 檔案中手動新增系結屬性及其值。
在BizTalk Server解決方案中設定傳送埠或接收埠 (位置) ,請參閱手動設定 SAP 配接器的實體埠系結。
在程式設計解決方案中使用 WCF 通道模型,請參閱 使用 SAP 建立通道。
在程式設計解決方案中使用 WCF 服務模型,請參閱 設定 SAP 系統的用戶端系結。
使用 WCF ServiceModel 中繼資料公用程式工具 (svcutil.exe) ,請參閱 搭配 BizTalk Adapter for mySAP Business Suite 使用 ServiceModel 中繼資料公用程式工具。