FAQs - Suporte técnico

Cross Segmentos - TOTVS Backoffice (Linha Protheus - SIGAFAT - Erros relacionados a expressão Invalid Macro Source

Ocorrência

Oque fazer quando o sistema gerar erro de invalid macro source (SSYacc0105e: Error token failed, no valid token)?

 

Ambiente

Cross Segmentos-TOTVS Backoffice (Linha Protheus-SIGAFAT - todas as versões

Causa

A causa deste tipo de erro geralmente está relacionada a validação de usuário nos campos de estrutura sx3, exemplo  x3_relação, x3_pictvar, x3_when ou x3_inibrw de algum campo de tabela.

Também pode estar relacionada ao cadastro de fórmulas, geralmente quando a query está incompleta.


Solução

Avalie:


1. Se os campos x3_relação, x3_pictvar, x3_when ou x3_inibrw, da tabela informada no erro, se há alguma informação que não esteja entre aspas duplas, ou está com aspas duplas e simples ao mesmo tempo. Para corrigir, acerte a informação colocando entre aspas duplas .

Exemplo: "1" ;


2. Se alguma informação do tipo numérica sendo passada sem uso de aspas (" "), visto que o campos x3_relação, x3_pictvar, x3_when ou x3_inibrw são do tipo carácter. Para corrigir, acerte a informação colocando entre aspas duplas;

Exemplo: "2";


3. Se está sendo passado uma instrução ADVPL e não está fechando adequadamente parênteses, chaves e colchetes, para corrigir, acerte a expressão Advpl colocando os devidos  parênteses, chaves e colchetes que estão faltando.

OBS 1: Para descobrir o campo que apresenta o erro, basta procurar no errorlog, a tabela de estrutura SX3, que demonstrará o campo que foi lido e está com erro, exemplo:

d:\outsourcing\clientes\lvz2xd\protheus_data\system\sx3010.dtc; Rdd:DBFCDX; Alias:SX3; Filter :; Recno:124520; Total Recs:124529; Order:2

Index (1) :**SX30101 X3_ARQUIVO+X3_ORDEM

Field 1: D_E_L_E_T_E_D(C) :

Field 2: R_E_C_N_O(N) :124520

Field 3: X3_ARQUIVO(C) :SA1

Field 4: X3_ORDEM(C) :P6

Field 5: X3_CAMPO(C) :A1_NR_END


Field 6: X3_TIPO(C) :C

Field 18: X3_RELACAO(C) :

Field 33: X3_PICTVAR(C) :@! 

Field 34: X3_WHEN(C) :

Field 35: X3_INIBRW(C) :

 

OBS 2: No caso do cadastro de fórmulas, procure no erro por querys incompletas que poderão também ser indicadas após a informação do erro no valid token:

  • invalid macro source (SSYacc0105e: Error token failed, no valid token) :IF(U_NEO34A04(SF2->F2_FILIAL,SF2->F2_DOC,SF2->F2_SERIE,SF2->F2_CLIENTE,SF2->F2_LOJA,SF2->F2_TIPO) .AND.SUBSTR(SF2->F2_EMISSAO,1,6)==SUBSTR(DTOS(DATE()),1,6).AND.!SF2->F2_TIPO $ "D/B",SF2->F2_VALISS ,0 on DETPROVA(MATXFUNA.PRX) - Veja que nesta instrução falta o parênteses para fechar a query. Neste caso, basta finalizar a instrução com o parênteses.          Exemplo: :IF((U_NEO34A04(SF2->F2_FILIAL,SF2->F2_DOC,SF2->F2_SERIE,SF2->F2_CLIENTE,SF2->F2_LOJA,SF2->F2_TIPO) .AND.SUBSTR(SF2->F2_EMISSAO,1,6)==SUBSTR(DTOS(DATE()),1,6).AND.!SF2->F2_TIPO $ "D/B",SF2->F2_VALISS ,0)

 

  • invalid macro source (SSYacc0105e: Error token failed, no valid token) :DbSetFilter({||(A1_MSBLQL== "1" dToS(A1_DTCAD) >= "20170201" .AND. )},'(A1_MSBLQL== "1" dToS(A1_DTCAD) >= "20170201" .AND. )') on FWBRWTABLE:EXECUTEFILTER(FWBRWTABLE.PRW) - Veja que nesta instrução que não há término da query após o operador .AND., neste caso, é preciso avaliar a query e corrigi-la , seja complementando a instrução após o operador .AND. ou finalizando a instrução, retirando o operador .AND. da query, por exemplo.

 

 

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _