pbackstrom
Programmer
FYI in case anybody's interested.
A chart in the documentation says that on a flat file target definition, you use Field Length, not Precision and Scale, to define the total length of Number fields (allowing for minus signs, decimals, and separators). It says you use Precision for text fields.
But in the target definition, I saw no column for field length, just precision and scale.
Number(8,4) in a flat file target definition means total length of 8, so -1234.5678 would reject the record. That definition would need 10,4.
However, a target definition of Number(8,4) imported from an Oracle source does not count the decimal point or minus sign in the length (so -1234.5678 is allowed). If you then use the session to direct the output to a fixed-length flat file, Informatica will add 2 to the precision (as said in the doc), so your field will be 10 wide.
Also, while the documentation says the bad file will show the disposition of each field so you can identify the error, it didn't in this case (Inf. 7.1). It wrote to the bad file, but gave the field a D, meaning good data.
A chart in the documentation says that on a flat file target definition, you use Field Length, not Precision and Scale, to define the total length of Number fields (allowing for minus signs, decimals, and separators). It says you use Precision for text fields.
But in the target definition, I saw no column for field length, just precision and scale.
Number(8,4) in a flat file target definition means total length of 8, so -1234.5678 would reject the record. That definition would need 10,4.
However, a target definition of Number(8,4) imported from an Oracle source does not count the decimal point or minus sign in the length (so -1234.5678 is allowed). If you then use the session to direct the output to a fixed-length flat file, Informatica will add 2 to the precision (as said in the doc), so your field will be 10 wide.
Also, while the documentation says the bad file will show the disposition of each field so you can identify the error, it didn't in this case (Inf. 7.1). It wrote to the bad file, but gave the field a D, meaning good data.