The root MIV element. The MIV defines how metadata should be read from a
system. Each item being imported will have signature/interface that the
SQL should project.
This element determines how business areas should be
integrated. The context for the item is the schema or schemas
selected.
This element determines how business area objects should be
integrated. The context for the item is the schema or schemas
selected.
This element defines the way to represent a schema - as in a
schema from a database system for example. The query provided here
should project a single column with the schema name. For example
with Oracle;
eg.
select username from all_users
This element determines how tables should be integrated. The
context for the table is the schema or schemas selected. The SQL
query provided should project a single column with the name of the
table. The query will be invoked for each schema selected, and the
parameter named 'owner' will be available within the query for the
SQL template provided.
ie. For DB2UDB, the following query returns the tables for the
schema selected;
eg
SELECT rtrim(tabname) table_name
FROM syscat.tables
WHERE tabschema = <Parameter name="owner"/>
AND type = 'T'
AND status = 'N'
ORDER BY table_name
This element determines how views should be integrated. The
context for the table is the schema or schemas selected. The SQL
query provided should project a single column with the name of the
viewe. The query will be invoked for each schema selected, and the
parameter named 'owner' will be available within the query for the
SQL template provided. ie. For DB2UDB, the following query returns
the views for the schema selected;
eg.
SELECT rtrim(viewname) view_name,
text view_definition
FROM syscat.views
WHERE viewschema = <Parameter name="owner"/>
ORDER BY view_name
This element determines how sequences should be integrated. The
context for the table is the schema or schemas selected. The SQL
query provided should project a single column with the name of the
sequence. The query will be invoked for each schema selected, and
the parameter named 'owner' will be available within the query for
the SQL template provided.
ie. For DB2UDB, the following query returns the sequences for the
schema;
SELECT rtrim(seqname) sequence_name
FROM syscat.sequences
WHERE seqschema = <Parameter name="owner"/>
ORDER BY sequence_name
This element determines how columns should be integrated. The
context for the item is the schema or schemas selected and the
table or view. The quert provided should project the following
columns; tab_or_view_name column_name postion datatype length
precision scale description nulls_allowed default codepage 1 'N';
eg for DB2
SELECT rtrim(col.tabname) entity_name,
rtrim(col.colname),
col.colno position,
col.typename,
col.length,
col.length,
col.scale,
col.remarks,
col.nulls,
col.default,
CHAR(col.codepage),
1,
'N'
FROM syscat.columns col
WHERE col.tabschema = <Parameter name="owner"/>
This element determines how unique keys should be integrated. The
context for the item is the schema or schemas selected and the
table or view. The query should project the following columns;
table_or_view_name key_name business_name description key_type (U,
P or K);
eg.
SELECT rtrim(tabname) entity_name,
rtrim(constname) key_name,
rtrim(constname) business_name,
remarks description,
rtrim(type)
FROM syscat.tabconst
WHERE upper(type) IN ('U', 'P', 'K')
AND tabschema = <Parameter name="owner"/>
ORDER BY key_name
This element determines how foreign keys should be integrated. The
context for the item is the schema or schemas selected and the
table or view. The query should project the following columns;
table_or_view_name key_name business_name description
referenced_key_name;
eg.
SELECT rtrim(fkkey.tabname) entity_name,
rtrim(fkkey.constname) key_name,
rtrim(fkkey.constname) business_name,
'' description,
fkkey.refkeyname
FROM syscat.references fkkey
WHERE fkkey.tabschema = <Parameter name="owner"/>
ORDER BY key_name
This element determines how the key columns should be integrated.
The context for the item is the schema or schemas selected and the
key name. The query should project the following columns; key_name
column_name position;
eg.
SELECT rtrim(col.constname) key_name,
rtrim(col.colname) column_name,
col.colseq position
FROM syscat.keycoluse col,
syscat.keycoluse refcol
WHERE col.tabname = refcol.tabname
AND col.colname = refcol.colname
AND col.tabschema = refcol.tabschema
AND col.constname = refcol.constname
AND col.tabschema = <Parameter name="owner"/>
This element determines how the tables referenced by the foreign
keys should be integrated. The context for the item is the schema
or schemas selected and the key name. The query should project the
following columns; orig_table_name foreign_table_name
foreign_table_description;
eg.
SELECT rtrim(refkey.tabname) orig_table_name,
rtrim(refkey.reftabname) foreign_table_name,
fktable.remarks foreign_table_description
FROM syscat.references refkey,
syscat.tables fktable,
syscat.tabconst const
WHERE refkey.tabname = fktable.tabname
AND refkey.tabschema = fktable.tabschema
AND upper(const.type) = 'F'
AND const.tabname = fktable.tabname
AND const.tabschema = fktable.tabschema
AND refkey.tabschema = <Parameter name="owner"/>
This element determines how functions keys should be integrated.
The context for the item is the schema or schemas selected.
eg.
SELECT b.ROUTINENAME, a.SPECIFICNAME, b.PARMNAME,
b.TYPENAME, b.ROWTYPE
FROM SYSCAT.ROUTINES a, SYSCAT.ROUTINEPARMS b
WHERE b.SPECIFICNAME = a.SPECIFICNAME
AND b.ROUTINESCHEMA = <Parameter name="owner"/>
AND b.SPECIFICNAME
IN ( SELECT DISTINCT SPECIFICNAME
FROM
SYSCAT.ROUTINES
WHERE FUNCTIONTYPE = 'S'
AND LANGUAGE = 'SQL' AND ROUTINESCHEMA =
<Parameter name="owner"/>
AND ROUTINENAME LIKE <Parameter
name="filter"/>
)
ORDER BY a.SPECIFICNAME
This element determines how parameters should be integrated. The
context for the item is the schema or schemas selected and the
function.
eg.
SELECT ROUTINENAME, PARMNAME, TYPENAME, ROWTYPE, ORDINAL
FROM SYSCAT.ROUTINEPARMS
WHERE ROUTINESCHEMA = <Parameter name="owner"/>
AND SPECIFICNAME = <Parameter name="object"/>
This element determines how function implementations should be
integrated. The context for the item is the schema or schemas
selected and the function.
eg.
SELECT ROUTINENAME, TEXT
FROM SYSCAT.ROUTINES
WHERE ROUTINESCHEMA = <Parameter name="owner"/>
AND ROUTINETYPE ='F'
AND SPECIFICNAME = <Parameter name="object"/>
This element determines how function overloading should be
integrated. The context for the item is the schema or schemas
selected and the function.
Define what capabiltiies the MIV supports. Some systems will not
support views for example others have no functions. The elements
defined here will inform the OWB MIV of what functionality the MIV
supports.
Defines whether this MIV supports the import of tables. The
text value for the element may be true or false.
Defines whether this MIV supports the import of views. The
text value for the element may be true or false.
Defines whether this MIV supports the import of sequences.
The text value for the element may be true or false.
Defines whether this MIV supports filtering of tables when
tables are imported. The text value for the element may be
true or false.
Defines whether this MIV supports filtering of views when
views are imported. The text value for the element may be
true or false.
Defines whether this MIV supports filtering of sequences
when sequences are imported. The text value for the element
may be true or false.
Defines whether this MIV supports the import of objects via
a business area. Business areas are common in large
application environments. The text value for the element may
be true or false.
Defines whether this MIV supports the import of tables via a
business area. Business areas are common in large
application environments. The text value for the element may
be true or false.
Defines whether this MIV supports the import of views via a
business area. Business areas are common in large
application environments. The text value for the element may
be true or false.
Defines whether this MIV supports the import of sequences
via a business area. Business areas are common in large
application environments. The text value for the element may
be true or false.
Defines whether this MIV supports the import of foreign key
tables. The text value for the element may be true or false.
Defines whether reimport is supported.
Define whether function import is supported.
Define whether when importing functions they can be filtered.
Parameters to template SQL that the user can have replaced when the
queries are executed. The parameters supported include;
owner
dblink
object
filter
MIV XML Schema. Generic Metadata Integration Framework.