BusEmailFunc

Esta função retorna o e-mail Particular (na variável EmaPar) e o e-mail Comercial (na variável EmaCom) do funcionário informado nos parâmetros NumEmp, TipCol e NumCad. Para utilizá-la devemos informar o NumEmp, TipCol e NumCad do funcionário cujo e-mail deseja-se saber, e duas variáveis que retornarão o e-mail Particular e o e-mail Comercial (EMAPAR e EMACOM). A rotina então faz uma busca na tabela R034CPL segundo os dados informados e preenche as variáveis com o e-mail Particular e o e-mail Comercial. Desta forma, esta rotina pode ser utilizada dentro de regras.

Sintaxe: BusEmailFunc(Numero NumEmp, Numero TipCol, Numero NumCad, Alfa EmaPar, Alfa EmaCom);

Parâmetros:

Nome Tipo Descrição
NumEmp Numérico Empresa do colaborador.
TipCol Numérico Tipo do colaborador.
NumCad Numérico Cadastro do colaborador que se deseja saber o e-mail.
EmaPar Alfa Retorna o e-mail particular.
EmaCom Alfa Retorna o e-mail comercial.

Exemplo 1:

vNumEmp = R034FUN.NumEmp;
vTipCol = R034FUN.TipCol;
vNumCad = R034FUN.NumCad;

BusEmailFunc(vNumEmp,vTipCol,vNumCad, vEmaPar,vEmaCom) ;

Se (vEmaCom = "")
      ret = Mensagem(Retorna,"Informe o e-mail comercial do colaborador");

Exemplo 2: Regra que informa via e-mail ao chefe de um funcionário, que este está retornando de férias.

/* // Retorno de Férias // */

/* Variáveis default para o e-mail */
definir alfa vRmtEmaDef;
definir alfa vDstEmaDef;
definir alfa vCcpEmaDef;
definir alfa vAssEmaDef;
definir alfa vTxtEmaDef;
definir alfa vAnxEmaDef;

/* Variáveis com valores da R034FUN */

definir alfa vTipSex;

definir alfa vNomFun;

definir numero vNumEmp;

definir numero vTipCol;

definir numero vNumCad;

definir numero vDatBas;

/* Variáveis para identificar o chefe */

definir alfa vEmaCom;

definir alfa vEmaPar;

definir numero vTipChe;

definir numero vCadche;

/* Cursor que vai procurar os aniversariantes */

Definir cursor CAfa;

/* Carrega variáveis default com os dados da tabela */

vRmtEmaDef = RmtEma;

vDstEmaDef = DstEma;

vCcpEmaDef = CcpEma;

vAssEmaDef = AssEma;

vTxtEmaDef = TxtEma;

vAnxEmaDef = AnxEma;

/* Carrega cursor */

CAfa.SQL "SELECT R038AFA.NUMEMP,R038AFA.TIPCOL,R038AFA.NUMCAD, \

R034FUN.NOMFUN,R034FUN.TIPSEX,R038AFA.SITAFA,R010SIT.TIPSIT \

FROM R038AFA,R034FUN,R010SIT \

WHERE (R034FUN.NUMEMP=R038AFA.NUMEMP \

AND R034FUN.TIPCOL=R038AFA.TIPCOL \

AND R034FUN.NUMCAD=R038AFA.NUMCAD) \

AND R038AFA.DATTER=TO_DATE(SYSDATE+1) \

AND ((R038AFA.STATUS=1) OR (R038AFA.STATUS=0)) \

AND (R038AFA.SITAFA = R010SIT.CODSIT)";

CAfa.AbrirCursor();

Enquanto( CAfa.Achou )

inicio

Se (CAfa.TipSit=2) /* férias */

inicio

/* Carrega e-mail com as variáveis default */

RmtEma = vRmtEmaDef; /* Remetente */

DstEma = vDstEmaDef; /* Destinatário */

CcpEma = vCcpEmaDef; /* Com Cópia Para */

AssEma = vAssEmaDef; /* Assunto */

TxtEma = vTxtEmaDef; /* Texto */

AnxEma = vAnxEmaDef; /* Anexos */

/* Preenche variáveis com valores do Cursor */

vNumEmp = CAfa.NUMEMP;

vTipCol = CAfa.TIPCOL;

vNumCad = CAfa.NUMCAD;

vNomFun = CAfa.NomFun;

vDatBas = DatSis;

vTipSex = CAfa.TipSex;

 

/* Procura e-mail do chefe do funcionário (Destinatário)*/

BusCadChefe( vNumEmp,vTipCol,vNumCad,vDatBas,vTipChe,vCadche);

BusEmailFunc( vNumEmp,vTipChe,vCadChe,vEmaPar,vEmaCom); {Vai buscar o

e-mail do Chefe do Funcionário, que também é um funcionário}

Se (vEmaCom <> "")

DstEma=vEmacom;

Senao

Se (vEmaPar <> "")

DstEma=vEmaPar;

Senao

inicio

TxtEma = "Não foi possível enviar este e-mail para o superior ";

se (vTipSex="F")

TxtEma = TxtEma + "da funcionária " + vNomFun + ": ";

senao

TxtEma = TxtEma + "do funcionário " + vNomFun + ": ";

fim;

 

/* Preenche mensagem do e-mail (Texto) */

se (vTipSex="F")

TxtEma = TxtEma + "A funcionária " + vNomFun;

senao

TxtEma = TxtEma + "O funcionário " + vNomFun;

TxtEma = TxtEma + " estará retornando de férias amanhã!";

 

/* Envia o e-mail */

EnviaEMail( RmtEma,DstEma,CcpEma,AssEma,TxtEma,AnxEma);

fim;

 

/* Pega o próximo registro e volta para o início do loop */

CAfa.Proximo();

fim;

 

CAfa.FecharCursor();

Utilização: Gerador de relatórios, regras de apuração, regras de integração.

Este artigo ajudou você?