I typically start many logical screens when using ISPF. I reckon most system programmers also do so and tend to use the same set of logical screens for their sessions. So up to now we have to start each screen manually. ISPF allows a user to have up to 32 logical screens but there is no automation for creating these logical screens at ISPF startup.
Now with z/OS V2R1 ISPF allows you to define a set of logical screens that are automatically started when ISPF is invoked.
To enable this support you have to at z/OS V2R1. When you start ISPF you specify a name of a varialbe on the ISPF start command.
- Define your own variable
- Use the default variable ZSTART
The variable must contain the identifier ISPF, followed by the command delimiter, followed by the command stack used to start the logical screens.
For example if I choose a variable name MYSTART then I could define the variable and assign the following values:
Variable name: MYSTART
Variable contents: ISPF;2;START 3.4;START 10;START S;LOG;SWAP 1
The name of the variable is specified as an option with the ISPF or ISPSTART command, for example:
If a variable name is not specified with ISPF or ISPSTART, the default profile variable ZSTART is used for the initial command stack.
If ZSTART is not found or does not contain the ISPF identifier, ISPF starts normally.
You can add a variable or modify ZSTART from Dialog Test -> Variables (7.3)
For example, here I'll update the ZSTART variable to start the following screens: DSLIST, SDSF, Command Shell and switch to DSLIST
Now when I start ISPF (specifiying no variables on the start command) from the TSO READY screen using just ISPF, all the logical screens defined in the ZSTART variable are started.
You can bypass the start up of any defined logical screens defined in the ZSTART variable by using the new BASIC keyword when starting ISPF.
New XALL command
I've almost forgotten about the new XALL command (thanks Yves Colliard for the suggestion to include this new feature). Take a look at the comments section to see how Yves has started ISPF sessions using REXX.
At the end of the day you're ready to logoff ISPF and end all of you logical screens. This could take many keystrokes and being the lazy sysprog that I am, a bit of patience. However with z/OS V2R1 there's a handy new command, XALL, which will attempt to terminate all of the ISPF logical screens for you.
New =XALL command provided to help terminate all logical screens with one command.
- =X command is propagated to every logical session to terminate each application that supports =X
- If =X not supported, termination process halts on that logical screen
Once that logical screen is terminated =XALL processing can be continued for each remaining logical screen
So if I have several logical screens open and I want a fast exit, I type =XALL on the command line, like so:
And with a bit of luck, all the screens support the =x command, then I am dumped back out to TSO.
For more information on System z and the z/OS operation system see the following IBM Redbooks publications:
ABCs of z/OS System Programming: Volume 1, SG24-6981-02
ABCs of z/OS System Programming Volume 2, SG24-6982-02
ABCs of z/OS System Programming Volume 3, SG24-6983-03
ABCs of z/OS System Programming: Volume 4, SG24-6984-00
ABCs of z/OS System Programming: Volume 5, SG24-6985-02
ABCs of z/OS System Programming Volume 6, SG24-6986-00
ABCs of z/OS System Programming Volume 7, SG24-6987-01
ABCs of z/OS System Programming Volume 8, SG24-6988-01
ABCs of z/OS System Programming: Volume 9, SG24-6989-05
ABCs of z/OS System Programming Volume 10, SG24-6990-04
ABCs of z/OS System Programming Volume 11, SG24-6327-0
ABCs of z/OS System Programming Volume 12, SG24-7621-00
ABCs of z/OS System Programming Volume 13, SG24-7717-01