Some of the [Predefined stored procedures](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/stored_procedures/predefined_stored_procedures/predefined_stored_procedures) of Denodo Platform are designed to accept mandatory input parameters for better performance. A stored procedure can be used as a view, allowing them to be joined with other stored procedures/views to explore on the metadata information.
For this scenario, I performed a join operation between the stored procedures [GET_SOURCE_COLUMNS()](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/stored_procedures/predefined_stored_procedures/get_source_columns), [GET_SOURCE_TABLE()](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/stored_procedures/predefined_stored_procedures/get_source_table#get-source-table) and [GET_VIEWS()](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/stored_procedures/predefined_stored_procedures/get_views) to pass all view names of a database and achieved the desired information. Note that, this join operation is designed to return the source information of JDBC base views.
I can also retrieve the source columns information from the base view by using the predefined stored procedure [CATALOG_VDP_METADATA_VIEWS ()](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/stored_procedures/predefined_stored_procedures/catalog_vdp_metadata_views#catalog-vdp-metadata-views). This procedure does not require any mandatory parameters. Since this procedure is designed to be used for all types of views, I would use the view_type=0 as a filter to restrict only base views.
If you need to further describe the elements of the Virtual DataPort server, you can refer to [‘DESC VQL’](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/describing_catalog_elements/describing_catalog_elements#describing-catalog-elements) statement.
Hope this helps!