ODI 12c introduces a different paradigm with respect to ODI 11g. It is possible to create much more complex mappings. While ODI Generator does not support all the new features (i.e. a datastore can not be used as source and a target in the same mapping) it supports very beneficial features like:
Before ODI 12c, it was necessary to use a so-called temporary mapping in order to mimic subqueries. ODI 12c adds support for subqueries. ODI Generator supports mappings with subqueries by using subqueries in the FROM clause of the statement used to create the mapping. The code snippet below shows an example.
Subquery filter predicate - (NOT) IN
The following code snippet contains a statement that creates an ODI mapping containing a NOT IN subquery filter predicate component.
Subquery filter predicate - (NOT) EXISTS
The following code snippet contains a statement that creates an ODI mapping containing a NOT EXISTS subquery filter predicate component.
ODI Generator uses the TABLE clause (similar to the syntax used by the Oracle database) to create table function components in an ODI Mapping. The following code snippet shows an example of such usage.