Originally posted by: repanzer
Is there any distinguishing about field number 3, like it's alpha and the fields in the 2nd group field are numeric? Then you can put a component rule on the fields of the 2nd group in the type tree, like "ISNUMBER($)". That way when it hits a field that's alpha, it fails validation for one of those "2nd group fields", and is validated against the 3rd field as it should. It still may give you "invalid data"; you'd have to test.
The only other way (that I can tell offhand) is to run the data through a map before the translation map, and do something like; in the first output card; COUNT(fields), which will tell you the total number of fields all together, lets say 10. Then as you map field to field (not caring about 1,2,3th, or 4th), in the rule you say "IF(INDEX(field="9"), "*"+field), field).
This will put an * before the 3rd field.
In your translation map, you put a terminator of * on the 2nd group of fields and then the map will know where the 2nd group of fields ends and the 3rd field continues.
No matter what, you’re going to have to do “something”; you’re not going to be able to tell the map that one group of (S) comma delimited fields ends, and the next comma delimited field starts, if a human can’t. If the only way to know that the 2nd group of field ends is that there are only 2 fields left (3rd and 4th), that’s what you’ll have to use.
#IBM-Websphere-Transformation-Extender#DataExchange#IBMSterlingTransformationExtender