Todas as funções que recebe informações via parâmetros, é necessários colocar um Default de cada um deles, respeitando a regra de negócio e caso não houver como, simplesmente inicializa-la. Assim sempre que esses parâmetros forem usados em linhas de códigos como condição, comparação e etc, estarão protegidas de erros.
Exemplo:
// DefaultExample.prw
Function DefaultExample()
OldFunction()
Return
Static Function OldFunction( nNewPar )
Local nRet := 0
Default nNewPar := 10
// Uso o nNewPar sem problema.
nRet := 10 * nNewPar
Return nRet
Assim se a função “OldFunction” for chamada sem o parâmetro cNewPar informado, não ocorrerá erro.