14547 - Utilização de regra em WebServices
Problema: Temos uma regra customizada cadastrada no Sapiens que chama o web services 'sm.com.senior.g5.rh.sm.distribuicaoEPI.distribuir' do módulo SM.
Mesmo que a regra seja executada normalmente e o registro seja inserido no SM, a variável 'aRetorno', na depuração da regra é apresentada em branco, está correto?
Quando ocorre / onde se aplica: Na utilização de regra através do web services
Solução: Quando o webservice é executado com sucesso a variável erroExecucao estará vazia, esta é a evidência que o webservice foi executado com sucesso. Caso ocorra algum erro durante a execução, a variável erroExecucao conterá a mensagem de erro do webservice.
Para gravar o log de erro da execução, deve ser feito desta maneira:
.
.
aMensagemErro = wsEpi.erroExecucao;
ConverteParaMaiusculo (aMensagemErro);
Se (aMensagemErro <> )
GeraLog(aRetorno);
Veja abaixo um exemplo da regra completa já com a sugestão de alteração:
Definir sm.com.senior.g5.rh.sm.distribuicaoEPI.distribuir wsEpi;
Definir Alfa aMensagemErro;
nNumEmp = 1;
nTipCol = 1;
nNumCad = 1;
MontaData(31, 12, 1900, nDatZer);
wsEpi.TipOpe = I; @ I-Inclusão; A-Alteracao; E-Exclusao @
wsEpi.NumEmp = nNumEmp;
wsEpi.TipCol = nTipCol; @ 1-Empregado; 2-Terceiro; 3-Parceiro @
wsEpi.NumCad = nNumCad;
wsEpi.CodEpi = 2;
wsEpi.DatEnt = DatSis;
wsEpi.QtdEnt = 1;
wsEpi.CodOem = 0;
wsEpi.MedEpi = 1;
wsEpi.InsUso = S; @ Já foi treinado? @
wsEpi.AssPro = S; @ Assinou controle de entrega do EPI? @
wsEpi.CodMtv = 5;
wsEpi.ObsDis = Teste Regra X;
wsEpi.Executar();
aMensagemErro = wsEpi.erroExecucao;
ConverteParaMaiusculo (aMensagemErro);
@ Se possui alguma mensagem de erro, significa que o web service não foi executado com sucesso @
Se (aMensagemErro <> )
GeraLog(aRetorno);
Mesmo que a regra seja executada normalmente e o registro seja inserido no SM, a variável 'aRetorno', na depuração da regra é apresentada em branco, está correto?
Quando ocorre / onde se aplica: Na utilização de regra através do web services
Solução: Quando o webservice é executado com sucesso a variável erroExecucao estará vazia, esta é a evidência que o webservice foi executado com sucesso. Caso ocorra algum erro durante a execução, a variável erroExecucao conterá a mensagem de erro do webservice.
Para gravar o log de erro da execução, deve ser feito desta maneira:
.
.
aMensagemErro = wsEpi.erroExecucao;
ConverteParaMaiusculo (aMensagemErro);
Se (aMensagemErro <> )
GeraLog(aRetorno);
Veja abaixo um exemplo da regra completa já com a sugestão de alteração:
Definir sm.com.senior.g5.rh.sm.distribuicaoEPI.distribuir wsEpi;
Definir Alfa aMensagemErro;
nNumEmp = 1;
nTipCol = 1;
nNumCad = 1;
MontaData(31, 12, 1900, nDatZer);
wsEpi.TipOpe = I; @ I-Inclusão; A-Alteracao; E-Exclusao @
wsEpi.NumEmp = nNumEmp;
wsEpi.TipCol = nTipCol; @ 1-Empregado; 2-Terceiro; 3-Parceiro @
wsEpi.NumCad = nNumCad;
wsEpi.CodEpi = 2;
wsEpi.DatEnt = DatSis;
wsEpi.QtdEnt = 1;
wsEpi.CodOem = 0;
wsEpi.MedEpi = 1;
wsEpi.InsUso = S; @ Já foi treinado? @
wsEpi.AssPro = S; @ Assinou controle de entrega do EPI? @
wsEpi.CodMtv = 5;
wsEpi.ObsDis = Teste Regra X;
wsEpi.Executar();
aMensagemErro = wsEpi.erroExecucao;
ConverteParaMaiusculo (aMensagemErro);
@ Se possui alguma mensagem de erro, significa que o web service não foi executado com sucesso @
Se (aMensagemErro <> )
GeraLog(aRetorno);