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:

<div class="Code"><p>vNumEmp = R034FUN.NumEmp;<br></br>vTipCol = R034FUN.TipCol;<br></br>vNumCad = R034FUN.NumCad;<br></br><br></br>BusEmailFunc(vNumEmp,vTipCol,vNumCad, vEmaPar,vEmaCom) ;<br></br><br></br>Se (vEmaCom = "")<br></br> ret = Mensagem(Retorna,"Informe o e-mail comercial do colaborador");</p></div>

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

<div class="Code"><p>/* // Retorno de Férias // */<br></br><br></br>/* Variáveis default para o e-mail */<br></br>definir alfa vRmtEmaDef;<br></br>definir alfa vDstEmaDef;<br></br>definir alfa vCcpEmaDef;<br></br>definir alfa vAssEmaDef;<br></br>definir alfa vTxtEmaDef;<br></br>definir alfa vAnxEmaDef;<br></br><br></br>/* Variáveis com valores da R034FUN */</p><p>definir alfa vTipSex;</p><p>definir alfa vNomFun;</p><p>definir numero vNumEmp;</p><p>definir numero vTipCol;</p><p>definir numero vNumCad;</p><p>definir numero vDatBas;<br></br><br></br></p><p>/* Variáveis para identificar o chefe */</p><p>definir alfa vEmaCom;</p><p>definir alfa vEmaPar;</p><p>definir numero vTipChe;</p><p>definir numero vCadche;<br></br><br></br></p><p>/* Cursor que vai procurar os aniversariantes */</p><p>Definir cursor CAfa;<br></br><br></br></p><p>/* Carrega variáveis default com os dados da tabela */</p><p>vRmtEmaDef = RmtEma;</p><p>vDstEmaDef = DstEma;</p><p>vCcpEmaDef = CcpEma;</p><p>vAssEmaDef = AssEma;</p><p>vTxtEmaDef = TxtEma;</p><p>vAnxEmaDef = AnxEma;<br></br><br></br></p><p>/* Carrega cursor */</p><p>CAfa.SQL "SELECT R038AFA.NUMEMP,R038AFA.TIPCOL,R038AFA.NUMCAD, \</p><p>R034FUN.NOMFUN,R034FUN.TIPSEX,R038AFA.SITAFA,R010SIT.TIPSIT \</p><p>FROM R038AFA,R034FUN,R010SIT \</p><p>WHERE (R034FUN.NUMEMP=R038AFA.NUMEMP \</p><p>AND R034FUN.TIPCOL=R038AFA.TIPCOL \</p><p>AND R034FUN.NUMCAD=R038AFA.NUMCAD) \</p><p>AND R038AFA.DATTER=TO_DATE(SYSDATE+1) \</p><p>AND ((R038AFA.STATUS=1) OR (R038AFA.STATUS=0)) \</p><p>AND (R038AFA.SITAFA = R010SIT.CODSIT)";</p><p>CAfa.AbrirCursor();<br></br><br></br></p><p>Enquanto( CAfa.Achou )</p><p>inicio</p><p>Se (CAfa.TipSit=2) /* férias */</p><p>inicio<br></br><br></br></p><p>/* Carrega e-mail com as variáveis default */</p><p>RmtEma = vRmtEmaDef; /* Remetente */</p><p>DstEma = vDstEmaDef; /* Destinatário */</p><p>CcpEma = vCcpEmaDef; /* Com Cópia Para */</p><p>AssEma = vAssEmaDef; /* Assunto */</p><p>TxtEma = vTxtEmaDef; /* Texto */</p><p>AnxEma = vAnxEmaDef; /* Anexos */<br></br><br></br></p><p>/* Preenche variáveis com valores do Cursor */</p><p>vNumEmp = CAfa.NUMEMP;</p><p>vTipCol = CAfa.TIPCOL;</p><p>vNumCad = CAfa.NUMCAD;</p><p>vNomFun = CAfa.NomFun;</p><p>vDatBas = DatSis;</p><p>vTipSex = CAfa.TipSex;</p><p></p><p>/* Procura e-mail do chefe do funcionário (Destinatário)*/</p><p>BusCadChefe( vNumEmp,vTipCol,vNumCad,vDatBas,vTipChe,vCadche);</p><p>BusEmailFunc( vNumEmp,vTipChe,vCadChe,vEmaPar,vEmaCom); {Vai buscar o</p><p>e-mail do Chefe do Funcionário, que também é um funcionário}</p><p>Se (vEmaCom &#x26;lt;&#x26;gt; "")</p><p>DstEma=vEmacom;</p><p>Senao</p><p>Se (vEmaPar &#x26;lt;&#x26;gt; "")</p><p>DstEma=vEmaPar;</p><p>Senao</p><p>inicio</p><p>TxtEma = "Não foi possível enviar este e-mail para o superior ";</p><p>se (vTipSex="F")</p><p>TxtEma = TxtEma + "da funcionária " + vNomFun + ": ";</p><p>senao</p><p>TxtEma = TxtEma + "do funcionário " + vNomFun + ": ";</p><p>fim;</p><p></p><p>/* Preenche mensagem do e-mail (Texto) */</p><p>se (vTipSex="F")</p><p>TxtEma = TxtEma + "A funcionária " + vNomFun;</p><p>senao</p><p>TxtEma = TxtEma + "O funcionário " + vNomFun;</p><p>TxtEma = TxtEma + " estará retornando de férias amanhã!";</p><p></p><p>/* Envia o e-mail */</p><p>EnviaEMail( RmtEma,DstEma,CcpEma,AssEma,TxtEma,AnxEma);</p><p>fim;</p><p></p><p>/* Pega o próximo registro e volta para o início do loop */</p><p>CAfa.Proximo();</p><p>fim;</p><p></p><p>CAfa.FecharCursor();</p></div>

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

Este artigo ajudou você?