This chapter gives an introduction to shortcuts and describes how to work with shortcuts in Oracle Data Integrator.
This chapter includes the following sections:
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, integration interfaces, 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 model folders.
See Section 17.4, "Working with Shortcuts in your Projects" for more information.
You can create a shortcut for the following ODI objects: datastores, integration interfaces, packages, and procedures.
Shortcuts can be distinguished from the original object by the arrow that appears on the icon. The shortcut icons are listed in Table 17-1.
|Shortcut Icon||Shortcut Object|
Shortcut children display the same nodes as the real object in Designer Navigator.
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 an integration interface and as datastores within a package. The interfaces and packages containing datastore shortcuts refer to the datastore shortcut and the model in addition to the base datastore.
Packages, Interfaces, and Procedures: It is possible to create an object shortcut for packages, interfaces, and procedures belonging to a specific ODI folder.
Interface, procedure, and package shortcuts within a Project can only refer to objects (integration interfaces, procedures, and packages) that belong to the same object.
Package shortcuts can be used in Load Plan steps
Interface shortcuts can be used within an interface, 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 converts the shortcut object into a Run Scenario step.
The Shortcut editor provides a single environment for editing and managing shortcuts in Oracle Data Integrator. Figure 17-1 gives an overview of the Shortcut editor.
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, Interfaces 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, Interfaces 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
Shortcuts can have the same name as the base object. It is possible to rename a shortcut but note that the shortcut 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 Section 17.1.2, "Shortcut Objects" for 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 interface, 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 Section 17.4.1, "Duplicating a Selection with Shortcuts" for more information.
This section describes the actions that you can perform when you work with shorts in your Oracle Data Integrator projects. These actions include:
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 interfaces, 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.
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.
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 Chapter 21, "Running Integration Processes" for more information.
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 an interface shortcut and this is a temporary interface or the interface has a multilogical schema environment, for example when the interface has a staging area on the same logical schema as the source datastore(s), the materialized interface might contain errors such as changes in the Flow. Please review the materialized interface.
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 Section 20.2.7, "Smart Export and Import" for more information.
Release tags have been introduced to manage the materialization of shortcuts based on specific tags. 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, interface, 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.
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 Section 188.8.131.52, "Performing a Smart Export" for more information.
This section describes the advanced actions you can perform with shortcuts. Advanced actions include:
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 Section 5.4, "Editing and Viewing a Datastore's Data".
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 Section 5.6.3, "Perform a Static Check on a Model, Sub-Model or Datastore".
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 Section 5.6.4, "Reviewing Erroneous Records".
You can generate a scenario from interface, 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 Section 13.2, "Generating a Scenario".
You can reverse-engineer a shortcut model 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 columns than the datastores shortcuts. For example, if the datastore shortcut has a column that does not exist in the database object, the column will not be removed from the reversed and materialized datastore under the assumption that the column 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 Chapter 5, "Creating and Reverse-Engineering a Model".