MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

DCB parameters needed

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL)
View previous topic :: View next topic  
Author Message
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Tue Nov 08, 2005 4:49 am    Post subject: DCB parameters needed Reply with quote

Hi all,

I have a requirement where in i have a file with following specifications.Due to a requirement change the file length has to be changed to 160 bytes.My query is when the file length is changing ,the blocksize also has to be changed.Assuming that when the length of the record is 80 bytes,the blocksize i have given is (80*10) =800 bytes which can accomodate 10 records per block.


Code:

DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PS),SPACE=(CYL,(10,10),RLSE)



In a similar way if the length of the record is 160 bytes,the blocksize would be 1600 bytes which can accomodate 10 records.

Code:

DCB=(RECFM=FB,LRECL=160,BLKSIZE=1600,DSORG=PS),SPACE=(CYL,(10,10),RLSE)




Please guide me if i am wrong and what exactly should be the blocksize in my case / how to calculate the block size.
_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Tue Nov 08, 2005 5:12 am    Post subject: Reply with quote

shekar123,

Please search before posting . check this link

http://mvsforums.com/helpboards/viewtopic.php?p=36#36

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Tue Nov 08, 2005 2:38 pm    Post subject: DCB parameters needed Reply with quote

Hi all,

I have a GDG base with some of its generations.Basically the execution output of a program goes to the GDG generation.As a new requirement ,the file layout output in the program is changing,so GDG output lrecl has to be changed,i mean all the DCB parameters have to changed.Should i create a new GDG base with new DCB parameters so that i can give the execution output of the program to the GDG generation / is there a way in which i can change the existing DCB parameters without creating a new GDG base and give the execution output of the program to the GDG generation which will solve my purpose. I am interested in keeping the same name of the existing GDG.Please guide me which is the appropriate method and suggestable method of doing it .

Code:

DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PS),SPACE=(CYL,(10,10),RLSE)




Code:

DCB=(RECFM=FB,LRECL=160,BLKSIZE=27840,DSORG=PS),SPACE=(CYL,(10,10),RLSE)



Moreover if i had to use the same GDG name without creating a new one ,is it suggestable that i delete the GDG first and in the next step i create a GDG with the old name.Please correct me in my understanding.


Code:

//DELETE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
  DELETE (TECH022.GDG.OUTPUT) GDG PURGE
/*

//RUNPGM EXEC PGM=ABCD
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//IN       DD DSN=TECH022.INPUT.DATA,DISP=SHR
//OUT      DD DSN=TECH022.GDG.OUTPUT(+1),
//            DISP=(,CATLG),UNIT=SYSDA,
//            DCB=(RECFM=FB,LRECL=160,BLKSIZE=27840,DSORG=PS),
//            SPACE=(CYL,(10,10),RLSE)


_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Tue Nov 08, 2005 2:59 pm    Post subject: Reply with quote

shekar123,

Your GDG base does NOT have any LENGTH associated to it. You can create a new generation with different LRECL from the existing versions. You do not have to delete the GDG base. You only will have a problem if you are trying to access all the generations.

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Tue Nov 08, 2005 3:25 pm    Post subject: DCB parameters needed Reply with quote

Thanks Kolusu,

I tried with your suggestion and it worked fine and i was able to understand what you intended.Actually i just changed the DCB parameters from

Code:

DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PS),SPACE=(CYL,(10,10),RLSE)


to

Code:

DCB=(RECFM=FB,LRECL=160,BLKSIZE=27840,DSORG=PS),SPACE=(CYL,(10,10),RLSE)



Code:

//RUNPGM EXEC PGM=ABCD
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//IN       DD DSN=TECH022.INPUT.DATA,DISP=SHR
//OUT      DD DSN=TECH022.GDG.OUTPUT(+1),
//            DISP=(,CATLG),UNIT=SYSDA,
//            DCB=(RECFM=FB,LRECL=160,BLKSIZE=27840,DSORG=PS),
//            SPACE=(CYL,(10,10),RLSE)



and resubmitted the same job few times to get the new generations increasing and i was able to see the new ones with new LRECL .I also browsed the older generations with old DCB paramters and i was also able to browse them properly.But u had mentioned that "You only will have a problem if you are trying to access all the generations", what exactly do you mean Kolusu as i am able to successfull browse older generation with old DCB parameters as well newer generations with new DCB parameters.Can you please clarify me what would be the problem ?


OLD DCB PARAMETERS

Code:

TECH022.GDG.OUTPUT
TECH022.GDG.OUTPUT.G0001V00
TECH022.GDG.OUTPUT.G0002V00
TECH022.GDG.OUTPUT.G0003V00
TECH022.GDG.OUTPUT.G0004V00
TECH022.GDG.OUTPUT.G0005V00


NEW DCB PARAMETERS

Code:

TECH022.GDG.OUTPUT.G0006V00
TECH022.GDG.OUTPUT.G0007V00
TECH022.GDG.OUTPUT.G0008V00
TECH022.GDG.OUTPUT.G0009V00
TECH022.GDG.OUTPUT.G00010V00


_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Tue Nov 08, 2005 4:51 pm    Post subject: Reply with quote

Quote:

But u had mentioned that "You only will have a problem if you are trying to access all the generations", what exactly do you mean Kolusu as i am able to successfull browse older generation with old DCB parameters as well newer generations with new DCB parameters.Can you please clarify me what would be the problem ?


shekhar123,

Try referring the GDG just by giving the base name in a copy step. Try to run this step and see if your Job abends
Code:

//STEP0100 EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DSN=TECH022.GDG.OUTPUT,
//            DISP=SHR
//SORTOUT  DD SYSOUT=*
//SYSIN    DD *
  SORT FIELDS=COPY
/*   


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Tue Nov 08, 2005 10:29 pm    Post subject: DCB parameters needed Reply with quote

Kolusu,

I tried submitting the JCL but the job abended if i give the GDG base only as input in SORTIN.


Code:

********************************* TOP OF DATA **********************************
ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                                 
ICE000I 1 - CONTROL STATEMENTS FOR 5740-SM1, DFSORT REL 14.0 - 08:46 ON WED NOV
            SORT FIELDS=COPY                                                   
ICE063A 2 OPEN ERROR SORTIN                                                     
ICE052I 3 END OF DFSORT                                                         
******************************** BOTTOM OF DATA ********************************




Why is the job failing with RC 16 ? But if i change my SORTIN to say currrent generation ,the job does not abend and the contents of the current generation get successfully copied to the spool.Can u please clarify me what is the reason for job abending when we give the base.It it because ,the GDG base should not be given as for SORTIN ?

Code:

//STEP0100 EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DSN=TECH022.GDG.OUTPUT(0),
//            DISP=SHR
//SORTOUT  DD SYSOUT=*
//SYSIN    DD *
  SORT FIELDS=COPY
/*


_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
vkphani
Intermediate


Joined: 05 Sep 2003
Posts: 483
Topics: 48

PostPosted: Tue Nov 08, 2005 11:57 pm    Post subject: Reply with quote

Kolusu,

I tried submitting the below JCL:

Code:
//STEP0100 EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN    DD DSN=TTOI.VEDANTP.GDG,DISP=SHR           <== GDG Base
//SORTOUT DD *
//SYSIN      DD *
   SORT FIELDS=COPY
/*


There is only one generation for this GDG TTOI.VEDANTP.GDG.G0001V00.
Properties of this file are as below:
RECFM is FB,LRECL is 80 and BLKSIZE is 800.

System is throwing ABEND S001.

Following is the error message.

Quote:

NO SYNAD EXIT SPECIFIED


As far as I know whenever BLKSIZE is not in multiples of LRECL for FB files, this error comes.

Please help me out with this.


Last edited by vkphani on Wed Nov 09, 2005 3:32 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Phantom
Data Mgmt Moderator
Data Mgmt Moderator


Joined: 07 Jan 2003
Posts: 1056
Topics: 91
Location: The Blue Planet

PostPosted: Wed Nov 09, 2005 2:04 am    Post subject: Reply with quote

shekar123,

Quote:

It it because ,the GDG base should not be given as for SORTIN ?


The answer to your question is NO. GDG base can be given as SORTIN. This will merge all the versions. But your problem might be because you have defined all generations with different LRECLs. (I didn't follow the thread completely but I believe that you have defined the versions with different LRECLs).

Thanks,
Phantom
Back to top
View user's profile Send private message
Cogito-Ergo-Sum
Advanced


Joined: 15 Dec 2002
Posts: 637
Topics: 43
Location: Bengaluru, INDIA

PostPosted: Wed Nov 09, 2005 2:28 am    Post subject: Reply with quote

vkphani,
Why do you have
Code:

//SORTOUT DD *

?
Try with
Code:

//SORTOUT DD SYSOUT=*

_________________
ALL opinions are welcome.

Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes.
Back to top
View user's profile Send private message
vkphani
Intermediate


Joined: 05 Sep 2003
Posts: 483
Topics: 48

PostPosted: Wed Nov 09, 2005 3:35 am    Post subject: Reply with quote

Thanks Cogito-Ergo-Sum.
I got it.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL) All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group