Overview
The CALISPF (ISPF Calendar alternative add-on) requires a task to execute before an ISPF user session is started to initialize calendar variables stored in the users profile.
With the introduction of ISPFPAP (ISPF Autoexec-type alternative add-on), the application offers consolidated launch (trigger) points for pre-ISPF and post-ISPF processing.
The CALISPF pre-ISPF requirement can optionally be integrated into the ISPFPAP application.
This post illustrates the pre-ISPF integration details.
Set the Stage
Assumptions:
- MVS 3.8J TSO utilizes a logon procedure (e.g. TSOLOGON on TK3 and TK4- system versions)
- Additional logon processing is nested from the TSOLOGON procedure (e.g. USRLOGON, REVINIT )
- ISPF v2.2 runs under TSO
- ISPF v2.2 requires allocated datasets before invoking ISPF. Those allocation tasks and ISPF start-up command may be within the TSOLOGON procedure flow or a separate stand-alone procedure flow.
Integration Details
ISPF -or- CALL 'ISP.V2R2M0.LLIB(ISPF)
Whether using ISP.V2R2M0.CLIB(ISPLOGON) from ISPF v2.2 Installation Tape or your specific LOGON-type CLIST to initiate ISPF user sessions under MVS 3.8J TSO, eventually one of two commands are used to start ISPF under MVS 3.8J TSO.
ISPF is the word!
The use of ISPF offers more flexibility as it will not require modification when a new version of ISPF is installed.
Using the CALL command version requires a change to the PDS load library name when a new version of ISPF is installed.
With ISPFPAP, the original ISPF v2.2 start-up line command transforms into a series of three commands as shown below. The three highlighted ISPFPAP commands provide a facility for Pre-ISPF, ISPF startup, and Post-ISPF processing launch points. Each CLIST launch point can house commands to be executed at the select execution stage for ISPF v.2.2!
Snippet of ISPF Start-up Procedure . . /********************************************************************/ /* Start ISPF V2.2 */ /********************************************************************/ ISPF . .
Snippet of revised ISPF Start-up Procedure . . /********************************************************************/ /* Pre-ISPF Trigger */ /********************************************************************/ ISPF CMD(%ISPFPRE$ DOIT($#B)) /********************************************************************/ /* Start ISPF V2.2 */ /********************************************************************/ ISPF /********************************************************************/ /* Post-ISPF Trigger */ /********************************************************************/ ISPF CMD(%ISPFPST$ DOIT($#E)) . .
As previously mentioned, CALISPF has a pre-ISPF requirement to initialize calendar variables before the users ISPF session begins per installation instructions as shown in the following snippet.
Snippet of CALISPF Installation Document (README) . . 1 10 20 30 40 50 60 70 ----+----+----+----+----+----+----+----+----+----+----+----+----+----+- . . /*******************************************************/ /* Start ISPF per ISPF v2.2 Installation Documentation */ /*******************************************************/ . /********************************************************************/ /* INVOKE CCAL to initialize calendar view (Y-colors N-monochrome) */ /********************************************************************/ ISPF CMD(%CCAL COLORS(Y)) <-- new command . ISPF <-- start IPSF command . . . .
ISPFPAP member ISPFPRE$ (Pre-ISPF Processing CLIST) is modified to include execution of %CCAL as shown in the below snippet. Note, the ISPEXEC SELECT service is utilized instead of command ISPF CMD as ISPF initiated command ISPFPRE$ which now has access to TSO and ISPF services.
Snippet of member ISPFPRE$ . . /*------------------------------------------------------------------*/ /* Place ISPF PRE-processing commands after here... */ /*------------------------------------------------------------------*/ /********************************************************************/ /* INVOKE CCAL to initialize calendar view (Y-colors N-monochrome) */ /********************************************************************/ /*ISPF CMD(%CCAL COLORS(Y)) */ ISPEXEC SELECT CMD(%CCAL COLORS(Y)) /*------------------------------------------------------------------*/ /* Place ISPF PRE-processing commands before here... */ /*------------------------------------------------------------------*/ . .
That's it!
Closing
Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues regarding this post.
Good luck,
Larry Belmontes