Ajuda por telas > Recursos > Processos Automáticos > Cadastro > Processos automáticos disponíveis > 180 - Atendimento de pedidos

Processo automático 180 - Atendimento de pedidos

Este processo é responsável por gerenciar pedidos, avaliando estoque e crédito do cliente, gerando pré-faturas e integrando com o sistema de gerenciamento de armazém (WMS) para a separação física dos produtos (quando há integração). O processo respeita parâmetros específicos e possui restrições para garantir a eficiência e a precisão no atendimento dos pedidos.

Utilização via agendador

Tipo Processo: "4 - Rotina".

Rotina Sapiens: "180 - Atendimento de pedidos".

Etapas do processo

  1. Carregar Lista de Pedidos: O processo inicia com o carregamento de uma lista de pedidos a serem processados e tratará cada pedido individualmente.
  2. Avaliar Estoque: Cada produto do pedido é avaliado para verificar a disponibilidade de estoque dos produtos solicitados. O processo sempre validará a existência de estoque com base no parâmetro da Filial para formação de estoque, conforme definido na tela Parâmetros da Filial para Compras (F070FCP).
  3. Avaliar Crédito do Cliente: O crédito do cliente é verificado para garantir que ele está apto a realizar a compra.
  4. Gerar Pré-Fatura: Uma pré-fatura é gerada para os pedidos que passaram nas avaliações de estoque e crédito. As pré-faturas geradas são do tipo 1, da Gestão de Faturamento e Outras Saídas, e do processo de Expedição.
  5. Fechar Pré-Fatura: Se configurada, a pré-fatura é fechada após sua geração.
  6. Integração com WMS: Caso necessário, o processo integra com o WMS para a separação física dos produtos.
  7. Respeitar Parâmetro de Aceita Parcial: O processo respeita o parâmetro de Aceita Parcial para o pedido, atendendo parcialmente se permitido.

Restrições

Produtos Kit: O kit somente será atendido se todos se todos os itens do kit puderem ser atendidos.

Observações

Fila de Processamento:

Paralelismo

O processo pode trabalhar com paralelismo. O paralelismo é recomendado quando se deseja que haja uma maior vazão no atendimento dos pedidos, de forma que várias instâncias processarão pedidos diferentes em paralelo, aumentando assim a vazão X tempo. Atenção à configuração do paralelismo, para evitar que haja sobreposição de processos que possam tentar atender o mesmo pedido ao mesmo tempo. Para que haja uma performance ainda maior no processo de atendimento é altamente recomendado que a entrada de pedidos seja feita de forma que os produtos estejam ordenados por Código do produto + Código da Derivação.

Paralelismo Descrição
NIVELPARALELISMO = 1..10

O paralelismo é utilizado para permitir que vários processos rodem ao mesmo tempo, pegando pedidos diferentes em cada processo para otimizar o tempo de geração. O nível de paralelismo representa quantas execuções simultâneas (pode ser de 1 a 10) estarão executando o processo. Conforme o nível do paralelismo indicado, cada pedido cairá para uma instância diferente.

Paralelismo suportado de 1 até 10.

Sequência do paralelismo indica qual é o número da instância que estará executando o processo. Deve-se configurar a quantidade de processos agendados conforme o nível de paralelismo definido. Quando se define um paralelismo maior que 1 entende-se que terá um segundo processo agendado que irá realizar o mesmo processo de atendimento e que parte dos pedidos serão atendidos por um processo e parte por outro processo.

Funcionamento

Exemplo da configuração:

Detalhamento

Parâmetros de Processo

Parâmetro Tipo Descrição
EMPRESA

NÚMERO

Indica qual a empresa para filtro dos pedidos.

Nota

Este campo não possui abrangência, e, caso necessário parametrizar para mais de uma filial, é necessário um processo para cada filial.

FILIAL NÚMERO

Indica qual a filial para filtro dos pedidos Caso parâmetros de empresa e filial não sejam informados, serão utilizados empresa e filial do processo automático.

Nota

Este campo não possui abrangência, e, caso necessário parametrizar para mais de uma filial, é necessário um processo para cada filial.

FILTRO_PEDIDO TEXTO

Campo opcional que permite inserir um filtro no comando SQL para deixar alguns pedidos de fora.

Caso o filtro de pedidos seja informado, ele é o primeiro filtro a ser executado e, os pedidos não retornados por conta do filtro não entrarão em nenhuma esteira de processamento. Exemplo de filtro por rota de entrega: (E120PED.CODROE = '123').

Por padrão, o filtro é informado com o operacional SQL "AND" quando há a necessidade de conectá-lo a outros campos. Porém, neste caso específico, deve ser utilizado sem o operacional SQL "AND".

A tabela principal da rotina é a E120PED e deve ser utilizada como base para realizar filtros. Outras tabelas podem ser incorporadas através de INNER JOIN, mas sempre com a E120PED como tabela base. Dessa forma, é importante garantir que as tabelas adicionais permitam a realização de INNER JOIN a partir da E120PED.

Segue um exemplo de filtro para retornar pedidos que não contenham produtos com o código "TESTE":
NOT EXISTS (SELECT 1 FROM E120IPD WHERE E120IPD.CODEMP = E120PED.CODEMP AND E120IPD.CODFIL = E120PED.CODFIL AND E120IPD.NUMPED = E120PED.NUMPED AND E120IPD.CODPRO = 'TESTE')

É importante, ainda, esclarecer que não existem identificadores de regras para customizar filtros para a formação de pré-faturas. Esse filtro é único e exclusivamente personalizado através do parâmetro FILTRO_PEDIDO.

QUANTIDADE_PEDIDOS NÚMERO Quantidade máxima de pedidos a serem processados a cada execução. O valor máximo processado é 500. Se for informado número acima de 500, será assumido 500.
FECHAR_PREFATURAS NÚMERO Indicativo se a pré-fatura deve ser fechada após sua geração.
ITENS_EM_PREPARACAO NÚMERO (1/2) Indica se, ao atender o pedido, devem ser avaliados itens em preparação (itens em preparação são itens que estão em situação "em carga"), e que ainda não podem ser faturados.
CONSIDERAR_TRANSP_PEDIDO TEXTO (S/N) Indica se, ao gerar a pré-fatura deve-se herdar a transportadora do pedido para a pré-fatura.
TRANSPORTADORA NÚMERO (1/2) Indica o código da transportadora para a qual devem ser atreladas as pré-faturas geradas. Caso o campo CONSIDERAR_TRANSP_PEDIDO esteja igual a "S" e no pedido houver transportadora informada, será mantida a transportadora do pedido.
GERAR_BLOQUEADO TEXTO (S/N) Indicativo se deverá gerar pré-fatura para clientes que possuem crédito bloqueado. Valores possíveis: "S - Sim" e "N - Não". Em caso de "S - Sim", e o crédito do cliente estar bloqueado, a pré-fatura será gerada com situação "1". Em caso de "N - Não" e o crédito do cliente estar bloqueado, não será gerada a pré-fatura.
QUANTIDADE_TENTATIVAS NÚMERO Este parâmetro só tem aplicação quando a fila de processamento (FILA_PROCESSAMENTO) for igual a 2. Ele indica a quantidade de tentativas que devem ser feitas para atender um pedido que entrou para a fila secundária. O número máximo de tentativas que o processo executará a tentativa de geração da pré-fatura pelo processo da FILA_PROCESSAMENTO = 2, é 10, neste caso fazendo dez tentativas de geração.
FILA_PROCESSAMENTO NÚMERO

Indica a fila de processamento para execução. A fila de processamento tem por objetivo fazer com que pedidos que apresentem alguma inconsistência no seu processamento, como por exemplo, falta de estoque, sejam direcionados para uma segunda fila, evitando que toda a vez o sistema tente atender novamente aquele pedido e fique apresentando sempre no mesmo erro. Isso evita processamento desnecessário e dá uma maior vazão ao atendimento dos pedidos .Valores possíveis "1" e "2".

  • "1": Significa que serão lidos pedidos que ainda não foram processados e não caíram em algum erro de processamento;
  • "2": Significa que serão lidos somente pedidos que já foram processados e que em seu processamento acusou algum tipo de erro (falta de estoque, por exemplo).

Atenção

Quando trabalhar com paralelismo, o indicado é que o paralelismo seja utilizado somente para FILA_PROCESSAMENTO = 1.

Quando parâmetro FILA_PROCESSAMENTO não for preenchido, não serão movidos pedidos para a fila secundária.

DIAS_PEDIDO NÚMERO

Indica a quantidade de dias passados que o processo deve considerar ao buscar os pedidos na base para gerar a pré-fatura. Por exemplo, se configurado para 7, o processo buscará pedidos dos últimos 7 dias.

Este artigo ajudou você?