I've seen several near-similar posts to this, but not this problem exactly.
I'm reading in a flat fixed width sequential file to a server job. Most records have the correct length. But a few have an early terminator, which breaks the remainder of the record off into a new, shorter record.
By changing some of the parameters in the sequential file properties, i'm able to successfully read the file. But I'd like to put it back out with every line the same length. I've tried using various parsings, using EReplace to remove the early terminator, etc., all to no avail. Does anyone have a suggestion as to how I might remove the early terminator and put out all records the same length?
Thanks for any suggestions.
Tom Smith
flat file with early terminators
Moderators: chulett, rschirm, roy
Re: flat file with early terminators
Tom,
I have realised it after posting
Anyways, thanks for re-posting it in the correct forum.
If you are using datastage to just fix this file, may be not a good idea. You could use a shell script to do it.
I would leave that up to you. Anyways, what exactly did you change on the Sequential file properties so that you could read? Were you able to pad the data after early terminator with those options?
Try space padding the rest of the line after every early terminator. I think you could use space() function in the transformer if you were parsing the data or default padding option on the Sequential file to do that.
I have realised it after posting
Anyways, thanks for re-posting it in the correct forum.
If you are using datastage to just fix this file, may be not a good idea. You could use a shell script to do it.
I would leave that up to you. Anyways, what exactly did you change on the Sequential file properties so that you could read? Were you able to pad the data after early terminator with those options?
Try space padding the rest of the line after every early terminator. I think you could use space() function in the transformer if you were parsing the data or default padding option on the Sequential file to do that.
~Kris
Read the as a single very big column to a transform stage.
Do a DCOUNT(In.BigCol,{YourColumnDelimiterCharacter}) to see if the number of columns is correct.
Using stage variables, pass the record on if the count is correct, otherwise store the string and prepend it to the next row's data.
Do a DCOUNT(In.BigCol,{YourColumnDelimiterCharacter}) to see if the number of columns is correct.
Using stage variables, pass the record on if the count is correct, otherwise store the string and prepend it to the next row's data.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact: