USMeta.Tables

Previous Next

At runtime, gets metadata information about tables from the model developed in USoft Definer. For each retrieved table, this information takes the form of name/value pairs that express table attribute settings (column name and column value).

Returns an XML document of the form demonstrated in Example 1 below.

Syntax

SELECT USMeta.Tables(

       table-name-pattern

,      include-database-tables

,      include-logical-views

,      include-component-tables

,      interfaces-only

)

 

include-database-tables    :=  { yes-value | no-value }

include-logical-views      :=  { yes-value | no-value }

include-component-tables   :=  { yes-value | no-value }

 

interfaces-only            :=  { yes-value | no-value }

 

yes-value                  :=  A value from the set { 'yes', 'Y', 'true', '1' } regardless of case

no-value                   :=  Any value other than a yes-value

 

All parameters are optional. Parameter values passed (if any) are mapped to parameters by position from left to right.

Table-name-pattern is a regular expression that matches zero, one or more table names in the model. Only information about tables that match the pattern is returned. If table-name-pattern is omitted, that is, if no parameters are passed to USMeta.Tables() at all, then information on ALL tables is retrieved.

If include-database-tables is set to 'yes' (the default), all database tables are included in the result, including interface tables that are database tables in the provider module.

If include-logical-views is set to 'yes' (the default), all logical views are included in the result, including interface tables that are logical views in the provider module.

If include-component-tables is set to 'yes' (the default), all component tables are included in the result, including interface tables that are component tables in the provider module.

If interfaces-only is set to 'yes', only tables that have the Interface = Yes flag are included. Do not confuse this category with the category of tables listed in the Definer Catalog as "Interface Tables", that is, tables provided by other modules. The default of interfaces-only is 'no', meaning that tables are included regardless of the value of their Interface flag.

Example 1

This example returns table information about the DISCOUNT table.

SELECT USMeta.Tables( 'DISCOUNT' )

 

The return value of this statement could be:

<?xml version="1.0" encoding="UTF-16"?>

<Meta>

  <Tables>

    <Table TABLE_NAME="DISCOUNT" MODULE_NAME="TRAVEL" TABLE_SHORT="DC" OBJECT_NAME="Discount Range" 

      OBJECT_NAME_PLURAL="Discount Ranges" PHYSICAL_NAME="DISCOUNT" TABLE_TYPE="DATABASE" 

      IS_SUBTYPE="N" NR_OF_COLUMNS="4" NR_OF_VR_COLUMNS="0" NR_OF_INDEXES="0"/>

  </Tables>

</Meta>

 

Example 2

This example returns table information about all database tables that have a table name starting with 'P' followed only by other letters, such as 'PERSON' and 'PARTICIPANT' but not 'P_TOTAL'. Logical Views and Component Tables are not included.

SELECT USMeta.Tables( '^P[A-Z]*$', 'yes', 'no', 'no' )

 

 

See Also

USMeta.Columns

USMeta.Relationships