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

change in LRECL of GDG's new generation.


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

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Fri Jul 12, 2013 2:07 pm
Reply with quote

hi folks,

I have created a new GDG base (GDG Limit = 100) and a model dataset with following DCB parameters DCB=(LRECL=80,RECFM=FB,DSORG=PS)

i have added 50 generations to the base by refering Model dateset DCB parameters so far. however due to requirement change, LRECL of Generation is changed to 90 but rest of DCB parameters are same.

Now if i try to add 51st generation (LRECL 90) to the base, it will error out saying 'CONFLICTING DCB PARAMETERS ' .

what i need, is to have 50 generations to be kept with old DCB and new 51st to be with LRECL 90.

we can do it by creating a new GDG with LRECL 90 and copy all 50 generation first and then add 51st generation.

but i am curious to know whether can we achieve thru any other method.
(Note: we dont have file-aid at present)

Thanks
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri Jul 12, 2013 2:14 pm
Reply with quote

Don't know why you're even bothering using a model DSCB.

Using SMS, the model DSCB has not been required for about 20 years now.

Get rid of the model DSCB from any statements creating a new generation and see what happens.
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Fri Jul 12, 2013 2:39 pm
Reply with quote

I am unaware of "What is model DSCB" icon_rolleyes.gif . .

You mean to say, creating a generation using model dataset's DCB is called as "model DSCB".

please throw some light on how to get rid of this " model DSCB". icon_exclaim.gif

kindly provide some documents or any urls will do.

In the mean time let me go thru manuals.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri Jul 12, 2013 2:59 pm
Reply with quote

Show the JCL that you are using to try and create the new generation.
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Fri Jul 12, 2013 3:12 pm
Reply with quote

Code:

//GDGPUTG1 EXEC PGM=IEBGENER                       
//SYSPRINT DD  SYSOUT=*                             
//SYSIN    DD  DUMMY                               
//SYSUT1   DD  DSN=DEP.TEST.RPT,DISP=SHR
//SYSUT2   DD  DSN=DEP.DATA.GDGROUP(+1),         
//             DISP=(NEW,CATLG,DELETE),             
//             UNIT=SYSDA,SPACE=(CYL,(80,10),RLSE),
//             DCB=(MODLDSCB,RECFM=FB,LRECL=172,BLKSIZE=0)



pls see i have changed the LRECL to bigger value (172) than the old generations
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri Jul 12, 2013 3:16 pm
Reply with quote

What is model DSCB - perhaps a clue may be seen below

DCB=(MODLDSCB,RECFM=FB,LRECL=172,BLKSIZE=0)

Just code the RECFM & LRECL paramters for that line and see what happens.

Code:

//            RECFM=FB,LRECL=172
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Fri Jul 12, 2013 3:19 pm
Reply with quote

Thanks for teaching perhaps out of curious i have a doubt here, if i remove this keyword MODLDSCB and if i execute the JCL with another LRECL value (eg: LRECL=200) for new generation.

will it give an error ?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri Jul 12, 2013 3:20 pm
Reply with quote

Why don't you try it and see
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Fri Jul 12, 2013 3:20 pm
Reply with quote

see the bit
Code:
DCB=MODLDSCB
does that not look like model DSCB? Remove it. You can also remove DCB= as the subparameters that you need are all keywords in their own right these days. And you can probably get away with not having BLKSIZE. And how big is DEPT.TEST.RPT? Is it really 80+ cylinders?

Edit: crossed in the post!
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Fri Jul 12, 2013 3:25 pm
Reply with quote

Thanks Nic and expat for your suggestion.

Nic,
yes, DEPT.TEST.RPT is a very big file, having many sub reports within this file. its created using area sweep in IDMS (COBI ) module
Back to top
View user's profile Send private message
Dale Robertson

New User


Joined: 21 Jun 2013
Posts: 44
Location: U.S.A.

PostPosted: Sat Jul 13, 2013 2:12 am
Reply with quote

bvarun,

Quote:
model dataset


MODEL.DSCB is no longer used with z/OS in the DCB as SMS abrogates that. Refrain from using it in the future. It's as simple as that.

Unlike SDB where it's still a good idea to fully understand blocking factors MODEL.DSCB just gets in your way. SDB [system determined blocksize] is for Girl Scouts and UNIX programmers who have a tough time with MVS. icon_lol.gif icon_biggrin.gif

r

"This stereo record cannot be played on old tin boxes no matter what they are fitted with. If you are in possession of such equipment please hand it into the nearest police station."
--Mike Oldfield - Tubular Bells.
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Mon Jul 15, 2013 8:07 am
Reply with quote

Thanks Guys for the support..

i removed MODEL DCB keyword and i can add variable LRECL generations to a GDG base. icon_razz.gif
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: Mon Jul 15, 2013 8:04 pm
Reply with quote

Hello,

Just be aware that if generations are created with different/conflicting dcb parameters, the files may cause a failure when some other process "knows" the wrong dcb info . . .
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Tue Jul 16, 2013 8:12 am
Reply with quote

You mean DCB parameters like DSORG
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Tue Jul 16, 2013 11:42 am
Reply with quote

No - more like LRECL. If that changes from dataset to dataset then you, and your program, need to be aware of the fact and cater for it.
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: Tue Jul 16, 2013 8:22 pm
Reply with quote

Hello,

As Nic mentioned, a big vulnerability is changing lrecl. Blksize can be an issue if more than one generation is to be concatenated into a run.

Why does someone believe it is acceptable to catalog new generations with unlike dcb parameters?

I've asked some contacts and none of their organizations permit this. If the file is to be "different" a different DSN should be used rather than a new generation.
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Wed Jul 17, 2013 8:13 am
Reply with quote

Thanks Dick for your inputs.

a Quick question here, can we see information about GDG base in ISPF icon_question.gif . Since we dont have File-aid in our shop, i tried in '3.4' option. but couldnt see it. icon_neutral.gif
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Jul 17, 2013 11:48 am
Reply with quote

IDCAMS LISTCAT gets you everything you need to know about a GDG base
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Wed Jul 17, 2013 11:53 am
Reply with quote

thanks Expat.

I am so happy to be part of this forum icon_biggrin.gif .. You guys are very supportive
Back to top
View user's profile Send private message
Pete Wilson

Active Member


Joined: 31 Dec 2009
Posts: 580
Location: London

PostPosted: Tue Jul 23, 2013 1:16 pm
Reply with quote

BV - a model DSCB is just a dataset created with 0 space and whatever LRECL,RECFM values etc. So it is just a DataSetControlBlock in the VTOC (Volume Table of Contents) on a DASD (Direct Access Storage Device) volume (or disk), but has no space allocated for the file.

It is still possible to use them but is unnecessary and not encouraged since ICF catalogs and SMS were introduced a few decades ago. All they do is provide 'model DCB allocation attributes' such as LRECL and RECFM etc for the dataset you're creating. If the dataset you're creating needs a change in LRECL then you'd have to redefine the MODEL DSCB if you're relying on that, and there could be numerous other things referring to that MODEL DSCB that DON'T want their attributes changed. So best to never use them these days.

The nearest DSCB equivalents now are the LIKE or REFDD JCL keywords which perform a 'similar' function by copying attributes of the file they're refer to to the new dataset you're creating, but they also provide SPACE and other attributes like SMS classes as well. You can also override individual values for your new dataset by specifying LRECL, SPACE or other keywords and it merges these together.

For SDB, it is usually best to use that as it will always to provide the nearest to half-track blocking factors which is more space efficient. If you don't understand blocking just don't code BLKSIZE. (There are a few exceptions to this but not many). I'd rather see users ommitting BLKSIZE or coding BLKSIZE=0 to get SDB than attempting to work out the correct BLKSIZE and messing it up. If you do a test allocation and load of LRECL=80,RECFM=FB file with a few thousand records and specify BLKSIZE=80, then try the same without specifying BLKSIZE, you will see the massive different in file size. The reason is every block has a 32 byte interblock gap which is effectively wasted space.
Back to top
View user's profile Send private message
bvarun.

New User


Joined: 05 Jul 2013
Posts: 34
Location: India

PostPosted: Tue Jul 23, 2013 1:39 pm
Reply with quote

Thanks pete
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 WER247A SORTOUT HAS INCOMPATIBLE LRECL SYNCSORT 4
No new posts VB to FB - Finding LRECL SYNCSORT 4
No new posts DFHPI1008 JSON generation failed COBOL Programming 0
No new posts 3270 personal communications. Can't c... TSO/ISPF 2
No new posts SELECT from data change table DB2 5
Search our Forums:

Back to Top