CHENSBY.MAR ESTABLISHING A FRIENDLY ISPF USER ENVIRONMENT By Craig Hensby Craig Hensby is a systems programmer for Systemhouse, Inc. of Arlington, Virginia. In the August issue of Technical Support, I saw a very useful suggestion for ISPF users ("Dynamic ISPF Libraries Specification" by Fred Schuff). The article discussed TSO environment manipulation and writing a program to dynamically concatenate user libraries into the ISPF files. This looked like a great way to enhance our current ISPF setup. But I soon realized that our way of providing users with a submenu required datasets concatenated at the top of the list. So I got out my trusty System Macros and Facilities manual (SVC 99 is no longer in the Job Management manual under XA) and started thinking. To really jazz up the execution of such a program under the TSO environment, my new one should be written as a TMP to allow standard message processing and the use of other TSO services. But if I was going to do that, I could probably also take advantage of the great DAIR routines provided by IBM. Hey, a CLIST would do it just as well, if perhaps a little slower. I decided to give it a try. As you are about to see, the logic flow is almost exactly as I would have written it in ALC. I used an example from the CLIST Implementation and Reference manual as my base and, after making some improvements, ended up with this (Figure 1). The LISTA ST command is basically a TIOT search, and the rest is just parsing logic and the allocation itself. I did try to keep full-line comments to a minimum, in the interest of speed. The program turned out to be not as slow as I had thought. The rest of our ISPF environment, while not entirely original, is at least an attempt at user-friendliness. I hope you will find some of this useful for your own environment. In our shop, we try to minimize the maintenance chores of both our systems programmers and our users. Our approach is to keep as few logon PROCs as possible, leave an open, user-customizable submenu option available from the ISPF primary menu, and provide an easy way for the users to customize their logon environment via logon CLIST. Our primary ISPF menu, ISR@PRIM, is shown in Figure 2. The INTERNAL, or LOCAL option flows to a panel containing another menu of our installed ISPF products (such as vendor products). Panel USE@USER, the user option, is shown in Figure 3. The only maintenance the systems programmers are responsible for is the correct concatenation of libraries for the common options. We make sure that the panels, local products, and logon PROCs (and logon PROC-related CLISTs, which we will get to soon) work correctly. Our users are given the cleanest path possible to adapt their individual ISPF environments as they please. We strongly suggest to the users that their logon CLISTs contain a bypass mechanism so they don't get into a situation that prevents them from logging on altogether. Figure 4 is an example of our suggestion. To invoke a user logon CLIST automatically, the PARM field of the TSO logon PROC needs to invoke a PROC-related CLIST which will in turn invoke the logon CLIST. (The PROC-related CLIST is also needed to allocate the ISPTLIB file.) An example of our PROC- related CLIST, called ALLOCUSR, is shown in Figure 5. At this point in my backwards discussion of the ISPF environment, we are ready to look at the logon PROC itself. This PROC sets up the "starting point" panel environment and provides the SYSPROC file from which the PROC-related CLIST is executed. Figure 6 is a condensed version of ours. When I prepared the logon PROC for inclusion in this article, I removed all of the vendor product libraries, which systems programmers maintain as well. That is our approach to ISPF maintenance and management. It allows as much flexibility as any other approach I have seen, and provides a reasonable limit to our maintenance responsibilities. We take care of the stock ISPF environment and installed vendor products while the personal and group-related customization support functions are left up to the people and groups who are concerned with them. /* 721 Was this article of value to you? If so, please let us know by circling Reader Number 82.