Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Envio ativo para produtos com estoque alterado desde o último envio

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAEST - Estoque e Custos

Função:

SCHEDESTMG.PRW - Schedule para envio de produtos com estoque alterado

Situação/Requisito:

Realizar envio de produtos que tiveram o estoque alterado com base no

ultimo

último envio.

Solução/Implementação:

Implementado a rotina SCHEDESTMG que deverá ser responsável por enviar os produtos que tiveram o estoque modificado. Segue abaixo configurações necessárias para agendamento da rotina.

Conceito:

O Schedule Protheus permite que rotinas do sistema sejam agendadas para que possam ser executadas posteriormente, em um período determinado pelo usuário. É possível definir quando (dias, horários e quantidades de execuções) e em qual Grupo de Empresas e Filiais o processo será executado. O Schedule Protheus não realiza nenhum processamento. Sua função é chamar a rotina agendada no momento definido ou manter esta rotina sendo executada constantemente, quando o agendamento é configurado como sempre ativo. Consumo de memória, desempenho e processamento são atributos associados a rotina agenda, e não ao Schedule Protheus em si.

O Schedule Protheus é composto por três componentes principais:

    • Manager: Componente responsável por fazer o gerenciamento das tarefas, como o controle de geração das tarefas (Task Manager) e o controle da fila das tarefas que serão executadas (Queue Manager);
    • Agent: Este é o componente que gerencia as execuções e distribuí as tarefas para que as Executes configuradas que estão disponíveis no momento. Os Agents podem estar localizados em servidores diferentes, possibilitando o balanceamento da carga de execuções;
    • Execute: São os componentes responsáveis por realizar a chamada das rotinas agendadas. A única das entidades que consome licença no Schedule Protheus, e isto ocorre na execução da rotina agendada.

Monitoramento dos serviços do Schedule Protheus

Existem dois serviços que estão configurados no Schedule Protheus.

  • Task Manager: Serviço de verificação de agendamentos. Este serviço é responsável por monitorar os agendamentos e gerar as tarefas para execução.
  • Queue Manager: Serviço de gerenciamento de filas. Este é o serviço que faz a distribuição das tarefas entre os Agents configurados.

Para visualizar estes serviços acesse o módulo Configurador (Sigacfg) e no menu acesse Ambiente/Schedule/Schedule (CFGA010):


Image Modified
Figura 1 - Task Manager e Queue Manager do Schedule Protheus. Serviços responsáveis por gerar e gerenciar a fila de tarefas.

Através


Por intermédio desta interface é possível gerenciar os serviços. O primeiro botão permite iniciar todos os serviços de uma só vez. O segundo inicia o serviço no qual se está posicionado. 
Já o terceiro botão para todos os serviços de uma vez e o quarto interrompe o serviço no qual se está posicionado. 
Devido a complexibilidade de manipulação dos serviços existe um botão de atualização (quinto botão) que permite que esta interface seja atualizada. Para que o Schedule Protheus funcione estes dois serviços devem estar iniciados.

Monitoramento de Agents

Nesta visão são exibidas informações sobre o status dos Agents e também sobre os eventos de cada um. 
Image Modified
Figura

- Monitor de Agents. Aqui são exibidos os seus status e a data e hora de última utilização de cada um.


O gerenciamento dos Agents cadastrados é realizado da seguinte maneira:
No primeiro botão superior é possível iniciar todos os Agents cadastrados. O segundo botão inicia somente o Agent no qual se está posicionado. 
O terceiro botão interrompe o serviço de todos os Agents e o quarto botão interrompe somente o Agent no qual se está posicionado. 
Para que as tarefas sejam executadas, é necessário que exista ao menos um Agent cadastrado com a empresa equivalente a tarefa, e este esteja inicializado.
Cadastrar os Agents é muito simples. Clicando em Agent/Cadastro a tela de cadastro é apresentada. 

Image Modified
Figura 3- Tela de cadastro dos Agents do Schedule

Protheus 

Protheus 
Na barra superior no botão Image Modified é possível incluir automaticamente

um Agent para

um Agent para cada um dos grupos de empresas cadastrados no sistema.

Cada Agent já

Cada Agent já vem configurado com duas Threads para execução das rotinas. 
É possível

incluir Agents de

incluir Agents de maneira manual. Para isso, na parte inferior,

em Detalhes

em Detalhes, clique em adicionar e inclua

Agent

o Agent. É necessário definir um código para

Agent

o Agent, seu nome, o Ip, porta de comunicação e empresa na qual

este Agent irá

este Agent irá se conectar e o número de Threads disponíveis para execução das rotinas agendadas. É possível também desabilitar

Agent

o Agent, caso necessário, ou ainda excluí-lo.


MUITO IMPORTANTE:


Informações
titleImportante:

É recomendável que seja utilizado sempre o endereço IP da máquina, e não o

seu Alias de

seu Alias de rede.
Exemplo: Utilize 172.16.32.111 ao invés de Maquina_001.
Dentro

de Agent

de Agent/

Monitor é

Monitor é possível monitorar

Agent posicionado

o Agent posicionado



Image Modified
Figura 4 - Monitoramento dos Agents cadastrados


É possível aqui verificar se o Agent está em execução ou não e em caso de execução, qual a rotina que está sendo executada no momento e a sua última data de utilização. Isto ajuda a medir sua utilização, sendo possível diminuir o número de threads ou aumentaer de acordo com o uso deste Agent.

Agendamento da rotina SCHEDESTMG

Cadastrar as rotinas no Schedule Protheus é muito simples. Acesse Ambiente/Schedule/Schedule (CFGA010). Clicando em Agendamentos é possível verificar quais rotinas estão agendadas para execução. 


Image Modified
Figura 5- Visualização de rotinas agendadas para execução.


Para realizar o agendamento de uma nova rotina, basta ir em Cadastro e incluir a rotina na qual se deseja realizar o agendamento. 

Image Modified
Figura 6 - Interface para manipulação das rotinas a serem agendadas.


Na parte inferior, em detalhes é possível incluir uma nova rotina, clicando em Incluir. É necessário incluir dados nos seguintes campos:
Código – O código do agendamento é incluído automaticamente;
Usuário – É necessário vincular o usuário associado à execução da rotina;
Rotina – Rotina que terá a sua execução agendada. Existe um facilitador para encontrar a rotina desejada (uma consulta padrão, ou F3). Para que a rotina seja localizada pela consulta é necessário que:

  • Esta rotina esteja em um dos menus do sistema;
  • O usuário associado possua permissão para executar a rotina a ser agendada;
  • A rotina a ser agendada possua a função static Scheddef (veja detalhes sobre a criação da Scheddef
 no TDN

O botão Parâmetros trará os parâmetros da rotina, caso a mesma possua Scheddef definida. Para rotinas que possuem Scheddef definida não é possível realizar passagem de parâmetros diretamente na rotina. 
Supondo que a rotina TesteSched possua Scheddef definida. Neste caso, ela deve ser cadastrada no campo Rotina como 'TESTESCHED'. Caso a rotina não possua Scheddef definida, é possível realizar a passagem de parâmetros pela própria rotina, e neste caso a rotina pode ser cadastrada como 'TESTESCHED (parametro1, parametro2, parametroN)'. Mais detalhes da diferença entre rotinas com Scheddef e rotinas sem Scheddef (rotinas de processo especial) são mostradas no tópico Preparando uma rotina para ser agendada no Schedule Protheus.
Data – Defina a data de início para o agendamento da rotina;
Hora – Defina a hora de início do agendamento da rotina;
Ambiente – Defina em qual ambiente esta rotina será executada;
Empresa/Filial – Defina para qual par empresa/Filial a rotina será executada.

Módulo – Defina o módulo associado a rotina agendada.

Criada desta forma, a rotina será executada apenas na data e hora informada. Caso seja necessário que o processo se repita é possível cadastrar também uma Recorrência
Clique em Image Modified e a tela de cadastro de recorrência é aberta. 

Image Modified
Figura 7 - Cadastro de recorrência para a rotina agendada.

É possível definir a regra de execução da rotina. É possível definir o padrão de recorrência (diário, semanal, mensal anual e sempre ativo, o número de execuções e a data de término deste agendamento). 
Não é possível selecionar o número de execuções e a data de término quando o padrão de Recorrência é cadastrado como sempre ativo. Neste tipo de padrão, a rotina é executada em loop, ou seja, ao final de sua execução ela é iniciada novamente, isto enquanto houver Threads de Agents disponíveis.
Confirmando a inclusão e tendo os serviços de Manager e Agents ativos, a rotina já está pronta para ser executada pelo Schedule Protheus.Clicando Protheus. Clicando em Monitor é possível verificar as execuções agendadas, bem como as tarefas geradas para a rotina cadastrada. Já os eventos associados a execução só estarão disponíveis para as rotinas preparadas para agendamento, ou seja, para aquelas que tiverem SchedDef definida.
É importante esclarecer a relação entre um agendamento e as tarefas geradas. Um agendamento gera uma tarefa para cada grupo de empresa/filial cadastrado para este agendamento. 

Image Modified
Figura 8 - Rotinas agendadas e seus eventos associados.

Cadastro do adapter STOCKLEVEL

Deve ser feito o cadastro da mensagem StockLevel, reponsavel pelo envio de dos dados dos produtos que foram encontrados naquele periodo.

Image Modified

Conceitos de utilização da rotina SCHEDESTMG

A rotina SCHEDESTMG tem por objetivo enviar informações dos produtos cadastrados que tiveram movimentações e atualizações de saldos realizando consulta nas tabelas de Entradas (SD1), Saídas(SD2) e Movimentações Internas(SD3), verificando desde o

ultimo

último envio o que teve de atualização de saldos.

...