Troubleshooting Normalizer Transformations
________________________________________
I cannot edit the ports in my Normalizer transformation when using a relational source.
When you create ports manually, you must do so on the Normalizer tab in the transformation, not the Ports tab.
Importing a COBOL file failed with a lot of errors. What should I do?
Check your file heading to see if it follows the COBOL standard, including spaces, tabs, and end of line characters. The header should be similar to the following:
identification division.
program-id. mead.
environment division.
select file-one assign to "fname".
data division.
file section.
fd FILE-ONE.
The import parser does not handle hidden characters or extra spacing very well. Be sure to use a text-only editor to make changes to the COBOL file, such as the DOS edit command. Do not use Notepad or Wordpad.
A session that reads binary data completed, but the information in the target table is incorrect.
Open the session in the Workflow Manager, edit the session, and check the source file format to see if the EBCDIC/ASCII is set correctly. The number of bytes to skip between records must be set to 0.
I have a COBOL field description that uses a non-IBM COMP type. How should I import the source?
In the source definition, clear the IBM COMP option.
In my mapping, I use one Expression transformation and one Lookup transformation to modify two output ports from the Normalizer transformation. The mapping concatenates them into one single transformation. All the ports are under the same level, which does not violate the Ni-or-1 rule. When I check the data loaded in the target, it is incorrect. Why is that?
You can only concatenate ports from level one. Remove the concatenation.
If you connect the ports directly from the Normalizer transformation to targets, you connect the records from HST_MTH, represented in the Normalizer transformation, to their own target definition, distinct from any other target that may appear in the mapping.
3. Open the new Normalizer transformation.
4. Select the Ports tab and review the ports in the Normalizer transformation.
5. Click the Normalizer tab to review the original organization of the COBOL source.
This tab contains the same information as in the Columns tab of the source definition for this COBOL source. However, you cannot modify the field definitions in the Normalizer transformation. If you need to make modifications, open the source definition in the Source Analyzer.
6. Select the Properties tab and enter the following settings:
Setting
|
|
Resets
the generated key value after the session finishes to its original value.
|
|
Restart
|
Restarts
the generated key values from 1 every time you run a session.
|
- Click OK.
If you have denormalized data for which the
Normalizer transformation has created key values, connect the ports
representing the repeated data and the output port for the generated keys to a
different portion of the data flow in the mapping. Ultimately, you may want to
write these values to different targets.
- In
the Mapping Designer, choose Transformation-Create. Select Normalizer
transformation. Enter a name for the Normalizer transformation. Click
Create.
The naming
convention for Normalizer transformations is NRM_TransformationName. The
Designer creates the Normalizer transformation.
If your
mapping contains a COBOL source, and you do not have the option set to
automatically create a source qualifier, the Create Normalizer Transformation
dialog box displays. For more information on this option, see “Using the
Designer” in the Designer Guide.
- If the create Normalizer Transformation dialog box displays, select the Normalizer transformation type.
Add a port
corresponding to each column in the source record that contains denormalized
data. The new ports only allow the number or string datatypes. You can create
only new ports in the Normalizer tab, not the Ports tab.
Using the
level controls in the Normalizer transformation, identify which ports belong to
the master and detail records. Adjust these ports so that the level setting for
detail ports is higher than the level setting for the master record. For
example, if ports from the master record are at level 1, the detail ports are
at level 2. When you adjust the level setting for the first detail port, the
Normalizer transformation creates a heading for the detail record.
The
Normalizer transformation creates all the input and output ports needed to
connect master and detail records to the rest of the mapping. In addition, the
Normalizer transformation creates a generated key column for joining master and
detail records. When you run a session, the PowerCenter Server generates unique
IDs for these columns.
Setting
|
|
Comments
Post a Comment