For IMS bulk data movement, be aware of the following considerations.
If a data map does not represent a complete IMS segment, as defined in the DBD, a PowerExchange INSERT operation on a segment that was defined without the FILLER keyword might cause non-blank data to be written to the end of the segment. You can avoid this problem by adding FILLER to the COBOL copybook for the segment before importing the segment metadata into PowerExchange.
In the PowerExchange Navigator, the term
record
refers to an IMS segment.
The PCB value that you use for the IMS database depends on which access method you select, as follows:
If you select the DL/1 batch access method in the data map, use the PCB number that indicates the PCB offset in the PSB. If you generated the PSB with CMPAT=YES, add 1 to this PCB number.
If you select the IMS ODBA access method in the data map, use the PCB name that you specified either in the PCBNAME parameter or columns 1 through 8 of the PCB statement when generating the PSB.
Import metadata from the IMS DBD source to define the segments, segment hierarchy, key fields, and search fields for an IMS database. Also import a COBOL or PL/I copybook for each segment to overlay key fields and search fields from the DBD and to define all of the other fields. PowerExchange updates the data map with the copybook information while maintaining the IMS hierarchical structure from the DBD.
If you are moving bulk data from an IMS source that has one or more segments without a key field or with a non-unique key, and you need a unique identifier for each IMS segment, you can define an expression in a user-defined field in the data map to return an RBA for each of these segments. To add the segment RBA to segment data in an IMS data map, Informatica recommends that you use the GetIMSRBAByLevel function rather than the GetDatabaseKey function. The GetIMSRBAByLevel function enables you to get the RBA of an unkeyed or
non-unique
keyed parent segment. You can then use this RBA to build a unique key in the target.
If you plan to perform change data capture for the IMS source after materialization is complete, PowerExchange can use the RBA for IMS synchronous CDC but cannot use the RBA for IMS log-based CDC. For IMS log-based CDC, PowerExchange cannot use the GetDataBaseKey or GETIMSRBAByLevel functions in expressions in the data map.
When you run a database row test on an IMS data map, the node name that you specify in the
Location
field depends on the access method that you select in the data map and the type of IMS source.
When you run a database row test on a table view of a data map, the PowerExchange Navigator generates SELECT statements that are appropriate for the database type.
For example:
If you select NRDB2 or IMSUNLD in the
DB Type
list in the database row test, the generated SQL appears in the
SQL Statement
box with the underscore (_) character, as follows: