Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
function afterProcessFinish(processId) { var values, company, c1, c2, c3, dataset, result; //Recupera os valores do formulário. values = { "componentes": { "cod_empresa": new String(hAPI.getCardValue("cod_empresa")), "cod_item_compon": new String(hAPI.getCardValue("cod_item_compon")), "cod_grade_1_orig": new String(hAPI.getCardValue("cod_grade_1_orig")), "cod_grade_2_orig": new String(hAPI.getCardValue("cod_grade_2_orig")), "cod_grade_3_orig": new String(hAPI.getCardValue("cod_grade_3_orig")), "cod_grade_4_orig": new String(hAPI.getCardValue("cod_grade_4_orig")), "cod_grade_5_orig": new String(hAPI.getCardValue("cod_grade_5_orig")), "slct_acao": new String(hAPI.getCardValue("slct_acao")), "cod_item_compon_novo": new String(hAPI.getCardValue("cod_item_compon_novo")), "cod_grade_1_dest": new String(hAPI.getCardValue("cod_grade_1_dest")), "cod_grade_2_dest": new String(hAPI.getCardValue("cod_grade_2_dest")), "cod_grade_3_dest": new String(hAPI.getCardValue("cod_grade_3_dest")), "cod_grade_4_dest": new String(hAPI.getCardValue("cod_grade_4_dest")), "cod_grade_5_dest": new String(hAPI.getCardValue("cod_grade_5_dest")), "justificativa": new String(hAPI.getCardValue("justificativa")) } }; //Recupera o valor definido para o código da empresa. company = values.componentes.cod_empresa; //Converte o objeto JSON para JSON string. values = JSON.stringify(values); log.info("[LOGIX][WFMAN002] Valores do formulario recuperados: " + values + "."); log.info("[LOGIX][WFMAN002] Iniciando execucao da rotina WFMAN002."); c1 = DatasetFactory.createConstraint("company", company, null, ConstraintType.MUST); //Código da empresa. c2 = DatasetFactory.createConstraint("fn", "wfman002_alterar_componentes", null, ConstraintType.MUST); //Rotina 4GL. c3 = DatasetFactory.createConstraint("values", values, null, ConstraintType.MUST); //Valores do formulário. dataset = DatasetFactory.getDataset("LogixExecServiceDS", null, [c1, c2, c3], null); result = service.getValue(0, "result"); log.info("[LOGIX][WFMAN002] Rotina WFMAN002 executada, resultado enviado: " + result + "."); //Converte o JSON string para objeto JSON. result = JSON.parse(result); if (result) { if (result.status) { log.info("[LOGIX][WFMAN002] " + result.msg); } else { log.error("[LOGIX][WFMAN002] Nao foi possivel concluir o processo: " + result.msg + "."); } } } |
O formato do objeto Json JSON string enviado para a função callLogixFunction deve o Dataset deve seguir os padrões abaixo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
//Para tabelasregistros mestres (RECORDobjeto). { "clientes": { "cod_cliente" : "AM", "nom_cliente" : "ARINE MORCIANI" "componentes": { "cod_empresa": "24", "cod_item_compon": "ITEM-TESTE", "cod_grade_1_orig": "BRANCO", "cod_grade_2_orig": "", "cod_grade_3_orig": "", "cod_grade_4_orig": "", "cod_grade_5_orig": "", "slct_acao": "1", "cod_item_compon_novo": "ITEM-TESTE-NOVO", "cod_grade_1_dest": "PRETO", "cod_grade_2_dest": "", "cod_grade_3_dest": "", "cod_grade_4_dest": "", "cod_grade_5_dest": "", "justificativa": "ALTERACAO DO COMPONENTE ITEM-TESTE BRANCO PARA ITEM-TESTE-NOVO PRETO." } } //Para registros tabelasde detalhes (ARRAY OF RECORDlistas). { "clientes "componentes": [ { "cod_cliente" : "AM", "nom_cliente" : "ARINE MORCIANI" }, { "cod_cliente" : "A1", "nom_cliente" : "DIEGO VENTURI" } { "cod_empresa": "24", "cod_item_compon": "ITEM-TESTE", "cod_grade_1_orig": "BRANCO", "cod_grade_2_orig": "", "cod_grade_3_orig": "", "cod_grade_4_orig": "", "cod_grade_5_orig": "", "slct_acao": "1", "cod_item_compon_novo": "ITEM-TESTE-NOVO", "cod_grade_1_dest": "PRETO", "cod_grade_2_dest": "", "cod_grade_3_dest": "", "cod_grade_4_dest": "", "cod_grade_5_dest": "", "justificativa": "ALTERACAO DO COMPONENTE ITEM-TESTE BRANCO PARA ITEM-TESTE-NOVO PRETO." }, { "cod_empresa": "24", "cod_item_compon": "ITEM-TESTE-NOVO", "cod_grade_1_orig": "PRETO", "cod_grade_2_orig": "", "cod_grade_3_orig": "", "cod_grade_4_orig": "", "cod_grade_5_orig": "", "slct_acao": "1", "cod_item_compon_novo": "ITEM-TESTE", "cod_grade_1_dest": "BRANCO", "cod_grade_2_dest": "", "cod_grade_3_dest": "", "cod_grade_4_dest": "", "cod_grade_5_dest": "", "justificativa": "ALTERACAO DO COMPONENTE ITEM-TESTE-NOVO PRETO PARA ITEM-TESTE BRANCO." } ] } |
A função 4gl do Logix deve ter o sufixo _wfprocess e não deve receber parâmetros. Para recuperar os valores informados deve-se utilizar a função WfGetParameterValue e o retorno deve ser uma variável RECORD com no mínimo dois atributos: status com a situação da execução da regra de negócio (verdadeiro ou falso) e msg com uma mensagem genérica. Abaixo segue um exemplo de código de uma função 4gl utilizada em um processo workflow:
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas