In reply to WChi.

If I understand your question, I think the answer is no. PROC FCMP must know the name of the function at compile time (when PROC FCMP creates the function), not at run time. If you try, for example, to pass in a character string that contains the name of the function, you will get an error such
ERROR: Expecting a literal character for argument 1 of SOLVE.

This is in contrast to SAS/IML, which enables you to pass the name of the function as an argument to FROOT.