Db2 for i Connector > Mappings and mapping tasks with Db2 for i Connector > Mapping configuration
  

Mapping configuration

You must configure a mapping that contains a Source transformation for a Db2 for i source and map it to a Target transformation.
To begin creating a mapping in Data Integration, click New > Mappings > Mapping and then click Create. In the New Mapping dialog box, click Mapping > Continue.
A mapping must contain at least one Source transformation mapped to one Target transformation. Alternatively, a mapping can contain multiple Db2 for i sources and multiple targets. For example, you can define multiple one-to-one mappings, map one source to multiple targets, or map multiple sources to one target. To map multiple sources to the same target, you can create multiple one-to-one mappings that map each source separately to the same target. In this case, each source must have a different primary key value.
When you define a Source transformation in a mapping, specify a name for the transformation, a Db2 for i connection that can connect to the PowerExchange Listener, the source type, and the Db2 for i source table. You can also set some additional source properties. The PWX Bulk Metadata Adapter retrieves metadata for the source table from the Db2 database catalog.
When you define a Target transformation, specify a name for the transformation, a connection to the target, and the target type. In the user's environment, the target can reside on premises or in a cloud. If you do not want to send all of the incoming fields to the target, you can define one or more exclusion field rules. As part of configuring the target, you must also map the incoming fields to the target fields. You can map fields automatically based on the field names or manually map them.
Instead of selecting specific connections and objects in the Source and Target transformations, you can define a parameter for the connection, the source or target object, or both. You then must enter a specific connection or object in the associated mapping tasks. If you want to use a parameter for the source or target connection, you must perform one of the following actions before the mapping can be successfully validated:
You can also completely or partially parameterize field mappings, and then define specific mappings in the mapping tasks.

Db2 for i source properties in mappings

When you create a mapping, you configure a Source transformation for a Db2 for i source and set some source properties for the Source transformation.
Click the Source transformation box on the mapping canvas. Then configure the source properties in the Source Properties panel below the mapping canvas.
If you have multiple Source transformations in a mapping, configure source properties for each source. If you use a specific connection instead of a connection parameter, enter the same connection for all sources.
Note: If a mapping includes source tables or columns that have special characters in their names, the associated mapping task fails because it cannot import the source metadata. Special characters include s #, $, @, %, *, !, and ~. Therefore, ensure that none of the source tables and mapped columns have names with any special character. Rename the tables and columns if necessary.
The Properties: Source panel contains the following tabs on which you can enter information:
Note: Ignore the Partitions tab. Key-range partitioning is not supported for Db2 for i connections.

Adding multiple source objects

When you create a Source transformation, you can select Db2 for i multiple objects as the source type and then configure a join to combine the tables. You can define a relationship condition or a query to join the tables.
    1Click the Source transformation on the mapping canvas.
    2Click the Source tab, and then select Multiple Objects in the Object Type field.
    3From the Actions menu on the Objects and Relationships line, click Add Source Object.
    4Select a schema package and then select a source table in the schema that you want to join to another table or create an advanced relationship for.
    Let's select the EMPLOYEE table in the CDI schema.
    5Click OK.
    6From the Related Objects Actions Menu in the row for the added table, select Add Related Objects.
    7In the Select Related Objects window, select a table from the list. Only tables that have a defined foreign key relationship with the table that was initially selected in Step 4 are listed.
    Let's select the DEPARTMENT table to join to the EMPLOYEE table.
    8Click OK. The Source details show the join relationship.
    9If you have source tables for which you want to define an advanced relationship manually, for examples, tables that don't have a foreign key, select Advanced Relationship from the Related Objects Actions Menu in the row for the added object:
    10In the Advanced Relationship window, click Add Object to add more tables.
    11In the Select Source Object window, select one or more other source tables to include in the advanced relationship, and then click OK.
    12In the Advanced Relationship window, select the fields in each table required to define the relationship. Then in the Relationship box, manually enter conditions between the <table>.<field> entries, or you can enter a query to define the relationship among the tables.
    The tables and their fields are listed in the Fields box, and the relationship between the table.field entries use the = operator: CDI.EMPLOYEE.WORKDEPT = DEPARTMENT.DEPTNO
    Note: To join two tables, you can specify a simple condition. For example, employee.department=dept.id. To join more than two tables, you must specify the complete query. For example, <schema_name>.<table_name1> LEFT OUTER JOIN <schema_name>.<table_name2> ON <schema_name>.<table_name1>.<column_name1>=<schema_name>.<table_name2>.<column_name2>
    13Click OK.
    The following image shows an example of a simple advanced relationship condition between two Db2 tables:
    The joined EMPLOYEE and DEPARTEMENT tables are listed under Source Object and the advanced relationship between the tables is shown under Relationship.

Rules and guidelines for adding multiple source objects

Consider the following rules and guidelines when you add multiple source objects:

Targets in mappings with Db2 for i sources

To configure a target in a mapping, click the Target transformation box on the mapping canvas. Then configure the target properties in the Target Properties panel below the mapping canvas.
Note: To determine which target types are supported by Db2 for i Connector, see Supported targets.

Db2 for i targets in a mapping

To write data to a Db2 for i database, configure a Db2 for i object as the Target transformation in a mapping.
Specify the name and description of the Db2 for i target. Configure the target and advanced properties for the target object.
The following table describes the target properties that you can configure for a Db2 for i target:
Property
Description
Connection
Name of the target connection.
You can select an existing connection, create a new connection, or define parameter values for the target connection property.
If you want to overwrite the target connection properties at runtime, select the Allow parameter to be overridden at run time option.
Target Type
Type of the Db2 for i target object available. You can choose from the following source types:
  • - Single
  • - Parameter
Parameter
A parameter file where you define values that you want to update without having to edit the task.
Select an existing parameter for the target object or click New Parameter to define a new parameter for the target object.
The Parameter property appears only if you select parameter as the target type.
If you want to overwrite the target object at runtime, select the Allow parameter to be overridden at run time option.
When the task runs, the Secure Agent uses the parameters from the file that you specify in the advanced session properties.
Target Object
Name of the Db2 for i target object based on target type selected.
Specify the target object that you want to create at run time. You can also select an existing object from the list.
Operation
Select the target operation. You can perform the following operations on a Db2 for i target:
  • - Insert
  • - Update
  • - Upsert
  • - Delete
  • - Data Driven
Truncate target table option
When you enable the Truncate target table option, the Secure Agent truncates the table before running the task. Default is not selected.
Pre SQL
Pre-SQL command to run against the target database before writing data to the target.
Post SQL
Post-SQL command to run against the target database after writing data to the target.
Update Override
An update SQL statement that updates the data in a Db2 for i target table. The update SQL statement you specify overrides the default update statements that the Secure Agent generates to update the target based on key columns. You can define an update override statement to update target tables based on both key or non-key columns.
In the override statement, you must enclose all reserved words in quotation marks.
Schema Name
Overrides the target schema name.
When you use a parameter for Schema Name, the default value will not be used.
Table Name
Overrides the target table name.
When you use a parameter for Table Name, the default value will not be used.
Forward Rejected Rows
If you select the Forward Rejected Rows option, the Secure Agent flags the rows for reject and writes them to the reject file. If you do not select the Forward Rejected Rows option, the Secure Agent drops rejected rows and writes them to the session log file. The Secure Agent does not write the rejected rows to the reject file.
.

Create a target table at runtime

You can use an existing target or create a target in a mapping. If you choose to create the target, the agent creates the target when you run the task.
Note: Before you create a target table at runtime, select the appropriate database type in the Db2 for i connection.
To specify the target properties, perform the following tasks:
    1Select the Target transformation in the mapping.
    2On the Incoming Fields tab, configure field rules to specify the fields to include in the target.
    3To specify the target, click the Target tab.
    4Select the target connection.
    5For the target type, choose Single Object or Parameter.
    6 Specify the target object or parameter.
    7To specify a target object, perform the following tasks:
    1. aClick Select and choose a target object. You can select an existing target object or create a new target object at runtime and specify the object name.
    2. bTo create a target object at runtime, select Create New at Runtime.
    3. cEnter the name of the target table that you want to create name in the Object Name field.
    4. dIn the Path field, specify the target table name and schema in the following format: <Schema-Name>/<TableType>, where the mandatory value for TableType is TABLE.
    5. For example, private/TABLE
      In the example, the table is created in the schema named "private" in the database server. If you do not specify a value for the path, the Secure Agent considers the schema name you specified in the connection. If you did not specify a schema name in the connection, the Secure Agent creates the table in the default schema.
    6. eClick OK.
    8Specify the advanced properties for the target, if required.

Rules and guidelines

When you configure a mapping with the Create New at Runtime option, consider the following rules:

Platform to Db2 for i data type mapping

The following table identifies the Db2 for i target data type based on the input platform data type:
Platform Data Type
Db2 for i Target Data Type
bigint
BIGINT
binary
VARBINARY 1
date/time
TIMESTAMP
decimal
DECIMAL
double
DOUBLE
integer
INTEGER
string
VARCHAR 1
1 When the length of a VARBINARY or a VARCHAR exceeds the maximum length, the connector creates a target data type of BLOB instead of VARBINARY and a target type of CLOB instead of VARCHAR. PowerExchange does not support the writing of LOBs, so the mapping fails. Modify the target mapping to remove the mappings to LOB columns and run the mapping again.

Lookup transformations

You can configure a cached Lookup transformation when you use a Db2 for i connection in a mapping to return data from a Db2 for i source based on a specified lookup condition. However, Db2 for i Connector does not support uncached lookup.
For more information, see Cloud Data Integration Transformations.