Histórico da Página
Integração TMS X Neolog Iteração 2
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||||||||
Segmento: | Logística | ||||||||||||||||||
Módulo: | SIGATMS/SIGAOMS | ||||||||||||||||||
Rotina: |
| ||||||||||||||||||
Cadastros Iniciais: | Cadastro de Rotas e Viagens otimizadas do Cockpit Logístico | ||||||||||||||||||
Parâmetro(s): | MV_CPLAUT,MV_CPLROT1,MV_CPLROT2,MV_CPLROT3, MV_CPLVRT | ||||||||||||||||||
Ponto de Entrada: |
| ||||||||||||||||||
Chamados Relacionados | |||||||||||||||||||
Requisito (ISSUE): | PCREQ-8086 | ||||||||||||||||||
País(es): | Todos | ||||||||||||||||||
Banco(s) de Dados: | Todos. | ||||||||||||||||||
Tabelas Utilizadas: | DTQ,DUD,DA8,DA9,DJZ,DJY,DJX,DJV | ||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Descrição
Integra o módulo de Gestão de Transportes (SIGATMS) com a funcionalidade Programação de Transportes do Cockpit Logístico da Neolog por intermédio de arquivos no formato XML utilizando os Web Services já existentes do Cockpit Logístico, sem transformação de mensagens e sem utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, etc.).
O Cockpit Logístico é um sistema vertical desenvolvido pela Neolog, empresa do ecossistema TOTVS, que dispõe de módulos para Planejamento da Malha de Distribuição, Programação de Transportes e Monitoramento de Cargas.
Para essa integração serão consideradas as alterações necessárias para que o planejamento de viagens do módulo de Gestão de Transportes (SIGATMS) da linha Microsiga Protheus utilize os recursos da Programação de Transportes do Cockpit Logístico. A Programação de Transportes fará a roteirização e o arranjo das cargas com base na demanda de transportes enviada pelo TMS considerando as configurações das restrições logísticas e as funções-objetivos de otimização registradas no Cockpit Logístico. São exemplos de funções-objetivo: máxima ocupação dos veículos, diminuição dos prazos de entrega e redução da quantidade de viagens.
Importante
A integração com o Cockpit Logístico foi liberado em fases. Este documento técnico trata da utilização das funcionalidades liberadas na fase 2. Para detalhes sobre a integração, consulte o documento de referência Manual de Integração TMS X NEOLOG. Alguns parâmetros podem estar disponíveis, entretanto não surgem efeito por decisão do projeto.
Importante
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
Antes de executar o compatibilizador informe o nome do compatibilizador é imprescindível:
- Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório PROTHEUS_DATA\DATA, se versão 10, ou \PROTHEUS11_DATA\DATA, se versão 11) e dos dicionários de dados SXs (diretório PROTHEUS_DATA_SYSTEM, se versão 10, ou \PROTHEUS11_DATA\SYSTEM, se versão 11).
- Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
- Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
- Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
- O compatibilizador deve ser executado com a Integridade Referencial desativada*.
Atenção O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente! A ativação indevida da Integridade Referencial pode alterar drasticamente o relacionamento entre tabelas no banco de dados. Portanto, antes de utilizá-la, observe atentamente os procedimentos a seguir:
Contate o Help Desk Framework EM CASO DE DÚVIDAS! |
---|
- Em Microsiga Protheus TOTVS Smart Client (se versão 10), digite o tmsp11r1 no campo Programa Inicial.
- Clique em OK para continuar.
- Após a confirmação é exibida uma tela para a seleção da empresa em que o dicionário de dados será modificado ou é apresentada a janela para seleção do compatibilizador. Selecione o programa TMS11R200().
- Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
É apresentada uma mensagem explicativa na tela. - Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
- Clique em Gravar para salvar o histórico (log) apresentado.
- Clique em OK para encerrar o processamento.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
Descreva se há algum procedimento necessário após a aplicação do compatibilizador.
Atualizações do Compatibilizador
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
1. Criação de tabela no arquivo SX2– Tabelas:
Chave | Nome | Modo | PYME |
DJV
| Histórico Viagem CPL | C | N |
DJW | Registro de Falhas CPL | E | N |
DJX | Viagem CPL X TMS | C | N |
DJY | Pedidos-itens viagem CPL | C | N |
DJZ | Viagem CPL | C | N |
42. Criação ou Alteração (mantenha somente a instrução correspondente) de Campos no arquivo SX3 – Campos:
- Tabela BGD - Prod x Cob x Proc x Co-Part:DJV - Histórico Viagem CPL
Campo | Tipo | Tamanho | Decimal | Formato | Título | Descrição | Nível | Usado | Obrigatório | Browse | Opções | When | Relação | Val. Sistema | Help | (X3_CAMPO) | (X3_TIPO) | (X3_TAMANHO) | ||||||||||
DJV_RGSRID | C | 30 | (X3_DECIMAL) | (X3_PICTURE) | Regional | RegionSourceId | 1 | S | S | N |
| Regional da CPL | ||||||||||||||||
DJV_VIAGID | C | 10 | Viagem CPL | Identifier | 1 | S | S | N |
| Id da viagem do CPL | ||||||||||||||||||
DJV_SEQ | C | 4 | 9999 | Sequência | Sequência Histórico | 1 | S | S | S |
|
| GetSxeNum('DJV','DJV_SEQ',cEmpAnt +'DJV'+cFilAnt+DJZ->DJZ_VIAGID+DJZ->DJZ_VIAGID) | Sequência do histórico da viagem CPL | |||||||||||||||
DJV_DTINI | D | 8 | Título | (X3_TITULO)Dt Ini Ação | Data Inicio Ação | 1 | S | S | S | DATE() | Data de inicio da ação. | |||||||||||||||||
DJV_HRINI | C | 4 | @R 99:99 | Hr Ini Ação | Hora Inicio Ação | 1 | S | S | S | Descrição | (X3_DESCRIC) | StrTran(SubStr(Time(),1,5),':','') | Hora de inicio da ação. | |||||||||||||||
DJV_DTFIM | D | 8 | Dt Fim Ação | Data Fim Ação | 1 | S | S | S | Nível | Date( | X3_NÍVEL) | Data de fim da ação. | ||||||||||||||||
DJV_HRFIM | C | 4 | @R 99:99 | Hr Fim Ação | Hora Fim Ação | 1 | S | S | S | Usado | (X3_USADO) Informe Sim ou Não | StrTran(SubStr(Time(),1,5),':','') | Hora de fim da ação. | |||||||||||||||
DJV_ACAO | C | 1 | Ação | Ação | 1 | S | S | S | 1=Recebimento; 2=GeraþÒo Viagens TMS;3=Desbloqueio; 4=ReprogramaþÒo; 5=Cancelamento; 9=DesatualizaþÒo Doctos | Obrigatório | (X3_OBRIGAT) Informe Sim ou Não | Pertence("123459") | Mostra qual ação o registro está relacionado | |||||||||||||||
DJV_RESULT | C | 1 | Resultado | |||||||||||||||||||||||||
Browse | (X3_BROWSE) Informe Sim ou Não | |||||||||||||||||||||||||||
Opções | (X3_CBOX) | |||||||||||||||||||||||||||
Resultado | 1 | S | S | N | 0=Pendente; 1=Sucesso;2=Insucesso | '0' | Pertence('012') | Demonstra o resultado da ação | ||||||||||||||||||||
DJV_USUAR | C | 20 | @! | Usuário | Usuário | 1 | S | S | S | Usuário logado durante a ação. | ||||||||||||||||||
DJV_MSG | C | 250 | Mensagem | Mensagem Ação | 1 | S | N | S | Possui informações adicionais sobre a ação. |
- Tabela DJW - Registro de Falhas CPL
Campo | Tipo | Tamanho | Decimal | Formato | Título | Descrição | Nível | Usado | Obrigatório | Browse | Opções | When | Relação | Val. Sistema | Help |
DJW_CDREG | C | 10 | 9999999999 | C¾digo | C¾digo Reg Falha | 1 | S | S | S | GetSxeNum("DJW","DJW_CDREG") | Código do registro de falha | ||||
DJW_TABELA | C | 3 | @! | Tabela | Tabela Originadora | 1 | S | S | S | Tabela que originou o registro de falha | |||||
DJW_CHAVE | C | 250 | @! | Chave Tab | Chave Identificadora | 1 | S | S | S | Código que identifica o registro na tabela | |||||
DJW_RECTAB | N | 10 | 9999999999 | Recno Tabela | Recno Tabela Originadora | 1 | S | S | N | Recno da tabela originadora do registro de falha | |||||
DJW_USRREG | C | 50 | Usußrio Reg | Usußrio registro falha | 1 | S | S | S | cUserName | Usuário logado no momento do registro da falha | |||||
DJW_DATA | D | 8 | Data Reg | Data registro falha | 1 | S | S | S | DATE() | Data da última movimentação do registro de falha | |||||
DJW_HORA | C | 6 | @R 99:99:99 | Hora reg | Hora registro da falha | 1 | S | S | S | Time() | Hora da última atualização do registro de falha | ||||
DJW_TPREG | C | 1 | Tipo Registr | Tipo Registro Falha | 1 | S | S | N | 0=NÒo Classificado;1=Erro conexÒo;2=Erro TransmissÒo | "0" | Pertence("012") | Descreve o tipo de registro de falha | |||
DJW_MSGREG | M | 10 | Msg Reg | Mensagem Registro Falha | 1 | S | S | N | Contém o motivo do registro de falha | ||||||
DJW_SITENV | C | 1 | Sit Env Mail | SituaþÒo envio email | 1 | S | S | N | 0=NÒo se aplica;1=Sucesso no envio;2=Falha no envio | "0" | Pertence("012") | Situação do envio de e-mail | |||
DJW_MSGENV | M | 10 | Msg Env Mail | Mensagem envio email | 1 | S | N | N | Descrição do status do envio do email | ||||||
DJW_ACAO | C | 1 | AþÒo | AþÒo | 1 | S | S | S | 1=InclusÒo;2=ExclusÒo | '1' | Pertence('12') | Indica a ação do registro de falha |
- Tabela DJX - Viagem CPL X TMS
Campo | Tipo | Tamanho | Decimal | Formato | Título | Descrição | Nível | Usado | Obrigatório | Browse | Opções | When | Relação | Val. Sistema | Help | |||||||||||||
DJX_RGSRID | C | 30 | 9999999999 | Regional | RegionSourceId | 1 | S | S | N | Regional CPL | ||||||||||||||||||
DJX_VIAGID | C | 10 | Viagem CPL | Identifier | 1 | S | S | N | ||||||||||||||||||||
DJX_SEQ | C | 2 | Seq. Vig | Seq. CPL X TMS | 1 | S | S | S | Sequência da viagem | |||||||||||||||||||
DJX_FILTMS | C | 8 | Filial Tms | Filial Tms | 1 | S | S | S | Filial de origem da informação | |||||||||||||||||||
DJX_SERTMS | C | 1 | Serv.Transp. | Servico de Transporte | 1 | S | S | S | TMSValField("M->DJX_SERTMS",.T.,"DJX_DESSVT") | Servico de transporte | ||||||||||||||||||
DJX_DESSVT | C | 30 | Desc.Sv.Tran | Desc.Servico Transporte | 1 | S | N | S | If(!Inclui,TMSValField("DJX->DJX_SERTMS",.F.),"") | Descrição do serviço Transporte | ||||||||||||||||||
DJX_ROTA | C | 6 | Rota | Codigo da Rota | 1 | S | S | S | ExistCpo('DA8',PadR(M->DJX_ROTA,Len(DTQ->DTQ_ROTA))) .And. TMSXCPL2VR(M->DJX_ROTA) | Rota a ser utilizada na geração da viagem | ||||||||||||||||||
DJX_STROTA | C | 1 | Sit. Rota | SituaþÒo Rota | 1 | S | S | S | 0=Invßlido;1=Vßlido | Pertence("01") | Situação da rota em relação aos documentos de sua sequência | |||||||||||||||||
DJX_VIAGEM | C | 6 | Viagem TMS | Viagem TMS | 1 | S | N | S | When | (X3_WHEN) | Viagem gerada a partir da sequência | Relação | (X3_RELACAO) | |||||||||||||||
DJX_INFROT | C | 1 | Atrib Rota | AtribuiþÒo Rota | 1 | S | S | S | 1=Sistema;2=Usußrio | Val. Sistema | (X3_VALID) | '1' | Pertence('12') | Indica se a rota foi informada pelo usuário ou pelo sistema | ||||||||||||||
DJX_ALTER | C | 1 | OtimizaþÒo | OtimizaþÒo | 1 | S | S | S | 1=Mantida;2=Alterada | Help | Descreva o conteúdo informado para Help de Campo no ATUSX | '1' | Pertence('12') | Indica se a otimização sugerida pelo Cockpit Logístico foi mantida | ||||||||||||||
DJX_OBS | M | 10 | Observaþ§es | Observaþ§es | 1 | S | N | S | Possui um histórico das alterações na otimização original. |
Importante:
O tamanho dos campos que possuem grupo pode variar conforme ambiente em uso.
5. Criação ou Alteração de Consulta Padrão no arquivo SXB – Consulta Padrão:
- Pesquisa B05PLS:
Alias | (XB_ALIAS) |
Tipo | (XB_TIPO) |
Sequência | (XB_SEQ) |
Coluna | (XB_COLUNA) |
Descrição | (XB_DESCRI) |
Contém | (XB_CONTEM) |
6. Criação ou Alteração de Índices no arquivo SIX – Índices:
Índice | AA1 |
Ordem | 6 |
Chave | AA1_FILIAL+AA1_CODVEN |
Descrição | Cod. Vendedor |
Proprietário | S |
7. Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável | (X6_VAR) |
Tipo | (X6_TIPO) |
Descrição | (X6_DESCRIC + X6_DESC1 + X6_DESC2) |
Valor Padrão | (X6_CONTEUD) |
8. Criação ou Alteração (mantenha somente a instrução correspondente) de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela BD5 – Contas Médicas:
Campo | Informe o conteúdo do (X7_CAMPO) |
Sequência | Informe o conteúdo do (X7_SEQUENC) |
Campo Domínio | Informe o conteúdo do (X7_CDOMIN) |
Tipo | Informe o conteúdo do (X7_TIPO) |
Regra | Informe o conteúdo do (X7_REGRA) |
Posiciona? | Informe o conteúdo do (X7_SEEK) |
Chave | Informe o conteúdo do (X7_CHAVE) |
Condição | Informe o conteúdo do (X7_CONDIC) |
Proprietário | Informe o conteúdo do (X7_PROPRI) |
Procedimento para Configuração
(Estes procedimentos devem ser feitos quando for necessário configurar parâmetros e/ou rotinas no menu).
CONFIGURAÇÃO DE PARÂMETROS
- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017). Crie/configure (mantenha somente a instrução correspondente) o(s) parâmetro(s) a seguir:
(É necessário criar uma tabela para cada parâmetro descrito no item Parâmetro(s), da tabela Características do Requisito)
Itens/Pastas | Descrição |
Nome: |
|
Tipo: | Informe o Tipo do parâmetro |
Cont. Por.: | Informe o Conteúdo padrão |
Descrição: |
|
CONFIGURAÇÃO DE MENUS
2. No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013). Informe a nova opção de menu do informe o nome do módulo, conforme instruções a seguir:
Menu | Informe o Menu em que estará localizada a rotina |
Submenu | Informe o Submenu em que estará localizada a rotina |
Nome da Rotina | Informe o Título da rotina |
Programa | Informe o Fonte da rotina |
Módulo | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” |
Tipo | Informe a Função |
Procedimento para Utilização
- Descreva os procedimentos, passo a passo (caso de uso), que serão realizados pelos usuários para que a melhoria seja visualizada identificando as seguintes informações:
- Localização da rotina no menu;
- Localização dos novos campos e/ou perguntas e respectivas pastas de cadastro que são visualizadas pelo usuário;
- Caso seja necessário ter algum cadastro feito previamente, faça uma observação.
Exemplo:
1. No Plano de Saúde (SIGAPLS), acesse Atualizações / Produto Saúde / Produto Saúde (PLSA800).
O sistema apresenta a janela de produtos cadastrados.
2. Posicione o cursor em um produto e clique em Alterar.
3. Na pasta Cobertura/Carências selecione a subpasta Tipo de Prestador.
4. Dê duplo clique no campo TP Prestador (BCW_TIPPRE).
O sistema apresenta a janela Tipo de Prestador – Coparticipação – Alterar.
5. Informe os dados conforme orientação do help de campo e observe o preenchimento do novo campo:
Som. p/Compra (BCW_SOMCOM): selecione Sim para indicar se a coparticipação cadastrada será válida somente para efeito de compra de procedimentos ou Não, caso contrário.
6. Confira os dados e confirme.
Vídeo
- Vídeo hospedado no youtube e inserido no template por meio da macro Widget Connector.
** Canal do youtube e software de vídeoem definição.
Título do Vídeo: | Disponibilizado pelo Marketing. |
Introdução: | Disponibilizado pelo Marketing. |
Passo a Passo: | Capturar diretamente do sistema. |
Finalização: | Disponibilizado pelo Marketing. |
Ponto de Entrada
Descrição: | Informe o Menu em que estará localizada a rotina | ||||||||||||||||
Localização: | Informe o Submenu em que estará localizada a rotina | ||||||||||||||||
Eventos: | Informe o Título da rotina | ||||||||||||||||
Programa Fonte: | Informe o Fonte da rotina | ||||||||||||||||
Função: | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” | ||||||||||||||||
Retorno: |
|
Exemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'NF' //Validações do usuário
EndIf
Return aCab