View previous topic :: View next topic
|
Author |
Message |
daveporcelan
Active Member
Joined: 01 Dec 2006 Posts: 792 Location: Pennsylvania
|
|
|
|
I have an input file which has multiple (virtual) records on each line.
I need to break each line into multiple lines each time the character '!' is found.
The number of occurrences on each line varies, and is unknown.
The input file is VB 23400. A sample record is here:
Code: |
!LINE1 DATA1 !LINE2 DATA2!LINE3DATA3!LINE4 DATA4 |
The output file is VBM 32756. A sample is here:
Code: |
!LINE1 DATA1
!LINE2 DATA2
!LINE3DATA3
!LINE4 DATA4 |
The process currently uses a Rexx exec provided by the vendor.
This is fine for small files, but larger ones (98,000 input to 9 million output), it runs for longer than desired.
I was looking for a Syncsort solution, but have not been able to create or find one.
Any help would be appreciated. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Is there a maximum number of virtual lines? What is the maximum length?
If not more than 100, then PARSE with "blank record" dropping for the ones which aren't there for any given record.
There are some recent examples of similar things for fixed-length records. May be able to fix the lengths (OVERLAY=(23401:X), use SyncTool's RESIZE and work on that. It would be multiple passes of the data, and with "blank record" dropping, but it may work out.
There's always COBOL... |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
For instance, here, which contains two links as well. I see now that there is a query on the output from that... |
|
Back to top |
|
|
|