We have a legacy PB application which defines a user object (n_tr) as the global transaction object.
n_tr inherits from the PFC object pfc_n_tr which has a user defined function of_disconnect() which takes no parameters.
In the legacy code I found the statement of_disconnect(SQLCA). Running the debugger showed that the function being called was the parameter-less function pfc_n_tr.of_disconnect() i.e. the statement of_disconnect(SQLCA) seems to be equivalent to SQLCA.of_disconnect().
I always understood that PB found functions by matching the name and parameter list, so how does of_disconnect(SQLCA) match the parameter-less function of_disconnect() in pfc_n_tr? How does it even find the function?
Is this another way of calling a function that I'm not aware of, or is it a feature of the version of PB we are using (PB 2021), or is it perhaps a bug?