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

Sortwork and file space allocation mechanism


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Thu May 23, 2013 10:51 pm
Reply with quote

Bill Woodger wrote:
I'm moving this to the DFSORT part of the forum so that Kolusu can comment on it.

No pressure, Kolusu... :-)


Not sure what to comment on here as the DSN info is quite different from the DFSORT sysout. I am guessing that this is program invoked sort. Is the program modifying the records to F and passing to DFSORT?

DFSORT messages
Code:

ICE089I 1 OS03QM10.SORT20  .A       , INPUT LRECL = 250, TYPE = F
ICE091I 0 OUTPUT LRECL = 250, TYPE = F



Code:

Data Set Name . . . . : XXXX.DS.DATASET.D01
  Record format . . . : VBS             Used cylinders  . . : 4,396           
  Record length . . . : 256             Used extents  . . . : 4   

Data Set Name . . . . : XXXX.DS.DATASET.D04         
  Record format . . . : VBS             Used cylinders  . . : 4,638     
  Record length . . . : 256             Used extents  . . . : 2         
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri May 24, 2013 4:22 am
Reply with quote

Yes, this is an old one, perhaps even from the same site. DCPSORT PROC.

Further down is:

Code:
//DCPSORT PROC SP='10,10',SOUT='*',REG=2048K                           
//*                                                                     
//*       DCP UTILITY ----- SORT/MERGE OF COMPRESSION FILE             
//*                                                                     
//*           SYSIN CONTROL CARD STATEMENT                             
//*                   OPTION SORTINS=1                                 
//*                   SORT FIELDS=(N,N,CH,A)    (SAME AS NEWSORT)       
//*                   RECORD TYPE=F,LENGTH=(X)  (LOGICAL LENGTH)       
//*                                                                     
//*           IF MULTI SORTIN EXIST THEN DO                             
//*                   OPTION SORTINS=N ----- NO. OF SORTINXX           
//*                 //  EXEC DCPSORT                                   
//*                 //SORTIN01 DD DSN=-----                             
//*                 //SORTIN02 DD DSN=-----                             
//*                 //SORTIN03 DD DSN=-----                             
//*                 //SORTOUT  DD DSN=-----                             
//*                 //SYSIN    DD *                                     
//*                   OPTION SORTINS=N ----- NO. OF SORTINXX           
//*                                                                     
//*                 WHERE   NN        -----  MAX 16                     
//A       EXEC PGM=SORTX,REGION=&REG                                   
//STEPLIB  DD  DSN=DCP.DCPLIB,DISP=SHR          /* DCP LIBRARY */       
//SYSPRINT DD  SYSOUT=*                                                 
//SYSOUT   DD  SYSOUT=&SOUT                                             
//SORTIN01 DD  DDNAME=SORTIN                                   


Also got to here, in much the same way as enrico once found this :-)

There is a reference to NEWSORT in the above, which links the whole thing to this one. And this one.

So, I guess "DCP" is "DeComPress", a "wrapper" which can be used around DFSORT to turn a "compressed" file (specified as VBS) into its original fixed-length format, and compress it again on the way out.

From the difference in the known LRECL example, the 256 VBS vs 250 F, and connecting it to what the current TS has said, I'd guess that the perhaps only trailing blanks are "compressed", with the two bytes being the "count" of trailing blanks.

IF only trailing blanks are compressed, I can't help but think that VB is better. It has the length of the data, and once it has a control card to know the length of the de-compressed record, it would be no problem to re-create the correct number of trailing blanks and saving two further bytes per record.

However, it seems to have been in use for eight years or more, so maybe they're happy with it.

If VB would work, the records could be used in the SORT without decompression. Even, if only trailing blanks are dropped, the VBS records could be used directly as well.

I wonder if they'll hire me to check everything out? Looks like there could be a mass of savings there...

Let's hope DCP does a bit more than the TS thinks, eh? :-)
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Fri May 24, 2013 5:10 am
Reply with quote

Bill,

Thanks for the explanation.

liying,

I would like to see how the allocations work if you invoke DFSORT directly instead of the wrapper.

Can you run this Job and show us the complete sysout?

Code:

//STEP0100 EXEC PGM=ICEMAN
//SYSOUT   DD SYSOUT=*
//SORTDIAG DD DUMMY
//SORTIN   DD DISP=SHR,DSN=Your Input VBS file
//SORTOUT  DD DSN=Your Output VBS file,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(400,100),RLSE)
//*
//SYSIN    DD *
  OPTION VLSHRT,DYNALLOC=(,32),FILSZ=E101000000
  SORT FIELDS=(5,6,CH,A)
//*
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri May 24, 2013 5:56 am
Reply with quote

Have a look at a couple of the records first. You might need the key to start at 7, if there is some binary up front.
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 -> DFSORT/ICETOOL Goto page Previous  1, 2

 


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 Replace each space in cobol string wi... COBOL Programming 3
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
Search our Forums:

Back to Top