Table of Contents

Reorganizações e Agendamentos

You are here:

Objetivo

O objetivo deste documento é identificar e descrever o processo de reorganização e agendamentos.

Reorganizações

O processo de reorganizações é de extrema importância para evitar alguma perda de performance do WPMS com informação que já não seja necessária para o dia-a-dia da operação.

Devemos sempre relembrar que o WPMS é uma ferramenta operacional e não de histórico de informação.

Quando se arranca com o WPMS, os dados vão ficando porque o período de vida ainda não chegou ao seu fim. Relembramos que existe informação que devemos guardar por questões legais.

Os objetos de reorganização atuam basicamente em tabelas D que contêm os dados propriamente ditos e também reorganiza tabelas W que têm deletes durante a exploração normal e as I do spool.

Ao fim de algum tempo, é necessário criar agendamentos em WPMS com objetos de reorganização. O que fazem é apagar documentos de acordo com o período de vida definido através da parametrização. Este período de vida depende muita da política de retenção de dados da empresa, e por vezes está de acordo com o processo de transferência de dados para algum tipo de sistema de datawarehouse.

Como boa prática, deve ser criado um utilizador que execute apenas este tipo de trabalhos. Por exemplo criar um utilizador com o nome wpms-batch.

Para criar estes agendamentos, é necessário definir períodos de vida útil dos vários tipos de documentos (por exemplo tipo documentos externos com mais de 6 meses são eliminados).

Posto isto (a eliminação de registos), como estamos a falar de Oracle, os índices perdem qualidade e é necessário reorganizá-los.

Depois destes trabalhos terminarem, é necessário que a reorganização de índices seja efetuada. Se não for, provavelmente vai-se notar na performance do WPMS.

Listar Objetos de Reorganização

Na transação SD027 – Lista de objetos de Reorganização, podemos listar todos os objetos definidos.

E termos a informação dos parâmetros e a sua definição.

Nesta transação também é possível criar novos objetos de reorganização.

Agendamentos

O WPMS tem a funcionalidade de agendamento de “ocorrências” e que permite uma maior flexibilidade de gestão de processos e sua repetição de ocorrência.

Existem 4 grandes tipos de ocorrências:

  1. – Reorganizações
  2. – Processos de eliminação de artigos
  3. – Alimentação de estatísticas
  4. – Envio de informação de um report para uma “mailing list”

Neste documento iremos entrar em mais detalhe nas ocorrências de reorganizações.

Agendar execução de Objeto de Reorganização

Na IA003 devemos escolher o objeto de reorganização que desejamos agendar e clicar em detalhes.

Podemos alterar os parâmetros indicados por default de acordo com as nossas necessidades. De modo a alterar temos de ter a opção “Modificar” ativa. Para a ativar devemos clicar no botão Ao ativar esta opção, ficamos com o campo “Valor” disponível para colocar os valores que desejamos.

No final devemos clicar em “Guardar”. Para agendar a execução devemos selecionar no menu a opção sistema → agendar execução.

No próximo ecrã devemos dar um nome ao nosso trabalho, escolher o dia e a hora de inicio, para além do serviço onde esta reorganização vai ser executada, e outras opções.

No final temos de clicar em “Confirmar dados”.

Opções disponíveis no agendamento

Existem várias opções que poderemos escolher e combinar no agendamento, que iremos descrever.

Primeiro passo:

Escolher o nome do nosso agendamento, preenchendo o campo Título.

Selecionar a data/hora de inicio do nosso agendamento, preenchendo o campo “Inicio”.

Este campo marca o inicio do nosso agendamento, se não preenchermos o campo “Fim”, este agendamento não terá fim e irá correr sempre que possível.

Se preenchermos o campo “Fim”, estamos a indicar que este agendamento não irá ocorrer depois nessa data/hora.

Neste exemplo estamos a indicar que o nosso agendamento terá como inicio 10 de Janeiro de 2014 às 12:00 e a última ocorrência irá ocorrer em 15 de Janeiro de 2014 às 12:00.

No campo repetições estamos a indicar o período de repetições que este agendamento irá ocorrer. Será neste caso um conjunto de hipóteses.

Exemplo para ocorrer todos os dias:

Exemplo para ocorrer todas as 12 em 12 horas:

Outra opção é escolher em qual o serviço este agendamento tem de usar.

Na combinação de opções é possível criarmos inclusões ou exclusões da ocorrência.

Neste exemplo estamos a configurar uma exclusão para que o agendamento não ocorra às segundas-feiras.

Para que esta exclusão fique ativa no agendamento temos de clicar no botão e como poderemos ver, a exclusão já irá aparecer listada a este agendamento.

Existem duas possibilidades de configurarmos critérios complexos, que são as opções “Parâmetros enviados” e “Colunas”.

Na área de parâmetros é possível adicionarmos parâmetros com valores específicos para o nosso agendamento.

Neste exemplo é para o estabelecimento igual a 5404 e o tipo de stock igual a 01.

Existe a possibilidade de utilizarmos vários operadores (=, <=, >=, Like, Diferente, In, etc.) em cada parâmetro, assim como utilizar algumas funções PHP (por exemplo são utilizadas para critérios com datas).

A opção colunas, atua ao nível dos agendamentos para reports, uma vez que dá para filtrar os valores da colunas dos reports.

No final para que o nosso agendamento fique registado é preciso clicar em “Confirmar dados”.

Criar um agendamento de um report

Existe também a possibilidade de efetuar um agendamento a partir da seleção de informação de uma transação.

Para tal, basta na transação selecionar no menu opção sistema → agendar execução.

Neste exemplo estamos na transação AL258.

Ao escolhermos a opção “Agendar execução”, iremos para o ecrã de opções que já foi descrito neste documento.

Lista de agendamentos

A lista de todos os agendamentos está acessível na transação IA006. Aqui poderá verificar o estado do agendamento assim como informação do seu inicio, a próxima vez que irá ocorrer e o seu fim.

Nesta transação é possível modificar um agendamento assim como reter, libertar ou remover. Para tal basta aceder ao menu “Opções”.

No caso de clicar em modificar, irá para o ecrã das opções disponíveis de agendamento já descritas neste documento.

Troubleshooting

O meu agendamento não arranca

Deve verificar se o serviço de schedule → agendamento se encontra ativo na transação dos serviços IA004.

No caso de não estar ativo deve iniciar o serviço.

Verifiquei que o meu agendamento não está a fazer tudo o que devia

É possível que exista muita informação a tratar para este processo especifico, e poderá ser necessário aumentar o limite de memória para a fila de trabalho onde ocorre este agendamento.

Para aumentar esse limite deve utilizar a transação IG009.

Esta situação também pode decorrer devido a intervalos de tempo de ocorrência do agendamento muito espaçados entre si. Para esta situação, deve-se aumentar a ocorrência do agendamento.