- Criado por Haidi Carolina Baumer Branco, última alteração por Juliano Godzicki em 13 jun, 2024
CONTEÚDO
01. VISÃO GERAL
Disponibilização de api para criar pedido de execução para execução através do Datasul Automação de Tarefas - Novo RPW.
02. CRIAÇÃO DE PEDIDO
POST /api/framework/v1.1/jobScheduler
Possibilita a criação de pedido de execução para execução através do Datasul Automação de Tarefas - Novo RPW.
Os pedidos criados podem ser consultados através do programa Monitor Pedido Execução HTML.
Body
{ "processID": "string", "firstExecution": "dateTime", "executionParameter": { "parametros": [ { "chave": "rpwServer", "valor": "server" }, { "chave": "RPW_PROGRAM", "valor": "program" }, { "chave": "RPW_PRG_EMS5", "valor": "isEMS5" }, { "chave": "RPW_PRG_ESTILO", "valor": "estilo" }, { "chave": "RPW_PRG_VERS", "valor": "version" }, { "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" }, { "chave": "RPW_SEND_EMAIL", "valor": "sendEmail" }, { "parametros_negocio": [ { "chave" :"string", "valor" : "string", "tipo": "string" } ] }, { "param_digita_def": [ { "chave" :"string", "tipo": "string" } ] }, { "param_digita_dados": [ { "string" :"string", "string": "string" } ] }, { "selecoes": [ { "ind_dwb_set_type": "string", "cod_dwb_set": "string", "cod_dwb_set_initial": "string", "cod_dwb_set_final": "string", "log_dwb_rule": "logico" } ] } ] } }
Parâmetros
Campo | Descrição | Obrigatório |
---|---|---|
processID | Identificador do processo (rotina) que será executado Será realizada a validação de permissão do usuário neste programa no momento da execução do pedido. | Sim |
firstExecution | Data/hora para execução do primeiro pedido, exemplo: "2022-11-20T12:00:00-3:00", caso esteja em branco, o pedido será criado para data/hora atual | Não |
executionParameter | Objeto com parâmetros de execução | Sim |
{ "chave": "rpwServer", "valor":"server" } | "server" deve conter o servidor RPW responsável pela execução do pedido | Sim |
{ "chave": "RPW_PROGRAM", "valor": "program" }, | "program" deve conter o nome externo do programa a ser executado | Sim |
{ "chave": "RPW_PRG_EMS5", "valor": "isEMS5" } | "isEM5" deve ser "yes" caso seja um programa EMS5, e "no" para demais programas | Sim |
{ "chave": "RPW_PRG_ESTILO", "valor": "estilo" } | "estilo" deve ser preenchido com o código do estilo do programa | Não |
{ "chave": "RPW_PRG_VERS", "valor": "version" } | "version" deve conter a versão do programa a ser executado | Não |
{ "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" } | "numPedExec" deve ser preenchido com o número do pedido de execução pai, caso exista | Não |
{ "chave": "RPW_SEND_EMAIL", "valor": "sendEmail" } | "sendEmail" deve ser "yes" caso o pedido deva enviar e-mail, "no" caso não deva' | Não |
{ "parametros_negocio": [ parameters ] } | parameters deve ser preenchido com os parâmetros esperados pelo programa ser executado, os parâmetros devem ser inseridos no formato: { "chave": "nomeParametro", "valor": "valorParametro", "tipo":"tipoParametro" } Para programa EMS2: Os parâmetros enviados devem ser com chave e tipo conforme os campos da tabela tt-param do programa rp que está sendo criado o pedido. Importante: Este parâmetro está disponível a partir da release 12.1.2311. | Sim |
{ "param_digita_def": [ parameters ] } | parameters deve ser preenchido com os campos de seleção quando esperados pelo programa ser executado, os parâmetros devem ser inseridos no formato: Este parâmetro deve ser utilizado apenas para programas EMS2. | Não |
{ "param_digita_dados": [ parameters ] } | parameters deve ser preenchido com os valores de seleção quando esperados pelo programa ser executado, estes parâmetros devem ser passados conforme definições enviadas no parâmetro param_digita_def. Os parâmetros devem ser inseridos no formato: {"nomeCampo": "valorCampo"} Este parâmetro deve ser utilizado apenas para programas EMS2. | Não |
{ "selecoes": [ parameters ] } | parameters deve ser preenchido com um array de objetos contendo as faixas de seleção a serem aplicadas nos dados de negócio. Deve conter os seguintes campos:
Este parâmetro deve ser utilizado apenas para programas EMS5. | Não |
Exemplo
O exemplo abaixo cria um pedido de execução para o programa BTR005AA, para o dia 20/11/2022 às 12:00, para o servidor de execução "serverRPW" e parametrizado para envio de e-mail:
{ "processID": "btr005aa", "firstExecution": "2022-11-20T12:00:00-3:00", "executionParameter": { "parametros": [ { "chave": "rpwServer", "valor": "serverRPW" }, { "chave": "RPW_PROGRAM", "valor": "btb/btr00527.p" }, { "chave": "RPW_PRG_EMS5", "valor": "no" }, { "chave": "RPW_PRG_VERS", "valor": "2.00.00.002" }, { "chave": "RPW_SEND_EMAIL", "valor": "yes" }, { "parametros_negocio": [ { "chave": "destino", "valor": 2, "tipo": "integer" }, { "chave": "arquivo", "valor": "BTR005AA.LST", "tipo": "character" }, { "chave": "usuario", "valor": "super", "tipo": "character" }, { "chave": "data-exec", "valor": "08/03/19", "tipo": "date" }, { "chave": "hora-exec", "valor": 55030, "tipo": "integer" }, { "chave": "parametro", "valor": "false", "tipo": "logical" }, { "chave": "formato", "valor": 2, "tipo": "integer" }, { "chave": "v_num_tip_aces_usuar", "valor": 0, "tipo": "integer" }, { "chave": "ep-codigo", "valor": "FND", "tipo": "character" }, { "chave": "c-classificacao", "valor": "Aplicativo", "tipo": "character" }, { "chave": "c-cod_catal_img-ini", "valor": "", "tipo": "character" }, { "chave": "c-cod_catal_img-fim", "valor": "ZZZZZZZZ", "tipo": "character" }, { "chave": "c-des_catal_img-ini", "valor": "", "tipo": "character" }, { "chave": "c-des_catal_img-fim", "valor": "ZZZZZZZZ", "tipo": "character" }, { "chave": "c-cod_aplicat_dtsul-ini", "valor": "", "tipo": "character" }, { "chave": "c-cod_aplicat_dtsul-fim", "valor": "ZZZZZZZZ", "tipo": "character" } ] } ] } }
Parâmetros de agenda
Para criação de uma agenda para determinado de pedido de execução, inclui-se alguns parâmetros referentes a agenda, alguns exemplos:
{ "processID": "string", "firstExecution": "dateTime", "daily": { "hour": hour, "minute": minute }, "executionParameter": { "parametros": [ { "chave": "rpwServer", "valor": "server" }, { "chave": "RPW_PROGRAM", "valor": "program" }, { "chave": "RPW_PRG_EMS5", "valor": "isEMS5" }, { "chave": "RPW_PRG_VERS", "valor": "version" }, { "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" }, { "chave": "RPW_SEND_EMAIL", "valor": "sendEmail" }, { "parametros_negocio": [ { "chave" :"string", "valor" : "string", "tipo": "string" } ] } ] } }
Parâmetros
Campo | Tipo | Descrição | Obrigatório |
---|---|---|---|
recurrent | logical | Indica se a execução do job deve ocorrer mais de uma vez | Não |
daily | Json Object | Para criação de agenda diária | Não |
daily.hour | integer | Hora da execução da agenda | Não |
daily.minute | integer | Minuto da execução da agenda | Não |
No exemplo de preenchimento à seguir, a agenda seria executada diariamente às 08:00.
"daily": {
"hour": 8,
"minute": 0
}
{ "processID": "string", "firstExecution": "dateTime", "weekly": { "daysOfWeek":["daysOfWeek"], "hour": hour, "minute": minute }, "executionParameter": { "parametros": [ { "chave": "rpwServer", "valor": "server" }, { "chave": "RPW_PROGRAM", "valor": "program" }, { "chave": "RPW_PRG_EMS5", "valor": "isEMS5" }, { "chave": "RPW_PRG_VERS", "valor": "version" }, { "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" }, { "chave": "RPW_SEND_EMAIL", "valor": "sendEmail" }, { "parametros_negocio": [ { "chave" :"string", "valor" : "string", "tipo": "string" } ] } ] } }
Campo | Tipo | Descrição | Obrigatório |
---|---|---|---|
recurrent | logical | Indica se a execução do job deve ocorrer mais de uma vez | Não |
weekly | Json Object | Para criação de agenda semanal | Não |
weekly.daysOfWeek | Json Array | Lista de dias da semana que a agenda deve ser executada | Não |
weekly.hour | integer | Hora de execução da agenda | Não |
weekly.minute | integer | Minuto de execução da agenda | Não |
No exemplo de preenchimento à seguir, a agenda seria executada semanalmente todas as segundas-feiras às 09:15.
"weekly": {
"daysOfWeek":["monday"],
"hour": 9,
"minute": 15
}
{ "processID": "string", "firstExecution": "dateTime", "monthly": { "day": day, "hour": hour, "minute": minute }, "executionParameter": { "parametros": [ { "chave": "rpwServer", "valor": "server" }, { "chave": "RPW_PROGRAM", "valor": "program" }, { "chave": "RPW_PRG_EMS5", "valor": "isEMS5" }, { "chave": "RPW_PRG_VERS", "valor": "version" }, { "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" }, { "chave": "RPW_SEND_EMAIL", "valor": "sendEmail" }, { "parametros_negocio": [ { "chave" :"string", "valor" : "string", "tipo": "string" } ] } ] } }
Campo | Tipo | Descrição | Obrigatório |
---|---|---|---|
recurrent | logical | Indica se a execução do job deve ocorrer mais de uma vez | Não |
monthly | Json Object | Para criação de agenda semanal | Não |
monthly.day | integer | Dia de execução da agenda | Não |
monthly.hour | integer | Hora de execução da agenda | Não |
monthly.minute | integer | Minuto de execução da agenda | Não |
No exemplo de preenchimento à seguir, a agenda seria executada mensalmente todo dia 10 às 08:00.
"monthly": {
"day": 10,
"hour": 8,
"minute": 0
}
Os parâmetros de recorrência permitem criar uma faixa de recorrências para execução de uma determinada agenda.
Campo | Tipo | Descrição | Obrigatório |
---|---|---|---|
rangeExecutions | Json Object | Objeto com as informações do range de execuções | Não |
rangeExecutions.frequency | Json Object | Objeto com as informações de frequência | Não |
rangeExecutions.frequency.type | string | Indica qual o tipo de repetição para os horários a serem gerados. Se 'day', gerará horários incrementando dias; se 'hour', gerará horários incrementando horas; se 'minute', gerará horários incrementando minutos | Não |
rangeExecutions.frequency.value | integer | Frequência do tipo do intervalo | Não |
rangeExecutions.rangeLimit | Json Object | Objeto com as informações do limite de range da agenda | Não |
rangeExecutions.rangeLimit.day | integer | Dia limite para término da agenda (válido somente para Monthly) | Não |
rangeExecutions.rangeLimit.hour | integer | Hora limite para término da agenda | Não |
rangeExecutions.rangeLimit.minute | integer | Minuto limite, pertencente à hora, para término da agenda | Não |
Alguns exemplos:
- No exemplo de preenchimento à seguir, a agenda seria executada diariamente das 08:00 às 18:00 de hora em hora.
"daily": { "hour": 8, "minute": 0 }, "rangeExecutions": { "frequency": { "type": hour, "value": 1 }, "rangeLimit": { "hour": 18, "minute": 00 } }
- No exemplo de preenchimento à seguir, a agenda seria executada toda segunda feita das 09:15 às 09:30 a cada minuto.
"weekly": { "daysOfWeek":["monday"], "hour": 9, "minute": 15 }, "rangeExecutions": { "frequency": { "type": minute, "value": 1 }, "rangeLimit": { "hour": 09, "minute": 30 } }
- No exemplo de preenchimento à seguir, a agenda seria executada mensalmente do dia 1º ao dia 30 às 08:00 a cada dois dias.
"monthly": { "day": 1, "hour": 8, "minute": 0 }, "rangeExecutions": { "frequency": { "type": day, "value": 2 }, "rangeLimit": { "day": 30 "hour": 8, "minute": 0 } }