Definição da Regra de Negócio - Desktop
REQ001-1 | Cadastro depósito X local X Classe |
- Desenvolver um cadastro para associar Depósitos x Classes.
- Esta tela permitirá relacionar:
- Estabelecimento + local.dos Depósitos que controlam WMS.
- Sem local cadastrado no WMS.
a. Cadastro relacionado ao local (WM0240).
- Tela: Local X Depósito Classe (WM0240B)
- Desenvolver o programa WM0240B relacionado ao local informado, permitindo relacionar depósitos a este.
- Apresentar somente os locais cadastrados no WMS.
- Quando selecionado um deposito utilizando o botão Incluir, apresentar o programa WM0240C, permitindo que o usuário informe o ID da classe.
- Não permitir relacionar um depósito associado a outro local.
- Não permitir relacionar o cliente 0 (zero).
- Não permitir desvincular uma relação Depósito X Classe se existir saldo deste no Estabelecimento X Local do cadastro.
- O botão Alterar acessa a tela Depósito X Classe (WM0240C).
REQ001-2 | Função Classe estoque (Alteração WM9000 e WM9000.i) |
- Alterar include WM9000.i, para incluir na definição da ttWm-docto-itens o campo:
FIELD cod-depos AS CHAR FORMAT "X(3)"
- Alterar programa WM9000 para incluir logica para alteração do código cliente conforme cadastro da relação de deposito X classe.
- Desenvolver função: “Log-classe-estoque-wms”,
PROCEDURE pi-atualiza-local:
FOR EACH ttWm-docto:
IF ttWm-docto.cod-depos <> "" and
ttWm-docto.cod-local = "" THEN DO:
FIND FIRST wm-local WHERE
wm-local.cod-estabel = ttWm-docto.cod-estabel AND
wm-local.cod-depos = ttWm-docto.cod-depos
NO-LOCK NO-ERROR.
IF AVAIL wm-local THEN
ASSIGN ttWm-docto.cod-local = wm-local.cod-local.
ELSE DO:
FIND FIRST wm-local-deposito WHERE
wm-local-deposito.cod-estabel = ttWm-docto.cod-estabel AND
wm-local-deposito.cod-depos = ttWm-docto.cod-depos NO-LOCK NO-ERROR.
ASSIGN ttWm-docto.cod-local = IF AVAIL wm-local-deposito THEN wm-local-deposito.cod-local
ELSE "".
END.
IF ttWm-docto.cod-local <> "" THEN
FOR EACH ttWm-docto-itens WHERE
ttWm-docto-itens.cod-estabel = ttWm-docto.cod-estabel AND
ttWm-docto-itens.cod-local = "" AND
ttWm-docto-itens.num-docto = ttWm-docto.num-docto:
ASSIGN ttWm-docto-itens.cod-local = ttWm-docto.cod-local.
END.
END.
END.
END.
IF CAN-FIND(FIRST funcao WHERE funcao.cd-funcao = "Log-classe-estoque-wms" AND funcao.ativo = YES).
FOR EACH ttWm-docto:
FOR EACH ttWm-docto-itens:
FIND FIRST wms-local-classe no-lock
Where wms-local-classe.cod-estabel = ttWm-docto-itens.cod-estabel
AND wms-local-classe.cod-local = ttWm-docto-itens.cod-local
AND wms-local-classe.cod-cliente = ttWm-docto-itens.cod-cliente NO-LOCK NO-ERROR.
IF AVAIL wms-local-classe THEN
ASSIGN ttWm-docto-itens.cod-cliente = wms-local-classe.classe.
END.
End.
- Incluir validação para que se existir mais de uma ttWm-docto.cod-local com depósitos diferentes com origem pré-faturamento, bloquear integração.
- No processo de entrada alterar:
WM9023: alterar a validação de Depósito x Local para que se não encontrar o local, validar no novo Cadastro de Classe.
find first wm-local where
wm-local.cod-estabel = tt-docto-ft.cod-estabel and
wm-local.cod-deposito = tt-docto-ft.cod-depos no-lock no-error.
if not avail wm-local then do:
IF CAN-FIND(FIRST funcao WHERE funcao.cd-funcao = "Log-classe-estoque-wms" AND funcao.ativo = YES).
FIND FIRST wms-local-classe
WHERE wms-local-classe.cod-estabel = tt-docto-ft.cod-estabel
AND wms-local-classe.cod-deposito = tt-docto-ft.cod-depos NO-LOCK NO-ERROR.
IF NOT AVAIL wms-local-classe THEN DO:
{utp/ut-liter.i "Depósito_no_WMS" *}
run piCreateErrors (input 3549,
input RETURN-VALUE).
assign l-erro = yes.
undo DESATUALIZACAO, return
END.
/*Deposito inexistente no WMS*/
/* Inicio -- Projeto Internacional */
{utp/ut-liter.i "Depósito_no_WMS" *}
run piCreateErrors (input 3549,
input RETURN-VALUE).
assign l-erro = yes.
undo DESATUALIZACAO, return.
end.
REQ001-4 | Função Classe estoque (alteração BOSC039atua) |
- Bosc039atua: alterar processo de para alterar depósito/local. tt-itens-ped.cod-depos.
- Incluir nova variável:
def var l-deposito LIKE wm-local.cod-depos no-undo.
- Incluir gerenciamento da variável na procedure atualizaPreFaturEMS:
IF CAN-FIND(FIRST funcao WHERE funcao.cd-funcao = "Log-classe-estoque-wms" AND funcao.ativo = YES).
IF Wm-docto-itens.cod-cliente <> 0 THEN DO:
FIND FIRST wms-local-classe
WHERE wms-local-classe.cod-estabel = Wm-docto-itens.cod-estabel
AND wms-local-classe.cod-local = Wm-docto-itens.cod-local
AND wms-local-classe.cod-cliente = Wm-docto-itens.cod-cliente NO-LOCK NO-ERROR.
IF AVAIL wms-local-classe THEN DO:
ASSIGN l-deposito = wms-local-classe.cod-depos.
END.
ELSE DO:
ASSIGN l-deposito = wm-local.cod-depos.
END.
End.
IF NOT AVAIL tt-itens-ped THEN DO:
create tt-itens-ped.
assign tt-itens-ped.cod-estabel = wm-docto.cod-estabel
tt-itens-ped.cdd-embarq = de-cdd-embarq
tt-itens-ped.nr-resumo = i-nr-resumo
tt-itens-ped.nr-pedcli = tt-volume.nr-pedcli
tt-itens-ped.cod-depos = l-deposito /* alterar Britania*/
tt-itens-ped.nome-abrev = tt-volume.nome-abrev
tt-itens-ped.it-codigo = tt-volume.cod-item
tt-itens-ped.cod-refer = tt-volume.cod-refer
tt-itens-ped.cod-lote = tt-volume.cod-lote
tt-itens-ped.seq-item = wm-docto-itens-ped.num-seq-item-ped
tt-itens-ped.nr-entrega = wm-docto-itens-ped.int-1
tt-itens-ped.qt-item-ped = de-qtd-item-ped
tt-itens-ped.qt-item = de-qtd-item
tt-itens-ped.peso-liquido = de-qtd-peso
tt-itens-ped.peso-bruto = de-qtd-peso + IF FIRST-OF(tt-volume.num-seq-volume) THEN (tt-volume.qti-embalagem * wm-embalagem.qtd-peso) ELSE 0.
END.
REQ001-5 | Função Classe estoque (RE2005g e re1005g) |
- Incluir validação de depósito local no WMS.
IF CAN-FIND(FIRST funcao WHERE funcao.cd-funcao = "Log-classe-estoque-wms" AND funcao.ativo = YES).
FIND FIRST wms-local-classe
WHERE wms-local-classe.cod-estabel = doc-fisico.cod-estabe
AND wms-local-classe. cod-depos = rat-lote.cod-depos NO-LOCK NO-ERROR.
IF AVAIL wms-local-classe THEN DO:
ASSIGN c-cod-local-wms = wms-local-classe.cod-local.
END.
- Alterar create da ttWm-docto-itens, para incluir o código do depósito.
ttWm-docto-itens.cod-depos = rat-lote.cod-depos.
REQ001-6 | Função Classe estoque (EQ3030). |
- Incluir validação de depósito local no WMS.
IF CAN-FIND(FIRST funcao WHERE funcao.cd-funcao = "Log-classe-estoque-wms" AND funcao.ativo = YES).
FIND FIRST wms-local-classe
WHERE wms-local-classe.cod-estabel = it-dep-fat.cod-estab
AND wms-local-classe. cod-depos = it-dep-fat.cod-depos NO-LOCK NO-ERROR.
IF AVAIL wms-local-classe THEN DO:
ASSIGN c-cod-local = wms-local-classe.cod-local.
END.
- Alterar creeate da ttWm-docto-itens, para incluir o código do depósito.
ttWm-docto-itens.cod-depos = it-dep-fat.cod-depos.
REQ001-7 | Função Classe Estoque (BC9024, bcapi9024 e bosc118). |
- Incluir campo para informar cod-cliente/classe.
- Trazer como padrão o relacionado a WM-box-saldo localizando pela wm-box-saldo-etiqueta do id da etiqueta lida.
- Registrar cod-cliente/classe na tabela wm-inventario-endereço.
- Alterar a chamada da bcapi9024 para incluir o campo cod-cliente e bosc0118 procedure createEnderecoInventario, para gerar a tabela com a nova informação.
REQ001-8 | Função Classe Estoque (WM2023) |
- Incluir coluna com informação do o código cliente/classe, conforme alteração do REQ001-6.
REQ001-9 | Função Classe Estoque (WM2021) |
- Incluir coluna com informação do código cliente/classe, conforme alteração do REQ001-6
REQ001-10 | Função Classe estoque (WM2010) |
- Alterar processo de atualização de saldos no WMS, considerando o código cliente/classe para comparativo e acertos.
- Incluir coluna com informação do código cliente/classe, conforme alteração do REQ001-6.
REQ001-11 | Função Classe Estoque (WM2022) |
- Alterar processo comparativo de saldo inventariado WMS com ERP, para considerar a relação Classe X Depósito para comparar os saldos ao depósito.
- Alterar relatório para considerar os comparativos de depósito, dividindo o relatório em depósitos.
REQ003 | Conferência Via Coletor (BC9050) |
- Desenvolver o processo de conferência baseado no atual processo de conferência do WMS, via coletor de dados, que interaja com documentos digitados no RE2001.
- Este processo deve permitir gerar documento de entrada no WMS, possibilitando a movimentação (Armazenamento) do material recebido antes da atualização da nota e em depósitos.
- O processo de conferência será realizado via coletor de dados, onde a chave do processo será a Nota Fiscal, baseado no atual processo de conferência.
- Este processo permite ao Operador gerar os paletes e imprimir as etiquetas destes, conforme a quantidade informada.
- No WMS este processo deve gerar um documento de entrada, com as mesmas informações da Nota Fiscal selecionada.
- Os itens conferidos serão registrados no processo de conferência padrão do WMS associado à Nota Fiscal.
- Assim como ocorre com o programa de conferência de coletor (BC9045), os registros serão realizados nos processos padrão do WMS.
- O acerto contábil dos itens conferidos que não estão na composição da Nota Fiscal será de responsabilidade do cliente.
Definição da Regra de Negócio - Coletor de Dados
REQ003 | Processo de Conferência (BC9050) |
- Desenvolver processo de conferência via coletor de dados:
1 - Informar usuário e senha:
2 - Tipo de Seleção Nota Fiscal.
2.1 - Se informado 1, apresenta as Notas Fiscais pendentes de conferência (tópico 3).
2.2 - Se informado 2, permite informar a Nota Fiscal
3 - Seleção Nota Fiscal:
3.1 - Permite ao Operador navegar pelas Notas Fiscais pendentes de conferência.
3.2 - Enter para seleção - ir para tópico 5.
4. Informar Nota Fiscal:
4.1 - Permite o operador informar a nota fiscal.
4.2 - Quando não encontrada, retornar mensagem (Nota Fiscal não encontrada).
4.3 - Quando encontrada, retornar ao Tópico 3, posicionado na Nota.
5 - Selecionar Item:
5.1 - Permite selecionar os itens da Nota pendente de conferência.
5.2 - Selecionar a opção Novo Item para conferir um item diferente da Nota Fiscal.
5.3 - Enter para seleção - ir Tópico 6.
6 - Informar Quantidade:
6.1 - Informar quantidade do palete.
6.2 - Gerar/imprime etiqueta WMS com as informações da Nota Fiscal e item/quantidade conferida.
6.3 - Existe documento de entrada do WMS com as mesmas informações da Nota?
6.3.1. SIM, Incrementa nova sequência do item/quantidade conferida.
6.3.2. NÃO, Gerar documento de entrada no WMS com as mesmas informações da Nota Fiscal.
6.4. Registrar informações do processo de conferência padrão do WMS (re2001W).
6.5. Retorna sequência 5.
Procedimentos | Resultados Esperados |
Efetuar conferência | - Gerar registro de conferência (RE2001W).
- Gerar etiquetas WMS.
- Gerar documento de entrada no WMS.
|
Premissas / Restrições
- Restrições.
- Processos internos como picking e transferência entre endereços, não serão alterados nesta inovação.
- O módulo de Controle de Qualidade (CQ) não sofrerá alteração para adequação do controle de saldo por cliente/classe apresentado nesta Engenharia.
- O processo de reporte de produção não sofrerá alteração para adequação do controle de saldo por cliente/classe apresentado nesta Engenharia.
- O módulo de Controle de Chão-de-Fábrica não sofrerá alteração para adequação do controle de saldo por cliente/classe apresentado nesta Engenharia.
- O processo de requisição de estoque não sofrerá alteração para adequação do controle de saldo por Cliente/Classe.
- A leitura dos itens/etiquetas/saldos serão alteradas para que o Cod. Cliente/Classe também seja informado. Somente nos programas do coletor de dados será alterado o programa de leitura WM2002A não terá a opção de informar o Cod. Cliente/Classe para a leitura.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações > Acadêmico > Tesouraria] | - |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações > Acadêmico > Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações > Acadêmico > Cadastros] | - |
Exemplo de Aplicação:
Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % (percentual) que o aluno pagará em dinheiro. Esse % (percentual) poderá ser alterado durante a negociação.
Criar o campo Referência Mínima para Cálculo (AAA_REFCAL), no qual o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades como a referência mínima para calcular o débito total do aluno.
Criar o parâmetro MV_ACPARNE que definirá se as informações de % Mínimo Espécie e Referência Mínima para Cálculo serão obrigatórias.
O parâmetro MV_ACPARNE deve apresentar as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional.
Tabelas Utilizadas:
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.