BPM

Iniciar um processo via LSP (G5)

1405 views 17/12/2018 28/12/2020 daniel-huebes 7

Imagine que a partir de um evento ocorrido no sistema G5, seja necessário iniciar um processo no BPM.
Este evento pode ser por exemplo, alteração de cargo de um colaborador, desligamento, entre outros.
Identificando o evento que deseja-se iniciar o processo do BPM, é possível executar uma regra LSP e iniciar o processo.

Segue abaixo um exemplo de regra LSP com essa finalidade.
Leia atentamente as instruções nos comentários, linhas 40, 41 e 42.

Importante alterar itens como username, password e processId

@ ############################################################### @
@ Iniciar processo BPM @
@ ############################################################### @
 
Definir Alfa vHTTP;
Definir Alfa xRetornoLogin;
Definir Alfa xBearerToken;
Definir Alfa xRetornoStartProcess;
Definir Alfa vData;
Definir Alfa xToken;
Definir Alfa xDesRed;
 
 
vData = "{\"username\": \"usuario@tenant.com.br\", \"password\": \"XXXXXXX\", \"escopo\": \"string\"}";
HttpObjeto(vHTTP);
HttpDesabilitaErroResposta(vHTTP);
HttpAlteraCabecalhoRequisicao(vHTTP, "Content-Type", "application/json");
 
HttpPost(vHTTP, "https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/authentication/actions/login", vData, xRetornoLogin);
HttpLeCodigoResposta(vHTTP, vCodigo);
Se ((vCodigo <> 200) e (vCodigo <> 204)){
Mensagem(Erro, "Não foi possível efetuar login no Senior-X para solicitar a leitura da nova descrição do cargo");
}
 
@ COPIA TOKEN DO JSON DE RETORNO @
PosicaoAlfa("access_token", xRetornoLogin, xPOS);
xPOS = xPOS + 17;
CopiarAlfa(xRetornoLogin, xPOS, 32);
xToken = xRetornoLogin;
 
 
Definir Alfa xDatHisAlfa;
ConverteMascara(3, xDatHis, xDatHisAlfa, "dd/MM/yyyy");
Definir Alfa xBusinessData;
 
Definir Alfa xNumCadAlfa;
IntParaAlfa(xNumCad, xNumCadAlfa);
 
 
@ processId VAI MUDAR PARA CADA PROCESSO @
@ businessData.root SÃO OS DADOS DO FORMULÁRIO @
@ actionToExecute É A AÇÃO DO PROCESSO A SER EXECUTADA @
vData = "{\"processId\": \"194\", \"authorization\": \"Bearer " + xToken + "\",";
vData = vData + "\"businessData\": \"{\\\"root\\\": {\\\"colaborador\\\": \\\"nome.colaborador\\\", \\\"usuario\\\":\\\"nome.usuario\\\", \\\"data_revisao\\\": \\\"" + xDatHisAlfa + "\\\", \
                     \\\"cadastro_colaborador\\\": \\\" + xNumCadAlfa + \\\", \\\"titulo_do_cargo\\\": \\\"" + xDesRed + "\\\"}}\",";
vData = vData + "\"flowExecutionData\":{\"actionToExecute\":\"Solicitar\"}}";
 
 
@ Inicio o processo @                 
xBearerToken = "Bearer " + xToken;                     
HttpAlteraCabecalhoRequisicao(vHTTP, "Authorization", xBearerToken);
HttpPost(vHTTP, "https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/workflow/actions/startProcess", vData, xRetornoStartProcess);
HttpLeCodigoResposta(vHTTP, vCodigo);
Se ((vCodigo <> 200) e (vCodigo <> 204)){
    Mensagem(Erro, "Não foi possível iniciar o processo para solicitar a leitura da nova descrição do cargo");
}

Este artigo foi útil para você?