>do MyPrgName with tParam1, tParam2 >>
>FuncName( tParam1, tParam2) >>
PARAMETERS n1,n2 RETURN m.n1 + m.n2you should be able to invoke it as:
? myfunc(1,2)Aside from the main difference where calling it as a function allows you to return a value, there is the subtle difference parameter passing. IIRC, calling like a procedure tends to favor pass-by-reference while calling like function is affected by SET UDFPARM setting. Of course you could put parenthesis around parameter to force pass-by-value (except for object types). In calling like function you can specify pass-by-reference by prefixing parameter with "@".