Tipi di dati Siebel di base
Questa sezione descrive come i tipi di dati Siebel sono supportati nell'adapter Microsoft BizTalk per le applicazioni Siebel eBusiness.
Tipi di dati Siebel supportati
Nella tabella seguente vengono illustrati i tipi di dati Siebel supportati dall'adapter Siebel e il modo in cui sono rappresentati dall'adapter per BizTalk (tipo XSD) e nel modello di servizio WCF (tipo.NET). Per i tipi contrassegnati con un asterisco, vedere la nota seguente la tabella.
Tipo di dati | Tipo XSD | Tipo .NET | Descrizione |
---|---|---|---|
DTYPE_BOOL | xsd:boolean | Boolean | - |
DTYPE_CURRENCY | xsd:decimal | Decimal | - |
DTYPE_DATE | xsd:dateTime* | Datetime | Il valore non deve essere Coordinated Universal Time (UTC). - Per xsd:dateTime, i valori devono seguire questo modello: "(\d)T(00:00:00)(.*)". - Per gli oggetti DateTime, DateTime.Kind deve essere DateTimeKind.Unspecified. Il componente ora verrà ignorato dall'adapter. Per i messaggi in uscita, l'adapter esegue una convalida di runtime per assicurarsi che il valore specificato non sia UTC (z o OFFSET UTC). Se la convalida ha esito negativo, l'adapter genera un'eccezione. Quando questo tipo viene esposto come xsd:string (in base alle regole illustrate di seguito): - Il formato è determinato dal database sottostante. - Nessuna convalida del runtime viene eseguita sul valore. |
DTYPE_DATETIME | xsd:dateTime* | Datetime | Il valore può contenere sia componenti di data che ora e non devono essere UTC. - Per gli oggetti DateTime, DateTime.Kind deve essere DateTimeKind.Unspecified. Per i messaggi in uscita, l'adapter esegue una convalida in fase di esecuzione per assicurarsi che queste condizioni siano soddisfatte; se la convalida ha esito negativo, l'adapter genera un'eccezione. Quando questo tipo viene esposto come xsd:string (in base alle regole illustrate di seguito): - Il formato è determinato dal database sottostante. - Nessuna convalida di run-time viene eseguita sul valore. |
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 | Il valore non deve essere UTC. - Per xsd:dateTime, i valori devono seguire questo modello: (1753-01-01)T(\d:\d:\d\d:\d\d)(.*)". - Per gli oggetti DateTime, DateTime.Kind deve essere DateTimeKind.Unspecified. Per i messaggi in uscita, l'adapter esegue una convalida di runtime per assicurarsi che il valore specificato non sia UTC (z o OFFSET UTC). Se la convalida ha esito negativo, l'adapter genera un'eccezione. Quando questo tipo viene esposto come xsd:string (in base alle regole illustrate di seguito): - Il formato è determinato dal database sottostante. - Nessuna convalida di run-time viene eseguita sul valore. |
DTYPE_UTCDATETIME | xsd:dateTime* | Datetime | Il valore può contenere sia componenti di data che ora e devono essere UTC. - Per xsd:dateTime, il valore deve essere espresso in formato UTC (notazione 'Z' o offset UTC). - Per gli oggetti DateTime DateTime.Kind deve essere DateTimeKind.Utc. Per i messaggi in uscita, l'adapter esegue una convalida in fase di esecuzione per assicurarsi che queste condizioni siano soddisfatte; se la convalida ha esito negativo, l'adapter genera un'eccezione. Quando questo tipo viene esposto come xsd:string (in base alle regole illustrate di seguito): - Il formato è determinato dal database sottostante. - Nessuna convalida di run-time viene eseguita sul valore. |
Di seguito sono riportati i tipi di argomenti del metodo Business Service:
Data
Uguale a DTYPE_DATE.
Numero
Uguale a DTYPE_NUMBER.
string
Uguale a DTYPE_TEXT.
Gerarchia
Corrisponde al tipo XSD xsd:string e al tipo .Net String. Nei messaggi XML, questo deve essere inserito in un nodo CDATA.
Oggetto Integration
Uguale a Gerarchia.
*L'adattatore determina se usare xsd:dateTime o xsd:string per rappresentare DTYPE_DATE, DTYPE_DATETIME, DTYPE_TIME e DTYPE_UTCDATETIME campi nei componenti aziendali nel modo seguente.
Se il campo del componente business ha uno dei tipi di dati precedenti, l'adapter lo espone come tipo xsd:dateTime (in .Net viene eseguito il mapping al tipo DateTime).
Se il campo del componente business non ha alcun tipo di dati, l'adapter lo espone come xsd:string (in .Net questo esegue il mapping al tipo String).
Facet supportati per i tipi di XML Schema
L'adapter Siebel supporta i facet seguenti per i tipi di XML Schema.
Tipo Siebel | Facet |
---|---|
DTYPE_BOOL | Nessuno |
DTYPE_CURRENCY | Precisione (22), Scala |
DTYPE_DATE | (\d-\d-\d\d) T(00:00:00)(.*) |
DTYPE_DATETIME | Nessuno |
DTYPE_ID | MaxLength (15) |
DTYPE_INTEGER | Precisione (22) |
DTYPE_NOTE | MaxLength (16384) |
DTYPE_NUMBER | Precisione (22), Scala |
DTYPE_PHONE | MaxLength (40) |
DTYPE_TEXT | MaxLength (2048) |
DTYPE_TIME | (1753-01-01) T(\d:\d)(.*) |
DTYPE_UTCDATETIME | Nessuno |
Di seguito sono riportate alcune regole che regolano come e quando vengono pubblicati i facet e i relativi valori:
Se l'attributo Length del campo è impostato su un valore maggiore di zero e minore o uguale al valore massimo (specificato nelle parentesi nella tabella precedente):
Il facet Precision viene pubblicato come segue:
Se l'attributo Precision è impostato per il campo, lo stesso valore viene pubblicato come facet precisione.
Se l'attributo Precision non è impostato per il campo, il valore Length viene pubblicato come facet Precision.
Il facet Scale viene pubblicato solo se entrambi:
L'attributo Precision è stato pubblicato
L'attributo Scale è impostato per il campo su un valore maggiore di zero e minore del valore pubblicato come parte del facet Precision
Il facet MaxLength è il valore specificato per l'attributo Length. Viene prelevato dal repository di definizione del campo. Nel caso in cui la lunghezza non sia specificata nel repository di definizione del campo, il valore specificato nelle parentesi nella tabella precedente viene pubblicato.
Casi speciali correlati ai tipi di dati Siebel
Le regole seguenti influiscono sui facet del campo del componente business in base al contesto dell'operazione in cui vengono usati. Queste regole sono applicabili solo per le operazioni INSERT e UPDATE. Per le operazioni QUERY, tutti i campi dei componenti aziendali vengono esposti all'utente.
Campo componente business contrassegnato come OBBLIGATORIO in Siebel
Anche se un campo del componente business è contrassegnato come OBBLIGATORIO nel sistema Siebel, ma i valori predefiniti o post-predefiniti vengono impostati per il campo, l'adattatore Siebel contrassegna il campo come FACOLTATIVO. Pertanto, se un utente fornisce un valore da inserire o aggiornare, l'adapter elabora tale valore. Se non viene fornito alcun valore, Siebel usa i valori predefiniti/post-predefiniti.
Campo componente business NON contrassegnato come SOLA LETTURA in Siebel
Se un campo del componente business non è contrassegnato come SOLA LETTURA, l'adapter Siebel lo espone come campo scrivibile. Tuttavia, ci sono alcune eccezioni a questa regola. Si tratta di:
Se il campo componente business è un campo Calcolato in Siebel, non verrà visualizzato nelle operazioni Inserisci o Aggiorna perché Siebel si occupa automaticamente dei campi calcolati .
Se il campo del componente business viene ottenuto tramite un join esplicito (join di tabella in un'altra tabella), viene in genere letto solo. Tuttavia Siebel consente di scrivere i dati in questo campo se si tratta di un campo picklist. Pertanto, se il campo del componente business proviene da un join esplicito e il campo non è un campo elenco di selezione, non verrà visualizzato nelle operazioni Inserisci o Aggiorna perché i client dell'adapter non possono scrivere dati in tali campi.
Tipo di dati di un campo non specificato nel componente business
Se il tipo di dati di un campo non viene specificato nel componente business, l'adapter Siebel espone i metadati del campo usando le euristiche seguenti.
Se il campo è un campo speciale (ad esempio picklist o join), l'adapter Siebel cercherà il campo mappato nel componente business di destinazione. Se tale campo ha un tipo associato a esso, l'adattatore Siebel espone tale oggetto come tipo del campo. Tuttavia, se tale tipo è DTYPE_DATE, DTYPE_TIME, DTYPE_DATETIME o DTYPE_UTCDATETIME, l'adapter Siebel espone il campo come tipo xsd:string. Se il campo mappato non ha un tipo associato, l'adapter Siebel espone il campo originale come tipo xsd:string.
Se il campo non è un campo picklist o join, l'adapter Siebel lo espone come tipo xsd:string.
Il tipo di dati, la lunghezza del campo o la precisione di un componente business padre non è disponibile
Se il tipo di dati, la lunghezza o la precisione del campo di un componente aziendale padre (un componente business che ha un componente business figlio basato su elenchi di selezione o MVL), l'adattatore Siebel ottiene le informazioni sul tipo di dati, la lunghezza, la precisione e la scalabilità dal componente business picklist o dal componente business MVL.
Vedere anche
Messaggi e schemi di messaggio per l'adapter BizTalk per applicazioni Siebel eBusiness