Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
How to force ISPF to allocate ISPF temporary data sets

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> TSO/ISPF
View previous topic :: :: View next topic  
Author Message
Michele Giannuli

New User


Joined: 12 Sep 2019
Posts: 5
Location: ITALY

PostPosted: Thu Sep 12, 2019 2:03 pm    Post subject: How to force ISPF to allocate ISPF temporary data sets
Reply with quote

I would like to force ISPF to dynamically allocate temporary data sets (ISPCTLx, ISPLSTx and ISPWRKx) as real temporary datasets without preallocating them in LOGON PROC.
I try to explain: if I preallocate those datasets in LOGON PROC I can force them to be temporary. Something like this:

Code:

//ISPCTL1  DD DISP=NEW,UNIT=VIO,SPACE=(CYL,(1,1)), 
//            DCB=(LRECL=80,BLKSIZE=800,RECFM=FB)   
//ISPWRK1  DD DISP=NEW,UNIT=VIO,SPACE=(CYL,(1,1)), 
//            DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)
//ISPLST1  DD DISP=NEW,UNIT=VIO,SPACE=(CYL,(1,1)), 
//            DCB=(LRECL=121,BLKSIZE=1210,RECFM=FBA)


But I wouldn't like to preallocate them in LOGON PROC: so I let ISPF to allocate them when it needs them. The result is not temporary datasets: ISPF allocate and catalog them with a name like this:

prefix.uid.SPFTEMPx.CNTL

and delete them at the end of the session.
As you can see those datasets are not temporary and, ie, I can't put them in VIO.

The question is: Is there a way to instruct ISPF to allocate these dataset (without allocating them in LOGON PROC) when it needs them as temporary datasets?
Thank you all
Michele
Back to top
View user's profile Send private message

Willy Jensen

Active User


Joined: 01 Sep 2015
Posts: 309
Location: Denmark

PostPosted: Fri Sep 13, 2019 12:49 am    Post subject:
Reply with quote

Preallocate in logon script?
Back to top
View user's profile Send private message
Michele Giannuli

New User


Joined: 12 Sep 2019
Posts: 5
Location: ITALY

PostPosted: Fri Sep 13, 2019 11:51 am    Post subject:
Reply with quote

Willy Jensen wrote:
Preallocate in logon script?


Hi Willy,
thank you for your post.
I would like to force ISPF to allocate those datasets only when it needs them.
If I allocate the datasets in logon script or in logon proc I would have all datasets allocated at logon.
In my ISPF configuration table I have the value of 8 for the parameter MAXIMUM_NUMBER_OF_SPLIT_SCREENS. So, at logon, I would have allocated: 9 x ISPCTLx + 8 x ISPWRKx + 8 x ISPLSTx = 25 datasets.
And that's what I don't want.
Back to top
View user's profile Send private message
Willy Jensen

Active User


Joined: 01 Sep 2015
Posts: 309
Location: Denmark

PostPosted: Fri Sep 13, 2019 1:33 pm    Post subject:
Reply with quote

I see, in that case I don't have any recommendations. I quickly looked at the ISPF configuration table, but couldn't find any relevant parameter there. Also no relevant exit as far as I can tell.
Back to top
View user's profile Send private message
Willy Jensen

Active User


Joined: 01 Sep 2015
Posts: 309
Location: Denmark

PostPosted: Fri Sep 13, 2019 7:26 pm    Post subject:
Reply with quote

I did test ISPF exit 16 'log, list, trace, and temporary data set allocation exit', but apparently you can only substitute a 'real' dataset prefix. When I tried a tempds one, I got error 'Syntax error in data set name &&S1.SPFLOG2.LIST'. A 'real' prefix like userid.S1 worked fine.
Back to top
View user's profile Send private message
Michele Giannuli

New User


Joined: 12 Sep 2019
Posts: 5
Location: ITALY

PostPosted: Fri Sep 13, 2019 7:41 pm    Post subject:
Reply with quote

Willy Jensen wrote:
I did test ISPF exit 16 'log, list, trace, and temporary data set allocation exit', but apparently you can only substitute a 'real' dataset prefix. When I tried a tempds one, I got error 'Syntax error in data set name &&S1.SPFLOG2.LIST'. A 'real' prefix like userid.S1 worked fine.


Willy, I really appreciate your test.
I didn't tried with the exit 16 because the description in the manual made me think to a 'real prefix'. Anyway, your test leaves no doubt.
Thank you again.
Michele
Back to top
View user's profile Send private message
Willy Jensen

Active User


Joined: 01 Sep 2015
Posts: 309
Location: Denmark

PostPosted: Tue Sep 17, 2019 1:12 pm    Post subject:
Reply with quote

Turns out that ISPF exit 16 can be used after all. While you cannot just replace the prefix with &&something (that would have been too easy), you can actually allocate the datasets in the exit.
Experimentation shows that the exit is entered every time an ISPF log, list, trace, and temporary data set is opened and it is entered prior to checking if the DDname is present, hence it can be used to allocate the dataset.
See my 'ISPEXI16' sample at http://harders-jensen.com/wjtech/zprograms.html
Back to top
View user's profile Send private message
Michele Giannuli

New User


Joined: 12 Sep 2019
Posts: 5
Location: ITALY

PostPosted: Tue Sep 17, 2019 4:27 pm    Post subject:
Reply with quote

Willy Jensen wrote:
Turns out that ISPF exit 16 can be used after all. While you cannot just replace the prefix with &&something (that would have been too easy), you can actually allocate the datasets in the exit.
Experimentation shows that the exit is entered every time an ISPF log, list, trace, and temporary data set is opened and it is entered prior to checking if the DDname is present, hence it can be used to allocate the dataset.
See my 'ISPEXI16' sample at http://harders-jensen.com/wjtech/zprograms.html


Hi Willy,
thank you very much for your attention to my question.
Now I'm quite sure it'not possible to allocate at open time those datasets as temporary ones . I'll consider the options I've and I'll decide what one to use.
Thank you again.
Michele
Back to top
View user's profile Send private message
Willy Jensen

Active User


Joined: 01 Sep 2015
Posts: 309
Location: Denmark

PostPosted: Tue Sep 17, 2019 4:54 pm    Post subject:
Reply with quote

The ISPF exit 16 can allocate temporary datasets before open. One sample:
Code:
alclog   dc    c'alloc dd(isplog) mod delete reuse ' 
         dc    c'lrecl(125) recfm(v,a) blksize(129) '
         dc    c'tracks space(5,5) unit(vio) '       

I have tested it (z/os 2.3) and it works.
Back to top
View user's profile Send private message
Michele Giannuli

New User


Joined: 12 Sep 2019
Posts: 5
Location: ITALY

PostPosted: Tue Sep 17, 2019 6:25 pm    Post subject:
Reply with quote

Willy Jensen wrote:
The ISPF exit 16 can allocate temporary datasets before open. One sample:
Code:
alclog   dc    c'alloc dd(isplog) mod delete reuse ' 
         dc    c'lrecl(125) recfm(v,a) blksize(129) '
         dc    c'tracks space(5,5) unit(vio) '       

I have tested it (z/os 2.3) and it works.


I had misunderstood (not good at assembler at all). This is a acceptable solution.
Thank you Willy
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> TSO/ISPF All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Need to fetch data from database base... Satandale COBOL Programming 8 Sun Sep 08, 2019 12:01 am
No new posts How to append data from PARM in OUTFIL Poha Eater DFSORT/ICETOOL 17 Thu Aug 22, 2019 4:03 pm
No new posts Training on numeric fields data formats sergeyken SYNCSORT 12 Thu Aug 01, 2019 8:15 pm
No new posts Can I use Tableau/PowerBI kind data a... rohanthengal All Other Mainframe Topics 2 Wed Jul 24, 2019 4:43 pm
No new posts Sort records within a data block rajiv rengasamy DFSORT/ICETOOL 0 Fri Jul 12, 2019 3:25 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us