View previous topic :: View next topic
|
Author |
Message |
Learncoholic
New User
Joined: 20 Sep 2007 Posts: 97 Location: India
|
|
|
|
Hi,
I have a I/P File with sample records below:
Code: |
ABC|1234567|bla bla bla...|bla bla bla|....| |
DEF|32145789|horse horse|horse|hor|Horse Mouth
GHI|754568|UniCORM|UNICORN ROAMING|OH MY GOD |UNICORM ROAMING |
I need to have a O/P file with 1st 2 fields removed. So the O/P File withh have:
ABC|1234567| Removed from 1st record
DEF|32145789| Removed from 2nd recoerd
GHI|754568| Removed from 3rd record
... and so on for all the records.
Here are the consideration we need to have:
1. I/P File is in huge 'VB' format & O/P file is desired in the same format
2. There are multiple spaces between records that should not be Squeezeed
3. 1st 3 byte is always populated with characters other than Spaces
4. 1st field has a Max length of 3 bytes while the 2nd field has a Max length of 15 bytes
5. There are 184 fields delimited by '|' with last field is not appended with '|'
I tried using PARSE but need to provide a FIXLEN (Max 20,000 bytes). Then by "SQZ"ing the record, all the inlaying spaces are squized.
Can you please help me use ICETOOL to have the desired file achieved? |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Don't SQZ. Just use VLTRM=C' ' on OUTFIL. |
|
Back to top |
|
|
Learncoholic
New User
Joined: 20 Sep 2007 Posts: 97 Location: India
|
|
|
|
Thanks Bill,
This worked for me. I used the below Control Card:
Code: |
OUTFIL FNAMES=OUTDD01,VLTRIM=C' ',
PARSE=(%001=(ENDBEFR=C'|',FIXLEN=15),
%002=(ENDBEFR=C'|',FIXLEN=15),
%003=(FIXLEN=20000)),
BUILD=(1,4,%003) |
Thanks a Lot. |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
If there are input fields to be ignored, then a '%=' would do for each of those. |
|
Back to top |
|
|
|