This chapter includes the following sections:
Introduction to Shortcuts
Oracle Data Integrator is often used for populating very large data warehouses sourcing from various versions of source applications. To express the large commonality that often exists between two different versions of the same source application, such as same tables and columns, same constraints, and same transformations, shortcuts have been introduced into Oracle Data Integrator. Shortcuts are created for common objects in separate locations. At deployment time, for example during an export from the design repository to the runtime repository, these shortcuts are materialized as final objects for the given version of the source application.
A shortcut is a link to an Oracle Data Integrator object. You can create a shortcut for datastores, mappings, reusable mappings, packages, and procedures.
A referenced object is the object directly referenced by the shortcut. The referenced object of a shortcut may be a shortcut itself.
The base object is the original base object. It is the real object associated with the shortcut. Changes made to the base object are reflected in all shortcuts created for this object.
When a shortcut is materialized, it is converted in the design repository to a real object with the same properties as the ultimate base object. The materialized shortcut retains its name, relationships, and object ID.
Release tags have been introduced to manage the materialization of shortcuts based on specific tags. Release tags can be added to folders and models.
See Working with Shortcuts in your Projectsfor more information.
You can create a shortcut for the following ODI objects: datastores, mappings, packages, and procedures.
Shortcuts can be distinguished from the original object by the arrow that appears on the icon. For example, the icon is a shortcut for a procedure.
Shortcut reference objects display the same nodes as the base objects in Designer Navigator.
Guidelines for Creating Shortcuts
Shortcuts are generally used like the objects they are referring to. However, the following rules apply when creating shortcuts for:
Datastores: It is possible to create an object shortcut for datastores across different models/sub models but the source and destination models must be defined with the same technology. Also, a model cannot contain a datastore and a shortcut to another datastore with the same table name. Two shortcuts within a model cannot contain the same base object.
Datastore shortcuts can be used as sources or the target of a mapping and as datastores within a package. The mappings and packages containing datastore shortcuts refer to the datastore shortcut and the model in addition to the base datastore.
Packages, Mappings, Reusable Mappings, and Procedures: It is possible to create an object shortcut for packages, mappings, and procedures belonging to a specific ODI folder.
Mapping, procedure, and package shortcuts within a Project can only refer to objects (mappings, procedures, and packages) that belong to the same object.
Package shortcuts can be used in Load Plan steps
Mapping shortcuts can be used within a mapping, a reusable mapping, a package, or a Load Plan step
Procedure shortcuts can be used in a package or a Load Plan step
When adding a shortcut to a Load Plan step, Oracle Data Integrator generates a scenario and addis it as a Run Scenario step.
Introduction to the Shortcut Editor
The Shortcut editor provides a single environment for editing and managing shortcuts in Oracle Data Integrator. Figure 15-1 gives an overview of the Shortcut editor.
Figure 15-1 Shortcut Editor of a Package Shortcut
Description of "Figure 15-1 Shortcut Editor of a Package Shortcut"
The Shortcut Editor has the following tabs:
Includes the names of the shortcut, the referenced object, and the base object
Execution (only for shortcuts of Packages, Mappings (other than reusable mappings), and Procedures)
Is organized into the Direct Executions and the Scenario Execution tabs and shows the results of previous executions
Scenarios (only for shortcuts of Packages, Mappings (other than reusable mappings), and Procedures)
Displays in a table view the scenarios generated for this component
Includes the details necessary to manage versions of the shortcut
The Shortcut Editor provides two buttons to handle its references:
View Referenced Object: Click to display the editor of the referenced object
View Base Object: Click to display the editor of the base object
Creating a Shortcut
Shortcuts can have the same name as the base object. It is possible to rename a shortcut but note that the shortcut reference object name must be used instead of the base name for object usages and materialization purposes.
Shortcuts can be created for one or multiple objects at a time and also for the same object in more than one location.
Also note that two shortcut objects within a folder cannot refer to the same base object and follow the Guidelines for Creating Shortcuts.
To create a shortcut:
- In Designer Navigator, select the object that you want to create a shortcut to.
Note that you can select multiple objects of the same type.
- Right-click the object(s) and select Copy.
- Go to the location where you want to insert the shortcut. This must be the parent of another folder or model.
- Right-click the folder or model and select Paste as Shortcut.
Note that the menu item Paste as Shortcut is only enabled if:
The previous operation was a Copy operation.
The copied object is an object for which shortcuts can be created. See Shortcut Objectsfor more information.
The new location is legal for the copied objects. Legal locations are:
For datastore shortcuts: A model or sub-model node different of the source model
For mapping, package, and procedure shortcuts: A folder node in the same project as the source folder but not the source folder
- The new shortcut appears in Designer Navigator.
It is possible to create several shortcuts at once. See Duplicating a Selection with Shortcutsfor more information.
Working with Shortcuts in your Projects
This section describes the actions that you can perform when you work with shorts in your Oracle Data Integrator projects. These actions include:
Duplicating a Selection with Shortcuts
It is possible to create several shortcuts at once for the objects within a given model or folder.
If you perform a quick massive shortcut creation on a model node, the new model will be a copy of the source model with all datastores created as shortcuts.
If you perform a quick massive shortcut creation on a folder node, the new folder will be a copy of the source folder with all mappings, packages, and procedures created as shortcuts.
To perform a quick massive shortcut creation:
- In Designer Navigator, select a folder or model node.
- Right-click and select Duplicate Selection with Shortcuts.
Jump to the Reference Shortcut
Use this action if you want to move the current selection in Designer Navigator to the referenced object.
To jump to the referenced object:
- In Designer Navigator, select the shortcut whose referenced object you want to find.
- Right-click and select Shortcut > Follow Shortcut.
The referenced object is selected in Designer Navigator.
Jump to the Base Object
Use this action if you want to move the current selection in Designer Navigator to the base object.
To jump to the base object:
- In Designer Navigator, select the shortcut whose base object you want to find.
- Right-click and select Shortcut > Jump to Base.
The base object is selected in Designer Navigator.
Executing a shortcut executes the underlying procedure the shortcut is referring to. Shortcuts are executed like any other object in Oracle Data Integrator. See the Running Integration Processes chapter in Administering Oracle Data Integrator.
When a shortcut is materialized, it is converted in the design repository to a real object with the same properties as the ultimate base object. The materialized shortcut retains its name, relationships, and object ID. All direct references to the shortcut are automatically updated to point to the new object. This applies also to release tags. If the materialized shortcut contained release tags, all references to the base object within the release tag folder or model would be changed to the new object.
When materializing a mapping shortcut and the mapping has a multilogical schema environment, for example when the mapping has a staging area on the same logical schema as the source datastore(s), the materialized mapping might contain errors such as changes in the flow. Review the materialized mapping to check for errors.
Exporting and Importing Shortcuts
Shortcuts can be exported and imported either as materialized objects or as shortcuts.
Standard and multiple export do not support materialization. When using standard or multiple export, a shortcut is exported as a shortcut object. Any import will import the shortcut as a shortcut.
When you perform a Smart export and your export contains shortcuts, you can choose to materialize the shortcuts:
If you select not to materialize the shortcuts, both the shortcuts and the base objects will be exported.
If you select to materialize the shortcuts, the export file will contain the converted shortcuts as real objects with the same object ID as the shortcut. You can import this export file into a different repository or back to the original repository.
When this export file is imported into a different repository, the former shortcut objects will now be real objects.
When this export file is imported back into the original repository, the materialized object ID will be matched with the shortcut ID. Use the Smart import feature to manage this matching process. The Smart import feature is able to replace the shortcut by the materialized object.
See Smart Export and Importfor more information.
Using Release Tags
Release tags allow you to manage the materialization of shortcuts based on specific tags. You can also use release tags to organize your own metadata. Release tags can be added in form of a text string to folders and model folders.
Note the following concerning release tags:
No two models may have the same release tag and logical schema. The release tag is set in the model and in the folder.
The release tag is used only during materialization and export.
The release tag on a folder applies only to the package, mapping, and procedure contents of the folder. The release tag is not inherited by any subfolder.
To add a new release tag or assign an existing release tag:
- From the Designer Navigator toolbar menu, select Edit Release Tag...
This opens the Release Tag wizard.
- In the Release Tag Name field, do one of the following:
Enter a new release tag name.
Select a release tag name from the list.
This release tag name will be added to a given folder.
- The available folders are displayed on the left, in the Available list. From the Available list, select the folder(s) to which you wish to add the release tag and use the arrows to move the folder to the Selected list.
- Click Next to add the release tag to a model.
You can click Finish if you do not want to add the release tag to a model.
- The available models and model folders are displayed on the left, in the Available list. From the Available list, select the model(s) and/or model folder(s) to which you wish to add the release tag and use the arrows to move the model(s) and/or model folder(s) to the Selected list.
- Click Finish.
The release tag is added to the selected project folders and models.
You can use release tags when performing a Smart Export by choosing to add all objects of a given release to the Smart Export. See Performing a Smart Exportfor more information.
This section describes the advanced actions you can perform with shortcuts. Advanced actions include:
Data/View Data Action on a Datastore Shortcut
You can perform a Data or View Data action on a datastore shortcut to view or edit the data of the underlying datastore the shortcut is referring to.
To view or edit the datastore's data the shortcut is referring to, follow the standard procedure described in Editing and Viewing a Datastore's Data.
Perform a Static Check on a Model, Submodel or Datastore Shortcut
You can perform a static check on a model, submodel or datastore shortcut. This performs a static check on the underlying object this shortcut is referring to.
To perform a static check on a model, submodel or datastore shortcut, follow the standard procedure described in Perform a Static Check on a Model, Sub-Model or Datastore.
Review Erroneous Records of a Datastore Shortcut
You can review erroneous records of the datastore a datastore shortcut is referring to.
To review erroneous records of the datastore shortcut, follow the standard procedure described in Reviewing Erroneous Records.
Generate Scenarios of a Shortcut
You can generate a scenario from mapping (but not reusable mapping), package, and procedure shortcuts. This generates a scenario of the underlying object this shortcut is referring to. Note that the generated scenario will appear under the shortcut and not the referenced object in Designer Navigator.
To generate a scenario of a shortcut, follow the standard procedure described in Generating a Scenario.
Reverse-Engineer a Model that Contains Shortcuts
You can reverse-engineer a model that contains shortcuts using the RKM Oracle. This Knowledge Module provides the option SHORTCUT_HANDLING_MODE to manage shortcuts that have the same table name as actual tables being retrieved from the database. This option can take three values:
ALWAYS_MATERIALIZE: Conflicted shortcuts are always materialized and datastores are reversed (default).
ALWAYS_SKIP: Conflicted shortcuts are always skipped and not reversed.
PROMPT: The Shortcut Conflict Detected dialog is displayed. You can define how to handle conflicted shortcuts:
Select Materialize, to materialize and reverse-engineer the conflicted datastore shortcut.
Leave Materialize unselected, to skip the conflicted shortcuts. Unselected datastores are not reversed and the shortcut remains.
When you reverse-engineer a model that contains datastore shortcuts and you choose to materialize the shortcuts, the reverse-engineering process will be incremental for database objects that have different attributes than the datastores shortcuts. For example, if the datastore shortcut has an attribute that does not exist in the database object, the attribute will not be removed from the reversed and materialized datastore under the assumption that the attribute is used somewhere else.
If you use any other RKM or standard reverse-engineering to reverse-engineer a shortcut model, the conflicted shortcuts will be materialized and the datastores reversed.
For more information on reverse-engineering, see Creating and Using Data Models and Datastores.