Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

(Obrigatório)

Informações Gerais

Especificação

Produto

TOTVS12

Módulo

WMS

Segmento Executor

Supply Chain - Logística - Inovação

Projeto1

LOGWMS01

IRM1

 

Requisito1

LOGWMS02-112

Subtarefa1

LOGWMS02-119

Chamado2

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

O sistema Padrão WMS, permite relacionar saldos do deposito do TOTVS aos endereços relacionados a estes depósitos. O Desenvolvimento proposto, permite o processo de gestão de saldo relacionado os saldos dos depósitos com saldo no WMS, sem a relação por endereços X depósitos:

- Integrações dos embarques com os saldos no WMS conforme deposito alocado.

- Atualização de inventários com os saldos do TOTVS

- Integrações dos recebimentos com os saldos no WMS conforme deposito.

- Cadastro e parâmetros específicos.

Será desenvolvida uma gestão de relação de deposito X local, onde para um local, poderão existir mais depósitos do TOTVS relacionado.

Esta gestão será denominada classe, para que para um local do WMS, seja possível armazenar saldos de depósitos diferentes. No WMS esta classe será relacionada ao campo cod-cliente. Este campo atualmente é sempre considerado 0. Para este novo processo o cadastro de classe será uma relação de deposito com o cadastro genérico de cliente, onde para a gestão do WMS, será considerado o deposito.

Exemplo:

Situação atual, para um local uma relação com deposito.

Situação TOTVS: 

Estabelecimento

Deposito

Item

Quantidade

1

EXP

X01

600

 

 Situação WMS: 

Estabelecimento

Local

Cod. cliente

Item

Quantidade

1

EXP

0

X01

600

 

  Endereço 01/A/01/001:

6 pallet de 100 unidades cada.

 

Est

Local

Endereço

Cod. cliente

Item

QTD

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

 

 Proposto: 

Um local no WMS associado ao deposito EXP e um deposito EX2 – classe 999 associado ao local.

 Situação TOTVS: 

Estabelecimento

Deposito

Item

Quantidade

1

EXP

X01

400

1

EX2

X01

200

 

 Situação WMS: 

Estabelecimento

Local

Cod. cliente

Item

Quantidade

1

EXP

0

X01

400

1

EXP

99

X01

200

 Endereço 01/A/01/001:

 6 pallet de 100 unidades cada. 

  

 

 

 Saldo endereço: 

Est

Local

Endereço

Cod. cliente

Item

QTD

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

0

X01

100

1

EXP

01/A/01/001

99

X01

100

1

EXP

01/A/01/001

99

X01

100

Os movimentos no WMS, serão gerados com o campo cod-cliente relacionado ao cadastro das relações deposito X classe, assim os saldos movimentados, serão considerados os associados a esta informação. Processos internos como picking e transferência entre endereços, não serão considerados nestas regras.

 

<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.

(Obrigatório)

Definição da Regra de Negócio

 

 

 

REQ001-1

Cadastro depósito X local X Classe

 

 Desenvolver cadastro para associar deposito e classes a uma relação estabelecimento local.

 

 - Cadastro do deposito como controla WMS.

 

- Sem local cadastrado no WMS.

 

 

  1. Cadastro relacionado ao local (wm0240).

 

 

Tela: Local X Deposito Classe (WM0240B)

 

 

 

 

- Desenvolver programa wm0240B relacionado ao local informado, permitindo relacionar depósitos a estes.

 

- Apresentar somente locais cadastrados no WMS.

 

- Quando selecionado um deposito utilizando o botão de incluir, apresentar o programa WM0240C, permitindo o usuário informar o número da classe.

 

- Não permitir relacionar um depósito associado a outro local.

 

- Não permitir relacionar o cliente “0”.

 

 - Não permitir desvincular uma relação Deposito X classe se existir saldo deste no estabelecimento X local do cadastro.

 

- O botão “alterar” acessa a tela Deposito X Classe (WM0240C).

 

Tela: Deposito X Classe (wm0240B). 

 

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 se existir mais de uma ttWm-docto.cod-local com depósitos diferentes com origem pré-faturamento, bloquear integração.

 

 

REQ001-3

WM9023

 

  No processo de entrada alterar:

 

Wm9023: alterar validação de deposito X local para se não encontrar no local, valida 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 deposito/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.

 

 

 

Alterar create:

 

 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 deposito 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 deposito.

 

ttWm-docto-itens.cod-depos             = rat-lote.cod-depos.

 

REQ001-6

Função Classe estoque (EQ3030).

 

 

- incluir validação de deposito 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 deposito.

 

   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 o 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 o 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 deposito para comparar os saldos ao deposito.

 

- Alterar relatório para considerar os comparativos de deposito, dividindo o relatório em depósitos.

 

Premissas/Restrições

 

  1. Premissas:
    1. Não se aplica
    2. Restrições:
      1. Funcionalidades não contempladas no escopo deste documento ou qualquer informação que esteja implícita na documentação.
      2. 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.

 

  1. 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.

 

  1. 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.

 

  1. O processo de requisição de estoque não sofrerá alteração para adequação do controle de saldo por Cliente/Classe.

 

  1. O processo de geração do inventário não será alterado portanto a opção de gerar inventario por Cliente/classe não será criada.

 

  1. 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 este processo será alterado, o programa de leitura WM2002A não terá a opção de informar o Cod. Cliente/Classe para a leitura.

 

  1. Riscos identificados na funcionalidade e que não estão atendidos:
    1. Não se aplica.


<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

 

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 % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde 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 ter 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>.

Opcional

Protótipo de Tela

 

<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

 

Protótipo 01

 

 

 

 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

Dicionário de Dados

 

Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

  

Índice

Chave

01

<FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

02

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

03

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

Campo

<cod-estabel>

Tipo

<C>

Tamanho

<6>

Valor Inicial

<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

Mandatório

Sim (  ) Não (  )

Descrição

<Referência Mínima para Cálculo>

Título

<Ref.Calc.>

Picture

<@E999.99>

Help de Campo

<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

(Opcional)

Estrutura de Menu

 

<Informações utilizadas na linha Datasul>.

 

Procedimentos

 

Procedimento

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Módulo

 

 

 

Programa base

 

 

 

Nome Menu

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Registro padrão

Sim

Sim

Sim

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Release de Liberação

 

 

 

 

 

 

Programas

 

Programa

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Nome Externo

 

 

 

Nome Menu/Programa

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Nome Verbalizado[1]

(Max 254 posições)

(Max 254 posições)

(Max 254 posições)

Procedimento

 

 

 

Template

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

Tipo[2]

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Categoria[3]

 

 

 

Executa via RPC

Sim/Não

Sim/Não

Sim/Não

Registro padrão

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Query on-line

Sim/Não

Sim/Não

Sim/Não

Log Exec.

Sim/Não

Sim/Não

Sim/Não

Rotina (EMS)

 

 

 

Sub-Rotina (EMS)

 

 

 

Localização dentro da Sub Rotina (EMS)

 

 

 

Compact[4]

Sim/Não

Sim/Não

Sim/Não

Home[5]

Sim/Não

Sim/Não

Sim/Não

Posição do Portlet[6]

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

Informar os papeis com os quais o programa deve ser vinculado

 

 

 

 

Cadastro de Papéis

<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

 

Código Papel

(máx 3 posições)

Descrição em Português*

 

Descrição em Inglês*

 


[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

[4] Obrigatório quando o projeto for FLEX

[5] Obrigatório quando o projeto for FLEX

[6] Obrigatório quando o projeto for FLEX

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.