Ocorrência
Ao abrir o pedido de vendas ocorre o erro abaixo:
Alias does not exist: TEPX RECICLAGEM DE MATERIAIS BENEFICIADO
on POSICIONE(APLIB080.PRW) 15/03/2019 14:54:46 line : 4402
[TOTVS build: 7.00.131227A-20190114 NG]
Called from POSICIONE(APLIB080.PRW) 15/03/2019 14:54:46 line : 4402
Called from { |o| POSICIONE(SA1->A1_NOME) }(APLIB090.PRW) 15/03/2019 14:54:46 line : 4402
Called from FWMBROWSE:ADDCOLUMN(FWBROWSE.PRW) 15/03/2019 14:54:49 line : 1140
Called from FWBRWMODELCONFIG:APPLYCONFIG(FWBRWMODELCONFIG.PRW) 15/03/2019 14:54:49 line : 330
Called from FWMBROWSE:LOADCONFIG(FWBROWSE.PRW) 15/03/2019 14:54:49 line : 6410
Called from FWMBROWSE:ACTIVATE(FWBROWSE.PRW) 15/03/2019 14:54:49 line : 910
Called from FWMBROWSE:ACTIVATE(FWFORMBROWSE.PRW) 15/03/2019 14:54:49 line : 423
Called from FWMBROWSE:ACTIVATE(FWMBROWSE.PRW) 15/03/2019 14:54:49 line : 630
Called from BROWSEDEF(MATA410.PRX) 17/07/2018 15:34:42 line : 329
Called from MATA410(MATA410.PRX) 17/07/2018 15:34:42 line : 144
Called from __EXECUTE(APLIB090.PRW) 15/03/2019 14:54:46 line : 679
Called from MDIEXECUTE(APLIB260.PRW) 15/03/2019 14:54:46 line : 877
Called from STATICCALL(APLIB260.PRW) 15/03/2019 14:54:46 line : 877
Ambiente
Microsiga Protheus - todas a versões.
Causa
O erro ocorre por que no browser do pedido de vendas (MATA410) está sendo chamado a função Posicione para o campo A1_NOME, porém a resposta retornada pela função é nula, veja o trecho do erro abaixo:
STACK { |o| POSICIONE(SA1->A1_NOME) }(APLIB090.PRW) 15/03/2019 14:54:46
Local CodeBlock 1: O(U) :NIL
STACK POSICIONE(APLIB080.PRW) 15/03/2019 14:54:46
Local 1: CALIAS(C) :TEPX RECICLAGEM DE MATERIAIS BENEFICIADO
Local 2: NORDEM(U) :NIL
Local 3: CEXPR(U) :NIL
Local 4: CCPO(U) :NIL
Local 5: CNICKNAME(U) :NIL
Local 6: CSAVALIAS(C) :SXQ
Local 7: CRET(U) :NIL
A chamada da variável CAlias deveria trazer a informação da tabela que está sendo lida, porém, está trazendo o nome do cliente, desta forma, o sistema se perde para buscar a demais informações.
Solução
Como o erro ocorre browser da rotina e não no clique do botão incluir, a chamada da função Posicione pode estar sendo efetuada por:
1 - Ponto de entrada: sendo ponto de entrada, desabilite o ponto de entrada através da rotina catálogo de personalizações do Configurador e posteriormente, revise o rdmake de customização e recompile ao RPO para poder utilizar na rotina;
2 - Filtro de usuário na tela do pedido: sendo filtro de usuário, efetue a manutenção de perfil de usuário (http://tdn.totvs.com/pages/viewpage.action?pageId=271165124) e limpe as chamadas relacionadas a rotina mata410. Depois reinicie o Smartclient e refaça o processo;
3 - Inicializador padrão ou validação de usuário, no campo C5_CLIENTE: sendo informação advpl inserida no inicializador padrão ou validação de usuário no campo C5_CLIENTE, vá em Configurador, Base de Dados, Dicionário, Base de Dados, selecione a tabela SC5, edite a tabela.
3.1 - Selecione o campo C5_CLIENTE e edite.
3.2 - Retire a informação inserida no inicializador padrão ou validação de usuário e confirme a tabela.
3.3 - Atualize o dicionário de dados , reinicie o Smartclient e refaça o processo.
Obs: Para realizar o procedimentos acima requer um analista com conhecimento em ADVPL e estrutura Protheus.
Em caso de dúvida, acione a equipe de Framework para orientação em estrutura e manutenção de perfil, para dúvida em ponto de entrada, acione a equipe de ADVPL.
0 Comentários