Creación de tablas personalizadas y descolgadas

La infraestructura de base de datos le facilita ampliar la base de datos de aplicación creando tablas personalizadas o descolgadas.

Una tabla personalizada es una tabla independiente y no se puede modelar como una extensión de una tabla de base de datos de la aplicación estándar.

Una tabla descolgada es una tabla con una relación de muchos a uno con una tabla estándar de la base de datos de la aplicación.

Crear una entidad personalizada o descolgada le permite:

  • Crear una relación entre una tabla estándar y una tabla descolgada.
  • Inicie las API ampliables que almacenan y recuperan datos de tablas descolgadas.
  • Inicie dbverify para generar scripts SQL adecuados para crear o modificar tablas para entidades personalizadas o descolgadas.
  • Auditar tablas de elemento y de organización.
Tenga en cuenta las directrices siguientes que se aplican a la creación de tablas personalizadas o descolgadas:
  • Puede determinar si una entidad sólo está habilitada para el descolgado haciendo referencia al diagrama de relaciones de entidad (ERD) asociado que se encuentra en el directorio <runtime_sandbox>/xapidocs/ERD .
  • Basándose en el archivo Extensions.xml , la aplicación no crea una restricción de clave foránea en EFrame_TableChanges.sql, pero se aplica la relación de clave foránea.
  • Actualmente, sólo las tablas de pedido, línea de pedido, orden de trabajo, envío, artículo y organización se marcan como habilitadas para el descolgado.
  • La tabla descolgada se puede crear hasta niveles "n" para tablas OOB y tablas personalizadas. Sin embargo, la creación de una cadena de tablas Hang-off puede afectar al rendimiento del sistema a medida que se realizan más llamadas SQL.
  • Los nombres de las tablas personalizadas y descolgadas no deben empezar por Y.
  • Una tabla hijo personalizada o descolgada debe incluir el atributo LockingEntity y su valor debe coincidir con el valor del atributo Name de su tabla padre. La sincronización de datos en modalidad Delta no exporta entidades a menos que estén asociadas con una LockingEntitypadre. Por ejemplo, los siguientes valores de atributo ilustran que YFS_CARRIER_SERVICE_DOW está bloqueado por su YFS_CARRIER_SERVICE padre.
    En la definición de la entidad YFS_CARRIER_SERVICE, el atributo Name se establece en "Carrier_Service":
    <Entity AuditRequired="Y" Cacheable="true"
       ConfigurableByOrgOrNode="Y"
       Description="Services provided by a carrier."
       EntityType="CONFIGURATION" Extensible="Y" Module="ysc"
       Name="Carrier_Service" Prefix="YFS_"
       TableName="YFS_CARRIER_SERVICE" TableType="CONFIGURATION" XMLName="CarrierService">
    En la definición de la entidad YFS_CARRIER_SERVICE_DOW, el atributo LockingEntity debe incluirse y establecerse en "Carrier_Service" para que coincida con el valor del atributo Name de su tabla padre.
    <Entity AuditRequired="Y" Cacheable="true"
       ConfigurableByOrgOrNode="Y"
       Description="Defines a carrier service's schedule for days that can be delivered and are available for transit."
       EntityType="CONFIGURATION" Extensible="N" Module="ysc"
       Name="Carrier_Service_Dow" Prefix="YFS_"
       TableName="YFS_CARRIER_SERVICE_DOW"
       TableType="CONFIGURATION" XMLName="CarrierServiceSchedule"
       LockingEntity="Carrier_Service">
  • La parte "Extn" se recorta del nombre XML de las tablas personalizadas y descolgadas.
  • El nombre de la clave primaria no debe empezar por Y.
  • La clave primaria puede ser de tipo de datos numéricos.
  • Los nombres de entidad deben empezar por el prefijo que se proporciona en la definición de entidad.
  • La interfaz YIFApi no amplía las API para tablas personalizadas o descolgadas. Por lo tanto, las API para estas tablas deben configurarse como servicios.
  • Javadoc no se crea para las API creadas por la infraestructura para dar soporte a tablas personalizadas y descolgadas.
  • La generación y validación de XSD no se lleva a cabo para las tablas personalizadas y descolgadas.
  • Los atributos XMLName y Name son obligatorios cuando se utiliza un juego de caracteres no ASCII.
  • Todas las entidades personalizadas o descolgadas deben tener una clave primaria.

    Nombre de columna

    Tipo de datos

    Valor predeterminado

    Clave-Columna

    Clave o cualquier tipo de datos numéricos

    ' ' (espacio)

  • Una entidad personalizada o descolgada debe tener las columnas siguientes que se describen en la tabla siguiente:

    Nombre de columna

    Tipo de datos

    Valor predeterminado

    CREATETS

    TimeStamp

    sysdate

    MODIFYTS

    TimeStamp

    sysdate

    CREAR ID DE USUARIO

    UserId

    ' ' (espacio)

    MODIFYUSERID

    UserId

    ' ' (espacio)

  • (Opcional) Una entidad personalizada o descolgada puede tener las columnas siguientes que se describen en la tabla siguiente:

    Nombre de columna

    Tipo de datos

    Valor predeterminado

    CREATEPROGID

    ProgramID

    ' ' (espacio)

    MODIFYPROGID

    ProgramID

    ' ' (espacio)

    LOCKID

    Lockid

    0 (cero)

    Debe revisar las validaciones en LOB y columnas grandes antes de añadir cualquier nuevo LOB personalizado y columnas grandes. Para obtener más información, consulte Validaciones en columnas extendidas grandes y LOB.

    Nota: En la base de datos DB2® , el tipo de datos Fecha se genera como TIMESTAMP.