1) O documento apresenta dicas sobre programação em SQL nativo e formatação HTML para geração de e-mails automatizados.
2) Inclui exemplos de como utilizar variáveis, quebras de linha e comandos para formatar tabelas e texto no HTML.
3) Também mostra como gerar conteúdo para o corpo e anexo do e-mail ao mesmo tempo.
1. Sistema Senior
Gestão de Pessoas II
Dicas de programação.
SQL Nativo e Formatação HTML
Muito mais agilidade, segurança, comodidade e automatização de processos.
2. Definir Alfa Cur_r070acc;
Definir Data xDatAcc;
SQL_Criar(Cur_r070acc);
SQL_UsarSQLSenior2(Cur_r070acc,0);
SQL_UsarAbrangencia(Cur_r070acc,0);
SQL_DefinirComando(Cur_r070acc,"select a.numcra,
max(a.numemp) as numemp,
max(a.tipcol) as tipcol,
max(a.numcad) as numcad,
max(a.horacc) - min(a.horacc) as tempo_refeicao
from vetorh.r070acc a
where a.datacc =:xDatAcc and
a.tipacc = 1 and
a.diracc in ('E','S') and
a.codrlg = 115 and
a.usomar = 3
group by a.numcra
having count(a.numcra) = 2
order by tempo_refeicao desc,a.numcra");
@==== Forma de passar uma variavel para o cursor ======@
SQL_DefinirData(Cur_r070acc,"xDatAcc",xDatAcc);
SQL_AbrirCursor(Cur_r070acc);
Enquanto (SQL_EOF(Cur_r070acc) = 0)
Inicio
@==== Forma de obter os dados do cursor ======@
SQL_RetornarFlutuante(Cur_r070acc,"NumCra",xNumCra);
SQL_RetornarInteiro(Cur_r070acc,"NumEmp",xNumEmp);
SQL_RetornarInteiro(Cur_r070acc,"TipCol",xTipCol);
SQL_RetornarInteiro(Cur_r070acc,"NumCad",xNumCad);
SQL_RetornarInteiro(Cur_r070acc,"tempo_refeicao",tempo_refeicao);
...
SQL_Proximo(Cur_r070acc);
Fim
SQL_FecharCursor(Cur_r070acc);
SQL_Destruir(Cur_r070acc);
Forma de utilizar todos os recursos nativos da linguagem SQL em um cursor.
4. Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
5. Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
6. Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
7. Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
8. Definir Alfa CR;
Definir Alfa LF;
Definir Alfa vRmtEma,
Definir Alfa vDstEma,
Definir Alfa vCcpEma,
Definir Alfa vCcoEma,
Definir Alfa vAssEma
Definir Alfa vTxtEma;
Definir Alfa vTxtEma2;
Definir Alfa vCadChe;
...
@====Comandos para quebra de linha ======@
RetornaAscII (13,CR);
RetornaAscII (10,LF);
...
/*========================================================================*/
/*=================INICIO Geração HTML NO CORPO DO E-MAIL ================*/
/*========================================================================*/
...
vTxtEma = "<!DOCTYPE html>"+CR+LF;
vTxtEma = vTxtEma + "<html>"+CR+LF;
...
/*========================================================================*/
/*=================INICIO Geração HTML NO ANEXO DO E-MAIL ================*/
/*========================================================================*/
NomeArquivo = "C:/senior/rel/Saldo_Horas_Diretores_"+vCadChe+".html";
arq = Abrir(NomeArquivo, Gravarnl);
TrocaString(NomeArquivo, "/", "",NomeArquivo2);
....
@==== Se necessitar realizar ajustes devido acentuação ====@
@==== Verifique entidades HTML ============================@
TrocaString(NomGerencia, "ã", "ã",NomGerencia);
...
@==== Lógica de Geração do conteudo para ANEXO =========@
vTxtEma2 = "<!DOCTYPE html>"+CR+LF;
vTxtEma2 = vTxtEma2 + "<html>"+CR+LF;
...
GravarNLEOL(arq, vTxtEma2 , 0);
Fechar(arq);
vAnxEma = NomeArquivo2;
EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, vAnxEma, 0, 0);
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
(Com dados no corpo e no anexo ao mesmo tempo)
Link para consulta de entidades html: http://www.w3schools.com/html/html_entities.asp
9. Definir Alfa vRmtEma;
Definir Alfa vDstEma;
Definir Alfa vCcpEma;
Definir Alfa vCcoEma;
Definir Alfa vAssEma;
Definir Alfa vTxtEma;
Definir Alfa VAnxEma;
...
@==== Lógica da geração =====@
...
Se(vTipSex="F")
vTxtEma="<center><IMG SRC=C:SeniorVetorhImagensAniversario_FEMININO.jpg></center>";
Senao
vTxtEma="<center><IMG SRC=C:SeniorVetorhImagensAniversario_MASCULINO.jpg></center>";
...
EnviaEMailHTML (vRmtEma, vEmaCom, vEmailFim, vCcoEma, vAssEma, vTxtEma, VAnxEma, 1, 1);
Exemplo de e-mail com apenas e-Flyer no corpo