Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTEÚDO

Índice
minLevel2


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

Estado
colourGreen
titlePOST
/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

{ "parametros_negocio
Expandir
titleBody
Bloco de código
languageactionscript3
themeRDark
{ 
    "processID": "string",
	"firstExecution": "dateTime",
    "executionParameter": {
        "parametros": [  
	        { 
                "chave": "rpwServer",    
                "valor": "server" 
            },
	        { 
                "chave": "RPW_PROGRAM",  
                "valor": "program" 
            },
			{ 
                "chave": "RPW_PRG_EMS5", 
                "valor": "isEMS5" 
            },
     		       {
              		  "chave": "RPW_PRG_VERSESTILO",
        		        "valor": "versionestilo"
      	      },
 	          {    
			{
                		"chave": "RPW_PEDPRG_EXEC_PAIVERS",
        		"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

	"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çãoObrigató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
firstExecutionData/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 atualNão
executionParameterObjeto com parâmetros de execuçãoSim 
{ "chave": "rpwServer", "valor":"server" }"server" deve conter o servidor RPW responsável pela execução do pedidoSim
{ "chave": "RPW_PROGRAM", "valor": "program" },"program" deve conter o nome externo do programa a ser executadoSim
{ "chave": "RPW_PRG_EMS5", "valor": "isEMS5" }"isEM5" deve ser "yes" caso seja um programa EMS5, e "no" para demais programasSim
{ "chave": "RPW_PRG_ESTILO",          "valor": "estilo" }"estilo" deve ser preenchido com o código do estilo do programaNão
{ "chave": "RPW_PRG_VERS", "valor": "version" }"version" deve conter a versão do programa a ser executadoNão
{ "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" }"numPedExec" deve ser preenchido com o número do pedido de execução pai, caso existaNã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:
{"chave": "nomeCampo", "tipo": "tipoCampo"}

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

Campo

DescriçãoObrigatório
processIDIdentificador do processo (rotina) que será executadoSim
firstExecutionData/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 atualNão
executionParameterObjeto com parâmetros de execuçãoSim 
{ "chave": "rpwServer", "valor":"server" }"server" deve conter o servidor RPW responsável pela execução do pedidoSim
{ "chave": "RPW_PROGRAM", "valor": "program" },"program" deve conter o nome externo do programa a ser executadoSim
{ "chave": "RPW_PRG_EMS5", "valor": "isEMS5" }"isEM5" deve ser "yes" caso seja um programa EMS5, e "no" para demais programasSim
{ "chave": "RPW_PRG_VERS", "valor": "version" }"version" deve conter a versão do programa a ser executadoSim
{ "chave": "RPW_PED_EXEC_PAI", "valor": "numPedExec" }"numPedExec" deve ser preenchido com o número do pedido de execução pai, caso existaNã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
": [ parameters ] }

parameters deve ser preenchido com

os parâmetros esperados pelo programa ser executado, os parâmetros devem ser inseridos no formato:

um array de objetos contendo as faixas de seleção a serem aplicadas nos dados de negócio. Deve conter os seguintes campos:

  • ind_dwb_set_type": valor "Regra" ou "Exceção"
  • "cod_dwb_set": tipo do dado de negócio à ser filtrado
  • "cod_dwb_set_initial": valor inicial do filtro
  • "cod_dwb_set_final": valor final do filtro
  • "log_dwb_rule":"yes" para "Regra" e "no" para "Exceção" (vide "ind_dwb_set_type")


Este parâmetro deve ser utilizado apenas para programas EMS5.

Não

{ "chave": "nomeParametro", "valor": "valorParametro", "tipo":"tipoParametro"  }

Para programa EMS2: Os parâmetros enviados devem ser conforme os campos da tabela tt-param do programa rp que está sendo criado o pedido.

Sim

Exemplo

Expandir
titleExemplo

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: 

Bloco de código
languageactionscript3
themeRDark
{
  "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

Expandir
titleParâ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:


Expandir
titleAgenda diária
Bloco de código
languageactionscript3
themeRDark
{ 
    "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çãoObrigatório
recurrent

logical

Indica se a execução do job deve ocorrer mais de uma vezNão
dailyJson ObjectPara criação de agenda diáriaNão
daily.hourintegerHora da execução da agendaNão
daily.minuteintegerMinuto da execução da agendaNão


No exemplo de preenchimento à seguir, a agenda seria executada diariamente às 08:00.

  "daily": {
      "hour": 8,
      "minute": 0
  }

Expandir
titleAgenda semanal
Bloco de código
languageactionscript3
themeRDark
{ 
    "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çãoObrigatório
recurrent

logical

Indica se a execução do job deve ocorrer mais de uma vezNão
weeklyJson ObjectPara criação de agenda semanalNão
weekly.daysOfWeekJson ArrayLista de dias da semana que a agenda deve ser executadaNão
weekly.hourintegerHora de execução da agendaNão
weekly.minuteintegerMinuto de execução da agendaNã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
  }

Expandir
titleAgenda mensal
Bloco de código
languageactionscript3
themeRDark
{ 
    "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çãoObrigatório
recurrent

logical

Indica se a execução do job deve ocorrer mais de uma vezNão
monthlyJson ObjectPara criação de agenda semanalNão
monthly.dayintegerDia de execução da agendaNão
monthly.hourintegerHora de execução da agendaNão
monthly.minuteintegerMinuto de execução da agendaNão


No exemplo de preenchimento à seguir, a agenda seria executada mensalmente todo dia 10 às 08:00.  

"monthly": {
      "day": 10,
      "hour": 8,
      "minute": 0
  }



Expandir
titleRecorrência

Os parâmetros de recorrência permitem criar uma faixa de recorrências para execução de uma determinada agenda. 

Campo

Tipo

DescriçãoObrigatório
rangeExecutionsJson ObjectObjeto com as informações do range de execuçõesNão
rangeExecutions.frequencyJson ObjectObjeto com as informações de frequênciaNão
rangeExecutions.frequency.typestringIndica 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 minutosNão
rangeExecutions.frequency.valueintegerFrequência do tipo do intervaloNão
rangeExecutions.rangeLimitJson ObjectObjeto com as informações do limite de range da agendaNão
rangeExecutions.rangeLimit.dayintegerDia limite para término da agenda (válido somente para Monthly)Não
rangeExecutions.rangeLimit.hourintegerHora limite para término da agendaNão
rangeExecutions.rangeLimit.minuteintegerMinuto limite, pertencente à hora, para término da agendaNão
Expandir
titleExemplo recorrência

Alguns exemplos:

  • No exemplo de preenchimento à seguir, a agenda seria executada diariamente das 08:00 às 18:00 de hora em hora.
Bloco de código
languageactionscript3
themeRDark
  "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.
Bloco de código
languageactionscript3
themeRDark
  "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.
Bloco de código
languageactionscript3
themeRDark
 "monthly": {
      "day": 1,
      "hour": 8,
      "minute": 0
 },
 "rangeExecutions": {
 	"frequency": {
		"type": day,
		"value": 2
 	},
   "rangeLimit": {
        "day": 30
   		"hour": 8,
		"minute": 0
   }
 }