I believe that you are accessing a table/stored procedure created over a DB2 data source from Denodo and would like to know if Denodo uses the internal tables such as “SYSCAT.ROUTINES”. If that is the case,in general Denodo retrieves metadata information by interacting with JDBC drivers and does not access the source table directly.
As Denodo uses the driver provided by DB2, it does not have control over the internal tables used in implementation and it may vary with the version of the driver used.
Hence, Denodo does not directly access the internal tables such as "SYSCAT.ROUTINE" but it is decided by the JDBC driver to call the necessary internal tables.
If you would like to explore more about creating a base view from a stored procedure over a DB2 datasource, you could follow the below steps.
* Create a base view by [Importing Stored Procedures from IBM DB2](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/creating_data_sources_and_base_views/jdbc_sources/jdbc_sources#importing-stored-procedures-from-ibm-db2).
* Create a base view using generic SQL support to gather the metadata of system tables from the datasource.You can refer to the [Creating Base Views from a Query to a Stored Procedure](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/creating_data_sources_and_base_views/jdbc_sources/jdbc_sources#creating-base-views-from-a-query-to-a-stored-procedure) document which explains the steps and limitations of this method.
Hope this helps!