共用方式為


基本的 Siebel 資料類型

本節說明 Microsoft BizTalk Adapter for Siebel eBusiness Applications 如何支援 Siebel 資料類型。

支援的 Siebel 資料類型

下表顯示 Siebel 配接器支援的 Siebel 資料類型,以及 BizTalk (XSD 類型的配接器) 和 WCF 服務模型中 (.NET 類型) 的方式。 如需以星號標示的類型,請參閱下表的附注。

資料類型 XSD 類型 .NET 類型 Description
DTYPE_BOOL xsd:boolean Boolean -
DTYPE_CURRENCY xsd:decimal Decimal -
DTYPE_DATE xsd:dateTime* DateTime 此值不得為國際標準時間 (UTC) 。

- 對於 xsd:dateTime,值應該遵循下列模式:「 (\d\d\d\d-\d\d-\d\d) T (00:00:00) (.*) 」。
- 對於 DateTime 物件,DateTime.Kind 必須是 DateTimeKind.Unspecified

配接器將會忽略時間元件。

針對輸出訊息,配接器會執行執行時間驗證,以確保指定的值不是 UTC (z 或 UTC 位移) 。 如果驗證失敗,配接器會擲回例外狀況。

根據下列) 所述規則,將此類型公開為 xsd:string 時 (:

- 格式是由基礎資料庫所決定。
- 值上不會執行任何執行時間驗證。
DTYPE_DATETIME xsd:dateTime* DateTime 此值可以同時包含日期和時間元件,而且不得為 UTC。

- 對於 DateTime 物件, DateTime.Kind 必須是 DateTimeKind.Unspecified

針對輸出訊息,配接器會執行執行時間驗證,以確保符合這些條件;如果驗證失敗,配接器會擲回例外狀況。

根據下列) 所述規則,將此類型公開為 xsd:string 時 (:

- 格式是由基礎資料庫所決定。
- 值上不會執行任何執行時間驗證。
DTYPE_ID xsd:string 字串 -
DTYPE_INTEGER xsd:int Int32 -
DTYPE_NOTE xsd:string 字串 -
DTYPE_NUMBER xsd:decimal Decimal -
DTYPE_PHONE xsd:string 字串 -
DTYPE_TEXT xsd:string 字串 -
DTYPE_TIME xsd:dateTime* DateTime 此值不得為 UTC。

- 對於 xsd:dateTime,值應該遵循此模式: (1753-01-01) T (\d\d:\d\d:\d\d\d) (.*) 」。
- 對於 DateTime 物件,DateTime.Kind 必須是 DateTimeKind.Unspecified

針對輸出訊息,配接器會執行執行時間驗證,以確保指定的值不是 UTC (z 或 UTC 位移) 。 如果驗證失敗,配接器會擲回例外狀況。

根據下列說明的規則,將此類型公開為 xsd:string (時) :

- 格式是由基礎資料庫所決定。
- 值上不會執行任何執行時間驗證。
DTYPE_UTCDATETIME xsd:dateTime* DateTime 此值可以同時包含日期和時間元件,而且必須是 UTC。

- 對於 xsd:dateTime,此值必須以 UTC ('Z' 標記法或 UTC 位移) 表示。
- 對於 DateTime 物件 DateTime.Kind 必須是 DateTimeKind.Utc

針對輸出訊息,配接器會執行執行時間驗證,以確保符合這些條件;如果驗證失敗,配接器會擲回例外狀況。

根據下列) 所述規則,將此類型公開為 xsd:string 時 (:

- 格式是由基礎資料庫所決定。
- 值上不會執行任何執行時間驗證。

以下是 Business Service 方法引數類型:

Date
與DTYPE_DATE相同。

數字
與DTYPE_NUMBER相同。

字串
與DTYPE_TEXT相同。

階層
對應至 XSD 類型 xsd:string,以及對應至 .Net 類型 String。 在 XML 訊息中,這必須放在 CDATA 節點中。

Integration 物件
與階層相同。

*配接器會判斷是否使用 xsd:dateTime 或 xsd:string,以下列方式代表商務元件中的DTYPE_DATE、DTYPE_DATETIME、DTYPE_TIME和DTYPE_UTCDATETIME欄位。

  1. 如果商務元件欄位有上述其中一個資料類型,配接器會將其公開為 .Net 中的 xsd:dateTime 類型 (,這會對應至 DateTime 類型) 。

  2. 如果商務元件欄位沒有資料類型,配接器會在 .Net 中將其公開為 xsd:string (,這會對應至 String 類型) 。

XML 架構類型的支援 Facet

Siebel 配接器支援 XML 架構類型的下列 Facet。

Siebel 類型 Facet
DTYPE_BOOL
DTYPE_CURRENCY 精確度 (22) ,小數位數
DTYPE_DATE (\d\d\d\d-\d\d-\d\d) T (00:00:00) (.*)
DTYPE_DATETIME
DTYPE_ID MaxLength (15)
DTYPE_INTEGER 精確度 (22)
DTYPE_NOTE MaxLength (16384)
DTYPE_NUMBER 精確度 (22) ,小數位數
DTYPE_PHONE MaxLength (40)
DTYPE_TEXT MaxLength (2048)
DTYPE_TIME (1753-01-01) T (\d\d:\d\d:\d\d) (.*)
DTYPE_UTCDATETIME

以下是一些規則,可控管 Facet 及其值發佈的方式和時機:

如果欄位的 Length 屬性設定為大於零且小於或等於上表中括弧中指定的最大值 (,) :

  • 精確度 Facet 的發佈方式如下:

    • 如果欄位已設定 Precision 屬性,則會將相同的值發佈為 Precision Facet。

    • 如果未為欄位設定 Precision 屬性,則 Length 值會發佈為 Precision Facet。

  • 只有在下列兩者都發佈 Scale Facet:

    • Precision 屬性已發佈

    • Scale 屬性會針對欄位設定為大於零的值,且小於在 Precision Facet 中發佈的值

  • MaxLength Facet 是針對 Length 屬性指定的值。 這會從欄位定義存放庫挑選。 如果未在欄位定義存放庫中指定長度,則會發佈上表中括弧中指定的值。

下列規則會根據所使用的作業內容,影響商務元件欄位 Facet。 這些規則僅適用于 INSERT 和 UPDATE 作業。 針對 QUERY 作業,所有商務元件欄位都會公開給使用者。

在 Siebel 中標示為 REQUIRED 的商務元件欄位

即使商務元件欄位在 Siebel 系統中標示為 REQUIRED,但已針對欄位設定預設值或後置預設值,Siebel 配接器仍會將欄位標示為選擇性。 因此,如果使用者提供要插入或更新的值,配接器就會處理該值。 如果未提供任何值,Siebel 會使用預設值前/後預設值。

商務元件欄位 未在 Siebel 中標示為唯讀

如果商務元件欄位未標示為唯讀,Siebel 配接器會將它公開為可寫入的欄位。 不過,此規則有幾個例外狀況。 這些工具為:

  • 如果商務元件欄位是 Siebel 中的 [匯出 ] 欄位,它就不會出現在 [插入] 或 [更新] 作業中,因為 Siebel 會自動處理 匯出 欄位。

  • 如果商務元件欄位是透過另一個資料表) 上的明確聯結 (資料表聯結來取得,則通常是唯讀的。 不過,如果資料是挑選清單欄位,則 Siebel 允許將資料寫入此欄位。 因此,如果商務元件欄位來自明確聯結,且欄位不是挑選清單欄位,則不會出現在 [插入] 或 [更新] 作業中,因為配接器用戶端無法將資料寫入這類欄位。

    商務元件中未指定欄位的資料類型

    如果未在商務元件中指定欄位的資料類型,Siebel 配接器會使用下列啟發學習法來公開欄位中繼資料。

  • 如果欄位是特殊欄位 (亦即挑選清單或聯結) ,Siebel 配接器將會查閱目的地商務元件中的對應欄位。 如果該欄位有與其相關聯的類型,Siebel 配接器會將該類型公開為欄位的類型。 不過,如果該類型是DTYPE_DATE、DTYPE_TIME、DTYPE_DATETIME或DTYPE_UTCDATETIME,Siebel 配接器會將欄位公開為 xsd:string 類型。 如果對應的欄位沒有相關聯的類型,Siebel 配接器會將原始欄位公開為 xsd:string 類型。

  • 如果欄位不是挑選清單或聯結欄位,Siebel 配接器會將其公開為 xsd:string 類型。

    無法使用父商務元件的資料類型、欄位長度或精確度

    如果父商務元件的資料類型、長度或欄位精確度 (根據挑選清單或 MVL) 之子商務元件的商務元件,Siebel 配接器會從挑選清單商務元件或 MVL 商務元件取得資料類型、長度、有效位數和小數位數的相關資訊。

另請參閱

BizTalk Adapter for Siebel eBusiness 應用程式的訊息和訊息架構