Validation and execution
The metadata for the selected tables are published to the ION Data Catalog, on successful validation and execution of the macro.
The rules for publishing metadata to ION Data Catalog:
- If Table Name is specified, then only the metadata about the specified table is published.
- If Table Group Name is specified, Include User-Defined = Yes and User-Defined Only = Empty or No, then the metadata about all standard and user defined tables included in the specified SCV table group are published.
- If Table Group Name is specified, Include User-Defined = Yes and User-Defined Only = Yes, then the metadata about all user-defined tables included in the specified SCV table group are published.
- If Table Group Name is specified and Include User-Defined = Empty or No, then the metadata about all standard tables included in the specified SCV table group are published.
- If Table Area is specified, Include User-Defined = Yes and User-Defined Only = Empty or No, then the metadata about all standard and user defined tables included in the specified table area of the SCV Table Registry are published.
- If Table Area is specified, Include User-Defined = Yes and User-Defined Only = Yes, then the metadata about all user-defined tables included in the specified table area of the SCV Table Registry are published.
- If Table Area is specified and Include User-Defined = Empty or No, then the metadata about the standard tables included in the specified table area of the SCV Table Registry are published.
On execution the following steps are carried out:
- The object name to use in the Data Catalog is determined.
- If Schema Prefix is not specified or Empty, then use SCP_<Table> as the object name in the Data Catalog (Example: SCP_SO_DEMAND_PLAN_AGGR).
- If Schema Prefix is specified, then use SCP_<Schema Prefix>_<Table> as the object name in the Data Catalog (Example: SCP_UD_SO_DEMAND_PLAN_AGGR).
- The corresponding <Entity> and <Table Area> for the <Table> is determined.
- The list of business columns for the <Entity> using SCV Entities is determined.
- The list of internal columns for the <Table> using SCV Column Registry in its corresponding <Table Area> is determined.
- Publish the metadata for each <Column>.
- Publish the metadata for the special column for SCP instance using SCV Column Registry
where ion_data_catalog_metadata = "SCPInstance".
- If the SCPInstance column in SCV Column Registry does not exist in <Table>, add it to the metadata using the specified data type in SCV Column Registry.
- The corresponding <PK> - Primary Constraint for the <Table> using SCV Constraints is determined.
- Publish the special metadata property "IdentifierPaths" including first the special column for SCPinstance and then columns in the <PK> definition
- Publish the metadata property "VariationPath" using SCV Column Registry where
ion_data_catalog_metadata = "VariationPath".
- If the VariationPath column in SCV Column Registry does not exist in <Table>, add it to the metadata using the specified data type in SCV Column Registry.
- Publish the metadata property "TimestampPath" using SCV Column Registry where
ion_data_catalog_metadata = "TimestampPath".
- If the TimestampPath column in SCV Column Registry does not exist in <Table>, add it to the metadata using the specified data type in SCV Column Registry.
- Publish the metadata property "DeleteIndicator" using SCV Column Registry where
ion_data_catalog_metadata = "DeleteIndicator".
- If the DeleteIndicator column in SCV Column Registry does not exist in <Table>, add it to the metadata using the specified data type in SCV Column Registry.
- Use "Y" as value for the published "DeleteIndicator" property.
- Refresh <Table> in Compass store.
- Clear the existing pre-processed data for <Table> in Compass store and rebuild/refresh it from raw data.