Árvore de páginas


Informações Gerais 

Especificação

Produto

Protheus

Módulo

SIGATMS

Segmento Executor


Projeto1

LOGTMS01

IRM1


Requisito1

PCREQ-2517

Subtarefa1


Chamado2


Release de Entrega Planejada

12.1.12

Réplica


País

( X ) Brasil  (  ) Argentina  (  ) México  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colômbia   (  ) 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). 


Objetivo

Implementar o conceito de importação de arquivos de MRP (Manufacturing Resource Planning - Planejamento dos recursos de manufatura) para geração de agendamentos de forma automática. O conceito surgiu por intermédio da necessidade das montadoras automotivas dispararem as suas necessidades de produção para que as transportadoras coletem a matéria prima nos fornecedores das montadoras, ou seja, nos remetentes dos produtos necessários para uma determinada produção.

As montadoras enviam por meio de arquivo texto as informações necessárias para a coleta dos produtos, estas informações serão importadas para dentro do Gestão de Transportes gerando os agendamentos.  

Definição da Regra de Negócio 

Deverá ser configurado um layout de importação dos arquivos do MRP semelhante ao EDI. Esta configuração deverá ser efetuada pela rotina já existente de EDI (TMSAE20), no padrão do SIGATMS. Com a leitura dos arquivos texto (.TXT), será realizada a importação para as novas tabelas de Agendamentos de MRP – DDD, e Produtos dos Agendamentos de MRP – DDE. Será permitida a geração automática do agendamento e solicitação de coletas.

Vale ressaltar que cada cliente da transportadora poderá ter layouts específicos para importação do arquivo .txt.

A nova tabela de Agendamentos de MRP – DDD, deverá armazenar as informações referente às tabelas de Agendamentos - DF0 e Itens de Agendamentos - DF1.

Ficará a cargo da transportadora configurar a quebra dos itens do agendamento (TMSAF75) para gerar o agendamento no conceito (1 – 1) ou seja, para 1 registro na DF0, será gerado 1 registro na DF1. Para isso, a quebra do agendamento deverá ser feita no mínimo por (Remetente e Produto).

Assim, ao utilizar o Painel de Agendamento (TMSAF76) todos os agendamentos terão seus vínculos mantidos corretamente.

Caso o transportador não utilize o Painel de Agendamento (TMSAF76), qualquer quebra cadastrada pelo transportador poderá ser utilizada no módulo normalmente.

A importação irá seguir o mesmo conceito do EDI, ou seja, se falhar a leitura de um registro os demais serão importados.

 

1 - Configuração de Layout

A rotina Configuração de Layout (TMSE020), será alterada para que seja possível replicar a informação gravada em um campo, para outros campos.

Para isto, será necessária a criação do campo DE1_ITESEC.

Um arquivo MRP, pode ser dividido em cabeçalho e itens, porém na linha que se refere ao item pode não vir a chave do relacionamento entre o cabeçalho e o item.

Exemplo com informação do Remetente:

Em um arquivo MRP, a linha 01 poder conter informações do cabeçalho do MRP (DDD), dentre elas: o Remetente.

Já na linha 02 que refere-se ao item, a informação do Remetente pode não constar. Como esta informação precisa ser gravada na tabela de itens do MRP (DDE), no campo DE1_ITESEC será informado o campo da tabela DDE, que receberá a informação do Remetente. Neste caso, o campo DDE_CLIREM. Tela de Config.Layout (Protótipo 01).


2 - Importação de EDI – Agendamentos

Com a importação do arquivo tipo TXT de agendamentos (MRP), serão gerados registros na funcionalidade de MRP de Agendamentos (TMSA019), com a estrutura de cabeçalho e Grid nas novas tabelas Agendamentos de MRP DDD, e Produtos dos Agendamentos de MRP – DDE.         

Deverá ser criado um número sequencial para cada novo registro de DDD e DDE, utilizando o conceito de SXB. Tela de agendamentos importados pelo MRP (Protótipo 02).

Para todos arquivos importados serão geradas as tabelas DDD e DDE, que permitirá ao transportador visualizar os arquivos importados.

Quando o perfil do cliente estiver configurado para não gerar agendamento automaticamente (DUO_AGEAUT == ‘2’), o transportador poderá alterar as informações do arquivo MRP (peso real, peso cubado, valor da mercadoria ou quantidade de volumes do registro).

Além de alterar o registro importador do MRP, o mesmo poderá ser copiado e excluído pelo transportador manualmente.

A rotina TMSA019, quando acessada apresentará um pergunte para que o usuário faça filtros, para otimizar a apresentação dos registros importados.

Neste filtro deve constar as seguintes perguntas:

  • Solicitante De ?
  • Solicitante Até?
  • Tomador De?
  • Loja De ?
  • Tomador Ate?
  • Loja Até?
  • Remetente De ?
  • Loja De ?
  • Remetente Até?
  • Loja Até?
  • Destinatário De ?
  • Loja De ?
  • Destinatário Até?
  • Loja Até?
  • Data Agendamento De ?
  • Data Agendamento Até?
  • Data Importação De ?
  • Data Importação Até?
  • Status Do Registro Importado ?

Observação:

O transportador poderá acionar este filtro, mesmo depois da apresentação dos registros na rotina TMSA019, para que as informações sejam atualizadas com novos filtros, sem precisar sair da rotina. 

3 - Configuração de Itens de Quebra de Agendamento Automático 

Será criada a rotina Quebra de Agendamento (TMSAF75), nesta rotina será possível configurar quebras dos itens para geração do agendamento.

Exemplo: O arquivo do MRP poderá conter informações de “N” Remetentes, “N” Produtos, entre outros.

A rotina Quebra de Agendamento (TMSAF75) fará a leitura de todos os campos da tabela DDD e DDE, para apresentar ao transportador as opções de quebra do agendamento.

No cabeçalho da rotina será apresentado o Código da quebra (DDF_CODQBR), este campo será gravado automaticamente por meio da rotina GetSx8Num().

Além do código da quebra, deverá ser cadastrada a descrição do código da quebra, este será informado manualmente pelo usuário por meio do campo Quebra (DDF_DESQBR).

Também haverá o campo Qbr.Ativa? (DDF_ATIVO), neste campo será possível ativar ou desativar a quebra do agendamento.

Se não existir quebra cadastrada para o cliente (Solicitante ou Destinatário), será gerado um agendamento para todos os produtos contidos no MRP. Para verificar se existe quebra cadastrada para o cliente, será verificada a rotina Cliente x Layout (TMSAE25), tabela  DEC (Cliente x Layout). Será criado o campo Cod. Quebra (DEC_CODQBR), que fará o vínculo do Layout com o Código da Quebra do Agendamento.

Assim, ficará flexível de forma que o transportador inclua novos campos e utilize para quebrar os agendamentos.

Essa rotina deverá apresentar todos os campos com um FwMarkBrowse para que o transportador possa marcar mais de uma informação. Tela de configuração da quebra na importação do MRP (Protótipo 04).

Os campos chave que compõem o cabeçalho do agendamento (Cod.Cliente, Loja Cliente, Data Agend. e Hora Agend.) e os campos chave dos itens do agendamento (Data Agend., Hora Agend., Destinatário, Loja Dest., Seq.End.Dest, Remetente, Loja Remet e Seq.End.Rem.), não poderão ser retirados e serão apresentados no campo chave padrão.

Estas chaves serão utilizadas pela rotina de Quebra de Agendamento (TMSAF75), para gerar novos agendamentos. Os outros campos escolhidos pelo transportador serão acrescentados à chave padrão para geração do agendamento.

 

Definição de Quebra por Agendamentos ou por Itens do agendamento. 

A rotina de Quebra de Agendamentos (TMSAF75), possibilitará ao transportador escolher se a quebra de agendamentos gerará novos Agendamentos ou novos Itens do Agendamento, quando houver diferença na combinação de quebra. Essa escolha será feita por meio do campo Quebra Por:.

Quando o transportador escolher a opção 1=Agendamento, a quebra gerará um novo agendamento (DF0) para cada combinação diferente encontrada.

Exemplo: Se na quebra for configurada: Solicitante + Remetente + Destinatário, ao encontrar um Destinatário diferente na tabela DDE (Produtos EDI para Agendamento), será gerado um novo agendamento na tabela DF0.

Agora, quando o transportador escolher a opção 2=Itens Agendamento, a quebra gerará um novo Item do Agendamento (DF1), para cada combinação diferente encontrada.

Exemplo: Se na quebra for configurada: Solicitante + Remetente + Destinatário, ao encontrar um Destinatário diferente na tabela DDE (Produtos EDI para Agendamento), será gerado um novo item de agendamento na tabela DF1.


Quebra de Campos Numéricos

Há casos em que o transportador necessita quebrar o agendamento de acordo com o peso da mercadoria, por exemplo.

Pensando nisto, será criada uma opção onde serão apresentados os campos numéricos da tabela DDE (Produtos EDI Agendamento), o transportador poderá escolher um campo e informar o valor limite para este campo.

Supondo que o transportador marque o campo Peso Real e defina o Limite de 1.000, na geração do agendamento será realizada a quebra dos agendamentos ou dos itens do agendamento, quando o peso real ultrapassar 1.000.

A quebra por limite respeitará a definição explicada anteriormente (Definição Quebra por Agendamento ou por Itens do Agendamento).

Ou seja, se o Quebra Por estiver preenchido como Agendamento, quando ultrapassar o limite de 1.000 será gerado um novo agendamento (DF0).

Caso o Quebra Por estiver preenchida como Itens Agendamento, quando ultrapassar o limite de 1.000 será gerado um novo Item de Agendamento (DF1).


Configuração da Quebra de Campos Numéricos

Será disponibilizada a opção "Quebra Item do Arquivo" (Qbr.Item.Arq), na rotina Quebra de Agendamento (TMSAF75), nesta opção o transportador poderá definir se quebra o item do arquivo ou não.

  • Se a opção Qbr.Item.Arquivo, estiver em branco ou igual a NÃO, mesmo que um item do arquivo ultrapasse o valor limite da Quebra do Agendamento (TMSAF75), não serão gerados dois agendamentos para este arquivo.

      Exemplo: Se um arquivo de MRP tiver apenas 1 produto com 2.000 quilos, mesmo que a regra esteja limitando por até 1.000 quilos, este produto não será quebrado na geração do agendamento. A quebra só será realizada se o somatório dos itens do arquivo ultrapassar o valor limite, neste exemplo: 1 mil quilos.

  • Se a opção Qbr.Item.Arquivo, estiver igual a SIM, o mesmo item do arquivo poderá ser quebrado em dois agendamentos.

       Exemplo: Se um arquivo MRP tiver apenas 1 produto com 2.000 quilos, e a regra esteja limitando por até 1.000 quilos, este produto será quebrado em dois agendamentos.

 

4 - Perfil do Cliente

Na configuração do perfil do cliente serão criados dois novos campos, “Agend.Automa” e “Conf. Agd. Auto”.

       a. Agend.Autom. (DUO_AGEAUT)

Determina se a geração do agendamento será feita automaticamente a partir da importação do arquivo MRP (EDI) ou a partir da confirmação do usuário.

       b. Conf.Ag.Atut. (DUO_AGECON)

Determina se o agendamento deverá ser gerado com status “Confirmado”, se sim, o sistema irá gerar automaticamente uma solicitação de coleta para o agendamento. Tela de configuração do perfil do cliente (PROTÓTIPO 05). Este campo terá essa característica somente para os agendamentos a serem gerados a partir da importação do arquivo de MRP.

  

5 - Geração de Agendamento / Solicitação de Coleta

Para cada MRP gerado, podem ser gerados “n” agendamento(s) e até mesmo “n” solicitações de coleta(s).

A rotina de importação de EDI (TMSME010), será alterada para permitir que o transportador possa visualizar os agendamentos gerados a partir do arquivo MRP importado.

O funcionamento será da seguinte maneira:

Ao término da importação de todos os arquivos, será apresenta a tela padrão indicando seu término. Importação Arquivo (Protótipo 6).

Onde, ao selecionar "Agendamentos", será apresentada a tela contendo todos os agendamentos gerados automaticamente e com base nos arquivos importados. Consulta Agendamentos (Protótipo 7).

O transportador poderá visualizar o detalhe dos agendamentos ou visualizar as solicitações de coleta.

a. Visualização do Agendamento: 

Se o usuário der um click no botão VISUALIZAR, será apresentada tela padrão de Agendamento em modo Visualização, detalhando todo o agendamento. Visualização Agendamento (Protótipo 8).                                                                                                                                                                            .

b. Visualização da Solicitação de Coleta:

Se o usuário der 2 clicks na linha de um determinado agendamento ou click no botão Coleta, será apresentada tela contendo todas as solicitações de coleta do respectivo agendamento. Consulta Solicitação de Coleta (Protótipo 9).

Posteriormente o usuário poderá dar um click no botão VISUALIZAR, que será apresentada tela padrão de Solicitações de Coleta em modo Visualização, detalhando toda a Solicitação de Coleta: Visualização da Solicitação de Coleta (Protótipo 10).


6 - Preview De Processamento

Será apresentada uma tela (Protótipo 11) que irá mostrar os agendamentos previstos para geração, conforme a configuração de quebras. Nesta tela o usuário poderá incluir ou alterar as informações de campos conforme a necessidade. 

Será criado o parâmetro MV_TMSAGDP ('1' = Utiliza Preview; '2' = Não Utiliza) para definir se será utilizada a tela de preview, para os clientes que optarem por não utilizar a tela, o parâmetro desativado auxiliará na performance da rotina.

Apenas alguns campos do preview de agendamento poderão ser alterados ("DF1_CODNEG" - Código da Negociação, "DF1_SERVIC" - Serviço de Negociação, "DF1_DATPRE" - Data Previsão De Entrega, "DF1_HORPRE" - Hora Previsão Entrega, "DF1_DATPRC" - Data Previsão De Coleta, "DF1_HORPRC" - Hora Previsão Coleta, "DF2_CODPRO" - Código Produto). Para permitir que o cliente possa incluir campos adicionais para a manutenção do preview, um ponto de entrada denominado TMSAF74E, será disponibilizado para manutenção destes.

Solução técnica adotada:

 6.1       Rotina TMSME10 (Processamento Do EDI – Recebimento) : 

·    Bloco inicial que trata especificamente das tabelas DDD e DDE (EDI Agendamento), na linha 427 do fonte que faz a chamada da função TmsAgAut contida no TMSXFUNC.


6.2       Rotina TMSXFUNC: 

·   Dentro do programa TMSXFUNC, a função TmsAgAut será criada para gerar automaticamente os vetores com os dados dos agendamentos, serão criadas 03 variáveis tipo Array (aPrwDF0, aPrwDF1, aPrwDF2) para receber os conteúdos das variáveis aAutDF0, aAutDF1 e aAutDF2, será também criada uma variável (cIdPrw) para

     controlar os Ids separando os dados de cada agendamento dentro do vetor.

·   Durante a importação do arquivo realizado pela rotina EDI (TMSME10), é feita a chamada da função TMSAGAUT, onde os vetores aAutDF0, aAutDF1 e aAutDF2 são passados. Neste ponto será avaliado o novo parâmetro MV_TMSAGDP, para definir se será apresentada uma tela de pré-visualização dos agendamentos antes da sua geração.

·   Se o parâmetro MV_TMSAGDP estiver desativado (2 - Sem Preview), a rotina segue normalmente sem interferências adicionais e as funções TmsAgAutTmsF05Mnt gerarão os agendamentos.    

·   Caso o parâmetro de pré-visualização esteja ativo (1 - Com Preview), os vetores aAutDF0, aAutDF1 e aAutDF2, serão adicionados às novas variáveis aPrwDF0, aPrwDF1 e aPrwDF2 e o programa TMSAF74 fará a apresentação do preview do agendamento, conforme as tabelas DF0, DF1 e DF2 onde será permitida a visualização e alteração de dados. A cada agendamento alterado, será executada uma validação do tipo LinOk (dentro da rotina TMSF05MNT) que fará a validação dos dados.

·   Em seguida, os dados da tela de preview serão reconvertidos em vetores e enviados a rotina TMSF05Mnt para geração dos agendamentos.    


6.3       Rotina TMSAF74 : 

·   Nesta rotina será criada uma tela conforme protótipo 11.

·   A tela será construída em MVC com base em arquivos temporários utilizando as estruturas das tabelas DF0, DF1 e DF2 (Inclusive com campos específicos de clientes), que após criadas receberão os conteúdos dos dados que serão utilizados na geração dos agendamentos.

·   Será criado também um vetor multidimensional aFldEdit que conterá os campos que poderão ser editáveis. Após a criação deste vetor será criado um ponto de entrada para permitir a manipulação deste vetor (Inclusão, Alteração, Exclusão) de componentes conforme a necessidade do cliente.

·   Também será criado na tela um campo tipo “check” para o usuário informar se a rotina deve replicar a informação digitada para as demais linhas.

·   Após a confirmação da tela pelo usuário, os dados serão reconvertidos nos vetores aAutDF0, aAutDF1 e aAutDF2.

·   Será construído um novo bloco para processar os vetores aAutDF0, aAutDF1 e aAutDF2 e a cada agendamento informado nos arrays fazer a chamada da função TMSF05Mnt para a geração do agendamento.  

Observação:

A geração de agendamentos originados pela rotina de MRP contemplarão apenas a geração das tabelas DF0 (Agendamento), DF1 (Itens do Agendamento) e DF2 (Produtos por Agendamento).


Rotina

Tipo de Operação

Opção de Menu

TMSA019CriaçãoAtualizações / EDI / EDI - Agendamentos
TMSAF75

Criação

Atualizações / EDI / Config. de Itens de Quebra de Agendamento Automático

TMSAF77CriaçãoAtualizações / EDI / Painel de Agendamento
TMSXFUNCAlteraçãoFunção Genérica


Tabelas Utilizadas:

  • DDD - MRP;
  • DDE– Itens do MRP;
  • DDF – Quebra do Agendamento;
  • DEC - Cliente x Layout;
  • DF0 - Agendamento;
  • DF1 - Itens do Agendamento;
  • DF2 - Produtos por Agendamento;
  • DT5 - Solicitação de Coleta. 

Protótipo de Tela

Protótipo 01 - Config.Layout


Protótipo 02 - Agendamento Gerados

 

 

  Protótipo 03 - Arquivos Importados

 

 


Protótipo 04 - Tela de configuração da quebra na importação do MRP.

Protótipo 05 - Tela de configuração do perfil do cliente. 


 Protótipo 06 - Importação

Protótipo 07 - Consulta Agendamento


Protótipo 08 - Visualização Agendamento


Protótipo 09 - Consulta Solicitação de Coleta.


Protótipo 10 - Visualização da Solicitação de Coleta.


Protótipo 11 - Preview De Processamento Da Geração Do Agendamento.

 

Fluxo do Processo

 


Dicionário de Dados

Arquivo ou Código do Script: DDD – MRP - Agendamento

Tabela

Chave

Nome

Modo

Pyme

DDD

MRP - Agendamento

Compartilhado


  

Índice

Índice

Chave

DescriçãoMostra Pesq.

01

DDD_FILIAL+DTOS(DDD_DATAGE)+DDD_HORAGE+DDD_CLIDES+DDD_LOJDES+DDD_SQEDES+DDD_CLIREM+DDD_LOJREM+DDD_SQEREM

Data Agendam+Hora Agendam+Destinatario+Loja Dest+Seq.End.Dest.+Remetente+Loja Remet.+SeqlEnd.Rem.Sim


Dicionário De Dados

Campo

DDD_FILIAL

Tipo

Caracter

Tamanho

2

Decimal

0

Título

Filial

Descrição

Filial do Sistema

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

033 - Tamanho da Filial

Ordem

01

  

Campo

DDD_DATAGE

Tipo

Data

Tamanho

8

Decimal

0

Título

Data Agd.

Descrição

Data Agendamento

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

Ordem

02

 

Campo

DDD_HORAGE

Tipo

Caracter

Tamanho

4

Formato

@R 99:99

Título

Hora Agd.

Descrição

Hora Agendamento

Usado

Sim

Obrigatório

Sim

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

03

 

Campo

DDD_CLIDES

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Destinatario

Descrição

Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

SA1

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

04


Campo

DDD_LOJDES

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Dest.

Descrição

Loja do Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

05

Campo

DDD_SQEDES

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Seq.End.Dest

Descrição

Seq.Endereco Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLT

Ordem

06


Campo

DDD_NOMDES

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Nome Dest.

Descrição

Nome do Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, Posicione("SA1", 1, xFilial("SA1") + DDD->DDD_CLIDES + DDD->DDD_LOJDES, "A1_NOME"), "")

Contexto

Virtual

Propriedade

Visualizar

Ordem

07


Campo

DDD_CLIREM

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Remetente

Descrição

Remetente

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

SA1

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

08

Campo

DDD_LOJREM

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Remet.

Descrição

Loja do Remetente

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, Posicione("SA1", 1, xFilial("SA1") + DDD->DDD_CLIREM + DDD->DDD_LOJREM, "A1_NOME"), "")

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

09

Campo

DDD_SQEREM

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Seq.End.Rem.

Descrição

Seq.Endereço Remetente

Usado

Sim

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Ordem

10

Campo

DDD_NOMREM

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Nome Remet.

Descrição

Nome do Remetente

Usado

Sim

Obrigatório

Não

Browse

Sim

Contexto

Virtual

Propriedade

Visualizar

Ordem

11

Campo

DDD_CODSOL

Tipo

Caracter

Tamanho

9

Decimal

0

Formato

@!

Título

Solicitante

Descrição

Codigo do Solicitante

Usado

Sim

Obrigatório

Não

Browse

Sim

Contexto

Real

ValidTMSA019Vld()                                                                                                                    

Propriedade

Alterar

Ordem

12

Campo

DDD_LOCCOL

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Local Coleta

Descrição

Local Coleta

Usado

Sim

Obrigatório

Não

Browse

Sim

Contexto

Real

ValidVazior() .Or. (Pertence("12") .And. TMSA019Vld())                                                                               

Propriedade

Alterar

Ordem

13

Campo

DDD_FILORI

Tipo

Caracter

Tamanho

2

Decimal

0

Título

Fil.Origem

Descrição

Filial de Origem

Usado

Sim

Obrigatório

Sim

Browse

Sim

Inic. Padrão

IIf(Inclui, cFilAnt, DDD->DDD_FILORI)

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Visualizar

Cons. Padrão

DLB

Grupo de Campos

033 - Tamanho da Filial

Ordem

14

 

Campo

DDD_NUMMRP

Tipo

Caracter

Tamanho

10

Decimal

0

Formato

@!

Título

Numero MRP

Descrição

Numero do MRP

Usado

Sim

Obrigatório

Sim

Browse

Sim

Inic. Padrão

GetSx8Num("DDD", "DDD_NUMMRP", 1)

Contexto

Real

Propriedade

Visualizar

Ordem

15

 

Campo

DDD_TIPTRA

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Tipo Transp.

Descrição

Tipo Transporte

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

Vazio() .OR. TMSValField("M->DDD_TIPTRA", .T., "DDD_DESTPT") .AND. TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLC

Ordem

16

Campo

DDD_SELORI

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Selec.Regiao

Descrição

Seleciona Regiao

Usado

Não

Obrigatório

Não

Browse

Sim

Opções

1=Transportadora; 2=Cliente Remetente; 3=Local Coleta

Inic. Padrão

"1"

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Ordem

17

  

Campo

DDD_CDRORI

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Cod.Reg.Ori.

Descrição

Codigo da Regiao Origem

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

GetMv("MV_CDRORI")

Val. Sistema

ExistCpo("DUY",, 1)

Contexto

Real

Propriedade

Visualizar

Ordem

18

 

Campo

DDD_CDRDES

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Cod.Reg.Des.

Descrição

Codigo da Regiao Destino

Usado

Não

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Alterar

Ordem

19

 

Campo

DDD_DATPRC

Tipo

Data

Tamanho

8

Decimal

0

Título

Dt. Pre Col.

Descrição

Data Previsao da Coleta

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

CToD("  /  /  ")

Contexto

Real

Propriedade

Alterar

Ordem

20

Campo

DDD_HORPRC

Tipo

Caracter

Tamanho

4

Decimal

0

Formato

@R 99:99

Título

Hora Pre Col

Descrição

Hora Previsao da Coleta

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Ordem

21

 

Campo

DDD_DATPRE

Tipo

Caracter

Tamanho

8

Decimal

0

Título

Dt Pre Ent

Descrição

Data Previsao de Entrega

Usado

Não

Obrigatório

Não

Browse

Não

Inic. Padrão

CToD("  /  /  ")

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Ordem

22

 

Campo

DDD_HORPRE

Tipo

Caracter

Tamanho

4

Decimal

0

Formato

@R 99:99

Título

Hor Pre Ent

Descrição

Hora Previsao de Entrega

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Ordem

23

 

Campo

DDD_TIPFRE

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Tipo Frete

Descrição

Tipo do Frete

Usado

Não

Obrigatório

Não

Browse

Não

Opções

1=CIF; 2=FOB

Val. Sistema

Vazio() .OR. (Pertence('12') .AND. TMSA019Vld())

Contexto

Real

Propriedade

Alterar

Ordem

24

 

Campo

DDD_CLIDEV

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Devedor

Descrição

Devedor

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA019Vld()

Contexto

Virtual

Propriedade

Alterar

Cons. Padrão

SA1

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

25

Campo

DDD_LOJDEV

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Dev.

Descrição

Loja do Devedor

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

26

Campo

DDD_NOMDEV

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Nome Dev.

Descrição

Nome do Devedor

Usado

Não

Obrigatório

Não

Browse

Não

Inic. Padrão

If(!Inclui, Posicione("SA1", 1, xFilial("SA1") + DDD->DDD_CLIDEV + DDD->DDD_LOJDEV, "A1_NOME"), "")

Contexto

Virtual

Propriedade

Alterar

Ordem

27

 

Campo

DDD_SERVIC

Tipo

Caracter

Tamanho

3

Decimal

0

Formato

@!

Título

Servico

Descrição

Servico de Negociacao

Usado

Não

Obrigatório

Não

Browse

Não

Valid.Sistema

Vazio() .OR. TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLZ

Grupo de Campos

012 - Codigo de servico

Ordem

28

 

Campo

DDD_DESSER

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Servico

Descrição

Descrição Do Servico

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema


Inic. Padrão

IF(!INCLUI,TABELA("L4",DDD->DDD_SERVIC,.F.),"")


Contexto

Virtual

Propriedade

Visualizar

Cons. Padrão


Grupo de Campos


Ordem

29

Campo

DDD_STATUS

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Status MRP

Descrição

Status do MRP

Usado

Não

Obrigatório

Não

Browse

Não

Opções

1=MRP Importado; 2=Processado; 3=Agendamento Gerado

Inic. Padrão

"1"

Contexto

Real

Propriedade

Alterar

Ordem

30

Campo

DDD_CODNEG

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Cod Negociac

Descrição

Codigo da Negociacao

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

ExistCpo("DDB", M->DDD_CODNEG) .AND. TMSAF71VLD()

Ordem

31

 

Campo

DDD_CLICAL

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Cli.Calculo

Descrição

Cliente de Calculo

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

SA1

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

32

  

Campo

DDD_LOJCAL

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Calculo

Descrição

Loja cliente de calculo

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

33

  

Campo

DDD_NOMCAL

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Nome Calc.

Descrição

Nome Cliente de Calculo

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, Posicione("SA1", 1, xFilial("SA1") + DDD->DDD_CLICAL + DDD->DDD_LOJCAL, "A1_NOME"), "")

Contexto

Virtual

Propriedade

Visualizar

Ordem

34

Campo

DDD_ARQUIV

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Nome Arquivo

Descrição

Nome Arquivo Importado

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

'1'

Contexto

Real

Propriedade

Alterar

Ordem

35

Campo

DDD_CODLAY

Tipo

Caracter

Tamanho

06

Decimal

0

Formato

@!

Título

Cód.Layout

Descrição

Código Layout

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão


Contexto

Real

Propriedade

Visualizar

Ordem

36


Tabela 

Chave

Nome

Modo

Pyme

DDE

Itens MRP

Compartilhado



Índice

Índice

Ordem

Chave

Descrição

Mostra Pesq.

DDE

1

DDD_FILIAL+DTOS(DDD_DATAGE)+DDD_HORAGE+DDD_CLIDES+DDD_LOJDES+DDD_SQEDES+DDD_CLIREM+DDD_LOJREM+DDD_SQEREM +DDE_CODPRO 

Data Agendam+Hora Agendam+Destinatario+Loja Dest+Seq.End.Dest.+Remetente+Loja Remet.+SeqlEnd.Rem.+Cód.ProdutoSim

Campo

DDE_FILIAL

Tipo

Caracter

Tamanho

2

Decimal

0

Título

Filial

Descrição

Filial do Sistema

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

033 - Tamanho da Filial

Ordem

01

 

Campo

DDE_NUMMRP

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Numero MRP

Descrição

Numero do MRP

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Visualizar

Ordem

02

 

Campo

DDE_CODPRO

Tipo

Caracter

Tamanho

15

Decimal

0

Formato

@!

Título

Produto

Descrição

Produto

Usado

Sim

Obrigatório

Sim

Browse

Sim

Val. Sistema

ExistCpo("SB1", M->DDE_CODPRO, 1) .AND. TMSA019Vld()

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

030 - Tamanho do Produto

Ordem

03

 

Campo

DDE_DESPRO

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Produto

Descrição

Descricao do Produto

Usado

Não

Obrigatório

Não

Browse

Não

Inic. Padrão

Iif(Inclui, "", Posicione("SB1", 1, xFilial("SB1") + DDE->DDE_CODPRO, "B1_DESC"))

Contexto

Virtual

Propriedade

Visualizar

Ordem

04

 

Campo

DDE_CODEMB

Tipo

Caracter

Tamanho

3

Decimal

0

Formato

@!

Título

Embalagem

Descrição

Codigo da Embalagem

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

ExistCpo("SX5", "MG" + M->DDE_CODEMB)

Contexto

Real

Propriedade

Alterar

Ordem

05

 

Campo

DDE_DESEMB

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Des.Embalag.

Descrição

Descricao da Embalagem

Usado

Não

Obrigatório

Não

Browse

Não

Inic. Padrão

IIf(Inclui, "", Tabela("MG", DDE->DDE_CODEMB, .F.))

Contexto

Virtual

Propriedade

Visualizar

Ordem

06

 

Campo

DDE_QTDVOL

Tipo

Numérico

Tamanho

5

Decimal

0

Formato

99999

Título

Qtde. Volume

Descrição

Quantidade de Volume

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Ordem

07

 

Campo

DDE_QTDUNI

Tipo

Numérico

Tamanho

5

Decimal

0

Formato

99999

Título

Qtd.Unitiz.

Descrição

Qtde. de Unitizadores

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

08

 

Campo

DDE_PESO

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

Peso Real

Descrição

Peso Real

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

09

 

Campo

DDE_VALMER

Tipo

Numérico

Tamanho

14

Decimal

2

Formato

@E 99,999,999,999.99

Título

Valor Merc.

Descrição

Valor da Mercadoria

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Ordem

10

 

Campo

DDE_BASSEG

Tipo

Numérico

Tamanho

14

Decimal

2

Formato

@E 99,999,999,999.99

Título

Base RR

Descrição

Base Risco Rodoviario

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

11

 

Campo

DDE_METRO3

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

M3

Descrição

M3

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

12

 

Campo

DDE_PESOM3

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

Peso Cubado

Descrição

Peso Cubado

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

13

Campo

DDE_DATAGE

Tipo

Data

Tamanho

8

Decimal

0

Título

Data Agd.

Descrição

Data Agendamento

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

Ordem14

Campo

DDE_HORAGE

Tipo

Caracter

Tamanho

4

Formato

@R 99:99

Título

Hora Agd.

Descrição

Hora Agendamento

Usado

Sim

Obrigatório

Sim

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

15

Campo

DDE_CLIDES

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Destinatario

Descrição

Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

SA1

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

16

Campo

DDE_LOJDES

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Dest.

Descrição

Loja do Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

17

Campo

DDE_SQEDES

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Seq.End.Dest

Descrição

Seq.Endereco Destinatario

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLT

Ordem

18

Campo

DDE_CLIREM

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Remetente

Descrição

Remetente

Usado

Não

Obrigatório

Não

Browse

Sim

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

SA1

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

19

Campo

DDE_LOJREM

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Remet.

Descrição

Loja do Remetente

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, Posicione("SA1", 1, xFilial("SA1") + DDD->DDD_CLIREM + DDD->DDD_LOJREM, "A1_NOME"), "")

Val. Sistema

TMSA019Vld()

Contexto

Real

  

Campo

DDE_SQEREM

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loja Remet.

Descrição

Loja do Remetente

Usado

Não

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, Posicione("SA1", 1, xFilial("SA1") + DDD->DDD_CLIREM + DDD->DDD_LOJREM, "A1_NOME"), "")

Val. Sistema

TMSA019Vld()

Contexto

Real

Propriedade

Alterar

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

21

  

Tabela

Chave

Nome

Modo

Pyme

DDF

Quebra Agendamento

Compartilhado



Índice

Índice

Ordem

Chave

Descrição

Mostra Pesq.

DDF

1

DDF_FILIAL+DDF_CODQBR+DDF_CPOSX3

Codigo + Campo

Sim


Campos

Campo

DDF_FILIAL

Tipo

Caracter

Tamanho

2

Decimal

0

Título

Filial

Descrição

Filial do Sistema

Usado

Não

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

033 - Tamanho da Filial

Ordem

01

  

Campo

DDF_CODQBR

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Codigo

Descrição

Codigo da Quebra

Usado

Sim

Obrigatório

Não

Browse

Não

Ordem

02

  

Campo

DDF_DESQBR

Tipo

Caracter

Tamanho

35

Decimal

0

Formato

@!

Título

Quebra

Descrição

Descricao da Quebra

Usado

Não

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Alterar

Ordem

03

  

Campo

DDF_CPOSX3

Tipo

Caracter

Tamanho

10

Decimal

0

Formato

@!

Título

Campo

Descrição

Campo

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

04

  

Campo

DDF_QBRNV1

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Qbr.Agend.

Descrição

Quebra no Agendamento

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

05

  

Campo

DDF_QBRNV2

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Qbr.Coleta

Descrição

Qbr.na Sol.de Coleta

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

06

  

Campo

DDF_ATIVO

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Qbr.Ativa?

Descrição

Quebra Ativa?

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

07

Campo

DDF_QBRGEN

Tipo

Caractere

Tamanho

1

Decimal

0

Formato

@!

Título

Qbr.Genérica

Descrição

Quebra Genérica

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Ordem

08

Campo

DDF_LIMITE

Tipo

Numérico

Tamanho

12

Decimal

0

Formato

@E 999,999,999.99

Título

Valor Limite

Descrição

Valor Limite

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

09

Campo

DDF_TPQBR

Tipo

Caractere

Tamanho

1

Decimal

0

Formato

@!

Título

Tipo Quebra

Descrição

Tipo de Quebra

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Inic.Padrão"1"
ValidPertence("12")

Propriedade

Alterar

Ordem

10


TABELA DEC - Cliente x Layout

Campo

DEC_CODQBR

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Cod.Qbr.MRP

Descrição

Código Quebra MRP

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

ValidaçãoVazio() .Or. (ExistCpo("DDF") .And. TmsDDFVL()) 

Propriedade

Alterar

Cons.PadrãoDDFQBR

Ordem

14


TABELA DF0 - Agendamento  

Campo

DF0_NUMMRP

Tipo

Caracter

Tamanho

10

Decimal

0

Formato

@!

Título

Numero MRP

Descrição

Numero do MRP

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Ordem

28


Arquivo SXB – Consulta Padrão

Consulta

DDFQBR

Descrição

Quebras MRP

Tipo

Consulta Padrão

Tabela

DDF

ExpressãoTmsDDFQbr()

Retorno

M->DDF_CODQBR


Arquivo SX6 - Parâmetros

Nome da Variável

MV_TMSAGDP

Tipo

Caracter

Conteúdo

2

Descrição

Define Se Exibe o Preview De Agendamento Durante a Importação Dos Arquivos MRP.

1 = Mostra Preview ; 2 = Não Mostra Preview


Arquivo SX7 - Gatilhos

Campo

DDE_CODEMB

Sequencia

001

Regra

X5Descri()

Contra Domínio

DDE_DESEMB

TipoPrimário

Posiciona

Sim

TabelaSX5
Ordem1
ChavexFilial("SX5") + "MG" + M->DDE_CODEMB
Condição
ProprietárioSistema

                                                                                                                                                                                                                                




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