Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
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 ( ) México ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colômbia ( ) Outro _____________. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Atualmente o sistema Padrão WMS permite relacionar os saldos do depósito do ERP TOTVS aos endereços relacionados a estes depósitos, ou seja, é possível que haja apenas um depósito por endereço atualmente.
O desenvolvimento proposto permite o processo de gestão de saldo relacionados aos saldos dos depósitos com saldo no WMS, sem a relação por Endereços X Depósitos. Desta forma será possível que em um mesmo endereço haja saldos de diferentes depósitos controlados pelo WMS, onde estes endereços não possuam Local WMS relacionado, usando um Local padrão para isso,
Esta funcionalidade permitirá:
Será desenvolvida uma gestão de relação de Depósito x Local, na qual para um local poderão existir mais depósitos do TOTVS relacionados
Esta gestão será denominada CLASSE, para que em um local do WMS seja possível armazenar saldos de depósitos diferentes.
Será utilizado o campo cod-cliente para armazenar a informação da Classe no banco de dados do WMS. Este campo atualmente é sempre considerado 0 (zero).
Para este novo processo o Cadastro de Classe será uma relação de depósito com o cadastro genérico de cliente, no qual para a gestão do WMS será considerado o depósito.
Situação atual, para um local uma relação com depósito.
Estabelecimento | Deposito | Item | Quantidade |
1 | EXP | X01 | 600 |
Estabelecimento | Local | Cod. cliente | Item | Quantidade |
1 | EXP | 0 | X01 | 600 |
6 paletes 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 |
Um local no WMS associado ao depósito EXP e um depósito EX2 – classe 999 associado ao local.
Estabelecimento | Deposito | Item | Quantidade |
1 | EXP | X01 | 400 |
1 | EX2 | X01 | 200 |
Estabelecimento | Local | Cod. cliente | Item | Quantidade |
1 | EXP | 0 | X01 | 400 |
1 | EXP | 99 | X01 | 200 |
6 paletes 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 | 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 depósito "X" classe; assim aos saldos movimentados serão considerados os associados a esta informação.
REQ001-1 | Cadastro depósito X local X Classe |
a. Cadastro relacionado ao local (WM0240).
REQ001-2 | Função Classe estoque (Alteração WM9000 e WM9000.i) |
FIELD cod-depos AS CHAR FORMAT "X(3)"
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.
REQ001-3 | WM9023 |
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) |
def var l-deposito LIKE wm-local.cod-depos no-undo.
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) |
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.
ttWm-docto-itens.cod-depos = rat-lote.cod-depos.
REQ001-6 | Função Classe estoque (EQ3030). |
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.
ttWm-docto-itens.cod-depos = it-dep-fat.cod-depos.
REQ001-7 | Função Classe Estoque (BC9024, bcapi9024 e bosc118). |
REQ001-8 | Função Classe Estoque (WM2023) |
REQ001-9 | Função Classe Estoque (WM2021) |
REQ001-10 | Função Classe estoque (WM2010) |
REQ001-11 | Função Classe Estoque (WM2022) |
REQ003 | Conferência Via Coletor (BC9050) |
REQ003 | Processo de Conferência (BC9050) |
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 |
|
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] | - |
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.
Não se aplica.
ADD TABLE "wm-local-depos-classe"
AREA "Schema Area"
LABEL "Local x Depos x Classe"
DESCRIPTION "Rela‡Æo Local x Desp¢sito x Classe"
DUMP-NAME "es010-------1"
ADD FIELD "cod-estabel" OF "wm-local-depos-classe" AS character
DESCRIPTION "C¢digo do Estabelecimento."
FORMAT "x(5)"
INITIAL ""
LABEL "Estabelecimento"
POSITION 2
MAX-WIDTH 10
COLUMN-LABEL "Estabelec"
HELP "C¢digo do Estabelecimento."
ORDER 10
MANDATORY
ADD FIELD "cod-local" OF "wm-local-depos-classe" AS character
DESCRIPTION "C¢digo do Local."
FORMAT "x(3)"
INITIAL ""
LABEL "Local"
POSITION 3
MAX-WIDTH 6
COLUMN-LABEL "Local"
HELP "C¢digo do Local."
ORDER 20
MANDATORY
ADD FIELD "cod-deposito" OF "wm-local-depos-classe" AS character
DESCRIPTION "C¢digo do Dep¢sito do ERP"
FORMAT "x(3)"
INITIAL ""
LABEL "Dep¢sito"
POSITION 4
MAX-WIDTH 6
COLUMN-LABEL "Dep¢sito"
ORDER 30
ADD FIELD "cod-classe" OF "wm-local-depos-classe" AS integer
DESCRIPTION "C¢digo Classe/Cliente"
FORMAT ">>>>>>>>9"
INITIAL "0"
LABEL "Classe"
POSITION 5
MAX-WIDTH 4
COLUMN-LABEL "Classe"
ORDER 40
ADD INDEX "local-depos-classe" ON "wm-local-depos-classe"
AREA "Schema Area"
UNIQUE
PRIMARY
INDEX-FIELD "cod-estabel" ASCENDING
INDEX-FIELD "cod-local" ASCENDING
INDEX-FIELD "cod-deposito" ASCENDING
INDEX-FIELD "cod-classe" ASCENDING
.
PSC
cpstream=ibm850
.
0000001439
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> |
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 |
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 |
Procedimento |
|
|
|
Descrição | Local | (Max 40 posições) | (Max 40 posições) |
Módulo | wmw |
|
|
Programa base | wm0240 |
|
|
Nome Menu | Local | (Max 32 posições) | (Max 32 posições) |
Interface | GUI | 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 |
|
|
|
Programa | wm0240b | wm0240c |
|
Descrição | Local x Deposito x Classe | Deposito x Classe | (Max 40 posições) |
Nome Externo | Local x Deposito x Classe | Deposito x Classe |
|
Nome Menu/Programa | Local x Deposito x Classe | Deposito x Classe | (Max 32 posições) |
Nome Verbalizado[1] | Local x Deposito x Classe | Deposito x Classe | (Max 254 posições) |
Procedimento | wm0240 | wm0240 |
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Manutenção | Manutenção | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI | GUI | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Não | Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Não | Não | Sim/Não |
Query on-line | Não | Não | Sim/Não |
Log Exec. | Não | Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Não | Não | Sim/Não |
Home[5] | Não | 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 |
|
|
|
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. |
---|