Histórico da Página
Integração TMS
Xx Cockpit Logístico
parte- Parte 2
Características do Requisito
Linha de Produto: | Microsiga Protheus | |||
Segmento: | Logística | |||
Módulo: | SIGATMS / SIGAOMS | |||
Rotina: |
|
|
|
|
tmsa252
|
|
|
|
Cadastros Iniciais: | Cadastro de Rotas e Viagens |
Otimizadas do Cockpit Logístico | |
Parâmetro(s): | MV_CPLSTP, MV_CPLMAL, MV_CPLDBG, MV_CPLLOG, MV_CPLROT1, MV_CPLROT2, MV_CPLROT3, MV_CPLAUT, MV_CPLENT, MV_CPLVRT, MV_CPLEX |
Ponto de Entrada:
Requisito (ISSUE): | LOGTMS01-66 |
País(es): |
Brasil | |
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.
Informações | ||||
---|---|---|---|---|
| ||||
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. |
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.
Atualizações do Compatibilizador
1.
Descreva se há algum procedimento necessário após a aplicação do compatibilizador.
Criação de tabela no arquivo SX2– Tabelas:
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 |
2. Criação de Campos no arquivo SX3 – Campos:
- Tabela 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 |
DJV_RGSRID | C | 30 |
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 |
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 |
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 |
Date() |
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 |
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 |
Pertence("123459") | Mostra qual ação o registro está relacionado | |||
DJV_RESULT | C | 1 |
Resultado | 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 | 2 |
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 | Código 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 |
Viagem gerada a partir da sequência | ||||
DJX_INFROT | C | 1 |
Atrib Rota | Atribuição Rota | 1 | S | S | S | 1=Sistema;2=Usuário |
'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 |
'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. |
- Tabela DJY - Pedidos-itens 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 |
DJY_RGSRID | C | 30 |
Regional | regionSourceId | 1 | S | S | S |
Regional de registro. relacionamento com DJZ | ||||
DJY_VIAGID | C | 10 |
Viagem CPL | tripId | 1 | S | S | S |
Código da viagem CPL | |||||
DJY_SEQDJX | C | 2 |
Seq Vig TMS | Seq Viagem TMS | 1 | S | S | N |
Possui a seqûencia da viagem do TMS | ||||
DJY_UNIDID | C | 30 |
Unid. Transp | identifier | 1 | S | S | S |
Id do pedido da viagem no cockpit | ||||
DJY_ORITID | C | 30 |
Rec. Item | orderItemSourceId | 1 | S | S | S |
Recno do item enviado ao cockpit logístico | |||||
DJY_FILDOC | C | 2 |
Fil.Docto. | Filial Documento TMS | 1 | S | S | S |
Filial do Documento | ||||
DJY |
_DOC | C | 9 |
@! | No.Docto. | N·mero Documento TMS | 1 | S | S | S |
Numero do Documento | ||||
DJY_ORSRID | C | 30 |
Pedido CPL | orderSourceId | 1 | S | S | N |
Chave composta do pedido. | |||||
DJY_ORTPID | C | 30 |
Tipo Pedido | orderTypeSourceId | 1 | S | S | S |
Tipo do pedido | |||||
DJY_SERIE | C | 3 |
!!! | Serie Docto. | Série Documento TMS | 1 | S | S | S |
Serie do Documento | ||||
DJY_COMPSQ | N | 10 |
@E 9,999,999,999 | Sequência | sequenceComposition | 1 | S | S | N |
Sequência do componente | ||||||||||
DJY_QTDE | N | 16 | 4 | @E 99,999,999,999.9999 | Quantidade | quantity | 1 | S | S | N |
Quantidade do item no pedido | ||||||||||
DJY_PRECO | N | 16 | 4 | @E 99,999,999,999.9999 | Preço | price | 1 | S | S | N |
Preço do item | ||||
DJY_DTENTR | C | 29 |
Dt/Hr Entrg | deliveryDate | 1 | S | S | N |
Data de entrega, formato seguindo ISO 8601 com UTC | ||||
DJY_ORIGEM | C | 30 |
Origem Int. | integrationSource | 1 | S | S | S |
Fonte de dados do registro |
- Tabela DJZ - 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 |
DJZ_RGSRID | C | 30 |
Regional | RegionSourceId | 1 | S | S | S |
Regional vindo de aquisição do webservice | |||||
DJZ_VIAGID | C | 10 |
Viagem CPL | Identifier | 1 | S | S | S |
Identificador da viagem do Cockpit Logístico | ||||
DJZ_TRANSP | C | 30 |
Transp CPL | carrierId | 1 | S | S | S |
Transportador da viagem | |||||
DJZ_BSSRID | C | 30 |
Cesta | basketSourceId | 1 | S | S | N |
Cesta da viagem | |||||
DJZ_VLFRET | N | 16 |
@E 99,999,999,999.9999 | Val Frete | freightValue | 1 | S | N | N |
Valor do frete | ||||
DJZ_CDVEIC | C | 30 |
Tipo Veículo | vehicleId | 1 | S | N | N |
Código do veículo | ||||
DJZ_NMVEIC | C | 200 |
Desc Tip Vei | vehicleDescription | 1 | S | N | N |
Descrição do veículo vinda do webservice | |||||
DJZ_PLVEIC | C | 10 |
Placa Veic | truckLicensePlate | 1 | S | N | N |
Placa do veículo | ||||
DJZ_UFPLVC | C | 2 |
UF Placa | truckLicensePlateState | 1 | S | N | N |
Estado da placa | |||||
DJZ_SITVEI | C | 2 |
Sit. Veíc. | truckStatusId | 1 | S | N | N |
Id status do veiculo | ||||
DJZ_DSSTVE | C | 200 |
Desc Sit | truckStatusDescription | 1 | S | N | N |
Descrição da situação do veículo | |||||
DJZ_QTEIXO | N | 10 |
@E 9,999,999,999 | Qtde. Eixos | truckAxlesQuantity | 1 | S | N | N |
Quantidade de eixos do veiculo | ||||
DJZ_CLASSI | C | 200 |
Class CPL | tripClassificationSourceI | 1 | S | S | N |
Classificação da viagem | ||||
DJZ_CPLSIT | C | 1 |
Sit Integr | Situação Cockpit | 1 | S | N | N | 0=Recebida;1=Aguardando liberação;2=Liberada;3=Falha liberação;4=Reprogramada;5=Cancelada;6=Rejeitada |
"0" | Pertence("0123456") | Situação da integração da viagem | ||
DJZ_CPLDT | D | 8 |
Data Integr | Data Cockpit | 1 | S | N | S |
DATE() |
Data da última atualização do registro | ||
DJZ_CPLHR | C | 4 |
@R 99:99 | Hora Integr | Hora Cockpit | 1 | S | N | S |
Hora da última atualização do registro | ||||
DJZ_CPLMSG | N | 10 |
@E 9,999,999,999 | Id Mensagem | messageId | 1 | S | S | N |
Identificação do envelope de comunicação com o Cockpit Logístico | ||||
DJZ_TMSMSG | M | 10 |
Msg TMS | Mensagem TMS | 1 | S | N | N |
Mensagem durante a geração da viagem | ||||
DJZ_TRZNID | C | 30 |
Zona Transp | transportZoneId | 1 |
S |
S |
S | Zona de transporte do cockpit logístico. Pode ser utilizado para auxiliar o sistema a determinar a rota. | ||||
DJZ_SRTPID | C | 10 |
Tp Serv CPL | ServiceTypeId | 1 | S | S | S |
Tipo de serviço do cockpit logístico. Pode ser utilizado para auxiliar o sistema a determinar a rota. |
- Tabela DUD - Movimento de Viagem
Campo | Tipo | Tamanho | Decimal | Formato | Título | Descrição | Nível | Usado | Obrigatório | Browse | Opções | When | Relação | Val. Sistema | Help |
DUD_SITCPL | C | 1 |
Situação CPL | Situação CPL | 1 | S | N | N | 1=Não Enviado;2=Integrado;3=Rejeitado;4=Integração Desfeita;5=Viagem Recebida |
'1' | Pertence("12345") | Descreve a situação do movimento da viagem em relação à viagem do Cockpit Logístico | ||
DUD_MSGCPL | M | 10 |
Mensagem CPL | Mensagem CPL | 1 | S | N | N |
Mensagem referente a situação da viagem CPL | |||||
DUD_DATCPL | D | 8 |
Data Sit Cpl | Data Situação Cpl | 1 | S | N | N |
Data da situação do movimento da viagem em relação à viagem do CPL | ||||
DUD_HORCPL | C | 4 |
@R 99:99 | Hora Sit Cpl | Hora Situação Cpl | 1 | S | N | N |
Hora da situação da movimentação da viagem em relação a viagem do Cockpit Logístico |
- Tabela DUL(Alteração) - Movimento de Viagem
Campo | Tipo | Tamanho | Decimal | Formato | Título | Descrição | Nível | Usado | Obrigatório | Browse | Opções | When | Relação | Val. Sistema | Help |
DUL_MUN | C | 60 |
@! | Municipio | Municipio | 1 | S | N | N | Municipio do Solicitante. |
Informações |
---|
|
|
|
| |
O tamanho dos campos que possuem grupo pode variar conforme ambiente em uso. |
3. Criação Criação ou Alteração de Índices no arquivo SIX – Índices:
Índice | Ordem | Chave | Descrição | Proprietário |
DJW | 1 | DJW_FILIAL+DJW_CDREG | Código | S |
DJW | 2 | DJW_TABELA+DJW_CHAVE | Tabela + Chave Tab | S |
DJW | 3 | DJW_TABELA+STR(DJW_RECTAB) | Tabela + Recno Tabela | S |
DJW | 4 | DJW_FILIAL+DTOS(DJW_DATA) | Data Reg | S |
DJW | 5 | DJW_FILIAL+DJW_SITENV | Sit Env Mail | S |
DJW | 6 | DJW_FILIAL+DJW_TPREG | Tipo Registr | S |
DJX | 1 | DJX_FILIAL+DJX_RGSRID+DJX_VIAGID+DJX_SEQ | Regional + Viagem CPL + Seq. Vig | S |
DJX | 2 | DJX_FILIAL+DJX_FILTMS+DJX_VIAGEM | Viagem TMS | S |
DJY | 1 | DJY_FILIAL+DJY_RGSRID+DJY_VIAGID+DJY_SEQDJX+DJY_UNIDID+DJY_ORITID | Regional + Viagem CPL + Seq Vig TMS + Unid. Transp + Rec. Item | S |
DJY | 2 | DJY_FILIAL+DJY_FILDOC+DJY_DOC+DJY_SERIE | Fil.Docto. + No.Docto. + Serie Docto. | S |
DJZ | 1 | DJZ_FILIAL+DJZ_RGSRID+DJZ_VIAGID | Regional + Viagem CPL | S |
DJZ | 2 | DJZ_FILIAL+DJZ_REDESP | Redespacho | S |
DJY | 3 | DJY_FILIAL+DJY_RGSRID+DJY_VIAGID+DJY_UNIDID+DJY_ORITID | Regional+Viagem CPL+Unid. Transp+Rec. Item | S |
DJV | 1 | DJV_FILIAL+DJV_RGSRID+DJV_VIAGID+DJV_SEQ | Regional + Viagem CPL + Sequência | S |
7. Criação 4. Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável | Tipo | Descrição | Valor Padrão |
MV_CPLSTP | C |
Integração suspensa? 1=Sim;2=Não | '2' | ||
MV_CPLMAL | C | E-mail do administrador para notificações de falha de conexão | '' |
MV_CPLDBG | C | Salva as mensagens enviadas e recebidas na pasta do log. | '2' |
MV_CPLLOG | C | Caminho do log de mensagens. Recomendado utilizar o caminho relativo à \system\ | '\system\' |
MV_CPLROT1 | C | Rota genérica das viagens de coleta |
MV_CPLROT2 | C | Rota genérica das viagens de transporte |
MV_CPLROT3 | C | Rota genérica das viagens de entrega |
MV_CPLAUT | C | Geração das viagens? 1=Automático;2=Manual | '2' |
MV_CPLENT | C | Considerar entregar em vez de transferir? 1=Sim;2=Não | '2' |
MV_CPLVRT | C | Permite gerar viagens com rotas incompatíveis | '1' |
MV_CPLEX | C | Informar se devem ser integradas para o Cockpit Logístico as localidades (filiais, clientes e solicitantes) com endereço fora do Brasil | '2' |
Procedimento para Configuração
CONFIGURAÇÃO DE MENUS
1. No
- No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013).
- Informe a nova opção de menu do informe SIGATMS, conforme instruções a seguir:
Menu | Atualizações |
Submenu | Cockpit Logístico |
Nome da Rotina | Monitor de Viagens CPL |
Programa | TMSXCPL2 |
Módulo | SIGATMS |
Tipo | Função Protheus |
Procedimento para Utilização
- Para que seja possível receber as viagens do Cockpit Logístico, é necessário configurar um WebService no appserver Protheus.
- É recomendado criar um
- WeService com as seguintes configurações (modificando o arquivo appserver.ini):
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
;Serviço webserver HTTP [HTTP] ENABLE=1 PATH=<Caminho_Cache_imagens>;C:\TOTVS 11\Prottheus\Protheus_data\web PORT=<porta>;8080 INSTANCES=<nInicio>,<nMaximo>;1,10 SESSIONTIMEOUT=60 INSTANCENAME=WS_HTTP ;URL de resposta [<ip ou nome>:<porta>/neolog] ENABLE=1 PATH=<Caminho_Cache_imagens>;C:\TOTVS 11\Prottheus\Protheus_data\web ENVIRONMENT=<ambiente> INSTANCENAME=WS_NEOLOG RESPONSEJOB=JOB_WS_NEOLOG DEFAULTPAGE=wsindex.apw ;JOB de resposta [JOB_WS_NEOLOG] TYPE=WEBEX ENVIRONMENT=<ambiente> INSTANCES=<nInicio>,<nMaximo>;1,10 INSTANCENAME=JOB_WS_NEOLOG ONSTART=TMSXStart ;ponto de inicio obrigatório ONCONNECT=TMSXConnect ;ponto de inicio obrigatório TMSPREPAREIN=<empresa>,<filial>;obrigatório |
3. Para testar o serviço, basta iniciar um navegador e digitar : http://<ip ou nome>:<porta>/neolog/PublishReleasedTrip.APW?WSDL
4. Um WSDL (Descrição do serviço em xml) deve exibir no navegador.
5. Para configurar o envio de viagens do cockpit ao webservice protheus, entre no Cockpit Logístico e vá em Adminsitração -> Integração. Clique na aba 'Fontes de Dados' e clique em 'Inserir'
Digite o código, Descrição e Código da base. Sugestão: PROTHEUS
No campo 'URL' da seção 'Cancelamento de viagem liberada', digite: http://<ip ou nome>:<porta>/neolog/CancelService.APW
No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 30000.
No campo 'URL' da seção 'Execução da viagem', digite: na.
No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 1000.
No campo 'URL' da seção 'Solicitação de Liberação de Viagem', digite: http://<ip ou nome>:<porta>/neolog/PublishReleasedTrip.APW
No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 30000.
No campo 'URL' da seção 'Solicitação de reprogramação de Viagem', digite: http://<ip ou nome>:<porta>/neolog/ReprogramService.APW
No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 30000.
Clique em Salvar.
Ainda no Cockpit Logístico, vá em Programação -> Análise
Selecione uma viagem pendente de liberação na coluna (S) e clique em 'Liberar'
Se o console do appserver estiver configurado, irá apresentar a mensagem de inicialização do ambiente, indicando que o webservice recebeu a requisição.
Para verificar se a Viagem CPL foi criada, acesse o SIGATMS -> Atualizações -> Cockpit Logístico -> Monitor de Viagens CPL(TMSXCPL2)
Para verificar um histórico dos eventos ocorridos em uma viagem, utilize a ação relacionada 'Cons. Histórico'
Antes de gerar as viagens equivalentes no TMS, verifique a necessidade de corrigir as rotas utilizando a ação 'Alterar'. Na aba 'Rotas x Documentos', possui a relação de viagens e itens de documentos relacionados. No momento que é alterado a rota, o sistema irá avaliar todos os documentos relacionados à aquela futura viagem e utilizando legendas irá apresentar qual o documento não será atendido pela rota. Possuir documentos que não possua rota válida relacionada poderá impedir a sua inclusão na viagem planejada do TMS.
Clique em gerar 'Gerar Viagem' para gerar a viagem do tms. Após gerar a viagem no TMS com sucesso, é enviado a mensagem de liberação ao Cockpit logistico. Acesse a tela Programação -> Análise e verifique se a viagem foi liberada.
Após a liberação, existe duas ações possível para a viagem: cancelamento ou reprogramação. Ao efetuar a ação, será solicitado ao SIGATMS a exclusão da viagem. Somente após a exclusão no SIGATMS será cancelado/reprogramado com sucesso no Cockpit Logístico.
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