基本的な Siebel データ型
このセクションでは、Siebel eBusiness アプリケーション用 Microsoft BizTalk Adapter で Siebel データ型がどのようにサポートされるかについて説明します。
サポートされている Siebel データ型
次の表は、Siebel アダプターがサポートする Siebel データ型と、BizTalk 用アダプター (XSD 型) と WCF サービス モデル (.NET 型) で表される方法を示しています。 アスタリスクでマークされた型については、次の表のメモを参照してください。
データ型 | XSD 型 | .NET の種類 | 説明 |
---|---|---|---|
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\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 | String | - |
DTYPE_INTEGER | xsd:int | Int32 | - |
DTYPE_NOTE | xsd:string | String | - |
DTYPE_NUMBER | xsd:decimal | Decimal | - |
DTYPE_PHONE | xsd:string | String | - |
DTYPE_TEXT | xsd:string | String | - |
DTYPE_TIME | xsd:dateTime* | DateTime | 値は UTC にすることはできません。 - xsd:dateTime の場合、値は次のパターンに従う必要があります: (1753-01-01)T(\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と同じです。
Number
DTYPE_NUMBERと同じです。
String
DTYPE_TEXTと同じです。
Hierarchy
XSD 型 xsd:string に対応し、.Net 型 String に対応します。 XML メッセージでは、これは CDATA ノードに配置する必要があります。
Integration オブジェクト
階層と同じです。
*アダプターは、xsd:dateTime または xsd:string を使用して、ビジネス コンポーネントのDTYPE_DATE、DTYPE_DATETIME、DTYPE_TIME、DTYPE_UTCDATETIMEの各フィールドを次のように表すかどうかを決定します。
ビジネス コンポーネント フィールドに上記のいずれかのデータ型がある場合、アダプターはそれを xsd:dateTime 型として公開します (.Net では、これは DateTime 型にマップされます)。
ビジネス コンポーネント フィールドにデータ型がない場合、アダプターはそれを xsd:string として公開します (.Net では、これは String 型にマップされます)。
XML スキーマ型でサポートされているファセット
Siebel アダプターは、XML スキーマ型に対して次のファセットをサポートしています。
Siebel 型 | ファセット |
---|---|
DTYPE_BOOL | なし |
DTYPE_CURRENCY | 精度 (22)、スケール |
DTYPE_DATE | (\d\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 | Precision (22)、Scale |
DTYPE_PHONE | MaxLength (40) |
DTYPE_TEXT | MaxLength (2048) |
DTYPE_TIME | (1753-01-01)T(\d\d:\d\d:\d\d)(.*) |
DTYPE_UTCDATETIME | なし |
ファセットとその値を発行する方法とタイミングを管理する規則を次に示します。
フィールドの Length 属性が 0 より大きく、最大値以下の値に設定されている場合 (前の表のかっこで指定)。
Precision ファセットは、次のように発行されます。
フィールドに Precision 属性が設定されている場合、同じ値が Precision ファセットとして発行されます。
フィールドに Precision 属性が設定されていない場合、Length 値は Precision ファセットとして公開されます。
Scale ファセットは、次の両方の場合にのみ発行されます。
Precision 属性が発行されました
Scale 属性は、フィールドに対して 0 より大きく、Precision ファセットの一部として発行された値より小さい値に設定されます
MaxLength ファセットは、Length 属性に指定された値です。 これは、フィールド定義リポジトリから取得されます。 フィールド定義リポジトリで長さが指定されていない場合は、前の表のかっこで指定された値がパブリッシュされます。
Siebel データ型に関連する特殊なケース
次のルールは、使用される操作のコンテキストに基づいてビジネス コンポーネント フィールドファセットに影響します。 これらの規則は、INSERT 操作と UPDATE 操作にのみ適用されます。 QUERY 操作の場合、すべてのビジネス コンポーネント フィールドがユーザーに公開されます。
Siebel で必須としてマークされたビジネス コンポーネント フィールド
ビジネス コンポーネント フィールドが Siebel システムで必須としてマークされているが、フィールドに対して既定または既定後の値が設定されている場合でも、Siebel アダプターはフィールドを OPTIONAL としてマークします。 そのため、挿入または更新する値をユーザーが指定した場合、アダプターはその値を処理します。 値が指定されていない場合、Siebel は既定値より前または後の既定値を使用します。
Siebel でビジネス コンポーネント フィールドが READ ONLY としてマークされていない
ビジネス コンポーネント フィールドが読み取り専用としてマークされていない場合、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 アダプター for Siebel eBusiness アプリケーションのメッセージとメッセージ スキーマ