Modelo de Tarefa
Referenciado por: Dicas Técnicas | Predefinição:Guia de Programação Banco de Dados | Guia para Atualização de Metadados do Totali Commerce | Guia para Exportação para Checkout do Totali Commerce | Guia para Manutenção de Estrutura do Totali Commerce | Guia para Manutenção de Functions e Procedures do Totali Commerce | Guia para Manutenção de Packages do Totali Commerce | Guia para Manutenção de Triggers do Totali Commerce | Introdução a Programação de Banco do Totali Commerce | Layout de Exportação do Totali Commerce |
| Guia de programação para linguagem de banco | |
| Introdução | |
| Padrões Gerais | |
| Estrutura | |
| Exportação para Checkout | |
| Metadados | |
| Views | |
| Functions | |
| Triggers | |
| Packages |
Esse artigo reúne os conhecimentos necessários para se criar e atualizar uma view de banco para o Totali Commerce.
Tutoriais
Importante
Existe um erro no componente TUniScript utilizado pelo Wizard para aplicar as alterações no Banco de Dados porem o mesmo possui um erro o qual não gera mensagens porem não executa o comando na base de dados. O erro refere-se a comentários antes do finalizador de comandos que por padrão é definido como ";" sendo assim é necessário que cada comando seja implementado sem comentários antes do finalizador. O erro é ocasionado quando se utiliza qualquer operador de comentário seja "--" ou "/* */".
Exemplo:
%%<CREATE_VIEW('TV_FIL')>%% SELECT CLI.* FROM TT_CLI CLI WHERE CLI.CODCLI = ' 0' AND CLI.SIGNAT > 0 /*Filtra apenas as Filiais Ativas*/ WITH READ ONLY;
Erro foi enviado para Devart para futura correção.
Criar uma View
1. Criar view na pasta ansi\view dos fontes do totalicommerce.
Se essa view tiver dependência de alguma outra, ela deverá ser criada em um nível mais alto em relação às suas dependências. Ex.: se a view A depende da view B que está no nível 1, então a view A deverá ser criada no nível 2.
2. Conceder permissão de SELECT para TOTALI_BASICO.
3. Documentar view no metadados.
Veja mais detalhes em Guia para Atualização de Metadados do Totali Commerce.
Alterar uma View
1. Editar o fonte da função.
2. Caso seja incluída uma nova dependência (view), devemos rever a pasta que a view deve ficar. Se for necessário modificá-la devemos tomar cuidado para fazer da forma correta no SVN para não perdermos seu histórico.
3. Atualizar documentação da view no metadados.
Veja mais detalhes em Guia para Atualização de Metadados do Totali Commerce.
Alterar View de Exportação
1. Editar o fonte da função.
2. Caso seja incluída uma nova dependência (view), devemos rever a pasta que a view deve ficar. Se for necessário modificá-la devemos tomar cuidado para fazer da forma correta no SVN para não perdermos seu histórico.
3. Atualizar documentação de Exportação.
Layout disponível em Layout de Exportação do Totali Commerce.
Modelos
Modelo Simples de View
Exemplo de view simples.
%%<CREATE_VIEW('TV_ARE')>%% SELECT * FROM DUAL WITH READ ONLY;
Exemplo disponível em: SVN://totalicommerce/modelos/ansi/Criar_View.mac
Padrões
Seguir os padrões gerais definidos em Padrões Gerais para Programação de Banco do Totali Commerce e os específicos definidos neste artigo.
Nome do Arquivo
Usar TV_<tabela principal>:
- TV_VEN
- TV_IVE
- TV_RFIN_REC
Para escolher um bom nome de view deve-se levar em consideração:
- Usar mesmo padrão de abreviaturas que usamos na criação das tabelas.
- Utilizar CAIXA_ALTA e com underlines entre cada tabela (ou palavra).
Importante: Para não confudir que for dar manutenção, não utilizar como nome da view uma tabela que gere produto cartesiano na view.
Exemplo: Se a view relacionar TT_VEN (pai) e TT_IVE (filho), o nome da view deve fazer menção à TT_IVE ao invés de TT_VEN.
Nome do Arquivo
O nome do arquivo deve ser o nome da view:
- TV_VEN.mac
- TV_IVE.mac
- TV_RFIN.mac
Conteúdo do Arquivo
O arquivo deve conter apenas o fonte de uma view. Em alguns casos precisamos escrever uma view para Oracle e outra para PostgreSQL. As duas versões da view devem estar no mesmo arquivo.
Views Criadas em Cliente
Para views criadas em clientes, deve-se adicionar um cabeçalho identificando o autor, o(s) cliente(s) e quais as finalidades da view.
-- Autor: <nome_da_pessoa> -- Cliente(s): <nome_do_cliente> -- Finalidade(s): -- 1) Gerar relatório de Fretes a Pagar CREATE OR REPLACE VIEW [...]
Alias da Tabela
Quando a view fizer referência a mais de uma tabela devemos criar um alias para cada tabela. Esse alias deve ser de preferência o nome abreviado da tabela com 3 letras. Confira o exemplo:
SELECT VEN.*, IVE.* FROM TT_VEN VEN INNER JOIN TT_IVE IVE ON IVE.CODFIL = VEN.CODFIL AND IVE.SEQUEN = VEN.SEQUEN WHERE ...
Nos casos de tabelas de domínio ou com nomes maiores, costumamos utilizar os seguintes alias:
- TD_TAB » DTAB
- TT_CTBxCCB » CXC
Existem alguns casos que não podemos usar a abreviatura com três letras por se tratar de palavra reservada do banco:
- TT_END » TEND
- TT_UID » TUID