Advertisement
geracino

PROC GERA EMAIL ACORDOS AUTO

Sep 4th, 2023
1,765
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.66 KB | Software | 0 0
  1. -- Created on 04/09/2023 by 3048648D-67DF-4B51
  2. DECLARE
  3. --CREATE OR REPLACE PROCEDURE cboxp_gera_email_acordoauto IS
  4. -- Declara Variáveis
  5. vcorpoemail            clob NULL;
  6. vcount                 NUMBER NULL;
  7.  obj_param_smtp             c5_tp_param_smtp;
  8.  
  9. -- Declara Cursores
  10. CURSOR cccorpo IS
  11. SELECT empresa,
  12. nroacordo,
  13. fornecedor,
  14. comprador
  15.  FROM DTRV_ACORDO_SV_GERADO
  16.  ;
  17.  
  18. DADOS_CORPOS cccorpo%ROWTYPE;
  19.  
  20.  
  21. BEGIN
  22.  
  23.        SELECT COUNT(*)
  24.        INTO vcount
  25.        FROM dtrv_acordo_sv_gerado;
  26.  
  27.        -- Processa os fetchs
  28.        OPEN cccorpo;
  29.        FETCH cccorpo INTO DADOS_CORPOS;
  30.        CLOSE cccorpo;
  31.        -- Cabeçalho do arquivo
  32.        vcorpoemail := '<table border ="1" color= "black"><style type="text/css">
  33.                      tr {color : orange;
  34.                              font-size : 12 ;
  35.                              font-family : Verdana;
  36.                          border : 1px solid black;}
  37.       </style>
  38.       <tr><font color="black" ><td>COMPRADOR</td>
  39.           <td>EMPRESA  </td>
  40.           <td>NROACORDO</td>
  41.           <td>FORNECEDOR</td></font></tr>';
  42.  
  43.        -- Corpo de arquivo.
  44.        IF vcount = 0 THEN
  45.          vcorpoemail := vcorpoemail||'<tr><td>Não há dados novos</td></tr>';
  46.          END IF;
  47.        
  48.        
  49.        FOR DADOS_CORPOS IN cccorpo
  50.  
  51.        LOOP
  52.               IF DADOS_CORPOS.NROACORDO !=0
  53.               THEN
  54.               --vcorpoemail:=vcorpoemail||'<tr><td>'||lpad(DADOS_CORPOS.COMPRADOR,15,' ')||' - '||rpad(DADOS_CORPOS.EMPRESA,14,' ')||': Acordo: '||rpad(DADOS_CORPOS.NROACORDO,6,' ')||' Fornecedor: '||DADOS_CORPOS.FORNECEDOR||'<BR><BR> '||/*chr(13)||*/chr(10);
  55.               vcorpoemail:=vcorpoemail||'<tr><td>'||DADOS_CORPOS.COMPRADOR||'</td><td>'||DADOS_CORPOS.EMPRESA||'</td><td>'||TO_CHAR(DADOS_CORPOS.NROACORDO)||'</td><td>'||DADOS_CORPOS.FORNECEDOR||'</td></tr> '/*||\*chr(13)||*\chr(10)*/;
  56.  
  57.               END IF;
  58.  
  59.        END LOOP;
  60.              
  61.        vcorpoemail :=vcorpoemail||'</table>';
  62.        
  63.        
  64.        -- Gera Saída
  65.        --DBMS_OUTPUT.put_line(vcorpoemail);
  66.  obj_param_smtp := c5_tp_param_smtp(12);
  67.   IF obj_param_smtp.CriadoComSucesso = 0 THEN
  68.     RETURN;
  69.   END IF;
  70.       sp_envia_email(obj_param      => obj_param_smtp,
  71.        psDestinatario =>'paulofis@gmail.com, wellington@daterraatacadoevarejo.com.br'
  72.        ,psAssunto      =>'[DATERRA] - Acordos Automáticos Gerados '||TO_CHAR(SYSDATE,'dd/mm/yyyy')
  73.        ,psMensagem     =>'Prezados,<br><br> Acordos referente verbas sem acordo.<br><br>'
  74.      ||vcorpoemail||'<br><br><br>'||'E-mail enviado pelo Servidor automaticamente, por favor não responder.'
  75.        ,psindusahtml   => 'S');
  76.  
  77.  
  78.  
  79. END;
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement