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

Not able to compress a very large PDS


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

New User


Joined: 12 Jul 2016
Posts: 6
Location: United States

PostPosted: Fri Nov 04, 2016 5:57 pm
Reply with quote

I'm trying to compress a very large PDS using IEBCOPY but it keeps getting this error: IEB142I can not continue to build CTLTAB - increase work value in parm field

I have increased the size up to 64m and this last run I had 0m and still same error.

I have also tried allocating a new pds and copying from old to new but same error.

anybody have any ideas?

The input pds is just over 1,300 cyls and 14,000 directory blocks and has over 78,000 members
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Nov 04, 2016 6:32 pm
Reply with quote

Why did you not post anything for us to help you -- for example, seeing the actual JCL?

What value did you use for the WORK= parameter of your IEBCOPY EXEC? If you did not specify one, then merely increasing REGION size on the EXEC will do NOTHING to alleviate this issue -- you MUST specify WORK= according to the manual. And if you did not specify SYSUT3 or SYSUT4 in your JCL, they could help resolve the problem -- another reason you should have posted your JCL.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Fri Nov 04, 2016 6:36 pm
Reply with quote

Try adding these DD statements to the IEBCOPY JCL -

//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,21,,CONTIG)
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,21,,CONTIG)
Back to top
View user's profile Send private message
Hervey Martinez

New User


Joined: 12 Jul 2016
Posts: 6
Location: United States

PostPosted: Fri Nov 04, 2016 6:41 pm
Reply with quote

On sysut3 & 4 I have tried, primary only, with dir blocks & without.

Code:
//STEP01   EXEC PGM=IEBCOPY,PARM='SIZE=64M'           
//SYSPRINT DD SYSOUT=*                                 
//SYSUT1   DD DISP=OLD,DSN=OPS.USERTEXT.UTJD           
//SYSUT2   DD DSN=OPS.USERTEXT.UTJD.NEW,DISP=SHR       
//*           DISP=(NEW,CATLG,DELETE),                 
//*           UNIT=SYSDA,DCB=(LRECL=132,BLKSIZE=27984),
//*           SPACE=(CYL,(1500,100,14000))             
//*                                                   
//SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(2000,0,14000)),   
//            DISP=(NEW,DELETE)                       
//SYSUT4   DD UNIT=SYSDA,SPACE=(CYL,(2000)),           
//            DISP=(NEW,DELETE)                       
//SYSIN    DD  *                                       
     COPY  INDD=SYSUT1,OUTDD=SYSUT2
Code'd - please use code tags while posting code/data
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Nov 04, 2016 6:57 pm
Reply with quote

This sounds like a perfect data set to convert to PDSE so you never have to compress it again.

Have you changed
Code:
//STEP01   EXEC PGM=IEBCOPY,PARM='SIZE=64M' 
to
Code:
//STEP01   EXEC PGM=IEBCOPY,PARM='SIZE=64M,WORK=64M' 
yet and tried that?
Back to top
View user's profile Send private message
Hervey Martinez

New User


Joined: 12 Jul 2016
Posts: 6
Location: United States

PostPosted: Fri Nov 04, 2016 7:23 pm
Reply with quote

yes, that worked. thanks icon_smile.gif

I had not seen the "work" parm; I must have missed it somehow.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Nov 04, 2016 7:58 pm
Reply with quote

Quote:
I had not seen the "work" parm; I must have missed it somehow.
Not only is it listed in the manual, but also I specifically mentioned it in an earlier post.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Fri Nov 04, 2016 11:46 pm
Reply with quote

Robert Sample wrote:
... Have you changed
Code:
//STEP01   EXEC PGM=IEBCOPY,PARM='SIZE=64M' 
to
Code:
//STEP01   EXEC PGM=IEBCOPY,PARM='SIZE=64M,WORK=64M' 
yet and tried that?
Three comments.
  • The SIZE and WORK parameters in the PARM=... will not help you unless the REGION parameter specifies a large enough region to allocate these tables. We have no idea what your defaults are.
  • As for WORK=... the manual explicitly states, "It is best to let IEBCOPY choose buffer sizes by not using this parameter."
  • The manual does not seem to provide any guideline for SPACE for SYSUT3. I'm pretty certain the space you specify is grossly over allocated. The manual does provide a useful guideline for SYSUT4; I calculated 21 cylinders based on the guideline in the manual. When in doubt, RTFM! However, the manual also seems to state SYSUT4 is only used when copying from more than one INDD, which you are not doing.
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

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Parsing Large JSON file using COBOL COBOL Programming 4
No new posts JCL SORT to compress the student's de... DFSORT/ICETOOL 7
No new posts Split large FB file based on Key coun... DFSORT/ICETOOL 4
No new posts VSAM ESDS File to store large data 4GB JCL & VSAM 5
Search our Forums:

Back to Top