View previous topic :: View next topic
|
Author |
Message |
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
Hi,
I want to search for a particular expression in a group of 10 files. Is it essential for me to concatenate all the files before proceeding? The occurence is same in all the files. I am using sort to find the expression. |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1205 Location: Dublin, Ireland
|
|
|
|
Concatenate to process in one step or else process each file separately, I'd think. Also, depends on what you mean by
Do you mean concatenate in one step and then process in another? If so, that shouldn't be necessary.
Garry. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
the main issue here is that the concatenation will be seen as a single file
and You will lose track of the file where the search argument will be located |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
By
i meant to say, that before i proceed to search for the expression, shall i concatenate the files?
Each file is having a huge bulks of records due to which the job is abending with SE37 space abend error.
I am providing the space parameter as
SPACE=(CYL,(4200,4200),RLSE) |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
So, Enrico you suggest me to search individual files instead of concatenating them? |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
all depends on what the result of the search should be
I would go for
single file to understand data occurrence patterns
concatenated files to extract records for further processing |
|
Back to top |
|
|
Craq Giegerich
Senior Member
Joined: 19 May 2007 Posts: 1512 Location: Virginia, USA
|
|
|
|
Is the results of the search a large number of records? Are you sorting the input file before selecting the records? |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
The Input files are sorted and the output file is not having large number of records when compared with the number of records in the Input files. |
|
Back to top |
|
|
Phrzby Phil
Senior Member
Joined: 31 Oct 2006 Posts: 1050 Location: Richmond, Virginia
|
|
|
|
SAS note: SAS provides a simple way of knowing which file (by position number in the list) of a concatenation you are in:
EOV=variable
names a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read. The variable is set only after SAS encounters the next file. Like automatic variables, the EOV= variable is not written to the data set.
Tip: Reset the EOV= variable back to 0 after SAS encounters each boundary. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
Each file is having a huge bulks of records due to which the job is abending with SE37 space abend error. |
I'm confused. . .
If you read millions of records and select a couple of hundred records matching the "expression", how does the space abend occur? Reading should not require "space"
You mention "sort", but you might not need to sort the data if you are simply scanning the file for "the expression". |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
you can still sort the file but as long as use the include/omit then the sort will only apply to the selected records.
Gerry |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
Actually, I was trying to merge the files using SYNCSORT. But the job got abended. The sysout message that I received is as under:
Code: |
ALLOCATION HAS FAILED FOR ALL VOLUMES SELECTED FOR DATA SET
&NAME..CLAIMDEC.OUT
THERE ARE (732) CANDIDATE VOLUMES OF WHICH (571) ARE ENABLED OR QUIESCED
THERE WERE 1 CANDIDATE STORAGE GROUPS OF WHICH THE FIRST 1
WERE ELIGIBLE FOR VOLUME SELECTION.
THE CANDIDATE STORAGE GROUPS WERE:S1LRG90 S2LRG90 SGDISTPU
161 VOLUMES WERE REJECTED BECAUSE THE SMS VOLUME STATUS WAS DISABLED
571 VOLUMES WERE REJECTED BECAUSE THEY DID NOT HAVE SUFFICIENT SPACE (041A041D)
SMS ALLOCATED TO DDNAME (SORTOUT )
DSN (T3709BTX.G3709T01.TBP.CLAIMDEC.OUT )
STORCLAS (STANDARD) MGMTCLAS (MCSTNDRD) DATACLAS (DCDEFLT)
VOL SER NOS= SML1TE
|
Can any one please help me out in regards to the same. |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
The job that I am using is as under:
Code: |
//SORT01 EXEC PGM=SORT
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//*
//SORTIN01 DD DISP=SHR,DSN=&NAME..DEC2005.CMI
//SORTIN02 DD DISP=SHR,DSN=&NAME..DEC2005.CMI
//SORTIN03 DD DISP=SHR,DSN=&NAME..DEC2005.CMI
//SORTOUT DD DSN=&NAME..CLAIMDEC.OUT,
// DISP=(NEW,CATLG,CATLG),
// DCB=(RECFM=FB,LRECL=5200,BLKSIZE=0,DSORG=PS),
// UNIT=3390,SPACE=(CYL,(4200,4200),RLSE)
//SYSIN DD DISP=SHR,DSN=&NAME..PULL.SRUNJCL(XXXXXXXX)
//*
|
|
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1205 Location: Dublin, Ireland
|
|
|
|
This problem is something you should take up with your storage administrators. You are failing to get sufficient space allocated via SMS.
Garry. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Typical 3390 mod 3 disk packs have 3335 cylinders of space. Asking for 4200 cylinders requires a mod 9 or higher. From the output messages, the storage pool you're asking for space from either (1) has no mod 9 devices defined, or (2) has no device with 4200 cylinders available in 5 extents or less.
Cut the space allocation to 3335 cylinders or less, and possibly use more volumes to get the same amount of space. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Are there multiple questions in this topic?
Quote: |
the output file is not having large number of records when compared with the number of records in the Input files. |
How much output. . .?
What is being merged that has to do with this:
Quote: |
I want to search for a particular expression in a group of 10 files |
If there are multiple different questions, you need to use multiple topics. We can help separate these if it is multiple issues. If these are really the same requirement, a sngle approach needs to be worked thru rather than a "shotgun" approach.
From what i see, i'm only confused |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
Hi Dick,
This is a single requirement.
The input files(which are 30 in #) are in tapes. The number of records in each input file is around 100million. I am required to pick up particularly 1800 records from these number of input files.
For this reason previously I was trying to concatenate the files.
Can you guide me through a good approach. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Will there be 1800 total records selected or will there be 1800 records per input tape selected?
1800 5k records is not a terribly high volume. . . You still might talk with your storage management peole and ask what is the proper device and/or dataclas for your output files. They will best know the storage configuration on yhour system.
How long does it take to read one of these input tapes? Without knowing much about your data and your environment, my first approach would probably be to split the task nto 5 or even 10 jobs and create a smaller selected output from each. Once the separate jobs successfully complete, the selected files could be copied back to one tape file or used in-place on dasd until this requirement to use the data is met and then backed up.
Again, coordinating with the storage management people should help. |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
Thank you Dick for your suggestion.
Is there any method by which we can restore the Tape datasets into DASD? |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
why would you need to copy the tape datasets to disk, you still need to read all of the data and use up lots of disk space.
Gerry |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
But, can we sort that huge number of input records that are residing in the tape?
The job is utilizing huge amount of CPU time and at the end its abending with SE37. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
it makes no difference whether you are sorting from disk or tape.
The SE37 is on which file ?
Why are you sorting the file if you are extracting data ?
Extract the data and then sort it. From my understanding, you are not selecting many records.
Gerry |
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
The runjcl that I am using is as under:
Code: |
//SORT01 EXEC PGM=SORT
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//*
//SORTIN01 DD DISP=SHR,DSN=&NAME..SSET2.MITDPFI.DEC2005.CMI
//SORTIN02 DD DISP=SHR,DSN=&NAME..SSET3.MITDPFI.DEC2005.CMI
//SORTIN03 DD DISP=SHR,DSN=&NAME..SSET6.MITDPFI.DEC2005.CMI
//SORTOUT DD DSN=&NAME..CLAIMDEC.OUT,
// DISP=(NEW,CATLG,CATLG),
// DCB=(RECFM=FB,LRECL=5200,BLKSIZE=0,DSORG=PS),
// UNIT=3390,SPACE=(TRK,(3335,3335),RLSE)
//SYSIN DD *
MERGE FIELDS=(24,7,CH,A)
INCLUDE COND=(24,7,CH,EQ,C'0125032',OR,
24,7,CH,EQ,C'0175002')
SUM FIELDS=NONE
/*
//* |
|
|
Back to top |
|
|
swapnadeep.ganguly
Active User
Joined: 21 Mar 2007 Posts: 203 Location: India
|
|
|
|
I am getting the SE37 abend on the SORTOUT file. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
like it has been mentioned earlier, run it 1 file at a time and merge at the end.
Output can be written to tape if space is an issue.
Can you also post the joblog output including messages.
Gerry |
|
Back to top |
|
|
|