Create TSO Logon Procedures and Allocation CLISTs

FOCUS users can logon using any normal TSO logon procedure that defines a 4096K virtual region and permits at least 25 ddnames to be allocated dynamically. Data sources to be accessed can be allocated using TSO ALLOCATE commands issued from CLISTs before FOCUS is entered, or from FOCUS procedures invoked in FOCUS. FOCUS work files are automatically allocated by FOCUS itself if no previous allocation exists. In most cases there is no need for a STEPLIB: FOCUS can be invoked using the CALL command without loss of function.

We recommend providing a common TSO logon procedure for all FOCUS users. This provides a convenient place in which to allocate the FOCUS error message library (ERRORS), the library of user-supplied subroutines (USERLIB), and most commonly used work files, with adequate disk space for all but extreme cases. Data sources read through FOCUS, as well as the Master Files (MASTER) and associated FOCUS procedures (FOCEXEC), are best allocated in TSO CLISTs tailored for each application. These allocation CLISTs are executed once, immediately after the logon, and FOCUS itself is entered using a separate CLIST that contains nothing more than the CALL command. This arrangement minimizes repetitive online allocations, which cause delays and use extra resources.

When FOCUS loads programs that load further modules from an unspecified ddname, a STEPLIB is required in the logon procedure (for example, when FOCUS invokes GDDM to produce 3270-type graphics).

A STEPLIB is also required in the logon procedure if FOCUS is loaded from another program (for example, if a user invokes program DFSRRC00 with IMS, which loads FOCUS, or if the DB2 Data Adapter is installed in TSO attach mode).

The following typical FOCUS logon procedure sets up support for GDDM and provides access to IMS databases:

//LOGON   EXEC  PGM=IKJEFT01,REGION=1200K,DYNAMNBR=25
//STEPLIB       DD   DSN=prefix.FOCLIB.LOAD,DISP=SHR  For FOCUS  1
//              DD   DSN=gddmlibrary,DISP=SHR         For GDDM   3
//IMS           DD   DSN=IMSVS.PCBLIB,DISP=SHR,       For IMS    2
//              DD   DSN=IMSVS.DBDLIB,DISP=SHR        For IMS
//*
//*     FOCUS error messages and work data sets
//*
//ERRORS       DD   DSN=prefix.ERRORS.DATA,DISP=SHR
//FOCSTACK     DD   UNIT=SYSDA,SPACE=(TRK,(1,1))     Needed only if
//FOCSORT      DD   UNIT=SYSDA,SPACE=(TRK,(1,2))     default allocation
//HOLD         DD   UNIT=SYSDA,SPACE=(TRK,(1,2))     (see IBITABLA) is
//HOLDMAST     DD   UNIT=SYSDA,SPACE=(TRK,(1,2,1))   not acceptable.
//OFFLINE      DD   SYSOUT=*
//SYSPRINT     DD   SYSOUT=*
//*
//*     data sets for other TSO utilities
//*

STEPLIB entries 1 and 2 are required for IMS; entry 3 is needed for GDDM. Normal FOCUS use does not require a STEPLIB.

All FOCUS work data sets except FOCSORT are good candidates for VIO. Notice that SYSIN need not be allocated, as it defaults to the TSO terminal.

A sample FOCUS CLIST for allocating all necessary data sets follows:

/* Allocation CLIST - to be executed once                             */
/*                                                                    */
/* FOCUS file descriptions, procedures and the User program library   */
/* Assumes that ERRORS is allocated in the LOGON PROC.                */
/*                                                                    */
ALLOC F(MASTER)      DA('userid.MASTER.DATA') SHR
ALLOC F(FOCEXEC)     DA('userid.FOCEXEC.DATA') SHR
ALLOC F(USERLIB)     DA('prefix.FUSELIB.LOAD') SHR
ALLOC F(WINFORMS)    DA('prefix.WINFORMS.DATA') SHR
/*                                                                    */
/*    Communication to the central database job                       */
/*                                                                    */
ALLOC F(FOCSU)       DA('SYS1.FOCSU.DATA')   SHR
/*                                                                    */
/*     files and databases accessed by FOCUS                          */
/*                                                                    */
ALLOC F(CARS)        DA ('userid.CARS.FOCUS') SHR
    .
    .
    .

where:

prefix

Is the high-level qualifier for your production FOCUS data sets.

userid

Is the high-level qualifier for a user's data sets.

Finally, the CLIST for entering FOCUS should simply read:

CALL 'prefix.FOCLIB.LOAD(FOCUS)'

If the logon procedure has allocated FOCLIB.LOAD to STEPLIB, users can enter FOCUS by typing FOCUS at the TSO READY prompt, rather than from a CLIST that issues the CALL command. However, we recommend not having a STEPLIB in the logon procedure, unless it is mandated by the conditions discussed previously because it will always be searched first for all load modules (including the TSO command modules).

If IMS data sources are to be accessed in IMS batch mode, without the benefit of the BMP extension of the IMS/DB Data Adapter, FOCUS must be entered as follows:

CALL 'IMSVS.RESLIB(DFSRRCOO)' 'DLI,FOCUS,psbname'

The FOCUS load library must be in STEPLIB.

For additional information regarding FOCUS files, TSO logon procedures, CLISTs and batch jobs, see the Overview and Operating Environments manual.


Information Builders