IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Extracting fields from a tape file using SYNCSORT


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Fri Jan 22, 2010 8:32 pm
Reply with quote

I didnt see you use DYNALLOC in your samples.
But probably sort could do the 1000 records in memory, like
Enrico stated.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Jan 22, 2010 8:43 pm
Reply with quote

Hello,

Good start, but that is not all of the requested info. . .

At least 2 sets of sysout are missing - the jes msg log and the informational output from the sort execution.

If the input requires 17 physical volumes, you might ask if higher-volume media is available for these very large files. Are these tapes mounted by a silo or are they manually loaded? I syspect much of the elapsed time is due to waiting on tape mounts.
Back to top
View user's profile Send private message
Ronald Burr

Active User


Joined: 22 Oct 2009
Posts: 293
Location: U.S.A.

PostPosted: Fri Jan 22, 2010 9:31 pm
Reply with quote

One thing you "could" do to reduce elapsed time, if permitted by your shop, is to "ping-pong" tape drives for the input file. By doing so, you would essentially eliminate any time lost in mounting/demounting physical tapes ( except for the first volume ). To "ping-pong" tape drives, just code UNIT=(TAPE,2) on the input file DD statement ( assuming that 'TAPE' is the unit designation for tape in your shop - if not, just substitute whatever is your shop's standard ).
Back to top
View user's profile Send private message
kbmk

New User


Joined: 27 Sep 2007
Posts: 24
Location: Chennai

PostPosted: Sat Jan 23, 2010 6:40 am
Reply with quote

dick scherrer wrote:


At least 2 sets of sysout are missing - the jes msg log and the informational output from the sort execution..


Are you asking for the complete JESMSG log. Kindly let me know if you need any specific details from JESMSG log, I can find it and provide you.

Quote:

Are these tapes mounted by a silo or are they manually loaded?


the step where the file is created, we have UNIT=SILO. Could you please explain what is meant by SILO? I thought it is a tape name.

To my astonishment, my second job with SORT FIELDS=(1,9,CH,A) and SUM FIELDS statement has completed within 1hrs 20 mins. where as the SORT FIELDS=COPY has taken almost 2 hours. I am still not able to understand why a copy is taking more time than the sorting?

I have used DYNALLOC=32 and IO parameter in this JCL. After summing up, the number of records in the output file is 29.

Code:
//STEP01 EXEC PGM=SORT,'IO,DYNALLOC=32'
//SORTIN DD DSN=INPUT.TAPE.FILE,DISP=SHR
//SORTOUT DD DSN=OUTPUT.DASD.FILE,DISP=(NEW,CATLG,CATLG),
//             UNIT=SYSDA,SPACE=(CYL,(1,5),RLSE
//SYSOUT  DD SYSOUT=*
//SYSIN   DD *
INREC FIELDS=(...)
SORT FIELDS=(1,9,CH,A)
SUM FIELDS=(54,6,ZD)
INCLUDE COND=(....)
/*
//*


Code:

************************************************************************************************************************************
* STEP |   STEP   | PROGRAM  |          TIME IN SECS          |   VIRT STORAGE IN K   |  COMP  |           SERVICE UNITS           *
*  NO  |   NAME   |   NAME   |  ELAPSED    CPU SRB    CPU TCB |REQUSTD   USED  OVRHD  |  CODE  |  STEP     CPU      IO       MSO   *
************************************************************************************************************************************
* 002  | SO1      | SORT     |  5090.57        .20      39.46 |0131072 0003080 00268  |  0000  | 4777562  4615061    87009        0*
************************************************************************************************************************************
* DDNAME   EXCPS  | DDNAME   EXCPS  | DDNAME   EXCPS  | DDNAME   EXCPS  | DDNAME   EXCPS  | DDNAME   EXCPS  |DDNAME    EXCPS  *
*SORTIN       1549|SORTOUT         0|SYSOUT          0|SYSIN           0|SORTIN       6236|SORTOUT         0|SYSOUT          0*
*SYSIN           0|SORTIN       5970|SORTOUT         0|SYSOUT          0|SYSIN           0|SORTIN       3259|SORTOUT         1*
*SYSOUT          0|SYSIN           0|SORTWK01        2|                 |                 |                 |                 *
************************************************************************************************************************************

IEF373I STEP/S01     /START 2010021.2121
IEF374I STEP/S01     /STOP  2010021.2246 CPU     OMIN 39.46SEC SRB   0MIN 00.20SEC VIRT  3080K SYS   268K EXT   26252K SYS   11504K

**********************************************************************************************************
*          |           TIME IN SECS          |                  SERVICE UNITS                  |         *
* JOBNAME  |  ELAPSED    CPU SRB     CPU TCB |   JOB        CPU        IO       MSO       SRB  | SYS ID  *
**********************************************************************************************************
* SORT1234 |  5090.84        .20       39.61 | 4833141   4670538     87069         0     75534 |  SYSD   *
********************************************************************************************************** 

IEF375I JOB/SORT1234/START 2010021.2121
IEF376I JOB/SORT1234/STOP  2010021.2246 CPU     OMIN 39.61SEC SRB   0MIN 00.20SEC


Let me know if you need any other details. The same input file is used for different extraction purposes. In this particular case, it is extracting only 985 records and it is summed up to give a total of 29 records.
In other jobs, more than 10,000 records are extracted and no SUM statement is needed and the file is needed to be sorted order.

Also, if someone can tell me know how to understand the above SYSLOG, it will be more helpful.

happy weekend to all!!
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat Jan 23, 2010 9:31 am
Reply with quote

Hello,

UNIT=SILO is specific to your system - it could just as well be UNIT=BARN. These names are determined by the system configuration.

On the other hand, a silo is a hardware device that contains many cart volumes. These are inventoried within the hardware and are automatically mounted on a tape drive when needed. The computer operators do not manually mount these volumes.

Even 10,000 is a very small number of records and would process in just a few seconds - unless it took longer to pass 17 volumes looking for the 10,000 records.

You need to work with your local support people to gain a better understanding of where the time goes in this job. From what you've posted, almost all of the time is spent reading the 17 volumes or waitiing for them to be mounted for processing.

And tape datasets should not be specified with disp=shr. . . A tape volume cannot be shared. . .
Back to top
View user's profile Send private message
kbmk

New User


Joined: 27 Sep 2007
Posts: 24
Location: Chennai

PostPosted: Sat Jan 23, 2010 10:21 am
Reply with quote

Thanks Dick Scherrer. I will check with my local support team.

Sorry, i have a very basic question on dataset sharing.

dick scherrer wrote:
Hello,
And tape datasets should not be specified with disp=shr. . . A tape volume cannot be shared. . .


I have a question here. Although, i have mentioned as DISP=SHR for one of my test job (DASD file), dataset cannot be used simultaneously by two jobs. It shows contention. So, ideally what is the difference b/w DISP=OLD & DISP=SHR for the input file.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat Jan 23, 2010 10:38 am
Reply with quote

Hello,

At the top of the page is a link to "IBM Manals". The second "set" includes JCL information. In the Language Reference for your environment, read about the DISP parameter.

The flashlight/tubelight near the top left is the manual Search facility.

If you find something in the manual that is not clear, post what you found and your doubt about it. Someone will be able to clarify.

Onn systems where i have some amount of control, shr is only used for datasets that would properly have multipleconcurrent users/processes (like a vsam file or a pds).
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top