ODAC: "Invalid Field Type" when calling a stored function with VARCHAR2 params

ODAC: "Invalid Field Type" when calling a stored function with VARCHAR2 params

We have developed a VCL application in C++Builder, using RAD Studio 12 Version 29.0.51961.7529 (Version 12.1 basically) with a target platform Windows64. Our database is Oracle 19 running on an ODA with latest patches.

The problem always occurs when I use TParams to call a database function that has a VARCHAR2 return value and at least one parameter of data type VARCHAR2. To verify the problem I tried to break it down as much as possible.

I have created four PL/SQL functions in our Oracle database that work with parameters and return values in NUMBER and VARCHAR2 (in all possible constellations). These functions therefore do nothing other than returning the input parameter directly as the return value, possibly with a type conversion if the input and output differ, please see attached file.

Execution works for all functions except the last one (FNC_VV). The error message ‘Invalid Field Type’ appears here when opening the ClientDataSet.

However, I can see in dbMonitor that the SQL has been executed without any errors. Status "Complete" for all four of them.

If either return value or the parameter(s) are other data types then VARCHAR2, it works fine. Even with a bigger number of parameters with different data types (NUMBER, DATE, ...)

Is this a known issue with the ODAC components?

Best regards from Germany,
Tobias