Criando tabelas hang-off e customizadas

A estrutura de banco de dados facilita a extensão do banco de dados de aplicativos, criando tabelas customizadas ou hang-off.

Uma tabela customizada é uma tabela independente e não pode ser modelada como uma extensão para uma tabela de banco de dados de aplicativo padrão.

Uma tabela hang-off é uma tabela com um relacionamento muitos-para-um com uma tabela de banco de dados de aplicativo padrão.

Criar uma entidade customizada ou hang-off possibilita a você:

  • Criar um relacionamento entre uma tabela padrão e uma tabela hang-off.
  • Inicie APIs Extensíveis que armazenam e recuperam dados de tabelas de interrupção.
  • Inicie dbverify para gerar scripts SQL apropriados para criar ou alterar tabelas para entidades customizadas ou hang-off.
  • Auditar item e tabelas de organização.
Lembre-se das diretrizes a seguir que se aplicam à criação de tabelas customizadas ou hang-off:
  • É possível determinar se uma entidade está ativada apenas para interrupção referenciando o Entity Relationship Diagram (ERD) associado localizado no diretório <runtime_sandbox>/xapidocs/ERD .
  • Com base no arquivo Extensions.xml, o aplicativo não cria uma restrição de chave estrangeira no EFrame_TableChanges.sql, mas o relacionamento de chave estrangeira é aplicado.
  • Atualmente, apenas as tabelas de pedido, linha de pedido, ordem de serviço, remessa, item e organização são marcadas como ativadas para interrupção.
  • A tabela hang-off pode ser criada até "n" níveis para tabelas OOB e tabelas customizadas. No entanto, criar uma cadeia de tabelas Hang-off pode impactar o desempenho do sistema à medida que mais chamadas SQL são feitas.
  • Nomes de tabela customizada e hang-off não devem começar com um Y.
  • Uma tabela-filha customizada ou filha deve incluir o atributo LockingEntity e seu valor deverá corresponder ao valor do atributo Name de sua tabela-pai. A sincronização de dados no modo Delta não exporta entidades, a menos que estejam associadas a um LockingEntitypai. Por exemplo, as configurações de atributo a seguir ilustram que YFS_CARRIER_SERVICE_DOW está bloqueado por seu YFS_CARRIER_SERVICE pai
    Na definição de entidade YFS_CARRIER_SERVICE pai, o atributo Name está configurado para "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">
    Na definição de entidade YFS_CARRIER_SERVICE_DOW, o atributo LockingEntity deve ser incluído e deverá ser configurado para "Carrier_Service" para corresponder ao valor do atributo Name de sua tabela-pai.
    <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">
  • A parte "Extn" é recortada do nome XML das tabelas customizadas e hang-off.
  • O nome da chave primária não deve começar com um Y.
  • A chave primária pode ser de tipo de dados numéricos.
  • Os nomes de entidade devem iniciar com o prefixo fornecido na definição da entidade.
  • A interface YIFApi não estende APIs para tabelas customizadas/hang-off. Portanto, as APIs para essas tabelas devem ser configuradas como serviços.
  • Javadoc não é criado para as APIs criadas pela infraestrutura para suportar tabelas customizadas e hang-off.
  • A geração e validação de XSD não é feita para tabelas customizadas ou hang-off.
  • Ambos os atributos XMLName e Name são necessários ao usar um conjunto de caracteres não ASCII.
  • Cada entidade customizada ou hang-off deve ter uma chave primária.

    Nome da coluna

    Tipo de dados

    Valor Padrão

    Coluna-Chave

    Tipo de dados numéricos Key OU Any

    ' ' (espaço)

  • Uma entidade customizada ou hang-off deve ter as colunas a seguir que são descritas na tabela a seguir:

    Nome da coluna

    Tipo de dados

    Valor Padrão

    CREATETAS

    TimeStamp

    sysdate

    MODIFYTS

    TimeStamp

    sysdate

    CREATEUSERID

    UserId

    ' ' (espaço)

    MODIFYUSERID

    UserId

    ' ' (espaço)

  • (Opcional) Uma entidade customizada ou hang-off pode ter as colunas a seguir que são descritas na tabela a seguir:

    Nome da coluna

    Tipo de dados

    Valor Padrão

    CREATEPROGID

    ProgramID

    ' ' (espaço)

    MODIFYPROGID

    ProgramID

    ' ' (espaço)

    LOCKID

    Lockid

    0 (zero)

    Você deve revisar as validações em LOB e colunas grandes antes de adicionar qualquer novo LOB personalizado e colunas grandes. Para obter mais informações, consulte Validações em colunas grandes estendidas e LOB.

    Nota: no banco de dados DB2® , o tipo de dados de Data é gerado como TIMESTAMP.