Installing the ISPF IUI

The IBM® Connect:Direct® IUI is an ISPF dialog. ISPF dialogs have three phases: allocation, invocation, and unallocation. Each of these phases can be done after TSO logon is complete, either outside or inside ISPF. Allocation can also be done through the TSO logon procedure. The IUI uses ISPLLIB, ISPMLIB, ISPPLIB and ISPSLIB application libraries. It does not use ISPTLIB. You can either pre-allocate the IUI application libraries outside of ISPF to your installation’s concatenations for the associated DDNAMEs, or you can use the ISPF LIBDEF service in a script (CLIST or REXX) that executes inside ISPF to allocate them immediately before invoking the IUI.

About this task

Optionally, a script can use LIBDEF with generic lib-types DMMSGFIL, DMPUBLIB, and DMNETMAP to specify IUI components VSAM Message File dataset, Process Library concatenation, and the Netmap dataset, respectively. The main advantage to using generic LIBDEF over pre-allocated DDNAMEs DMMSGFIL and DMPUBLIB is that generic LIBDEF on one ISPF logical screen will not interfere with generic LIBDEF on another logical screen. Another advantage is the ISPF command ISPLIBD displays all LIBDEFs in effect for the IUI, generic and non-generic alike. The only IUI component that ISPLIBD does not display is the script (REXX or CLIST). To activate, deactivate and display scripts (User, Application and System levels), use the TSO command ALTLIB.

A script to invoke the IUI can now consist entirely of TSO ALTLIB, ISPF LIBDEF, and ISPF SELECT statements, all of which are limited in effect to the ISPF logical screen in which executed. If generic LIBDEF is used, the legacy method of specifying the associated IUI application dataset or library concatenation is not needed, and is ignored by the IUI. If you have either DDNAME DMMSGFIL or DMPUBLIB pre-allocated and also activate the associated generic lib-type, ISPLIBD will show the pre-allocated dataset with an ‘X’ under the USR column, and list it before the generic LIBDEF dataset for that lib-type, similar to how it shows pre-allocated ISP*USR dataset in the ISP*LIB concatenations. If you use LIBDEF with the LIBRARY keyword instead of the DATASET keyword, ISPLIBD will show the DDNAME specified by the ID parameter. To find the dataset allocated to the DDNAME, you can split your screen and use the ISPF diagnostic utility ISRDDN.

IBM recommends using LIBDEF for all non-script IUI application libraries. Further it is recommended that LIBDEF with DATASET be used instead of LIBRARY, and that the DDNAMEs DMMSGFIL and DMPUBLIB not be pre-allocated. If you follow these recommendations, the ISPLIBD display for those IUI application libraries will be unambiguous. IBM recommends using ALTLIB for IUI CLIST and REXX application libraries.

There are two new sample library members which show how to invoke the IUI using generic LIBDEFs: DGA#IUI4 uses LIBDEF with the DATASET keyword, and DGA#IUI5 uses LIBDEF with the LIBRARY keyword. Using the DATASET keyword is more compact, but requires all dataset be cataloged. One possible disadvantage is that any mistake in DSN specification is not usually discovered until DGADISTR attempts to dynamically allocate the DD. In contrast, LIBDEF with the LIBRARY keyword requires a TSO ALLOCATE or BPXWDYN command be done beforehand, and so is less compact. This method allows uncatalogued datasets to be included in the DMPUBLIB concatenation (the other two generic lib-types are for VSAM dataset which must be cataloged), as well as allowing mistakes in allocation to be detected and remedied by the script, which is under customer control. See SAMPLIB members DGA#IUI4 and DGA#IUI5 for more information on using the IUI’s generic lib-types.