Tipos de datos básicos de Siebel
En esta sección se describe cómo se admiten los tipos de datos siebel en microsoft BizTalk Adapter for Siebel eBusiness Applications.
Tipos de datos siebel admitidos
En la tabla siguiente se muestran los tipos de datos siebel que admite el adaptador de Siebel y cómo se representan mediante el adaptador para BizTalk (tipo XSD) y en el modelo de servicio WCF (tipo .NET). Para los tipos marcados con un asterisco, consulte la nota siguiente a la tabla.
Tipo de datos | Tipo XSD | Tipo de .NET | Descripción |
---|---|---|---|
DTYPE_BOOL | xsd:boolean | Boolean | - |
DTYPE_CURRENCY | xsd:decimal | Decimal | - |
DTYPE_DATE | xsd:dateTime* | DateTime | El valor no debe ser hora universal coordinada (UTC). - Para xsd:dateTime, se espera que los valores sigan este patrón: "(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)". - Para los objetos DateTime , DateTime.Kind debe ser DateTimeKind.Unspecified. El adaptador omitirá el componente de hora. En el caso de los mensajes salientes, el adaptador realiza una validación en tiempo de ejecución para asegurarse de que el valor especificado no es UTC (desplazamiento z o UTC). Si se produce un error en la validación, el adaptador produce una excepción. Cuando este tipo se expone como xsd:string (según las reglas que se explican a continuación): - El formato viene determinado por la base de datos subyacente. - No se realiza ninguna validación en tiempo de ejecución en el valor . |
DTYPE_DATETIME | xsd:dateTime* | DateTime | El valor puede contener componentes de fecha y hora y no debe ser UTC. - Para los objetos DateTime , DateTime.Kind debe ser DateTimeKind.Unspecified. En el caso de los mensajes salientes, el adaptador realiza una validación en tiempo de ejecución para asegurarse de que se cumplen estas condiciones; si se produce un error en la validación, el adaptador produce una excepción. Cuando este tipo se expone como xsd:string (según las reglas que se explican a continuación): - El formato viene determinado por la base de datos subyacente. - No se realiza ninguna validación en tiempo de ejecución en el valor. |
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 | El valor no debe ser UTC. - Para xsd:dateTime, se espera que los valores sigan este patrón: (1753-01-01)T(\d\d:\d\d\d:\d\d)(.*)". - Para los objetos DateTime, DateTime.Kind debe ser DateTimeKind.Unspecified. En el caso de los mensajes salientes, el adaptador realiza una validación en tiempo de ejecución para asegurarse de que el valor especificado no es UTC (desplazamiento z o UTC). Si se produce un error en la validación, el adaptador produce una excepción. Cuando este tipo se expone como xsd:string (según las reglas que se explican a continuación): - El formato viene determinado por la base de datos subyacente. - No se realiza ninguna validación en tiempo de ejecución en el valor. |
DTYPE_UTCDATETIME | xsd:dateTime* | DateTime | El valor puede contener componentes de fecha y hora y debe ser UTC. - Para xsd:dateTime, el valor debe expresarse en UTC (notación Z' o desplazamiento UTC). - Para los objetos DateTime DateTime.Kind debe ser DateTimeKind.Utc. En el caso de los mensajes salientes, el adaptador realiza una validación en tiempo de ejecución para asegurarse de que se cumplen estas condiciones; si se produce un error en la validación, el adaptador produce una excepción. Cuando este tipo se expone como xsd:string (según las reglas que se explican a continuación): - El formato viene determinado por la base de datos subyacente. - No se realiza ninguna validación en tiempo de ejecución en el valor. |
A continuación se muestran los tipos de argumentos del método Business Service:
Date
Igual que DTYPE_DATE.
Number
Igual que DTYPE_NUMBER.
String
Igual que DTYPE_TEXT.
Hierarchy
Corresponde al tipo XSD xsd:string y al tipo String de .Net. En los mensajes XML, debe colocarse en un nodo CDATA.
Integration (objeto)
Igual que Hierarchy.
*El adaptador determina si se deben usar los campos xsd:dateTime o xsd:string para representar DTYPE_DATE, DTYPE_DATETIME, DTYPE_TIME y DTYPE_UTCDATETIME campos de componentes empresariales de la siguiente manera.
Si el campo del componente de negocio tiene uno de los tipos de datos anteriores, el adaptador lo expondrá como el tipo xsd:dateTime (en .Net, esto se asigna al tipo DateTime).
Si el campo del componente de negocio no tiene ningún tipo de datos, el adaptador lo expondrá como xsd:string (en .Net, esto se asigna al tipo String).
Facetas admitidas para los tipos de esquema XML
El adaptador de Siebel admite las siguientes facetas para los tipos de esquema XML.
Tipo siebel | Faceta |
---|---|
DTYPE_BOOL | None |
DTYPE_CURRENCY | Precisión (22), Escala |
DTYPE_DATE | (\d\d\d\d-\d\d-\d-\d\d) T(00:00:00)(.*) |
DTYPE_DATETIME | None |
DTYPE_ID | MaxLength (15) |
DTYPE_INTEGER | Precisión (22) |
DTYPE_NOTE | MaxLength (16384) |
DTYPE_NUMBER | Precisión (22), Escala |
DTYPE_PHONE | MaxLength (40) |
DTYPE_TEXT | MaxLength (2048) |
DTYPE_TIME | (1753-01-01) T(\d\d:\d\d:\d\d\d)(.*) |
DTYPE_UTCDATETIME | None |
A continuación se muestran algunas reglas que rigen cómo y cuándo se publican las facetas y sus valores:
Si el atributo Length del campo se establece en un valor mayor que cero y menor o igual que el valor máximo (especificado entre paréntesis en la tabla anterior):
La faceta Precision se publica de la siguiente manera:
Si el atributo Precision se establece para el campo, el mismo valor se publica como faceta Precision.
Si el atributo Precision no está establecido para el campo, el valor Length se publica como faceta Precision.
La faceta Escala solo se publica si ambas:
El atributo Precision se ha publicado
El atributo Scale se establece para el campo en un valor mayor que cero y menor que el valor publicado como parte de la faceta Precision.
La faceta MaxLength es el valor especificado para el atributo Length. Esto se recoge en el repositorio de definición de campo. En caso de que no se especifique la longitud en el repositorio de definición de campo, se publica el valor especificado entre paréntesis en la tabla anterior.
Casos especiales relacionados con los tipos de datos de Siebel
Las reglas siguientes afectan a las facetas del campo de componente de negocio en función del contexto de la operación en la que se usan. Estas reglas solo se aplican a las operaciones INSERT y UPDATE. En el caso de las operaciones QUERY, todos los campos de componente de negocio se exponen al usuario.
Campo de componente de negocio marcado como OBLIGATORIO en Siebel
Incluso si un campo de componente de negocio está marcado como OBLIGATORIO en el sistema Siebel, pero los valores predeterminados predeterminados o posteriores se establecen para el campo, el adaptador de Siebel marca el campo como OPCIONAL. Por lo tanto, si un usuario proporciona un valor que se va a insertar o actualizar, el adaptador procesa ese valor. Si no se proporciona ningún valor, Siebel usa los valores predeterminados predeterminados y posteriores.
Campo de componente de negocio NO marcado como READ ONLY en Siebel
Si un campo de componente de negocio NO está marcado como READ ONLY, el adaptador de Siebel lo expone como un campo grabable. Sin embargo, hay un par de excepciones a esta regla. Son las siguientes:
Si el campo del componente de negocio es un campo calculado en Siebel, no aparecerá en las operaciones Insertar o Actualizar, ya que Siebel se encargará automáticamente de los campos calculados .
Si el campo del componente de negocio se obtiene a través de una combinación explícita (combinación de tabla en otra tabla), generalmente es de solo lectura. Sin embargo, Siebel permite escribir datos en este campo si es un campo de lista de selección. Por lo tanto, si el campo del componente de negocio procede de una combinación explícita y el campo NO es un campo de lista de selección, no aparecerá en las operaciones Insertar o Actualizar porque los clientes adaptadores no pueden escribir datos en dichos campos.
Tipo de datos de un campo no especificado en el componente de negocio
Si el tipo de datos de un campo no se especifica en el componente de negocio, el adaptador de Siebel expone los metadatos del campo mediante la heurística siguiente.
Si el campo es un campo especial (es decir, lista de selección o combinación), el adaptador de Siebel buscará el campo asignado en el componente de negocio de destino. Si ese campo tiene un tipo asociado, el adaptador de Siebel lo expondrá como el tipo del campo. Sin embargo, si ese tipo es DTYPE_DATE, DTYPE_TIME, DTYPE_DATETIME o DTYPE_UTCDATETIME, el adaptador de Siebel expondrá el campo como tipo xsd:string. Si el campo asignado no tiene un tipo asociado, el adaptador de Siebel expondrá el campo original como tipo xsd:string.
Si el campo no es una lista de selección o un campo de combinación, el adaptador de Siebel lo expondrá como tipo xsd:string.
El tipo de datos, la longitud del campo o la precisión de un componente empresarial primario no está disponible
Si el tipo de datos, la longitud o la precisión de campo de un componente empresarial primario (un componente de negocio que tiene un componente empresarial secundario basado en listas de selección o MMV), el adaptador de Siebel obtiene la información sobre el tipo de datos, la longitud, la precisión y la escala del componente empresarial de lista de selección o del componente de negocio MVL.
Consulte también
Mensajes y esquemas de mensajes para el adaptador de BizTalk para aplicaciones eBusiness de Siebel