Especificação | |||
Produto | Protheus | Módulo | SIGATMS |
Segmento Executor |
| ||
Projeto1 |
| IRM1 |
|
Requisito1 | PCREQ-2517 | Subtarefa1 |
|
Chamado2 |
| ||
Release de Entrega Planejada | 12.1.10 | Réplica |
|
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).
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 através 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.
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 layout's específicos para importação do arquivo .txt.
A nova tabela de Agendamentos de MRP – DDD, deverá armazenar as informações referentes à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ário 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 ter 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 do 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:
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 (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 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 através da rotina GetSx8Num().
Além do código da quebra deverá ser cadastrado a descrição do código da quebra, este será informado manualmente pelo usuário através do campo DDF_DESQBR.
Também haverá um campo (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á verificado a rotina TMSAE25 (Cliente x Layout), tabela DEC (Cliente x Layout). Será criado o campo DEC_CODQBR, que fará o vinculo do Layout com o Codigo 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 chaves que compõem o cabeçalho do agendamento (Cod.Cliente,Loja Cliente, Data Agend. e Hora Agend. ) e os campos chaves 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 (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 através 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 preenchido como Itens Agendamento, quando ultrapassar o limite de 1.000 será gerado um novo Item de Agendamento (DF1).
4- Perfil do Cliente
Na configuração do perfil do cliente serão criados dois novos campos, “Agend.Automa” e “Conf. Agd. Auto”.
a. 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. 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, pode ser gerado “n” agendamento(s) e até mesmo “n” solicitação 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:
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).
Será exibido 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á utilizado 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_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 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 contido no TMSXFUNC.
6.2 Rotina TMSXFUNC:
· Na função TmsAgAut que foi criada para gerar automaticamente os agendamentos serão criados 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.
· Nas linhas 10801 e 10848 que é feita a chamada da função TMSF05Mnt onde os vetores aAutDF0, aAutDF1 e aAutDF2 são passados. Neste ponto será criado um parâmetro para definir se será mostrado uma tela de pré-visualização dos agendamentos antes da sua geração.
· Se o parâmetro estiver desativado ( sem preview ) a rotina segue normalmente sem interferências adicionais.
· Caso o parâmetro de pré-visualização esteja ativo, não será feita a chamada do programa TMSF05Mnt, os vetores aAutDF0, aAutDF1 e aAutDF2 serão adicionados às novas variáveis aPrwDF0, aPrwDF1 e aPrwDF2.
· Na linha 10863 (antes do bloco “If Len(aRECNO) > 0”) será criada a chamada para uma nova rotina ( TmsAgPrw ), na chamada desta, será passado os novos vetores aPrwDF0, aPrwDF1, aPrwDF2 por parâmetro.
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 tabela 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.
Rotina | Tipo de Operação | Opção de Menu |
TMSA019
| Criação | Atualizações / EDI / EDI - Agendamentos |
TMSAF75 | Criação | Atualizações / EDI / Config. de Itens de Quebra de Agendamento Automático |
TMSAF77 | Criação | Atualizações / EDI / Painel de Agendamento |
TMSXFUNC | Alteração | Função Genérica |
Tabelas Utilizadas
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óripo 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.
Arquivo ou Código do Script: DDD – MRP - Agendamento
Tabela
Chave | Nome | Modo | Pyme |
DDD | MRP - Agendamento | Compartilhado |
|
Índice
Índice | Chave | Descrição | Mostra 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 |
Valid | TMSA019Vld() |
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 |
Valid | Vazior() .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.Produto | Sim |
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 |
Ordem | 14 |
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 | |
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" |
Valid | Pertence("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ção | Vazio() .Or. (ExistCpo("DDF") .And. TmsDDFVL()) |
Propriedade | Alterar |
Cons.Padrão | DDFQBR |
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ão | TmsDDFQbr() |
Retorno | M->DDF_CODQBR |
Arquivo SX7 - Gatilhos
Campo | DDE_CODEMB |
Sequencia | 001 |
Regra | X5Descri() |
Contra Domínio | DDE_DESEMB |
Tipo | Primário |
Posiciona | Sim |
Tabela | SX5 |
Ordem | 1 |
Chave | xFilial("SX5") + "MG" + M->DDE_CODEMB |
Condição | |
Proprietário | Sistema |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|