Eu uso em um sistema a seguinte funcao na linha final dos relatorios..
RODAPE( PROCNAME() ) ---- para enviar o nome do relatorio para a funcao rodape...
function rodae( PROCNAME )
// Verifica se a váriavel existe, se não existe cria a váriavel com vazio
If Type("PROCNAME") == "U"
PROCNAME = " "
Endif
@ 60,00 say "---> "+PROCNAME+" ---> "+cSISTEMA
EJECT
RETURN NIL
No programa que coloquei tava tudo funcionando blz.. fui colocar no resto dos meus programas e apareceu um espacço em branco no relatório.. daí fui debugar com o cld e para minha surpresa tá ocorrendo o seguinte:
Quando verifico
? Type( "PROCNAME" ) --- o CLD mostra como "C" - ok...
mas na execução do programa ele entra no loop do If..
daí verifiquei
? Type(PROCNAME) --- o CLD mostra como "U", por isso que está entrando no loop do IF.. mas eu nao estou verificando PROCNAME, sem aspas no programa...
Daí para resolver por enquanto tirei a condição... mas como eu estou implementando isso nos meus programas se ficar algum relatorio sem enviar o comando - rodape(procname()) vai dar um erro porque a variavel nao vai existir...
Mas ta funcionando no primeiro sistema... será que é um erro do clipper.. .


