Share via


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.

  1. 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).

  2. 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.

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