PPPFilAgruAgAtEp

Função que filtra e agrupa os Agentes carregados pela função PPPCarLocCarAti de acordo com os campos passados como parâmetro. Os dados agrupados poderão ser buscados através das funções PPPRetAgAtEp, PPPRetAgAtEpEx1 e PPPRetAgAtEpEx2.
Se o agrupamento for passado vazio para a função, ela desagrupará os Agentes (se já tiver sido feito um agrupamento).

Sintaxe: Funcao PPPFilAgruAgAtEp(Alfa aConAgt,Alfa aEmiAgt,Alfa aStrAgr);

Nome Tipo Descrição
aConAgt Alfa Indica se é para trazer todos os Agentes ou se é para trazer somente os com o campo "EmiPPP=S". Valores: T-Todos ou P-PPP.
aEmiAgt Alfa Indica se é para considerar todos os Agentes, somente os Acima do LT ou somente os Acima do LT sem Controle Eficaz. Valores: T-Todos, A-Acima do LT ou S-Acima do LT e sem Controle de EPI Eficaz.
aStrAgr Alfa Parâmetro que indica para a função quais campos devem ser considerados para agrupamento. Os campos disponíveis para agrupamento estão relacionados a seguir e devem ser separados pelo caractere ",":     ,CodAgt,TecUti,ConEfi,EPCEfi,CerApr,QuaAge,QtdDos,TolMax.

Exemplo: 

/* carrega todas as alterações de Filial/Local/Cargo */
PPPCarLocCarAti (xnumemp, xtipcol, xnumcad, xperini, xperfim, "S", xAprFun, EAbrAgt, 0, 0, 0, "");
str_agrupa = ",CodAgt,TecUti,ConEfi,EPCEfi,CerApr,QuaAge,";
Se (xemidos = "S")
    str_agrupa = str_agrupa + "QtdDos,";
Se (xemilim = "S")
     str_agrupa = str_agrupa + "TolMax,";
/* Filtra e agrupa os Agentes carregados */
PPPFilAgruAgAtEp("P", xemiagt, str_agrupa);
xfilagru = PPPRetAgAtEp("I", ret_datini, ret_datfim, ret_taborg, ret_numloc, ret_nomloc, ret_codatv, ret_desatv, ret_codagt, ret_desagt, ret_conppp, ret_InfInt);
Se (xfilagru <> 0)
{
      /* Retorna informações adicionais do Agente */
      PPPRetAgAtEpEx1(ret_tipris, ret_subati, ret_emippp, ret_agtqua, ret_aprqua, ret_fatred, ret_quaage, ret_quacol, ret_nivaca, ret_limtol, ret_qtdcas, ret_qtddos, ret_QuaAte);
      PPPRetAgAtEpEx2(ret_uniafe, ret_tecuti, ret_epiefi, ret_epcefi, ret_forexp, ret_codepi, ret_desepi, ret_cerapr);
      Se (ret_tipris = 2)
          xdesagt = ret_subati;
      Senao
          xdesagt = ret_desagt;
}

Utilização: Gerador de relatórios.

Disponível para o módulo: SM.

Este artigo ajudou você?