CAUSE | RETURN specification for the actual function return, used within the parameters clause must hold the very last position. Example : The following will give this error since the RETURN specification for the actual function return in the parameters clause is not the last. FUNCTION myexternalfunc (var1 BINARY_INTEGER, var2 BINARY_INTEGER) RETURN BINARY_INTEGER IS EXTERNAL NAME myexternalfunc LIBRARY somelib PARAMETERS (var1 LONG, var2 SHORT, RETURN INT, RETURN INDICATOR SHORT); The correct syntax is the following. Note that RETURN for actual function return is the last specification in the parameters clause. FUNCTION myexternalfunc (var1 BINARY_INTEGER, var2 BINARY_INTEGER) RETURN BINARY_INTEGER IS EXTERNAL NAME myexternalfunc LIBRARY somelib PARAMETERS (var1 LONG, var2 SHORT, RETURN INDICATOR SHORT, RETURN INT); |