基本的 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欄位。
如果商務元件欄位有上述其中一個資料類型,配接器會將其公開為 .Net 中的 xsd:dateTime 類型 (,這會對應至 DateTime 類型) 。
如果商務元件欄位沒有資料類型,配接器會在 .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 屬性指定的值。 這會從欄位定義存放庫挑選。 如果未在欄位定義存放庫中指定長度,則會發佈上表中括弧中指定的值。
與 Siebel 資料類型相關的特殊案例
下列規則會根據所使用的作業內容,影響商務元件欄位 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 商務元件取得資料類型、長度、有效位數和小數位數的相關資訊。