Skip to content

Aviso: Este artigo ainda é um rascunho!

1) Para cada módulo a ser convertido criamos uma tarefa no projeto POSTGRES/Coversão/Delphi colocando cristian como responsável. A conversão deve ser executada na ordem alfabética crescente. - Antes de começar a conversão mude o responsável para o seu respectivo usuário;

2) Acrescente o componente TANSI no form: Utilizando a Classe TSqlAdd.doc;

3) Se dentro do módulo houver selects construídas dentro dos forms adapta-la para usar o componente TSQLAdd marcar a query com a abreviatura qr_Dim, qrDim ou conforme o padrão do form;

4) Após ter adaptado o form para usar o componente TSQLAdd usar o TotaliCompare para converter a query para ANSI, alinhando os comandos à direita e os campos à esquerda. O alinhamento do CASE WHEN e do LEFT JOIN deve ser conforme exemplo abaixo.

SELECT CAI.CODFIL, CAI.SEQUEN, CASE WHEN CAI.CARTAO IS NULL THEN CASE WHEN CAI.OUTROS IS NULL THEN CASE WHEN CAI.CAMBIO IS NULL THEN CASE WHEN CAI.TIPCCC IS NULL THEN
CASE COALESCE(CHEQUE,'?') WHEN 'V' THEN 'Cheque a Vista' WHEN 'P' THEN 'Cheque Pré ' WHEN 'T' THEN 'Cheque Troco ' ELSE 'Outros' END ELSE CCC.DESCCC END ELSE 'Dinheiro ' || COALESCE(MOE.DESMOE,) END ELSE OUT.DESCAR END ELSE CAR.DESOUT END AS MEIO_P FROM TT_CAI CAI LEFT OUTER JOIN TD_CAR CAR ON CAI.CARTAO = CAR.CODTAB LEFT OUTER JOIN TD_OUT OUT ON CAI.OUTROS = OUT.CODTAB INNER JOIN TD_MOE MOE ON CAI.CAMBIO = MOE.CODTAB LEFT OUTER JOIN TD_CCC CCC ON CAI.TIPCCC = CCC.CODTAB

5) Os selects que contém CONNECT BY não precisam ser convertidos, os demais selects do módulo converter.

6) Não havendo mais módulos a converter no subprojeto conversão/delphi iniciar as tarefas do subprojeto gravação/delphi - Substituir Tables por Querys RequestLive

- Querys RequestLive acrescentar componente UpdateSQL

- Testar a gravação em POSTGRE e em ORACLE

7) Foi criada uma unit chamada TTUANSI em TTFUNCOES do FreeVCS para tratar situações onde seja necessário fazer distinção entre os bancos e as funções:

function ObtemCamandoUpdateFROM(pNomeFuncao:String):String;

function CapsLock(pNomeObjetoBCO:String):String;

8) Conhecer a fundo o item instruções gerais da documentação em: Manual de compatibilidade Oracle-PostgreSQL