C Migration Details for Operators

This appendix provides reference information about migrating operators from OWB to ODI.

This appendix contains the following topics:

Common Properties

The following OWB properties are migrated to the same ODI properties across all the operators and attributes for which they are defined.

OWB Property Name ODI Property Name
Physical Name Name
Description Description

Aggregate Operator

The OWB Aggregate operator is migrated to the ODI Aggregate component.

Logical Properties of the Aggregate Operator

OWB Property Name Description ODI Property Name Note
Having Clause

(HAVING_CLAUSE)

Having Clause HAVING  
Group By Clause

(GROUP_BY_CLAUSE)

Group By Clause MANUAL GROUP BY CLAUSE  

Physical Properties of the Aggregate Operator

OWB Property Name Description ODI Property Name Note
Inline view hint

(INLINEVIEW_HINT)

Hint used when inline view is created for this operator   Not migrated.

Attribute Groups and Attributes of the Aggregate Operator

Output attributes of the Aggregate operator are migrated to output attributes of the Aggregate component in ODI. No specific properties of output attributes need to be migrated.

Deduplicator Operator

The OWB Deduplicator operator is migrated to the ODI Distinct component.

Properties of the Deduplicator Operator

No specific properties of the Deduplicator operator need to be migrated.

Attribute Groups and Attributes of the Deduplicator Operator

Input attributes of the Deduplicator operator are not migrated.

Output attributes of the Deduplicator operator are migrated. No specific properties of output attributes need to be migrated.

Expression Operator

The OWB Expression operator is migrated to the ODI Expression component.

Properties of the Expression Operator

No specific properties of the Expression operator need to be migrated.

Attribute Groups and Attributes of the Expression Operator

Input attributes of the Expression operator are not migrated.

Output attributes of the Expression operator are migrated.

For output attributes, the expression of the output attribute is migrated to the expression of the ODI attribute. The OWB properties Variable Initial Value and Variable Write condition are not migrated. No other specific properties of output attributes need to be migrated.

External Table Operator

OWB External Table operators inside OWB mappings are migrated to ODI Datastore components in the migrated ODI mappings. For detailed migration steps and behaviors, see "Migrating the External Table Operator".

Logical Properties of the External Table Operator

General Properties

OWB Property Name Description ODI Property Name Note
Bound Name

(BOUND_NAME)

    If the OWB External Table operator is bound to an external table, the ODI Datastore component is bound to the corresponding data store.
Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

(YES/NO)

  Not migrated.
Key

(KEYS_READONLY)

    Not migrated.

Chunking

As with the Table operator, properties for Chunking are not migrated.

Error Table

As with the Table operator, properties for Error Table are not migrated.

SCD Updates

As with the Table operator, properties for SCD Updates are not migrated.

Temp Stage Table

As with the Table operator, properties for Temp Stage Table are not migrated.

Physical Properties of the External Table Operator

General Properties

OWB Property Name Description ODI Property Name Note
Schema

(SCHEMA)

    Not migrated.
Database link

(DATABASE_LINK)

Database link used to access this entity during mapping.   Not migrated.
Location

(DB_LOCATION)

Location, used to access referenced entity.   Not migrated.

Hints

OWB Property Name Description ODI Property Name Note
Extraction hint

(EXTRACTION_HINT)

Hint used when extracting from this table using SQL SELECT_HINT  
Loading hint

(LOADING_HINT)

Hint used when loading into this table using SQL INSERT_HINT or

UPDATE_HINT

 
Automatic hints enabled

(AUTOMATIC_HINTS_ENABLED)

Automatic hints enabled using SQL   Not migrated.

Partition Exchange Loading

As with the Table operator, properties for Partition Exchange Loading are not migrated.

Constraint Management

OWB Property Name Description ODI Property Name Note
Enable Constraints

(ENABLE_CONSTRAINTS)

Enable Constraints   Not migrated.
Exceptions Table Name

(EXCEPTIONS_TABLE_NAME)

Exceptions Table Name   Not migrated.

Migrating the External Table Operator

OWB External Table operators inside OWB mappings are migrated to ODI Datastore components in the migrated ODI mappings.

The KM of the ODI Datastore's Physical Mapping is set to XKM Oracle External Table, and the following information is migrated from the OWB External Table Operator (or its bound external table) to KM options of the ODI Physical Node.

OWB Property Name KM Option Note
Default Location SQL_DEFAULT_DIR  
Accessed Data Location SQL_DIRECTORIES The format is DIR_NAME:path,...; for example: MyDir:/tmp/mydir, MyDir2:/tmp/mydir2
Data Files DIR_DATA_FILES The format is DIR_NAME:filename,...; for example: MyDir:file1,MyDir:file2
Access Parameters ACCESS_PARAMETERS  

Flat File Operator

OWB Flat File operators inside OWB mappings are migrated to ODI Datastore components in the migrated ODI mappings.

Logical Properties of the Flat File Operator

OWB Property Name Description ODI Property Name Note
Loading type

(LOADING_TYPE)

Choices = 'INSERT, UPDATE, NONE' INTEGRATION_TYPE Same as for the Table operator. See Notes About Loading Type.
SAMPLED_FILE_NAME The default physical source file name.   Not migrated.
Source Data File Location

(SOURCE_DATA_FILE_LOCATION)

The Locations of the File Module of this Flat File at the time of reconciliation. Stored as UOID.   Not migrated.
File Format

(FILE_FORMAT)

File Format (Fixed or Delimited).   Not migrated.
Record Delimiter

(RECORD_DELIMITER)

Character that indicates the end of the record.   Not migrated.
Continuation Character

(CONTINUATION_CHARACTER)

Character that indicates the record is continued on the next line.   Not migrated.
Continuation Character on Next Line

(CONTINUATION_CHARACTER_ON_NEXT_LINE)

If there is a continuation character, is it at the start of the line.   Not migrated.
Filed Termination Character

(FIELD_TERMINATION_CHARACTER)

Character that separates the fields of a delimited file.   Not migrated.
Filed Enclosure Characters

(FIELD_ENCLOSURE_CHARACTERS)

Characters that wrap fields. Example ' or ".   Not migrated.
Record Size

(RECORD_SIZE)

Size of a fixed length record.   Not migrated.
Concatenate Records

(CONCATENATE_RECORDS)

Number of Physical Records per Logical Record.   Not migrated.
Record Type Position

(RECORD_TYPE_POSITION)

If this is a multi record file, this will indicate the position of the field that identifies the type of record.   Not migrated.
Record Type Length

(RECORD_TYPE_LENGTH)

If this is a multi record file, this will indicate the length of the data that identifies the type of record. It is used with the Record Type Position.   Not migrated.
File contains a header row

(FIELD_NAMES_IN_THE_FIRST_ROW)

Indicates whether file contains a header row   Not migrated.
Bound Name

(BOUND_NAME)

    If the OWB Flat File operator is bound to an OWB Flat File object, the corresponding ODI Datastore component is bound to the ODI Datastore.

Logical Properties of the Map Attribute Group of the Flat File Operator

OWB Property Name Description ODI Property Name Note
Record Type Values

(RECORD_TYPE_VALUES)

    Not migrated.
Bound Name

(BOUND_NAME)

    Not migrated.

Logical Properties of the Map Attribute of the Flat File Operator

OWB Property Name Description ODI Property Name Note
Field Data Type

(FIELD_DATA_TYPE)

Choices = 'CHAR, DATE, INTEGER EXTERNAL, FLOAT EXTERNAL, DECIMAL, DECIMAL EXTERNAL, ZONED, ZONED EXTERNAL, RAW, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, FLOAT, DOUBLE, BYTEINT, SMALLINT, SMALLINT UNSIGNED, INTEGER, INTEGER UNSIGNED, GRAPHIC, GRAPHICEXTERNAL, VARGRAPHIC, VARCHAR, VARCHARC, VARRAW, LONG VARRAW, VARRAWC'   Not migrated.

Data type of ODI map attribute is determined by the data type of the column of the bound datastore.

Filed Length

(FIELD_DATA_TYPE_LENGTH)

Length of the field in the file to which this operator is bound.   Not migrated.

Length of ODI map attribute is determined by the length of the column of the bound datastore.

Field Precision

(FIELD_DATA_TYPE_PRECISION)

Precision of the field in the file to which this operator is bound.   Not migrated.

Precision of ODI map attribute are determined by the length of the column of the bound datastore.

Field Scale

(FIELD_DATA_TYPE_SCALE)

Scale of the field in the file to which this operator is bound.   Not migrated.
Field starting position

(FIELD_START_POSITION)

    Not migrated.
Field ending position

(FIELD_END_POSITION)

    Not migrated.
Field Mask

(FIELD_MASK)

Date mask of the field in the file to which this operator is bound.   Not migrated.
Field null if condition

(FIELD_NULLIF_VALUE)

NULLIF value of the field in the file to which this operator is bound.   Not migrated.
Field default if condition

(FIELD_DEFAULTIF_VALUE)

    Not migrated.

Join Operator

The OWB Join operator is migrated to the ODI Join component. Attribute groups and attributes of the OWB Join operator are not migrated.

Properties of the Join Operator

For information about the general properties of the Join operator, see "Mapping Operator".

ANSI SQL syntax

ANSI SQL syntax is a property on the mapping level in OWB.

ODI does not have this property on the mapping level, but the ODI Join component has a property called Generate ANSI Syntax which has the same functionality.

The value of ANSI SQL syntax on the OWB mapping is migrated to the Generate ANSI Syntax property of the ODI Join component.

Join Condition

Join Condition on the OWB Join operator is migrated to Join Condition on ODI Join component. However, the OWB Join Condition references its own operator's input attributes, which is not supported in ODI; thus, the ODI Join Condition is configured to reference the attributes of the upstream sources to the OWB input attribute.

Join Input Role

Join Input Role is an attribute group level property of the OWB Join operator. It has three choices: STANDARD, OUTER and FULLOUTER.

The corresponding property on the ODI Join component is Join Type.

Join Type

Join Input Role does not map directly to Join Type because Join Input Role supports multiple input groups, while Join Type supports only a binary join. During migration, complex joins are split into a series of the binary joins using the OWB code generation rules for the Join operator.

Migrating an ANSI Join Operator

When ANSI SQL syntax of OWB mapping is set to true, the Join operator is by default split into binary joins during migration.

Setting the SPLIT_JOIN_FOR_ANSI_SYNTAX migration configuration option to false can override this default behavior and prohibit the Join operator from being split into binary joins. However, if a "Join Input Role" value is set on any of the Join operator's attribute groups, the value of the SPLIT_JOIN_FOR_ANSI_SYNTAX migration configuration option is ignored and the Join operator is split into binary joins during migration.

The following scenarios provide examples of migrating the Join operator when ANSI SQL Syntax is set to true for the mapping.

Scenario 1: Two Input Groups with Standard Join

OWB mapping description: two sources joining together, the join condition is standard join (not outer join). No "Join Input Role" is specified on input attribute groups of Join operator.

ANSI Join; Standard Join

Join Condition is: INGRP2.DEPTNO = INGRP1.DEPTNO and INGRP1.EMPNO > 1000

The generated code (only displays the select clause) from OWB side is:

SELECT
  "EMP"."EMPNO" "EMPNO", "EMP"."ENAME" "ENAME", "DEPT"."DNAME" "DNAME"
FROM
  "DEPT" "DEPT" JOIN "EMP" "EMP" 
ON ( ( "DEPT"."DEPTNO" = "EMP"."DEPTNO" ) )
WHERE ( "EMP"."EMPNO" > 1000 )

When this kind of mapping is migrated to ODI, the ODI mapping should look as follows:

ANSI Join; Standard Join

The join condition for JOIN1 is: ( DEPT.DEPTNO = EMP.DEPTNO )

The filter condition for Filter_JOIN1 is: ( EMP.EMPNO > 1000 )

The operator JOIN1 in OWB mapping is migrated to a Join component followed a Filter component in ODI.

Scenario 2: Two Input Groups with Outer Join Using (+) Style

The mapping is much similar with the mapping in scenario 1. The only difference is the join condition is not a standard join. It is an outer join using (+) style.

ANSI Join; Outer Join (+)

JOIN_CONDITION is: INGRP2.DEPTNO(+) = INGRP1.DEPTNO

The generated code (only displays the select clause) from OWB side is:

SELECT
  "EMP"."EMPNO" "EMPNO","EMP"."ENAME" "ENAME", "DEPT"."DNAME" "DNAME"
FROM
  "DEPT" "DEPT" 
RIGHT OUTER JOIN "EMP" "EMP" ON ( ( "DEPT"."DEPTNO" = "EMP"."DEPTNO" ) )

The migrated ODI mapping should look as follows:

ANSI Join; Outer Join (+)

The join condition is set to DEPT.DEPTNO = EMP.DEPTNO, and the join type is set to DEPT RIGHT_OUTER join EMP.

Scenario 3: Two Input Groups with Outer Join Using Join Input Role

Two sources joining together, the join condition is standard join, but "Join Input Role" is specified on some of the input attribute groups of Join operator. Take the following OWB mapping as an example:

ANSI Join; Outer Join, Join Input Role

The Join Input Role of INGRP1 is set to OUTER.

Join condition is: INGRP2.DEPTNO = INGRP1.DEPTNO

The generated code (only displays the select clause) from OWB side is:

SELECT
  "EMP"."EMPNO" "EMPNO",
  "EMP"."ENAME" "ENAME",
  "DEPT"."DNAME" "DNAME"
FROM
  "DEPT" "DEPT" 
LEFT OUTER JOIN "EMP" "EMP" ON ( ( "DEPT"."DEPTNO" = "EMP"."DEPTNO" ) )

The migrated ODI mapping looks like the following:

ANSI Join; Outer Join, Join Input Role

The join condition is set to DEPT.DEPTNO = EMP.DEPTNO, and the join type is set to DEPT LEFT_OUTER join EMP.

Scenario 4: Two Input Groups with both (+) Style and Join Input Role

In this case, OWB will use Join Input Role to generate code and ignore the (+) style. The migrated mapping will be the same as Scenario 3.

Scenario 5: Multiple Input Groups

Take the following mapping as an example:

ANSI Join, Multiple Input Groups

Join condition is:

INGRP1.SAL > 1000 and INGRP1.EMPNO(+) = INGRP2.DEPTNO 
and INGRP3.ENAME = INGRP4.CUSTID and INGRP1.EMPNO = INGRP4.CUSTID
and SUBSTR(INGRP1.ENAME(+),0,2) = INGRP2.DNAME

The generated code (only displays the select clause) from OWB side is:

SELECT
  /* EMP.INOUTGRP1 */
  "EMP"."EMPNO" "EMPNO",
  "EMP"."ENAME" "ENAME",
  "EMP"."JOB" "JOB",
  "EMP"."MGR" "MGR",
  "EMP"."HIREDATE" "HIREDATE",
  "EMP"."SAL" "SAL",
  "EMP"."COMM" "COMM",
  "EMP"."DEPTNO" "DEPTNO"
FROM
  "EMP" "EMP" ) "INGRP1" 
RIGHT OUTER JOIN "DEPT" "DEPT" ON ( 
  (( "INGRP1"."EMPNO" = "DEPT"."DEPTNO" )) 
  AND (( SUBSTR ( "INGRP1"."ENAME" , 0 , 2 ) = "DEPT"."DNAME" )) 
)
JOIN "ADDRESS" "ADDRESS$1" ON ( ( "INGRP1"."EMPNO" = "ADDRESS$1"."CUSTID" ) )
JOIN "BONUS" "BONUS" ON ( ( "BONUS"."ENAME" = "ADDRESS$1"."CUSTID" ) )
WHERE 
  ( "INGRP1"."SAL" > 1000 ) 

The migrated ODI mapping looks like this:

ANSI Join, Multiple Input Groups

The properties of JOINER would be:

ANSI Join, Multiple Input Groups

The properties of JOINER1 would be:

ANSI Join, Multiple Input Groups

The properties of JOINER2 would be:

ANSI Join, Multiple Input Groups

The properties of Filter_JOINER would be:

ANSI Join, Multiple Input Groups

Migrating a Non-ANSI Join Operator

When the property ANSI SQL syntax of OWB mapping is set to false, the OWB Join operator will be migrated to one ODI Join component.

Exception: when "ANSI SQL syntax" is set to false, but "Join input Role" is set for some of the Join operator attribute groups. The OWB Join operator may be split into binary joins as described in "Join Input Role".

Migrating a Self Join

The following mapping is allowed in OWB, but it is not well supported in ODI 12.1.2.

Self Join

One source table operator is connected to two input groups of the Join operator.

To support this mapping in ODI 12.1.2, the source table operator is migrated twice, producing an ODI mapping like:

Self Join

ODI 12.1.3 can support the self join just as the way OWB does, so there is no need to migrate the source table operator twice, and the mapping is migrated to ODI 12.1.3 as below:

Migrate self join screenshot

EMP component is connected to JOINER component twice by 2 input connector points of JOINER component.

Lookup Operator

The OWB Lookup operator is not migrated to ODI directly. Instead, each of its input/output attribute group pairs is migrated to an ODI Lookup component.

If the OWB Lookup operator has multiple input/output attribute group pairs, the resulting ODI Lookup components are chained together as a binary tree.

Properties of the input/output attribute group pairs are migrated to properties of the ODI Lookup components.

The OWB in group and input attributes will be omitted after the lookup condition converted to ODI.

<OWB In Group, Attributes, and Lookup Conditions>

OWB in group, attributtes and lookup conditions

<ODI Lookup Condition>

ODI lookup condition example

The OWB Lookup Table is migrated as ODI Lookup Operator's <Lookup Source> and show up in the mapping.

<OWB Lookup Table>

OWB lookup table

<ODI Lookup Source>

ODI lookup source

The OWB Multiple Match Rows Rules are migrated to ODI's <Multiple Match Rows>, <Nth Row Number> and <Lookup Attributes default value & order by> - Column <order by>

<OWB Multiple Match Rows – Error>

OWB multiple match rows error

<ODI Multiple Match Rows – Error>

ODI multiple match rows error

<OWB Multiple Match Rows - All Rows>

OWB multiple match rows all rows

<ODI Multiple Match Rows - All Rows >

ODI multiple match rows all rows

<OWB Multiple Match Rows - Single Row - Any Row>

OWB multiple match rows single row any row

<ODI Multiple Match Rows - Select Any Single Row>

ODI multiple match rows select any single row

<OWB Multiple Match Rows - Single Row - First / Last Row>

OWB multiple rows single row first last row

<ODI Multiple Match Rows -Select Single First / Last row>

ODI multiple match rows select single first last row

<OWB Multiple Match Rows - Single Row - Nth Row>

OWB multiple match rows single row nth row

<ODI Multiple Match Rows - Select Single Nth Row>

ODI multiple match rows select single nth row

OWB No Match Rows Rules are migrated to ODI No Match Rows Plus <Lookup Attributes Default Value & Order By> Default Value.

<OWB Match No Rows - Using Predefined Value>

OWB match no rows using predefined value

<ODI Match No Rows - Using Default Value>

ODI match no rows using default value

Migration Path

To support OWB lookup migration, the concept Multiple Match Rows and No match Rows are introduced into ODI. The migration combines as following:


OWB ODI12.1.2 ODI12.1.3

Multiple Match Rows No Match Rows Lookup Type Multiple Match Rows No Match Rows Code Generated
ALL ROWS DEFAULT VALUES LEFT OUTER ALL ROWS(LEFT OUTER) DEFAULT VALUES LEFT OUTER JOIN
ALL ROWS NO ROW N/A ALL_ROWS (ALL_ROWS) NO ROW INNER JOIN
ERROR DEFAULT VALUES EXPRESSION IN SELECT ERROR (ERROR_WHEN_MULTIPLE_ROW) DEFAULT VALUES EXPRESSION IN SELECT
NTH ROW DEFAULT VALUES N/A NTH ROW DEFAULT VALUES LEFT OUTER JOIN
ANY ROW DEFAULT VALUES N/A ANY ROW DEFAULT VALUES EXPRESSION IN SELECT
FIRST ROW DEFAULT VALUES N/A FIRST ROW DEFAULT VALUES EXPRESSION IN SELECT
LAST ROW DEFAULT VALUES N/A LAST ROW DEFAULT VALUES EXPRESSION IN SELECT

Lookup Properties Migration

OWB Property Name ODI Property Name
Name Name
Input Group Not Migrated
Input Attributes Not Migrated
Multiple Match Rows Multiple Match Rows
No-Match Row No-Match Row
Nth Row Number Nth Row Number
Default Value and Order By Lookup Default Values & Order By
Lookup Condition Lookup Condition
Each Group's Lookup Table Lookup Operator's Lookup Table

Mapping Input Parameter Operator

Each attribute of an OWB Mapping Input Parameter operator is migrated as one ODI variable under the project tree panel.

The default value of an attribute in the OWB Mapping Input Parameter operator is migrated as the default value of the ODI variable. If the default value is not set, the expression of the attribute is used instead.

By default, the attribute name is migrated to the ODI variable name. If the name already exists, a number is automatically appended to create a unique name. If multiple attributes of the same name are migrated, increasing numbers are used to create unique names.

Properties of the Attributes of the Mapping Input Parameter Operator

OWB Property Name ODI Property Name Description
Physical Name Name If the name already exists, a number is automatically appended to create a unique name.
Default Value Default Value The default value of the attribute in the OWB Mapping Input Parameter will be migrated as the ODI Variable's default. If the default value of the attribute in the input parameter is not set, use the expression of the attribute instead.
Data Type; one of:
  • TIMESTAMP

  • TIMESTAMP_WITH_LOCAL_TIME_ZONE

  • TIMESTAMP_WITH_TIME_ZONE

  • DATE

Data Type: DATE The attribute's default value (or expression if no default value is set) is converted to text and the ODI variable's data type is configured as SHORT_TEXT or LONG_TEXT:
  • If the length of the converted text exceeds 250, the ODI variable's data type is configured as LONG_TEXT.

  • Otherwise, the ODI variable's data type is configured as SHORT_TEXT.

Data Type; one of:
  • NUMBER

  • NUMERIC

  • FLOAT

  • BINARY_DOUBLE

  • BINARY_FLOAT

  • INTEGER

Data Type: NUMERIC If the attribute's default value (or expression if no default value is set) cannot be parsed to numeric, it is converted to text and the ODI variable's data type is configured as SHORT_TEXT or LONG_TEXT:
  • If the length of the converted text exceeds 250, the ODI variable's data type is configured as LONG_TEXT.

  • Otherwise, the ODI variable's data type is configured as SHORT_TEXT.

Data Type; one of:
  • VARCHAR2

  • VARCHAR

  • CHAR

  • NCHAR

  • NVARCHAR2

Data Type: SHORT_TEXT If the length of attribute's default value (or expression if no default value is set) exceeds 250, the ODI variable's data type is configured as LONG_TEXT.
Data Type: Other Not Supported If the attribute's type in OWB is some other type, the operator will not be migrated.

Migration Logic

The following diagram provides an example of how the OWB Mapping Input Parameter is migrated to ODI. In this diagram, note the following:

  1. Each attribute inside the Mapping Input Parameter EMP_RANGE is migrated to a standalone variable; for example, EMP_RANGE.EMPNO_MIN is migrated to the ODI project variable EMPNO_MIN.

  2. The attribute's default value or expression is migrated to the ODI variable's default value; for example, the expression 4001 of EMP_RANGE.EMPNO_MIN in OWB is migrated to the ODI variable EMPNO_MIN's default value of 4001.

  3. The downstream expressions of OWB Mapping Input Parameter attributes are parsed to use the variable; for example, the FILTER condition expression has been converted to #OPERATOR_MIGRATION.EMPNO_MIN.

Input Parameter Operator

How the Default Value Is Used

Once a mapping that contains an Input Parameter operator been migrated to ODI, it can be executed through the generated mapping scenario. During the execution, all the ODI variables migrated from OWB will be populated with the default value (OWB input parameter attribute's default value or expression). If necessary, you can change the value as needed, as shown in the following figure:

Input Parameter Operator

Materialized View Operator

The OWB Materialized View operator is migrated to the ODI Data store component.

Logical Properties of the Materialized View Operator

General Properties

OWB Property Name Description ODI Property Name Note
Bound Name

(BOUND_NAME)

    If the OWB Materialized View operator is bound to a materialized view, the ODI Data store component will be bound to the corresponding data store.
Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

(YES/NO)

  Not migrated.
Keys

(KEYS_READONLY)

    Not migrated.
Loading Type

(LOADING_TYPE)

Choices = "INSERT, UPDATE, INSERT_UPDATE, UPDATE_INSERT, DELETE, NONE, TRUNCATE_INSERT, DELETE_INSERT, CHECK_INSERT, DERIVE_FROM_LCR"

INTEGRATION_TYPE

Same as for the Table operator. See Notes About Loading Type.
Target Load Order

(TARGET_LOAD_ORDER)

Map targets names in loading sequence.   Not migrated.

Chunking

As with the Table operator, properties for Chunking are not migrated.

Conditional Loading

Same as for the Table operator. See "Conditional Loading".

Data Rules

As with the Table operator, properties for Data Rules are not migrated.

Error Table

As with the Table operator, properties for Error Table are not migrated.

SCD Updates

As with the Table operator, properties for SCD Updates are not migrated.

Temp Stage Table

As with the Table operator, properties for Temp Stage Table are not migrated.

Physical Properties of the Materialized View Operator

Same as for the Table operator. See "Physical Properties of the Table Operator".

Logical Properties of the Attributes of the Materialized View Operator

Same as for the Table operator. See "Logical Properties of the Attributes of the Table Operator".

Migrating an Unbound Materialized View Operator

Same as for the Table operator. See "Migrating an Unbound Table Operator".

Pivot Operator

The OWB Pivot operator is migrated to the ODI Unpivot component.

Properties of the Pivot Operator

General Properties

OWB Property Name Description ODI Property Name Note
Business Name

(LOGICAL_NAME)

  Business Name

(BUSINESS_NAME)

 
Physical Name

(NAME)

  Name

(NAME)

If the OWB name includes the string "pivot", it is changed to "unpivot".

Row Locator

The output attribute that is set as the row locator of the OWB Pivot operator is migrated to the value of the Row Locator property of the ODI Unpivot component.

Pivot Transform

Pivot transform values of the OWB Pivot operator are migrated to unpivot transform values of the ODI Unpivot component.

Map Attribute Group and Map Attribute

Map attribute groups of the OWB Pivot operator are migrated to connector points of the ODI Unpivot component. No specific properties for attribute group of Pivot operator need to be migrated.

Input attributes of the OWB Pivot operator are not migrated.

Output attributes are migrated. Name, Data Type, Length, Precision, Scale, Second Precision and Description are general properties described in "Mapping Attribute". Migration of the Row Locator property is described in "Row Locator". The Expression property of the OWB Output attribute is migrated to the Expression property of the ODI Output attribute.

Pluggable Mapping Operator

The OWB Pluggable Mapping operator is migrated to the ODI Reusable Mapping component.

For general information about migrating pluggable mappings, see OWB Pluggable Mappings.

Properties of the Pluggable Mapping Operator

No specific properties of the Pluggable Mapping operator need to be migrated.

Attribute Groups and Attributes of the Pluggable Mapping Operator

Attribute groups and attributes in the Pluggable Mapping operator are not migrated.

In ODI, when a Reusable Mapping component is bound to a Reusable Mapping, the connector points and attributes of the Reusable Mapping component are created automatically according to the binding Reusable Mapping. Thus, if an OWB Pluggable Mapping operator is not consistent with its bound object in OWB, migration issues might arise. To avoid any such issues, synchronize the Pluggable Mapping operator before migration.

Migrating an Unbound Pluggable Mapping Operator

A mapping containing an unbound Pluggable Mapping operator will not be migrated unless the MIGRATE_UNBOUND_OPERATOR migration configuration option is set to true.

During migration, a Reusable Mapping will be created in ODI based on the unbound Pluggable Mapping operator. The created Reusable Mapping is placed in the STAND_ALONE folder under the project where the mapping is placed. The unbound Pluggable Mapping operator is migrated to a Reusable Mapping component and bound to the newly created Reusable Mapping.

Post-Mapping Operator

For ODI 12.1.2 (plus the applied patch), the OWB Post-Mapping operator is converted to PL/SQL code and configured into the ODI container mapping's target node as the KM option END_MAPPING_SQL.

For ODI 12.1.3, the OWB Post-Mapping operator is migrated as SQL clause and saved into the "End Mapping Command" of the mapping. The operator's location information is migrated into Location for End Mapping Command, and the Technology for End Mapping Command would be populated as Oracle.

The downstream expressions which refer to the Output Attribute are resolved as NULL.

The data type of Attribute Process operator are limited to: TIMESTAMP, TIMESTAMP_WITH_LOCAL_TIME_ZONE, TIMESTAMP_WITH_TIME_ZONE, DATE, NUMBER, NUMERIC, FLOAT, BINARY_DOUBLE, BINARY_FLOAT, INTEGER, VARCHAR2, VARCHAR, CHAR, NCHAR, NVARCHAR2. Otherwise, the Attribute Process Operator is not migrated.

OWB Property Name ODI Property Name Note
Business Name   Not migrated.
Description   Not migrated.
Function Name Function Name inside the End Mapping Command.  
Physical Name   Not migrated.
Post-Mapping Process Run Condition   Skipped after migrated to ODI Mapping.
Row based only   Not migrated.
Input Attribute Physical Name   Not migrated.
Output Attribute Physical Name   Not migrated.

Pre-Mapping Operator

For ODI 12.1.2 (plus the applied patch), the OWB Pre-Mapping operator is migrated to the KM option BEGIN_MAPPING_SQL of the source ODI Datastore component.

For ODI 12.1.3, the OWB Pre-Mapping operator is migrated as a SQL clause and saved into the "Begin Mapping Command" of the mapping. The operator's location information would be migrated into Location for Begin Mapping Command, and the Technology for Begin Mapping Command would be populated as Oracle.

The downstream expressions which refer to the Output Attribute are be resolved as NULL.

The data type of Attribute Process operator are limited to: TIMESTAMP, TIMESTAMP_WITH_LOCAL_TIME_ZONE, TIMESTAMP_WITH_TIME_ZONE, DATE, NUMBER, NUMERIC, FLOAT, BINARY_DOUBLE, BINARY_FLOAT, INTEGER, VARCHAR2, VARCHAR, CHAR, NCHAR, NVARCHAR2. Otherwise, the Attribute Process Operator is not migrated.

OWB Property Name ODI Property Name Note
Business Name   Not migrated.
Description   Not migrated.
Function Name Function Name inside the Begin Mapping Command.  
Physical Name   Not migrated.
Post-Mapping Process Run Condition   Skipped after migrated to ODI Mapping.
Row based only   Not migrated.
Input Attribute Physical Name   Not migrated.
Output Attribute Physical Name   Not migrated.

Sequence Operator

OWB Sequences are migrated to ODI Sequences as described in "OWB Sequence to ODI Sequence". The OWB Sequence operator is not migrated; however, references to OWB Sequences in expressions are migrated to ODI as part of the migration of the expressions.

Set Operator

The OWB Set operator is migrated to the ODI Set component.

Properties of the Set Operator

Set Operation

Set operation is an operator level property in OWB. It has four choices: UNION, UNIONALL, INTERSECT, and MINUS.

ODI has a similar property, but the property is set on the input connector point. Hence, the operator-level OWB Set Operation property is migrated to each input connector point of the Set ODI component except the first input connector point which is left as empty.

The following table displays the migration from OWB Set Operation to ODI set operation type.

OWB Set Operation Type ODI Set Operation Type
UNION UNION
UNIONALL UNION ALL
MINUS MINUS
INTERSECT INTERSECT

Attribute Groups and Attributes of the Set Operator

The operator attribute groups of the OWB Set operator are migrated to ODI component connector points. No specific properties need to be migrated for attribute groups of the Set operator.

Input attributes of the Set operator are not migrated.

Output attributes are migrated. The Output attribute of the ODI Set component can have multiple expressions. Each expression is associated with an input connector point. During migration, the expressions for the ODI attribute will be constructed according to the input attributes of the OWB Set operator. Take the following mapping as an example:

Set Operator

Union1 is a Set operator in OWB. It has two output attributes, and the two input attributes INGRP1.EMPNO and INGPR2.DEPTNO are mapped to OUTGRP1.DEPTNO.

Because INGRP1.EMPNO is connected from EMP.INOUTGRP.EMPNO and INGRP2.DEPTNO is connected from DEPT.INOUTGRP.DEPTNO, the expressions for the output attribute UNION1.DEPTNO in the ODI Set component are set to refer to EMP.EMPNO and DEPT.DEPTNO.

Sorter Operator

The OWB Sorter operator is migrated to the ODI Sorter component.

Logical Properties of the Sorter Operator

OWB Property Name Description ODI Property Name Note
Order By Clause

(ORDER_BY_CLAUSE)

The Order By Clause ORDER_BY_CLAUSE  

Physical Properties of the Sorter Operator

OWB Property Name Description ODI Property Name Note
Inline view hint

(INLINEVIEW_HINT)

Hint used when inline view is created for this operator   Not migrated.

Splitter Operator

The OWB Splitter operator is migrated to the ODI Splitter component.

Properties of the Splitter Operator

Split Condition

Split Condition is an attribute group-level property in OWB. ODI has a similar property, which is set on the output connector point. The Split Condition property on the output attribute group in OWB is migrated to the split condition expression on the output connector point in ODI.

Attribute Groups and Attributes of the Splitter Operator

Output attribute groups of the Splitter operator in OWB are migrated to output connector points in ODI. The output attribute group with the name REMAINING_ROWS in OWB is migrated to the Remainder output connector point in ODI.

Attributes of the Splitter operator are not migrated.

Subquery Filter Operator

The OWB Subquery Filter operator is migrated to the ODI Subquery Filter component.

Properties of the Subquery Filter Operator

Name and Description

The physical name of the Subquery Filter operator is migrated to the Subquery Filter component name. The description is migrated to the component description.

Subquery Filter Condition

The OWB subquery filter condition is mapped to the ODI subquery filter condition.

The subquery filter condition for the ODI Subquery Filter component is as follows:

Subquery Filter Operator

Subquery Filter Input Role

The OWB subquery filter input role is migrated to the ODI subquery filter input role.

The subquery filter input role for the ODI Subquery Filter component is as follows:

Subquery filter screenshot

Map Attribute Groups

The OWB Subquery Filter operator has two attribute groups: input attribute group and inout attribute group. The input attribute group of the OWB Subquery Filter operator is migrated to the ODI SUBQUERY_FILTER_INPUT connector point of the ODI Subquery Filter component. The OWB inout attribute group of the Subquery Filter operator is migrated to the ODI DRIVER_INPUT connector point and the output connector point. The two connector points use the default name instead of the OWB inout attribute group name.

Attributes

Attributes in the input attribute group are not migrated. Attributes in the inout group of the OWB Subquery Filter operator are migrated to output attributes of the ODI Subquery Filter component.

An output attribute of the Subquery Filter component has two expressions. The following example describes how these two expressions are set during migration.

Using the following OWB mapping as an example:

Subquery Filter Operator

This OWB mapping is migrated to the following ODI mapping:

subquery filter 2 screenshot

The expressions for each migrated attribute are as follows:

Subquery Filter Operator

Expression for DRIVER_INPUT Connector Point

For output attributes of the OWB Subquery Filter operator that are connected from an upstream attribute, the expression of these output attributes is set to the ODI DRIVER_INPUT connector point, and the expression references the upstream projector attribute.

In the previous OWB mapping, the attribute SUBQUERY_FILTER.INOUTGRP1.EMPNO is connected from EMP.EMPNO. After migration to ODI, the expression set on the DRIVER_INPUT connector point is EMP.EMPNO.

Expression for SUBQUERY_FILTER_INPUT Connector Point

For output attributes of the OWB Subquery Filter operator with an IN Matching Attribute property set, the expression of this property is set to the SUBQUERY_FILTER_INPUT connector point.

For example, if the IN Matching Attribute value is DEPTNO, when migrating to ODI, DEPT.DEPTNO is set as the expression for the SUBQUERY_FILTER_INPUT connector point in ODI.

Table Operator

The OWB Table operator is migrated to the ODI Datastore component.

Logical Properties of the Table Operator

General Properties

OWB Property Name Description ODI Property Name Note
Bound Name

(BOUND_NAME)

    If the OWB Table operator is bound to a table, the ODI Datastore component will be bound with the corresponding data store.
Business Name

(LOGICAL_NAME)

  Business Name

(BUSINESS_NAME)

 
Create By     Not migrated.
Create Time     Not migrated.
Icon Object     Not migrated.
Keys

(KEYS_READONLY)

    Not migrated.
Last Update Time     Not migrated.
Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).   Not migrated.
Loading Type

(LOADING_TYPE)

Choices = "INSERT, UPDATE, INSERT_UPDATE, UPDATE_INSERT, DELETE, NONE, TRUNCATE_INSERT, DELETE_INSERT, CHECK_INSERT, DERIVE_FROM_LCR" INTEGRATION_TYPE See Notes About Loading Type.
Target Load Order

(TARGET_LOAD_ORDER)

Map targets names in loading sequence.   Not migrated. The TARGET_LOAD_ORDER property will be specified on the mapping level.
Update By     Not migrated.

Notes About Loading Type

The loading type of the OWB operator is migrated to the ODI integration type. The Loading Type property is migrated only when the operator is used as the target.

The following table displays the migration mappings from the OWB loading type to the ODI integration type.

OWB Loading Type Description ODI Integration Type Note
INSERT   CONTROL_APPEND A default IKM whose integration type is CONTROL_APPEND is assigned.
UPDATE   INCREMENTAL_UPDATE A default IKM whose integration type is INCREMENTAL_UPDATE and subtype is UPDATE is assigned.
INSERT_UPDATE   INCREMENTAL_UPDATE A default IKM whose integration type is INCREMENTAL_UPDATE and subtype is MERGE is assigned.
UPDATE_INSERT   INCREMENTAL_UPDATE A default IKM whose integration type is INCREMENTAL_UPDATE and subtype is MERGE is assigned.
DELETE   Integration type is not set; a default integration type is used. ODI does not support DELETE DML.
NONE   Integration type is not set; a default integration type is used.  
TRUNCATE_INSERT   CONTROL_APPEND Similar to INSERT, and the KM option TRUNCATE_TARGET_TABLE (if it exists) is set to true.
DELETE_INSERT   CONTROL_APPEND Similar to INSERT, and the KM option DELETE_ALL (if it exists) is set to true.
CHECK_INSERT   CONTROL_APPEND Treated the same as INSERT.

Note that there is no KM option to check whether the target table is empty prior to the insert action.

DERIVE_FROM_LCR   Integration type is not set; a default integration type is used. ODI does not support DERIVE_FROM_LCR.

Change Data Capture

The following table displays the Change Data Capture (CDC) property mappings from OWB to ODI.

OWB Property Name Description ODI Property Name Note
Enabled

(IS_CDC)

Indicates if journaling is enabled for this entity. Journalized Data Only

(JOURNALIZING_ENABLED)

 
Capture Consistency

(CDC_METHOD)

Change Data Capture method for this entity.

Choices: NONE, CONSISTENT, SIMPLE

  Not migrated.
Change Data Capture Filter

(CDC_FILTER_CONDITION)

The boolean filtering condition that identifies the data to be processed. Any row with a false condition is not migrated. Journalized Data Filter

(JOURNALIZED_DATA_FILTER)

 
Trigger Based Capture

(IS_TRIGGER_CDC)

Indicates if journaling triggers are generated for this entity.   Not migrated.

Chunking

Not migrated.

Conditional Loading

The following table displays the Conditional Loading property mappings from the OWB Table operator to the ODI Datastore component.

OWB Property Name Description ODI Property Name Note
Target Filter for Update

(TARGET_FILTER_FOR_UPDATE)

A condition on the rows in the target and if evaluated to true, that row participates in the update loading operation.   Not migrated.
Target Filter for Delete

(TARGET_FILTER_FOR_DELETE)

A condition on the rows in the target and if evaluated to true, that row participates in the delete loading operation.   Not migrated.
Match by constraint

(MATCH_BY_CONSTRAINT)

Indicates whether unique or primary key information on this target will override the matching criteria obtained from the "Match by constraint" property on the attributes of this target. Update Key

(UPDATE_KEY)

See Notes About Match By Constraint.

Notes About Match By Constraint

In OWB, the property "Match by constraint" can be set to ALL_CONSTRAINTS, NO_CONSTRAINT and a specific CONSTRAINT name (a PK or UK name of the entity).

ALL_CONSTRAINTS

If "Match by constraint" is set to ALL_CONSTRAINTS, no update key is set on the corresponding ODI Datastore component.

NO_CONSTRAINT

If "Match by constraint" is set to NO_CONSTRAINT, no update key is set on the corresponding ODI Datastore component.

Specific Constraint Name

If "Match by constraint" is set to a specific constraint name, the constraint name is used to find the corresponding key (PK or UK) in ODI that will be set as the update key.

Control CT

Migration details for Control CT (code template) mapping properties are as follows:

Primary Key, Foreign Key, Unique Key, Check Constraint

Based on the name of the Key of the OWB Table operator, if a constraint with the same name exists on the corresponding ODI Datastore component, the flow control value in OWB is migrated to the constraint value in ODI.

Not Null Attribute Property

The Not Null property is set on the attribute level. The flow control value of the OWB attribute is migrated to the Check Not Null property value on the ODI attribute.

Data Rules

Data Rules properties are not migrated.

Error Table

Error Table properties are not migrated.

SCD Updates

SCD Updates properties are not migrated.

Temp Stage Table

Temp Stage Table properties are not migrated.

Partition DML

The following table displays the Partition DML property mappings from the OWB Table operator to the ODI Datastore component.

OWB Property Name Description ODI Property Name Note
DML Partition Type

(DML_PARTITION_TYPE)

Choices: NONE, PARTITION, SUBPARTITION   Not migrated.
Is Partition Indexed by Name

(IS_PARTITION_INDEXED_BY_NAME)

False if partition is indexed by partition key value; otherwise, it's indexed by partition name.

(YES/NO)

  Not migrated.
DML Partition Name

(DML_PARTITION_NAME)

  Uses OWB partition type and partition name to find the corresponding partition in ODI.  
Partition Key Value List

(PARTITION_KEY_VALUE_LIST)

The partition key value list to search for the partition.   Not migrated.

Physical Properties of the Table Operator

Only those physical properties in the active configuration are considered for migration.

General Physical Properties

OWB Property Name Description ODI Property Name Note
Conflict Resolution

(CONFLICT_RESOLUTION)

Detect and resolve any conflicts that may arise during DML using the LCR APIs.

(TRUE/FALSE)

  Not migrated.
Optimize Merge

(OPTIMIZE_MERGE)

(TRUE/FALSE)   Not migrated.
Schema

(SCHEMA)

    Not migrated.
Database link

(DATABASE_LINK)

Database link used to access this entity during mapping.   Not migrated.
Location

(DB_LOCATION)

Location, used to access the referenced entity.   Not migrated.

Hints

OWB Property Name Description ODI Property Name Note
Extraction hint

(EXTRACTION_HINT)

Hint used when extracting from this table using SQL. SELECT_HINT  
Loading hint

(LOADING_HINT)

Hint used when loading into this table using SQL. INSERT_HINT or UPDATE_HINT  
Automatic hints enabled

(AUTOMATIC_HINTS_ENABLED)

Automatic hints enabled using SQL.   Not migrated.

Partition Exchange Loading

Properties of Partition Exchange Loading for the Table operator are not migrated.

Logical Properties of the Attributes of the Table Operator

Loading Properties

OWB Property Name Description ODI Property Name Note
Load Column when Inserting Row

(LOAD_COLUMN_WHEN_INSERTING_ROW)

A boolean value to indicate whether this attribute will participate in the insert load operation.

(YES/NO)

Insert Indicator  
Load when Updating Row Column

(LOAD_COLUMN_WHEN_UPDATING_ROW)

A boolean value to indicate whether this attribute will participate in the update load operation.

(YES/NO)

Update Indicator  
Match Column when Updating Row

(MATCH_COLUMN_WHEN_UPDATING_ROW)

A boolean value to indicate whether this attribute will be used to construct the matching criteria between the incoming data and the existing data on the target during the update load operation.

(YES/NO)

Key indicator See Notes About Match Column When Updating Row.
Match Column when Deleting Row

(MATCH_COLUMN_WHEN_DELETING_ROW)

A boolean value to indicate whether this attribute will be used to construct the matching criteria between the incoming data and the existing data on the target during the delete load operation.

(YES/NO)

  Not migrated.
Update Operation

(UPDATE_OPERATION)

The computation to be performed on this attribute between the incoming data and the existing data on the target during the update load operation.

Choices = '=, +=, -=, =-, *=, /=, =/, =||, ||='

  Not migrated.

Notes About Match Column When Updating Row

Although the property of MATCH_COLUMN_WHEN_UPDATING_ROW in OWB is migrated to KEY_INDICATOR in ODI, several rules govern how the key indicator for the ODI map attribute is set.

When the property "Match by constraint" of the OWB Table operator is set to ALL_CONSTRAINTS, the value set on the property MATCH_COLUMN_WHEN_UPDATING_ROW is not migrated, and the key indicator is set to true for the ODI attribute whose bound object is referenced by any PK/AK.

When the property "Match by constraint" of the OWB Table operator is set to NO_CONSTRAINT, the key indicator of the ODI attribute is set according to the property MATCH_COLUMN_WHEN_UPDATE_ROW of the OWB attribute. If MATCH_COLUMN_WHEN_UPDATE_ROW is set to YES, the key indicator of the ODI attribute should be set to true.

When the property "Match by Constraint" of the OWB Table operator is set to a specific constraint, an update key is set on the ODI Datastore component. The key indicator of the ODI attributes is set automatically when the update key is set.

Code Template Metadata Tags

OWB Property Name Description ODI Property Name Note
UD1

(CODE_TEMPLATE_USER_DEFINED_1)

A boolean value indicating whether this attribute will be included in code template functions using the UD1 tag.

(YES/NO)

UD_1  
UD2

(CODE_TEMPLATE_USER_DEFINED_2)

(YES/NO) UD_2  
UD3

(CODE_TEMPLATE_USER_DEFINED_3)

(YES/NO) UD_3  
UD4

(CODE_TEMPLATE_USER_DEFINED_4)

(YES/NO) UD_4  
UD5

(CODE_TEMPLATE_USER_DEFINED_5)

(YES/NO) UD_5  
UPD

(CODE_TEMPLATE_UPDATE)

A boolean value indicating whether this attribute will be included in code template functions using the UPD tag.

(YES/NO)

  Not migrated.
SCD

(CODE_TEMPLATE_SCD)

Choices = 'SCD_UND, SCD_SK, SCD_NK, SCD_INS, SCD_UPD, SCD_FLAG, SCD_START, SCD_END'   Not migrated.

Migrating an Unbound Table Operator

Mappings that contain an unbound Table operator are not migrated, unless the migration configuration option MIGRATE_UNBOUND_OPERATOR in the migration utility configuration file is set to true.

If the migration configuration option MIGRATE_UNBOUND_OPERATOR is set to true, a data store is created in ODI based on the unbound Table operator. The unbound OWB Table operator is migrated to the ODI Datastore component and is bound to the newly created ODI data store.

Table Function Operator

The OWB Table Function operator is migrated to the ODI Table Function component. OWB has a bound Table Function operator (the operator is bound to a table function) and an unbound Table Function operator, and these two kinds of operators are migrated to an unbound Table Function component in ODI. The OWB Table Function operator can have one input attribute group and one output attribute group. The attribute groups of the Table Function operator are migrated to ODI map connector points.

Logical Properties of the Table Function Operator

OWB Property Name Description ODI Property Name Note
Table Function Name

(TABLE_FUNCTION_NAME)

Name of the table function to be called. FUNCTION_NAME  
Table Function is Target

TABLE_FUNCTION_IS_TARGET

Indicates if this table function is being used as a target operator.   Not migrated.

Even without this property, ODI still knows if this Table Function component is used as a target.

Bound Name

(BOUND_NAME)

The name to be used by the code generator to identify this operator. By default, this is the same as the operator's physical name.   Not migrated.

Logical Properties of the Map Attribute Group of the Table Function Operator

OWB Property Name Description ODI Property Name Note
Return Table of Scalar

(RETURN_TABLE_OF_SCALAR)

Specifies whether the return of the table function is a TABLE of SCALAR.   Not migrated.

If this property is set to true in OWB, then the expression of the output attribute in ODI is set to TABLE_FUNCTION_NAME.COLUMN_VALUE.


Logical Properties of the Map Attribute of the Table Function Operator

OWB Property Name Description ODI Property Name Note
Bound Name

(BOUND_NAME)

The name to be used by the code generator to identify this item. By default, this is the same physical name as the item.   Not migrated.
Type Attribute Name

(TYPE_ATTRIBUTE_NAME)

The name of the field of the PLS Record or attribute of the Object Type or column of the ROWTYPE that corresponds to this attribute. This property is not applicable if the return type is TABLE of SCALAR.   Contributes to the expression of the output attribute in ODI.

Migrating the Table Function Operator

Scenarios for the Table Function operator in OWB mappings are as follows.

Scenario 1: Table Function operator acts as source, no input map attribute group, only return group (output attribute group).

OWB mapping:

Table Function Operator

Mapping in ODI after migration:

Table function screenshot

The OWB output attribute group RETURN is migrated to the output connector point RETURN in ODI.

OWB output attributes in the group RETURN are migrated to output attributes in the connector point RETURN in ODI.

Scenario 2: Table Function Operator has one input attribute group and one output attribute group, data type of input attributes is scalar

OWB mapping:

Table Function Operator

Mapping in ODI after migration:

Table function operator

The operator CONSTANT_1 is not migrated. The expressions on its attributes are migrated to the ODI Table Function component attribute.

The OWB input attribute group INGRP1 of the Table Function operator is migrated to the input connector point INGRP1 in the ODI Table Function component. Attributes in the group INGRP1 are migrated to attributes in the connector point INGRP1. The property PARAMETER_TYPE of the input connector point INGRP1 is set to SCALAR.

The OWB output attribute group RETURN is migrated to the output connector point RETURN in ODI. Attributes in the group RETURN are migrated to attributes in the connector point RETURN. If the property RETURN_TABLE_OF_SCALAR of the output attribute in OWB is set to true, the expression of the corresponding output attribute in ODI is set to TABLE_FUNCTION_NAME.COLUMN_VALUE.

Scenario 3: Table Function operator has one input attribute group and one output attribute group, some data types of input attributes are REF_CURSOR

The following figure shows an OWB mapping for which the data type for attribute C in the operator TF_INREF_INSCA_REFREC is a PL/SQL Ref Cursor type, and the operator REF1 is responsible for constructing the Ref cursor.

Table Function Operator

If the input attribute group contains one or more REF_CURSOR type attributes in the Table Function operator in OWB, an input connector point is added for each REF_CURSOR type in ODI. If the REF_CURSOR type is constructed by a Constructed operator in OWB, the input attribute group of the Construct operator is used to define the REF_CURSOR input connector point for the Table Function component in ODI.

In this scenario, the OWB mapping in the preceding figure is migrated to the ODI mapping in the following figure:

Table function operator

Source TFO_SRC_T2 is connected to TF_INREF_INSCA_RETREC through the input connector point INGRP1. The property PARAMETER_TYPE of INGRP1 is set to REF_CURSOR. The property PARAMETER_TYPE of INGRP11 is set to SCALAR.

Transformation Function Operator

The OWB Transformation Function operator is migrated to the ODI Expression component.

Properties of the Transformation Function Operator

OWB Property Name Description ODI Property Name Note
Scalar Type      
Return Type   Attribute under the output connector point. 1. The OWB output group RETURN is migrated as the ODI Expression's output connector point RETURN.

2. The OWB output parameter VALUE is migrated as the ODI attribute VALUE under the RETURN connector point.

3. The attribute's expression is migrated as it is in OWB (kept unchanged).

Input parameters

(INPUT)

Accessed by the return attribute's expression field, for example: simpleFunc(INPUT.COL1,INPUT.COL2) Migrated as the ODI Expression component's attributes under INPUTGROUP.  
Output parameters

(OUTPUT)

    Not migrated.
Input/Output parameters

(INPUT_OUTPUT)

    Not migrated.
Function Return Output parameters   Migrated as the ODI Expression component's attributes under OUTPUT GROUP. If a given Transformation Function operator contains multiple Function Return attributes (at least two), the transformation operator is not migrated.

Note:

Additional migration notes:
  • If the OWB Transformation Function operator is configured as ROW BASED, the operator is not migrated.

  • If the OWB Transformation Function operator has attributes of the BLOB, SYS_ANYDATA or XMLTYPE complex data types, the operator is not migrated.

  • Multiple output attributes defined as Function Return are not migrated.

Logical Properties of the Transformation Function Operator

OWB Property Name Description ODI Property Name Note
Function Name

(FUNCTION_NAME)

Name of the transformation to be called.   Used to generate the expression on the ODI output attribute.

Not migrated if Function Name is empty.

Row-based only

(ROW-BASED_ONLY)

Indicates if this transformation must be used in row-based mode only. Some transformations can be used in SQL mode and row-based mode.   Not migrated.
Return type

(RETURN_TYPE)

Return type for public transforms with UNSPECIFIED data type.   Not migrated.
Bound Name

(BOUND_NAME)

Name to be used by the code generator to identify this operator. By default, this is the same as the operator's physical name.   Not migrated.
Function Expression Holder

(FUNCTION_PLATFORM)

Function platform name.   Not migrated.

Physical Properties of the Transformation Function Operator

OWB Property Name Description ODI Property Name Note
Schema

(SCHEMA)

    Not migrated.
Database Link

(DATABASE_LINK)

Database link used to access this entity during mapping.   Not migrated.
Location

(DB_LOCATION)

Location, used to access the referenced entity.   Not migrated.

Properties of the Map Attribute Group of the Transformation Function Operator

OWB Property Name Description ODI Property Name Note
Expression Inout

(EXPRESSION_INOUT)

Condition that defines when to perform the attribute maps for the attributes in this group.   Not migrated.
Expression Out

(EXPRESSION_OUT)

Condition that defines when to perform the attribute maps for the attributes in this group.   Not migrated.

Properties of the Map Attribute of the Transformation Function Operator

OWB Property Name Description ODI Property Name Note
Is Optional

(IS_OPTIONAL)

If true, the input is not required to be connected.   Not migrated.
Default Value

(DEFAULT_VALUE)

Default Value for the function input parameter.   Not migrated.
Function Return Specifies whether this output is the return value of this function. If this property is set to true, the owning attribute is migrated to the ODI output attribute of the Expression component.  

Unpivot Operator

The OWB Unpivot operator is migrated to the ODI Pivot component.

Note that the operation carried out by the OWB Unpivot operator is the same as the ODI Pivot component, and the operation carried out by the OWB Pivot operator is the same as the ODI Unpivot component.

Properties of the Unpivot Operator

General Properties

OWB Property Name Description ODI Property Name Note
Business Name

(LOGICAL_NAME)

  Business Name

(BUSINESS_NAME)

 
Physical Name

(NAME)

  Name

(NAME)

If the OWB name includes the string "unpivot", it is changed to "pivot".

Row Locator

The Row Locator of the OWB Unpivot operator is migrated to the value of the Row Locator property of the ODI Pivot component.

The expression of the Row Locator in OWB must be redirected so that it references the attribute of the upstream source during migration.

Row Locator values in OWB are migrated to Row Locator values in ODI.

Row Locator and Row Locator values in ODI is as follows:

Unpivot Operator

Map Attribute Group and Map Attribute

Map attribute groups of the OWB Unpivot operator are migrated to connector points of the ODI Pivot component. No specific properties for the attribute group of the Pivot operator need to be migrated.

Input attributes of the OWB Pivot operator are not migrated.

Output attributes are migrated. Name, Data Type, Length, Precision, Scale, Second Precision, and Description are general properties described in "Mapping Attribute".

Properties in the Unpivot transform are as follows:

Unpivot Operator

The matching row of the output attribute in OWB is migrated to the matching row of the output attribute in ODI. The expression of the output attribute in OWB is migrated to the expression of the output attribute in ODI. The expression must be redirected to reference the attribute of the upstream source.

The following figure shows these properties in ODI:

Unpivot Operator

View Operator

The OWB View operator is migrated to the ODI Datastore component.

Logical Properties of the View Operator

General Properties

OWB Property Name Description ODI Property Name Note
Bound Name

(BOUND_NAME)

    If the OWB View operator is bound to a view, the ODI Datastore component is bound with the corresponding data store.
Primary Source

(PRIMARY_SOURCE)

A boolean value to indicate whether this is a primary source (only used in EDW).

(YES/NO)

  Not migrated.
Keys

(KEYS_READONLY)

    Not migrated.
Inlined

(INLINED)

If true, the view source in the generated code is inlined from the stored view query.   See the View Query property in this table.
View Query

(VIEW_QUERY)

The view query for the View operator, used if the INLINED property is set to true. If INLINED is set to true, View Query is migrated to the CUSTOM_TEMPLATE option of the KM.  
Loading Type

(LOADING_TYPE)

Choices = "INSERT, UPDATE, INSERT_UPDATE, UPDATE_INSERT, DELETE, NONE, TRUNCATE_INSERT, DELETE_INSERT, CHECK_INSERT, DERIVE_FROM_LCR" INTEGRATION_TYPE Same as for the Table operator. See Notes About Loading Type.
Target Load Order

(TARGET_LOAD_ORDER)

Map targets names in loading sequence.   Not migrated.

Change Data Capture

Same as for the Table operator. See "Change Data Capture".

Chunking

As with the Table operator, properties for Chunking are not migrated.

Conditional Loading

Same as for the Table operator. See "Conditional Loading".

Data Rules

As with the Table operator, properties for Data Rules are not migrated.

Error Table

As with the Table operator, properties for Error Table are not migrated.

SCD Updates

As with the Table operator, properties for SCD Updates are not migrated.

Temp Stage Table

As with the Table operator, properties for Temp Stage Table are not migrated.

Physical Properties of the View Operator

Same as for the Table operator. See "Physical Properties of the Table Operator".

Logical Properties of the Attributes of the View Operator

Same as for the Table operator. See "Logical Properties of the Attributes of the Table Operator".

Migrating an Unbound View Operator

Same as for the Table operator. See "Migrating an Unbound Table Operator".