Histórico da Página
01. DADOS GERAIS
Produto: |
| ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linha de Produto: |
| ||||||||||||||||
Segmento: |
| ||||||||||||||||
Módulo: | SIGAOMS - Gestão de Distribuição | ||||||||||||||||
Função: | OMSA200 - Montagem de Carga | ||||||||||||||||
País: | Todos Países | ||||||||||||||||
Ticket: | Interno | ||||||||||||||||
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSMSP-14395 |
02. DESCRIÇÃO
Ponto de entrada para alterar as informações antes do envio da carga para roteirização TPR via OMSA200.
Quando está sendo realizada a roteirização via OMSA200 a carga já está gerada e será realizado apenas o sequenciamento das entregas (uma das funcionalidades do TPR é gerar carga).
03. LOCALIZAÇÃO
Localizado após a busca dos dados da carga para roteirização.
04. PARÂMETROS
Nome | Tipo | Descrição |
---|---|---|
cAliasTPR | Objeto | Alias da tabela temporária de itens enviados para roteirização TPR |
oTTCar | Objeto | Objeto da tabela temporária criado |
05. RETORNO
Nome | Tipo | Descrição |
---|---|---|
Não esperamos retorno | Não esperamos retorno | Não esperamos retorno |
06. VERSÕES
12.1.33 ou superiores.
07. OBSERVAÇÃO
Para alteração dos dados de envio é necessário conhecer os campos da tabela temporária e sua estrutura:
TMP_FILIAL com estrutura do campo C9_FILIAL
TMP_PEDIDO com estrutura do campo C9_PEDIDO
TMP_FILFCL com estrutura do campo A1_FILIAL
TMP_CODFCL com estrutura do campo A1_COD
TMP_LOJFCL com estrutura do campo A1_LOJA
TMP_NOMFAN com estrutura do campo A1_NOME
TMP_EST com estrutura do campo A1_EST
TMP_PSLIQ com estrutura do campo B1_PESO
TMP_PESOBR com estrutura do campo B1_PESO
TMP_VOL com estrutura do campo B5_COMPRLC
TMP_ENTIDA com estrutura do campo DAR_ENTIDA
TMP_LATITU com estrutura do campo DAR_LATITU
TMP_LONGIT com estrutura do campo DAR_LONGIT
TMP_PAIS com estrutura do campo YA_DESCR
08. EXEMPLO
Exemplo com alteração de geolocalização do cliente:
Através dos dados do cliente do pedido é possível alterar a geolocalização de cada cliente para a entrega. Para alterar as informações, pode ser utilizado o exemplo no qual é realizado via RecLock(cAliasTPR,.F.) registro a registro na tabela ou via update direto conforme exemplo "UPDATE "+oTTCar:GetRealName().
PE OMSTPR01
Bloco de código |
---|
#include 'protheus.ch' User Function OMSTPR01() Local cAliasTPR := PARAMIXB[1] Local oTTCar := PARAMIXB[2] Local cQueryUsr := "" Local lRet := .T. /* Exemplo com seek e update de registro a registro da temporária SA1->(DbSetOrder(1)) While !(cAliasTPR)->( Eof() ) If SA1->(DbSeek((cAliasTPR)->TMP_FILFCL+(cAliasTPR)->TMP_CODFCL+(cAliasTPR)->TMP_LOJFCL)) RecLock(cAliasTPR,.F.) (cAliasTPR)->TMP_LATITU := SA1->A1_XLATITU//'-27.59533' (cAliasTPR)->TMP_LONGIT := SA1->A1_XLONGIT//'-48.55744' (cAliasTPR)->(MsUnlock()) EndIf (cAliasTPR)->( dbSkip() ) EndDo */ /* Exemplo de update único na temporária cQueryUsr := "UPDATE "+oTTCar:GetRealName() cQueryUsr += " SET TMP_LATITU = (SELECT A1_XLATITU FROM " + RetSqlName("SA1") + " SA1 " cQueryUsr += " WHERE SA1.A1_FILIAL = TMP_FILFCL AND SA1.A1_COD = TMP_CODFCL AND " cQueryUsr += " SA1.A1_LOJA = TMP_LOJFCL AND SA1.D_E_L_E_T_ = ' ')," cQueryUsr += " TMP_LONGIT = (SELECT A1_XLONGIT FROM " + RetSqlName("SA1") + " SA1 " cQueryUsr += " WHERE SA1.A1_FILIAL = TMP_FILFCL AND SA1.A1_COD = TMP_CODFCL AND " cQueryUsr += " SA1.A1_LOJA = TMP_LOJFCL AND SA1.D_E_L_E_T_ = ' ')" lRet := TcSQLExec(cQueryUsr) >= 0 */ Return |
...