Invalid macro source
Produto: | ADVPL |
Versões: | todas |
Ocorrência: | Error.log - invalid macro source |
Ambiente: | |
Passo a passo: | O erro específico "invalid macro source (SSYacc0105e: Error token failed, no valid token) :(STATICCALL(#FUNCAO_DO_USUARIO,MenuDef)) on FWLOADMENUDEF(PROTHEUSFUNCTIONMVC.PRX)" começou a ocorrer após as atualizações de lib, disponibilizadas no inicio de 2017. O motivo é que foi realizado uma alteração no fonte FWLOADMENUDEF para, no caso de não estar como usuário administrador, macroexecutar as funções afim de validá-las, e como a função de usuário começa com '#' ele gera o erro. Anteriormente a essa alteração já havia sido implementado o TYPE 03, que é específico para funções de usuário, não mais utilizando o '#' para essa finalidade. Para que não gere mais o erro verifique nos arquivos XNU a chamada de uma função de usuário se está com # ((#FUNCAO_DO_USUARIO) e TYPE como 01(função Protheus), retire o '#' e altere o TYPE para 03 conforme instruções a seguir: Errado: <Function>#FUNCAO_DO_USUARIO</Function>
Certo: <Function>FUNCAO_DO_USUARIO</Function> OBS:. Caso persista verifique se o nome do fonte está com caractere especial ou iniciando por número. |
Observações: | Não recomendamos a manipulação direta dos arquivos xnu, a opção mais segura é cadastrar os menus pelo configurador. |