Partager via


Types de données Siebel de base

Cette section décrit comment les types de données Siebel sont pris en charge sur l’adaptateur Microsoft BizTalk pour Siebel eBusiness Applications.

Types de données Siebel pris en charge

Le tableau suivant montre les types de données Siebel pris en charge par l’adaptateur Siebel et comment ils sont représentés par l’adaptateur pour BizTalk (type XSD) et dans le modèle de service WCF (type .NET). Pour les types marqués d’un astérisque, consultez la note qui suit le tableau.

Type de données Type XSD Type .NET Description
DTYPE_BOOL xsd:boolean Boolean -
DTYPE_CURRENCY xsd:decimal Decimal -
DTYPE_DATE xsd :dateTime* DateTime La valeur ne doit pas être temps universel coordonné (UTC).

- Pour xsd :dateTime, les valeurs doivent suivre ce modèle : « (\d\d\d\d-\d-\d\d\d)T(00 :00 :00)(.*) ».
- Pour les objets DateTime , DateTime.Kind doit être DateTimeKind.Unspecified.

Le composant de temps sera ignoré par l’adaptateur.

Pour les messages sortants, l’adaptateur effectue une validation d’exécution pour s’assurer que la valeur spécifiée n’est pas UTC (décalage z ou UTC). Si cette validation échoue, l’adaptateur lève une exception.

Lorsque ce type est exposé en tant que xsd :string (selon les règles expliquées ci-dessous) :

- Le format est déterminé par la base de données sous-jacente.
- Aucune validation du runtime n’est effectuée sur la valeur.
DTYPE_DATETIME xsd :dateTime* DateTime La valeur peut contenir des composants de date et d’heure et ne doit pas être UTC.

- Pour les objets DateTime , DateTime.Kind doit être DateTimeKind.Unspecified.

Pour les messages sortants, l’adaptateur effectue une validation au moment de l’exécution pour s’assurer que ces conditions sont remplies . si la validation échoue, l’adaptateur lève une exception.

Lorsque ce type est exposé en tant que xsd :string (selon les règles expliquées ci-dessous) :

- Le format est déterminé par la base de données sous-jacente.
- Aucune validation d’exécution n’est effectuée sur la valeur.
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 La valeur ne doit pas être UTC.

- Pour xsd :dateTime, les valeurs doivent suivre ce modèle : (1753-01-01)T(\d\d :\d\d :\d :\d\d)(.*) ».
- Pour les objets DateTime, DateTime.Kind doit être DateTimeKind.Unspecified.

Pour les messages sortants, l’adaptateur effectue une validation d’exécution pour s’assurer que la valeur spécifiée n’est pas UTC (décalage z ou UTC). Si cette validation échoue, l’adaptateur lève une exception.

Lorsque ce type est exposé en tant que xsd :string (selon les règles expliquées ci-dessous) :

- Le format est déterminé par la base de données sous-jacente.
- Aucune validation d’exécution n’est effectuée sur la valeur.
DTYPE_UTCDATETIME xsd :dateTime* DateTime La valeur peut contenir des composants de date et d’heure et doit être UTC.

- Pour xsd :dateTime, la valeur doit être exprimée en UTC (notation 'Z' ou décalage UTC).
- Pour les objets DateTime, DateTime.Kind doit être DateTimeKind.Utc.

Pour les messages sortants, l’adaptateur effectue une validation au moment de l’exécution pour s’assurer que ces conditions sont remplies . si la validation échoue, l’adaptateur lève une exception.

Lorsque ce type est exposé en tant que xsd :string (selon les règles expliquées ci-dessous) :

- Le format est déterminé par la base de données sous-jacente.
- Aucune validation d’exécution n’est effectuée sur la valeur.

Les types d’arguments de la méthode Business Service sont les suivants :

Date
Identique à DTYPE_DATE.

Number
Identique à DTYPE_NUMBER.

String
Identique à DTYPE_TEXT.

Hierarchy
Correspond au type XSD xsd :string et au type .Net String. Dans les messages XML, cela doit être placé dans un nœud CDATA.

Objet d’intégration
Identique à Hierarchy.

*L’adaptateur détermine s’il faut utiliser xsd :dateTime ou xsd :string pour représenter les champs DTYPE_DATE, DTYPE_DATETIME, DTYPE_TIME et DTYPE_UTCDATETIME dans les composants métier de la manière suivante.

  1. Si le champ de composant métier a l’un des types de données précédents, l’adaptateur l’expose en tant que type xsd :dateTime (dans .Net, cela correspond au type DateTime).

  2. Si le champ de composant métier n’a pas de type de données, l’adaptateur l’expose sous la forme xsd :string (dans .Net, cela correspond au type String).

Facettes prises en charge pour les types de schémas XML

L’adaptateur Siebel prend en charge les facettes suivantes pour les types de schéma XML.

Siebel Type Facette
DTYPE_BOOL None
DTYPE_CURRENCY Précision (22), échelle
DTYPE_DATE (\d\d\d\d-\d\d-\d\d\d) T(00 :00 :00)(.*)
DTYPE_DATETIME None
DTYPE_ID MaxLength (15)
DTYPE_INTEGER Précision (22)
DTYPE_NOTE MaxLength (16384)
DTYPE_NUMBER Précision (22), échelle
DTYPE_PHONE MaxLength (40)
DTYPE_TEXT MaxLength (2048)
DTYPE_TIME (1753-01-01) T(\d\d :\d\d :\d :\d\d)(.*)
DTYPE_UTCDATETIME None

Voici quelques règles qui régissent comment et quand les facettes, ainsi que leurs valeurs, sont publiées :

Si l’attribut Length du champ est défini sur une valeur supérieure à zéro et inférieure ou égale à la valeur maximale (spécifiée entre parenthèses dans le tableau précédent) :

  • La facette Precision est publiée comme suit :

    • Si l’attribut Precision est défini pour le champ, la même valeur est publiée en tant que facette Precision.

    • Si l’attribut Precision n’est pas défini pour le champ, la valeur Length est publiée en tant que facette Precision.

  • La facette Mise à l’échelle est publiée uniquement si les deux :

    • L’attribut Precision a été publié

    • L’attribut Scale est défini pour le champ sur une valeur supérieure à zéro et inférieure à la valeur publiée dans le cadre de la facette Precision.

  • La facette MaxLength est la valeur spécifiée pour l’attribut Length. Ceci est récupéré à partir du référentiel de définition de champ. Si la longueur n’est pas spécifiée dans le référentiel de définition de champ, la valeur spécifiée entre parenthèses dans le tableau précédent est publiée.

Les règles suivantes affectent les facettes du champ du composant métier en fonction du contexte de l’opération dans laquelle elles sont utilisées. Ces règles s’appliquent uniquement aux opérations INSERT et UPDATE. Pour les opérations QUERY, tous les champs de composant métier sont exposés à l’utilisateur.

Champ composant métier marqué comme OBLIGATOIRE dans Siebel

Même si un champ de composant métier est marqué comme OBLIGATOIRE dans le système Siebel, mais que les valeurs antérieures ou postérieures à la valeur par défaut sont définies pour le champ, l’adaptateur Siebel marque le champ comme FACULTATIF. Par conséquent, si un utilisateur fournit une valeur à insérer ou à mettre à jour, l’adaptateur traite cette valeur. Si aucune valeur n’est fournie, Siebel utilise les valeurs avant/après la valeur par défaut.

Champ de composant métier NON marqué comme LECTURE SEULE dans Siebel

Si un champ de composant métier n’est PAS marqué en lecture seule, l’adaptateur Siebel l’expose en tant que champ accessible en écriture. Toutefois, il existe quelques exceptions à cette règle. Ces règles sont les suivantes :

  • Si le champ composant métier est un champ calculé dans Siebel, il n’apparaît pas dans les opérations Insertion ou Mise à jour, car Siebel s’occupe automatiquement des champs calculés .

  • Si le champ de composant métier est obtenu par le biais d’une jointure explicite (jointure de table sur une autre table), il est généralement en lecture seule. Toutefois, Siebel permet d’écrire des données dans ce champ s’il s’agit d’un champ de liste de choix. Par conséquent, si le champ composant métier provient d’une jointure explicite et que le champ n’est PAS un champ de liste de sélection, il n’apparaîtra PAS dans les opérations d’insertion ou de mise à jour, car les clients d’adaptateur ne peuvent pas écrire de données dans ces champs.

    Type de données d’un champ non spécifié dans le composant métier

    Si le type de données d’un champ n’est pas spécifié dans le composant métier, l’adaptateur Siebel expose les métadonnées de champ à l’aide de l’heuristique suivante.

  • Si le champ est un champ spécial (c’est-à-dire une liste de sélection ou une jointure), l’adaptateur Siebel recherche le champ mappé dans le composant métier de destination. Si un type est associé à ce champ, l’adaptateur Siebel l’expose en tant que type du champ. Toutefois, si ce type est DTYPE_DATE, DTYPE_TIME, DTYPE_DATETIME ou DTYPE_UTCDATETIME, l’adaptateur Siebel expose le champ en tant que type xsd :string. Si le champ mappé n’a pas de type associé, l’adaptateur Siebel expose le champ d’origine en tant que type xsd :string.

  • Si le champ n’est pas un champ de liste de sélection ou de jointure, l’adaptateur Siebel l’expose en tant que type xsd :string.

    Le type de données, la longueur de champ ou la précision d’un composant métier parent ne sont pas disponibles

    Si le type de données, la longueur ou la précision du champ d’un composant métier parent (composant métier qui a un composant métier enfant basé sur des listes de sélection ou des MVL), l’adaptateur Siebel obtient les informations sur le type de données, la longueur, la précision et la mise à l’échelle à partir du composant métier de liste de sélection ou du composant métier MVL.

Voir aussi

Messages et schémas de message pour l’adaptateur BizTalk pour Siebel eBusiness Applications