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.
- É 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 paiNa 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.