O ideal é realizar uma linha de diagnóstico:
Executar a linha sem o substr, tipo substitui o substr(ccgc,1,8) por um string fixo de um cgc qualquer que tenha na sua base
Executar a linha sem o retsqlname("SA2"), substituindo também por um string fixo com o nome da tabela, normalmente 'SA2010'
Assim vai confirmar qual dos comandos que está dando erro nesse FWTEMPDBUTILS.PRW, se mesmo com tudo com string e sem comandos na linha ainda der o erro então a origem do erro está em outra linha do fonte.
Se parar de dar erro com tudo em string fixo e apresentar erro com um dos dois comandos, então vale a pena pegar um backup de rpo antigo que tenha uma versão antiga do FWTEMPDBUTILS.PRW, se funcionar com o rpo antigo então é caso de abrir chamado no portal do cliente descrevendo esse procedimento, as datas do FWTEMPDBUTILS.PRW e pedindo um patch de correção.
Se mesmo com o rpo antigo der problema tende a ser um problema de ambiente, vale a pena testar o fonte de modo controlado no ambiente de produção para confirmar se não teve algum problema mais grave no seu ambiente de desenvolvimento e refaze-lo se necessário.