Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

JURA090 - Envio de Emails

Objetivo da tela:

Configurar regras de envio de emails de acordo com Querys e configurações especificadas . 


JURA091 - Schedule - JOB de Envio de Emails

...

Bloco de código
languagesql
themeEclipse
firstline1
titleExemplo Follow-up
linenumberstrue
--  O campo ASSUNTO ( NSX_ASSUNT )  irá ser utilizado como título do Email e seu valor é fixo.   || Criar imagem que destaque local do email que irá aparecer o campo demonstrado
NSX_ASSUNT,C,100
AGENDAMENTO FOLLOW-UP                                                                               


-- O campo Query irá conter toda regra de campos que irão aparecer no email, todos os campos mencionados na parte do corpo do email ( NT8 ) devem ter sua representação aqui.
-- É importante estar atento as regras de negócio e possíveis variaçoes de acordo com o ambiente utilizado, principalmente o que diz respeido ao SGDB utilizado.
-- Veja os destaques nas linhas comentadas abaixo:

NSX_QUERY,M


SELECT  NTA.NTA_FILIAL, NTA.NTA_COD,
        -- Para campos do tipo data como o campo NTA_DTFLWP ( Data do Follow-up ) precisamos realizar a conversão de seus valores para Data do tipo Dia/Mês/Ano e em seguida para Caracter.
-- Exemplo de conversão de data em Oracle:
     --   TO_CHAR(TO_DATE (NTA.NTA_DTFLWP, 'YYYYMMDD'),'DD/MM/YYYY') NTA_DTFLWP,
 
-- Exemplo de conversão de data em MSSQL:
 CONVERT(VARCHAR(10),CONVERT(DATETIME,NTA.NTA_DTFLWP,112),103) NTA_DTFLWP,       
        NTA.NTA_HORA, 
 
        NTA.NTA_USUINC,
         
        NQS.NQS_DESC,
-- Exemplo de conversão de data em Oracle:
        -- Campos do Tipo MEMO no Protheus utilizam formatos diferente de caracter, para isso precisamos converte-los para o formato correto. || Mostrar conversões possíves e explicar BLOB e CLOB
      --  DBMS_LOB.SUBSTR(NTA.NTA_DESC,4000,1))||(DBMS_LOB.SUBSTR(NTA.NTA_DESC,8000,4001)) NTA_DESC,
 
 
-- Exemplo de conversão de data em MSSQL:
        CONVERT(VARCHAR(8000), NTA.NTA_DESC) NTA_DESC,  
 
        NTA.NTA_CAJURI,
         
        NSZ.NSZ_CCLIEN, 
         
        NSZ.NSZ_LCLIEN, 
         
        SA1.A1_NOME, 
         
        NSZ.NSZ_NUMCAS, 
 
        NVE.NVE_TITULO, 
         
        NQ6.NQ6_DESC, 
         
        NQC.NQC_DESC, 
         
        NQE.NQE_DESC, 
         
        NUQ.NUQ_NUMPRO    
 
    FROM    NTAT10  NTA
                -- É possível realizar a maioria dos comando SQL, inclusive Join´s, abaixo é exemplificado o Join  Entre NTA ( Follow-ups ) com a tabela NQN ( Resultado de Followup )
                LEFT JOIN NQNT10  NQN ON (NTA.NTA_CRESUL = NQN.NQN_COD)
                    AND NQN.NQN_TIPO = '1'
                    -- O tratamento do campo D_E_L_E_T_ é obrigatório para não ocorrer inconsistência nos dados e a melhor prática é verificar se ele está vazio utilizando espaço entre aspas  (' ')
                    AND NQN.D_E_L_E_T_ = ' '      
                LEFT JOIN NQST10  NQS ON (NTA.NTA_CTIPO  = NQS.NQS_COD)
                    AND NQS.D_E_L_E_T_ = ' ', 
            NSZT10  NSZ
 
                LEFT JOIN SA1T10  SA1 ON (NSZ.NSZ_CCLIEN = SA1.A1_COD
                    AND NSZ.NSZ_LCLIEN = SA1.A1_LOJA
                    AND SA1.D_E_L_E_T_ = ' ')      
                LEFT JOIN NVET10  NVE ON (NSZ.NSZ_CCLIEN = NVE.NVE_CCLIEN 
                    AND NSZ.NSZ_LCLIEN = NVE.NVE_LCLIEN
                    AND NSZ.NSZ_NUMCAS = NVE.NVE_NUMCAS)
                    AND NVE.D_E_L_E_T_ = ' ', 
            NUQT10  NUQ
 
                LEFT JOIN NQ6T10  NQ6 ON (NUQ.NUQ_CCOMAR = NQ6.NQ6_COD
                    AND NQ6.D_E_L_E_T_ = ' ' )     
                LEFT JOIN NQCT10  NQC ON (NUQ.NUQ_CLOC2N = NQC.NQC_COD
                    AND NQC.D_E_L_E_T_ = ' ' )     
                LEFT JOIN NQET10  NQE ON (NUQ.NUQ_CLOC3N = NQE.NQE_COD)
                    AND NQE.D_E_L_E_T_ = ' '
    WHERE NTA.NTA_FLAG01 = '1'   
 
        AND NTA.NTA_FILIAL = NUQ.NUQ_FILIAL    
 
        AND NTA.NTA_CAJURI = NUQ.NUQ_CAJURI   
        -- Nesta linha solicitei apenas dados da instância atual, lembrando que se a resposta da query deve ser uma coluna ( campo  ) para cada campo no banco,
        -- sendo assim se precisarmos de mais dados para uma mesma tabela associada ao registro necessitariamos de mais joins com nomes de campos alterados. NUQ2.NUQ_NUMPRO NUQ_NUMPRO2
        AND NUQ.NUQ_INSATU = '1'   
 
        AND NTA.NTA_FILIAL = NSZ.NSZ_FILIAL   
 
        AND NTA.NTA_CAJURI = NSZ.NSZ_COD   
        -- Nessa query optei por utiliza-la exclusivamente para O Tipo de Assuntos Juridicos ( NYB ) 001 - Contencioso
        AND NSZ.NSZ_TIPOAS = '001'
 
        AND NSZ.D_E_L_E_T_ = ' '   
 
        AND NVE.D_E_L_E_T_ = ' '   
 
        AND NTA.D_E_L_E_T_ = ' '   
 
        AND NUQ.D_E_L_E_T_ = ' '
ORDER BY( NTA.NTA_FILIAL + NTA.NTA_COD)

Conector de Widget
urlhttps://youtu.be/S0CTa4cbkro


Segue alguns exemplos no zip abaixo ( devem ser adaptados de acordo com o ambiente e contexto de utilização ):

...