Skip to content

Tag-icone-mini.png Banco de Dados

Referenciado por: Comunicação | Dicas Técnicas | Predefinição:Guia de Programação Banco de Dados | Guia para Atualização de Metadados 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 | Guia para Manutenção de Views do Totali Commerce | Introdução a Programação de Banco 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 conhecimentos referentes a exportação de dados do Totali Commerce para Commerce Checkout.

Visão Geral ​

Ao modificar a estrutura do Totali Commerce, pode ser necessário alterar a rotina de exportação para o Commerce Checkout. Isso é feito alterando o arquivo da carga para o Checkout.

O processo consiste no seguinte:

  1. O arquivo 5_criaout.mac possui a INSERTs na tabela TT_OUT.
  2. O C. Server utiliza os selects que possuem CODEXP=0 para criar os arquivos .DBF.
  3. Checkout lê/copia os arquivos .DBF.

Em alguns casos, para que a carga seja mais ágil, tratamos a carga incremental.
Atualmente, as únicas tabelas que o sistema faz tratamento diferente são VEN, REC, CLI e END.
Esse tratamento fica nos fontes do C. Server.
A carga incremental de produtos é feita pelo próprio Checkout via select direto na base.

Carga incremental ​

Para carga incremental, C. Server utiliza os selects da carga completa (CODEXP = 0).
E somente para as tabelas com tratamento fixo na TTFEXCKO.pas, sistema concatena um filtro com ATU_EM.

Tutorias ​

Exportar Coluna ​

Para exportar uma coluna para Checkout seguir os seguintes procedimentos.

1. Incluir a coluna nos INSERT da TT_OUT do arquivo ansi\export\5_criaout.mac.

Incluir coluna em todos os selects de carga completa [TT_OUT.CODEXP=0] que exportar colunas da tabela em questão.
Preservar a ordem dos scripts que é por CODEXP.
Incluir comentários seguindo o padrão das demais instruções.
Respeitar as regras definidas nesse artigo.

Exportar Tabela ​

Para exportar uma tabela para Checkout seguir os seguintes procedimentos.

1. Incluir o INSERT na TT_OUT no arquivo ansi\export\5_criaout.mac para carga completa.

2. Se for solicitado, incluir tratamento para carga incremental na unit TTFEXCKO.pas.
O processo consiste em concatenar filtro com ATU_EM na query da carga completa.

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 Definido ​

A coluna deve ter um nome definido.

Errado:

TO_CHAR(COLUNA)

Correto:

TO_CHAR(COLUNA) AS COLUNA

Nome Único ​

A coluna não pode estar repetida

Errado:

COLUNA, COLUNA

Correto:

COLUNA, COLUNA AS COLUNA_A

ou, se tratar do mesmo dado

COLUNA

Tamanho Máximo do Nome ​

A coluna deve ter no máximo 10 posições.
Checkout corta se tiver mais de 10.

Errado:

CONFIGURACAO_LONGA_PARA_TESTE

Correto:

CONFIGURACAO_LONGA_PARA_TESTE AS "CFGLONGATE"

DICAA melhor prática para casos em que a coluna tem mais de 10 posições é exportar os 10 primeiros dígitos. Mas desde que isso seja significado e não gere duplicidade com alguma outra coluna.

Exportação de Campo Data ​

As colunas de data não devem ser exportadas sem tratamento.

Errado:

DATINC

Correto:

CAST(TO_CHAR(DATREF,"DD/MM/YYYY") AS VARCHAR(10)) AS DATREF -- Se a coluna não tem hora CAST(TO_CHAR(DATINC,"DD/MM/YYYY HH24:MI:SS") as VARCHAR(21)) AS DATINC -- Se a coluna contem data e hora

Exportação de Campo Numérico ​

Quando exportamos um campo numérico que pode ser nulo, devemos fazer um cast dele para VARCHAR.
Isso é necessário porque o Fox atribui 0 para campo numérico nulo.
Esse tratamento só é necessário se for preciso distinguir o valor 0 de null.

Errado:

CFG.TRANSFER_N

Correto:

CAST(TO_CHAR(CFG.TRANSFER_NAT) AS VARCHAR(5)) AS TRANSFER_N

Não Extrapolar o Limite de Colunas ​

Algumas tabelas como CFG e a TAB (TAB é uma view com várias TDs) já atingiram o número máximo de colunas. Por isso, foram criadas as cargas CFG2 e TAB2.

Categorias ​