Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS OMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:TOTVS OMS - Gestão de Distribuição (SIGAOMS)
Função:

OMSA200 - Montagem de Carga

País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-14413



IMPORTANTE

  • A integração TOTVS OMS x TOTVS Planejamento de Rotas (TPR) será descontinuada no próximo release (Outubro/2023).


02. DESCRIÇÃO

Ponto de Entrada para alterar as informações antes do envio da carga para a roteirização TPR, via rotina OMSA200 (Montagem de Carga).

Por meio dele é possível definir o ponto inicial da roteirização.

Sem este Ponto de Entrada, o ponto inicial sempre será a geolocalização da filial.

03. LOCALIZAÇÃO

Localizado na validação das coordenadas de origem da roteirização.

04. PARÂMETROS

O Ponto de Entrada recebe a carga posicionada, mas é possível acionar a chave da carga nos parâmetros do Ponto de Entrada.

Nome 

Tipo

Descrição

DAK_FILIAL

Character

Filial da carga

DAK_CODCharacterCódigo da carga
DAK_SEQCARCharacterSequência da carga

05. RETORNO

Este Ponto de Entrada retorna um array, no qual a primeira variável é de controle lógico para definir o processamento.

Se for retornada como Falso (.F.), será possível retornar uma mensagem de inconsistência ao usuário pelo segundo parâmetro.

O terceiro e quarto parâmetros retornam a latitude e a longitude do início da roteirização.

Nome 

Tipo

Descrição

lRet

boolean

Variável de controle para processamento; caso retorne Falso (.F.) interrompe o fluxo e exibe a mensagem retornada no parâmetro 2 do array (cErroGeo).

cErroGeocharacterMensagem de inconsistência que será exibida, caso o Ponto de Entrada retorne Falso (.F.).
nLatiOricharacterLatitude da origem.
nLongOricharacterLongitude da origem.

06. VERSÕES

Protheus 12.1.33 ou superiores.

07. OBSERVAÇÃO

Não se aplica.

08. EXEMPLO

Neste exemplo, foram gerados dois campos específicos para definir a geolocalização de cada veículo (DA3_XLAT e DA3_XLONG).

PE OMSTPR02

#include 'protheus.ch'

User Function OMSTPR02()

	Local cFilCar  := PARAMIXB[1]
	Local cCodCar  := PARAMIXB[2]
	Local cSeqCar  := PARAMIXB[3]
	Local lRet     := .T.
	Local nLatiOri := ""
	Local nLongOri := ""
	Local cErroGeo := ""

	DbSelectArea("DA3")
	DA3->(DbSetOrder(1))
	If DA3->(DbSeek(FwXfilial("DA3")+ DAK->DAK_CAMINH))
		nLatiOri := DA3->DA3_XLAT
		nLongOri := DA3->DA3_XLONG
	EndIf

	If Empty(nLatiOri) .Or. Empty(nLongOri)
		lRet := .F.
		cErroGeo := "Erro ao obter geolocalização do caminhão."
	EndIf

Return {lRet,cErroGeo,nLatiOri, nLongOri}