Freigeben über


Grundlegende Siebel-Datentypen

In diesem Abschnitt wird beschrieben, wie Siebel-Datentypen auf dem Microsoft BizTalk-Adapter für Siebel eBusiness-Anwendungen unterstützt werden.

Unterstützte Siebel-Datentypen

Die folgende Tabelle zeigt die Siebel-Datentypen, die der Siebel-Adapter unterstützt, und wie sie durch den Adapter für BizTalk (XSD-Typ) und im WCF-Dienstmodell (.NET-Typ) dargestellt werden. Informationen zu den Typen, die mit einem Sternchen gekennzeichnet sind, finden Sie im Hinweis nach der Tabelle.

Datentyp XSD-Typ .NET-Typ Beschreibung
DTYPE_BOOL xsd:boolean Boolean -
DTYPE_CURRENCY xsd:decimal Decimal -
DTYPE_DATE xsd:dateTime* Datetime Der Wert darf nicht koordinierte Weltzeit (UTC) sein.

- Für xsd:dateTime wird erwartet, dass die Werte dem folgenden Muster folgen: "(\d\d-\d\d\d\d\d)T(00:00:00:00)(.*)".
- Für DateTime-Objekte muss DateTime.KindDateTimeKind.Unspecified sein.

Die Zeitkomponente wird vom Adapter ignoriert.

Bei ausgehenden Nachrichten führt der Adapter eine Laufzeitüberprüfung durch, um sicherzustellen, dass der angegebene Wert nicht UTC (z oder UTC Offset) ist. Wenn diese Überprüfung fehlschlägt, löst der Adapter eine Ausnahme aus.

Wenn dieser Typ als xsd:string verfügbar gemacht wird (basierend auf den unten erläuterten Regeln):

– Das Format wird von der zugrunde liegenden Datenbank bestimmt.
– Für den Wert wird keine Laufzeitüberprüfung durchgeführt.
DTYPE_DATETIME xsd:dateTime* Datetime Der Wert kann sowohl Datums- als auch Uhrzeitkomponenten enthalten und darf nicht UTC sein.

- Für DateTime-Objekte muss DateTime.KindDateTimeKind.Unspecified sein.

Bei ausgehenden Nachrichten führt der Adapter eine Laufzeitüberprüfung durch, um sicherzustellen, dass diese Bedingungen erfüllt sind. wenn die Überprüfung fehlschlägt, löst der Adapter eine Ausnahme aus.

Wenn dieser Typ als xsd:string verfügbar gemacht wird (basierend auf den unten erläuterten Regeln):

– Das Format wird von der zugrunde liegenden Datenbank bestimmt.
– Für den Wert wird keine Laufzeitüberprüfung durchgeführt.
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 Der Wert darf nicht UTC sein.

- Für xsd:dateTime wird erwartet, dass die Werte dem folgenden Muster folgen: (1753-01-01)T(\d\d:\d\d:\d:\d\d)(.*)".
- Für DateTime-Objekte muss DateTime.KindDateTimeKind.Unspecified sein.

Bei ausgehenden Nachrichten führt der Adapter eine Laufzeitüberprüfung durch, um sicherzustellen, dass der angegebene Wert nicht UTC (z oder UTC Offset) ist. Wenn diese Überprüfung fehlschlägt, löst der Adapter eine Ausnahme aus.

Wenn dieser Typ als xsd:string verfügbar gemacht wird (basierend auf den unten erläuterten Regeln):

– Das Format wird von der zugrunde liegenden Datenbank bestimmt.
– Für den Wert wird keine Laufzeitüberprüfung durchgeführt.
DTYPE_UTCDATETIME xsd:dateTime* Datetime Der Wert kann sowohl Datums- als auch Uhrzeitkomponenten enthalten und muss UTC sein.

- Für xsd:dateTime muss der Wert in UTC ('Z'-Notation oder UTC-Offset) ausgedrückt werden.
- Für DateTime-Objekte muss DateTime.KindDateTimeKind.Utc sein.

Bei ausgehenden Nachrichten führt der Adapter eine Laufzeitüberprüfung durch, um sicherzustellen, dass diese Bedingungen erfüllt sind. wenn die Überprüfung fehlschlägt, löst der Adapter eine Ausnahme aus.

Wenn dieser Typ als xsd:string verfügbar gemacht wird (basierend auf den unten erläuterten Regeln):

– Das Format wird von der zugrunde liegenden Datenbank bestimmt.
– Für den Wert wird keine Laufzeitüberprüfung durchgeführt.

Im Folgenden sind die Argumenttypen der Business Service-Methode aufgeführt:

Date
Dasselbe wie DTYPE_DATE.

Number
Identisch mit DTYPE_NUMBER.

String
Dasselbe wie DTYPE_TEXT.

Hierarchy
Entspricht dem XSD-Typ xsd:string und dem .NET-Typ String. In XML-Nachrichten muss dies in einem CDATA-Knoten platziert werden.

Integrationsobjekt
Identisch mit Hierarchie.

*Der Adapter bestimmt, ob xsd:dateTime oder xsd:string verwendet werden soll, um DTYPE_DATE-, DTYPE_DATETIME-, DTYPE_TIME- und DTYPE_UTCDATETIME-Felder in Geschäftskomponenten wie folgt darzustellen.

  1. Wenn das Geschäftskomponentenfeld über einen der vorherigen Datentypen verfügt, macht es der Adapter als xsd:dateTime-Typ verfügbar (in .NET wird dies dem DateTime-Typ zugeordnet).

  2. Wenn das Geschäftskomponentenfeld keinen Datentyp aufweist, macht es der Adapter als xsd:string verfügbar (in .NET wird dies dem String-Typ zugeordnet).

Unterstützte Facetten für die XML-Schematypen

Der Siebel-Adapter unterstützt die folgenden Facetten für die XML-Schematypen.

Siebeltyp Facet
DTYPE_BOOL Keine
DTYPE_CURRENCY Genauigkeit (22), Skalierung
DTYPE_DATE (\d\d\d\d-\d\d\d-\d\d) T(00:00:00)(.*)
DTYPE_DATETIME Keine
DTYPE_ID MaxLength (15)
DTYPE_INTEGER Genauigkeit (22)
DTYPE_NOTE MaxLength (16384)
DTYPE_NUMBER Genauigkeit (22), Skalierung
DTYPE_PHONE MaxLength (40)
DTYPE_TEXT MaxLength (2048)
DTYPE_TIME (1753-01-01) T(\d\d:\d\d:\d\d\d)(.*)
DTYPE_UTCDATETIME Keine

Im Folgenden finden Sie einige Regeln, die bestimmen, wie und wann die Facetten und ihre Werte veröffentlicht werden:

Wenn das Length-Attribut des Felds auf einen Wert größer als 0 (null) und kleiner oder gleich dem Maximalwert (in Klammern in der vorherigen Tabelle angegeben) festgelegt ist:

  • Das Precision-Facet wird wie folgt veröffentlicht:

    • Wenn das Precision-Attribut für das Feld festgelegt ist, wird der gleiche Wert als Precision-Facet veröffentlicht.

    • Wenn das Precision-Attribut für das Feld nicht festgelegt ist, wird der Längenwert als Genauigkeitsfacet veröffentlicht.

  • Das Facet Scale wird nur veröffentlicht, wenn beide:

    • Das Precision-Attribut wurde veröffentlicht.

    • Das Scale-Attribut wird für das Feld auf einen Wert größer als 0 (null) und kleiner als der Wert festgelegt, der im Rahmen des Precision-Facets veröffentlicht wurde.

  • Das MaxLength-Facet ist der für das Length-Attribut angegebene Wert. Dies wird aus dem Felddefinitionsrepository abgerufen. Falls die Länge im Felddefinitionsrepository nicht angegeben ist, wird der in Klammern angegebene Wert in der vorherigen Tabelle veröffentlicht.

Die folgenden Regeln beeinflussen die Facetten des Geschäftskomponentenfelds basierend auf dem Kontext des Vorgangs, in dem sie verwendet werden. Diese Regeln gelten nur für INSERT- und UPDATE-Vorgänge. Bei QUERY-Vorgängen werden alle Geschäftskomponentenfelder für den Benutzer verfügbar gemacht.

Geschäftskomponentenfeld in Siebel als ERFORDERLICH gekennzeichnet

Auch wenn ein Geschäftskomponentenfeld im Siebel-System als ERFORDERLICH gekennzeichnet ist, aber die Prästandard- oder Poststandardwerte für das Feld festgelegt sind, markiert der Siebel-Adapter das Feld als OPTIONAL. Wenn ein Benutzer also einen Wert bereitstellt, der eingefügt oder aktualisiert werden soll, verarbeitet der Adapter diesen Wert. Wenn kein Wert angegeben wird, verwendet Siebel die Pre-Default-/Post-Default-Werte.

Geschäftskomponentenfeld in Siebel NICHT als SCHREIBSCHUTZ gekennzeichnet

Wenn ein Geschäftskomponentenfeld NICHT als SCHREIBSCHUTZ gekennzeichnet ist, macht der Siebel-Adapter es als schreibbares Feld verfügbar. Es gibt jedoch einige Ausnahmen von dieser Regel. Diese lauten wie folgt:

  • Wenn das Geschäftskomponentenfeld ein Berechnetes Feld in Siebel ist, wird es nicht in den Vorgängen Einfügen oder Aktualisieren angezeigt, da Siebel automatisch berechnete Felder übernimmt.

  • Wenn das Geschäftskomponentenfeld über einen expliziten Join (Tabellenjoin für eine andere Tabelle) abgerufen wird, ist es in der Regel schreibgeschützter Vorgang. Siebel lässt jedoch zu, dass Daten in dieses Feld geschrieben werden, wenn es sich um ein Auswahllistenfeld handelt. Wenn also das Geschäftskomponentenfeld aus einer expliziten Verknüpfung stammt und das Feld KEIN Auswahlfeld ist, wird es NICHT in den Vorgängen Einfügen oder Aktualisieren angezeigt, da Adapterclients keine Daten in solche Felder schreiben können.

    Datentyp eines Felds, das nicht in der Geschäftskomponente angegeben ist

    Wenn der Datentyp eines Felds in der Geschäftskomponente nicht angegeben ist, macht der Siebel-Adapter die Feldmetadaten mithilfe der folgenden Heuristik verfügbar.

  • Wenn es sich bei dem Feld um ein Spezielles Feld handelt (z. B. Picklist oder Join), sucht der Siebel-Adapter das zugeordnete Feld in der Ziel-Geschäftskomponente. Wenn diesem Feld ein Typ zugeordnet ist, macht der Siebel-Adapter diesen als Typ des Felds verfügbar. Wenn dieser Typ jedoch DTYPE_DATE, DTYPE_TIME, DTYPE_DATETIME oder DTYPE_UTCDATETIME ist, macht der Siebel-Adapter das Feld als xsd:string-Typ verfügbar. Wenn das zugeordnete Feld keinen zugeordneten Typ aufweist, macht der Siebel-Adapter das ursprüngliche Feld als xsd:string-Typ verfügbar.

  • Wenn das Feld kein Auswahlliste- oder Verknüpfungsfeld ist, macht der Siebel-Adapter es als xsd:string-Typ verfügbar.

    Datentyp, Feldlänge oder Genauigkeit einer übergeordneten Geschäftskomponente nicht verfügbar

    Wenn der Datentyp, die Länge oder die Feldgenauigkeit einer übergeordneten Geschäftskomponente (eine Geschäftskomponente, die eine untergeordnete Geschäftskomponente basierend auf Auswahllisten oder MVLs enthält), ruft der Siebel-Adapter die Informationen über Datentyp, Länge, Genauigkeit und Skalierung von der Geschäftskomponente der Auswahlliste oder der MVL-Geschäftskomponente ab.

Weitere Informationen

Nachrichten- und Nachrichtenschemas für BizTalk-Adapter für Siebel eBusiness-Anwendungen