GC28-0629-3 OS VS2 MVS System Programming Library TSO
GC28-0629-3 OS VS2 MVS System Programming Library TSO
GC28-0629-3 OS VS2 MVS System Programming Library TSO
TSO/VTAM VS2.03.813
System Security Support 5752-832
TSO/VT AM Leval 2 5752-858
Processor Support 2 5752-864
--- -
----
- - ---
- ---
- - ---
- - - ---
-----
___ '011_
Fowth EdItion (December, 1978)
This is a major revision of, and obsoletes GC28-0629-2. See the summary of
amendments following the contents for a list of changes made to this publications.
This edition with Technical Newsletter ON28-297I applies to release 3.7 of MVS and to
all subsequent releases of MVS until otherwise indicated in new editions or Technical
Newsletters. Changes are continually made to the information herein; before using this
publication in connection with the operation of IBM systems. consult the latest IBM
SystelD/370 BIIIIIOC,.,lIy,
GC20-0001 . for the editions that are applicable and current.
Publications afC not stocked at the address given below; requests for copies of IBM
publications should be made to your IBM representative or to the IBM branch office
serving your locality.
A form for readers' comments is provided at the back of this publication. If the form
has been removed, comments may be addressed to IBM Corporation, Programming
Systems Publications. Department DS8. Buildina 706-2. PO Box 390, Poughkeepsie, N.Y.
12602. IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurrins any obligation whatever. You may. of course.
continue to use the information you supply. "-,
This publication describes the TSO facilities that can be influenced by the
system programmer.
Associated publications:
Preface 1M
"
Comeau ,.
SEND Subcommand of OPERATOR 74
SLIP Subcommand of Operator (5752-864) 77
Parameter Relationships (5752-364) . . 78
Indirect Addressing Used with SLIP (5752.-864) 79
Parameter Descriptions (575l--864) . 81
STOPMN Subcommand of OPERATOR . . . .
. 101
IDdex . . . 103
Figures
Figure 1. Sample Listing of MCP Start Procedures . . . . 3
Figure 2. Sample Listing of LOGON Cataloged Procedure 6
figure 3. Organization of the UADS . . . . . . , . . . 9
Figure 4. The Simplest Structure for a Typical UADS Entry 10
Figure S. A Complex Structure for a Typical UADS Entry 10
Figure 6. A Sample Listing, Showing the Creation of UADS and Broadcast with a Batch Job 11
Figure 7. A Sample Listing, Showing the Conversion of UADS and Broadcast. 12
Figure 8. An Example of a CSECT Containing Translation Tables 17
Figure 9. LOGON Pre-Prompt Parameters . . . . . . . . . . . 24
Figure 10. Sample Listing of a LOGON Pre-Prompt E/(it ... . . . . 29
Figure II. Format of Records Passed to Synta/( Checkers. . . . . 33
Figure 12. Interface between EDIT Program and Synta/( Checkers 33
Figure 13. Contents of the Buffer Control Block . . . . . . . . 34
Figure 14. Contents of the Synta/( Checker Communication Area 34
Figure 15. Contents of the Option Word 35
Figure 16. RB Structure (5752-864)• . . . • . . • . . . . • . 91
Summary of Amendments
for GC28-0629-3 as updated
by GN28-2971
Summary of Amendments
for GC28-0629-3
OS/VS2 Release 3.7
This publication contains information for SU64: the all their subcommands, are now defined using the standard
addition of SLIP as a subcommand of OPERATOR. In syntax language.
addition. pertinent technical changes have been made to
Part 2: the ACCOUNT and OPERATOR commands, and
Summary of Amendments
for GC28-0629-2
OS/VS2 Release 3.7
This publication contains information that was released in Miscellantous editorial and technical changes have been
the following Selectable: Unit Newsletters and SystP.ffi made throughout this publication. Significant technical
Library Supplements: changes were made in Part I under the following topics:
OS/VS2 MVS TSO/VTAM Level I (VS2.03.813), "Spacc Allocation Used by the EDIT Access
GN28·2654 Method" - define the maximum number of records
OS/VS2 MVS System Security Support (5752-832), the EDIT access method can handle.
GC28-()868 "Creating. Converting. and Maintaining UADS and
OS/VS2 MVS TSOIVTAM Level 2 (5752·858). Broadcast Data Sets" - change SYSIN to SYSTSIN
GD23-()047 and SYSPRINT to SVSTSPRT.
Summary of AmeDdmeDts YO
March IS, 1979
This chapter is intended for the programmers responsible for generating and maintaining a
system with TSO. The chapter outlines how to do the following things:
• Create, convert, and maintain the user attribute data set (UADS) and broadcast data set.
• Write an instaUation exit for the STATUS, OUTPUT, and CANCEL command
processors.
• Write an instaUation exit for the COPY, MOVE and RENUM subcommand of EDIT.
• Tailors the message control program (MCP) to suit the installation's needs. See TeAM
System Programmer's Guide.
• Constructs the IKJPRMOO member of SYSl .PARMLIB to set terminal I/O coordinator
(nOe) parameters. See the discussion of IKJPRMOO in System Programming Library:
Initialization and Tuning Guide.
• Constructs the TSOKEYOO member (or an alternate member) of SYSl .PARMLffi to set
VfAM temllnal I/O coordinator (vnOC) parameters. Refer to System Programming
Library: Initialization and Tuning Guide.
• Writes any editing, attention handling, and nonsupported terminal exit routines that are
desired. Refer to MVS vnoc and TeAS Logic.
Regardless of the access method being used, a system programmer does the following:
• Writes the LOGON cataloged procedure(s) and includes them in a procedure library.
NoM: No BRDR procedure is needed for MVS, since the background reader for submitted
jobs has been replaced with a direct interface from the SUBMIT command to a job entry
subsystem internal reader (INTRDR).
The cataloged procedure used to start the MCP also must define the line addresses
dedicated to TCAM. This is done by issuing the LINEGRP macro instruction (nsed in
generating the MCP) to specify the ddname of the DD statements that define the
communication lines as data sets. For more information, see TeAM System Propammer's Guide.
I. Code a PROCxx DD statement for the library in the JES2 or JES3 procedure.
2. Specify .u in the PROC=.u parameter for the & TSU job class in the JES2 or JES3
initialization parameters. (See OS/VSl System Programming Library: JFS2 or OS/VSl
System Programming Library: JFS3.)
LOGON cataloged procedures must reside in the data set defined in the procedure used
to start the primary job entry subsystem. This data set may be either SYSI.PROCLm or
a partitioned data set dedicated to LOGON procedures.
No*: During LOGON, the step allocation routine does not wait for an unavailable volume. If
this condition arises, the LOGON request fails immediately.
• Data sets the user wants for his TSO sessions should be placed in a LOGON procedure.
This technique has these advantages:
2. Provides recovery from an offline device condition. Messages tell the operator to
'VARY' the device online.
3. Saves repeated allocation and freeing of the same data set by successive commands in
the same TSO session.
• The DYNAMNBR parameter value in the EXEC should be carefully chosen. The value
sfJ.ould be large enough so that it is not readily exceeded by dynamic allocation requests.
Note that the maximum number of concurrently allocated resources for any TSO session
is 1635.
No�: Although the LOGON will take longer to complete, the overall TSO performance should
be better.
TSO uses the following search order (listed 1 through 5) to obtain the region size that is to be
.
allocated to a TSO user:
Seardl ONer Effedtr. R..... SIu
N_:
• All these effective region sizes are used in conjunction with the IEALIMIT control.
(Consult Syotem Programming Ubrary: Supe",lo.r for details about IEALIMIT control.)
• The region size value specified "for locations 1. 2, and 3 (in search order) cannot exceed
the UADS MAXSIZE, except when a logon pre-prompt exit indicates to LOGON to
ignore the· UADS MAXSIZE value.
EXEC Parameters
The DYNAMNBR parameter value in the EXEC statement should be carefully chosen. The
value should be large enough so that it is not readily exceeded by dynamic allocation requests.
If you need job step timing, include the TIME parameter on the EXEC statement in the
LOGON procedure.
Any PARM operand on the EXEC statement is interpreted by the terminal monitor
program as the first line of input from the terminal. This input could be a command or the
implicit execution of a command procedure containing setup commands for the TSO user.
Data sets needed by a processing program such as a compiler or a system utility can be
defined dynamically through the ALLOCATE command or through dynamic allocation.
Data sets the user wants for his TSO sessions should be placed in a LOGON procedure.
This technique has three advantages:
2. Provides recovery from an offline device condition. Messages tell the operator to VARY
the device online.
3. Saves repeated allocation and freeing of the same data set by successive commands in
the same TSO session.
Certain DD statements have special meaning and can be included in a LOGON procedure
depending upon the installation's needs. They are:
SYSPROC - The SYSPROC DO statement defines the current command procedure library
to the TSO EXEC command when the implicit form of the TSO EXEC command is
used. The data set described by this DD statement must be partitioned with a record
format of V. VB, F or FB. This statement can be defin.ed in the LOGON procedure or
can be dynamically allocated using the ALLOCATE command.
SYSUADS - The ddname SYSUADS is used by the ACCOUNT facility to access the user
attribute data set (UADS). SYSUADS can be allocated in the LOGON procedure 6r it
can be dynamically allocated using tbe ALLOCATE command. Only those users
authorized for the ACCOUNT command should have the SYSUADS DO statement
included in their procedure.
Figure 2 shows a sample listing of a LOGON cataloged procedure. The sample LOGON
procedure can be useful to a programmer using Assembler F. The statements specify the TSO
standard TMP for execution; define the library for the users EXEC commands, the work data
sets for the assembler, the command procedure library. and the assembler macro library; and
specify that SYSIN and SYSPRINT are to be directed to the user's terminal.
//AFPROC
//SYSUTI DDEXEC PGM=IKJEFT01, ,DYNAMNBR=7
DSN=&SYSUT1 UNIT=SYSDA,SPACE=( 1700,(400,
1700,(400,5050 )) ))
//SYSUT2
//SYSUT3
//SYSPROC DDDDDD DSN=&SYSUT2,
DSN=&SYSUT3, UNIT=SYSDA,SPACE=(
UNIT=SYSDA,SPACE=( 1700,(400,50 ) )
DSN=CLIST.PROC.LIB,DISP=SHR
//SYSLIB
//SYSIN DDDD DSN=SYS1.
TERM=TS MACLIB,DISP=SHR
//SYSPRINT DD TERM=TS
fIcwe 1. Sample I.Jstida of LOGON Cataloaed Procedure
The following paragraphs explain the algorithms used in allocating EDIT's utility work data set
space when editing an existing data set or a new data set. These algorithms are used unless the
EDIT utility work data sets are otherwise allocated by the installation. If the installation
pre-allOCates EDIT's work files, the EDIT access method space management is not in effect.
WAt" Edit;. all bUti. Da. S#!t - Two times the «total number of characters contained
within the data set plus additional requested records (.) divided by the average block size of
4096) plus 2) gives you the initial space size in 4K blocks. Dividing the initial space size by
two gives you the secondary space size.
Example
Wlltft Edhirtg a NN DatIl Sd - A new data set has four blocks with the average block size
of 4096 for the defaulted initial space and one half that amount for its secondary space. If it
contains 80-character records, it has a total capacity of approximately 1300 records.
sysedit - sysedit is a sample ddname for the & EDIT data set. When a DO statement is
included for & EDIT, dynamic allocation recognizes that the & EDIT data set is
permanently allocated. Thus, the & EDIT data set allows an installation to control the
allocation of & EDIT utility data sets, and to control the direct access space used for
these data sets.
sysedlt2 - sysedit2 is a sample ddname for the EDIT2 data set. When a DD statement is
included for & EDIT2, dynamic allocation recognizes that the EDIT2 data set is
pennanently allocated. Thus, the & EDrn data set allows an installation to control the
allocation of EDIT utility data sets and to control the direct access space used for these
data sets.
Introduction
After system generation. the system programme r must ensure that UADS and broadcast data
sets are available to the system. Both data sets have a specific fonnat for MVS. The data sets
are created in MVS format. The LOGON processor can handle either old or new formats of
the VADS. but the data set must be in MVS fonnat in order to modify or add an entry. The
broadcast data set must be in MVS format. After the UADS and broadcast data sets are
established, authorized individuals can update them by adding, changing, or deleting entries.
Neither the UADS nor broadcast data sets should be placed on a shared DASD device that
is accessed by more than one CPU. Sharing of these data sets is not supported.
The ACCOUNT command and its subcommands are used to create and update the entries in
the UADS. SpecificaUy, the ACCOUNT command can:
To use the ACCOUNT command under TSO, a terminal user must be authorized by the
instaUation. The ACCOUNT command and its subcommands are explained in "Part 2:
Reference - TSO Commands" in this publication.
To permit creating and maintaining the UADS and broadcast data sets from a batch job,
MVS aUows the terminal monitor program (TMP) to execute as a batch job that creates a
"TSO environment" for ACCOUNT and its subcommands. Thus, the UADS and broadcast
data sets can be created or maintained with or without having TSO active.
The SYS1.UADS data set does not have to be reformatted before using TSO. However, you
should be aware of the following points if you continue to use the old format:
• The ACCOUNT command will cause entries to be added to SYS1.UADS in the new
format.
• The accounting fields are different in the new format. When the system resource manager
updates accounting fields in SYS1.UADS, it assumes that SYSl .UADS exists in the new
format.
• A user cannot use the MVS parameters of the ACCOUNT subcommands unless
SYSl.UADS exists in the new fonnat.
Creating a new VADS by reformatting the old VADS before execution is accomplished by a
batch job via the UADSREFM program, which operates under the TMP. In addition, the
UADSREFM program can eliminate wasted space in the UADS caused by the periodic
additions, deletions, and changes to VADS entries. The UADSREFM program reads a member
from the old VADS, builds a logical copy of that member, eliminates any inefficient space, and
places the newly-formatted member in the new UADS. This process is repeated automatically
for each member in tbe new UADS. The UADSREFM program will not. however, reformat a
users entry if the user is currently logged on the system; a message is written for every user
that was not reformatted because the userid was in use. You must invoke the UADSREFM
program if you change the blocksize of the UADS.
The UADSREFM program is invoked by executing the terminal monitor program and
supplying a command, UADSREFM, in the SYSIN stream. Two DD statements are required
by the UADSREFM program. A SYSUADN DD statement specifies the input UADS, which
can be in MVS format or the format from previous releases. The SYSUADS DD statement
specifies the output UADS, which will be in MVS format.
The user attribute data set (UADS) is basically a list of terminal users who are authorized to
use TSO. The UADS contains information about each of the users, and is used to regulate
access to the system. There is an entry in the UADS for each tenninal user. Each entry
consists of the following information:
A user identification.
• One or more passwords. or a single null field, associated witb the user identification.
• One or more account numbers, or a single null field, associated with each password.
One or more procedure names associated with each account number. Each name
identifies a procedure that may be invoked when the user enters the LOGON command.
• The region size requirements for each procedure.
• The name of the group of devices that the procedure will be permitted to use. Data sets
located via the catalog are an exception.
• The authority to use or a restriction against using the ACCOUNT command.
• The authority to use or a restriction against using the OPERATOR command.
• The authority to use or a restriction against using the SUBMIT, STATUS, CANCEL, and
OUTPUT commands.
• Maximum region size allowed.
• Installation-defined data.
• The authority to specify or a restriction against specifying periormance groups during
LOGON proceSSing.
• The authority to specify or a restriction against specifying dynamic allocation requests for
volume mounting.
The organization of the information contained in the UADS is shown in Figure 3, Figure 4
shows the simplest structure that an entry in the UADS can have, and Figure 5 shows a more
complex structure,
UAOS Inde)(
User 10 '\ 7
The user identification identifies the entry and user
attributes, and points to the password fields.
J
v
Password '"
Each password field points to the account number fields
that are associated wlth the password.
Account
7
Each account number field points to the procedure names
that are associated with the account number.
I "-
(To other procedure names)
)
v
Procedure ..
Associated with each procedure are region size
requirements and device group.
Other attributa.
Password
To create the VADS and broadcast data sets from a terminal, add to tbe procedure library a
LOGON procedure named IKJACCNT. During system generation, one userid (mMUSER) is
copied into tbe newly-created VADS. mMVSER is autborized to use one LOGON procedure,
IKJACCNT. A sample IKJACCNT LOGON procedure foUows:
Lng on again with a new userid tbat has ACCOUNT autbority. Enter the ACCOUNT
command and issue the DELETE subcommand to delete the mMUSER use rid.
Creatillg the UADS alld Broadcast Data Sets with a Batch Job
You can execute the ACCOUNT facility as a batch job. Use the SYNC subcommand of
ACCOUNT to format a skeleton for the broadcast data set. Then, as each userid is added to
VADS via the ADD subcommand of ACCOUNT, a corresponding entry is made in broadcast
data set. mMUSER, a userid witb ACCOUNT autbority provided during system generation,
can be used to create a new UADS. Because a new UADS bas been created, mMUSER
should be deleted. Figure 6 is sample listing sbowing tbe creation of VADS and broadcast with
a batcb job. An explanation of this JCL can be found under "Executing tbe TMP as a Batch
Job."
IIIISYSTSPRT JOB
//jobnarne EXEC job card parameters
PGM=IKJEFTOl
DO SYSOUT=A
IISYSUADS
IISYSLBC DO
DO DSN=uads created during sysgen
DSN=SYS1.BRODCAST,DISP=SHR
IISYSTSIN
ACCOUNT DO *
SYNC
ADD new userid ( see ADD subcommand of ACCOUNT for other operands)
DELETE
END ( IBMUSER)
1*
..... . :TSOS._ II
COllvertillg the UADS alld Broadcast Data Sets
To convert the UADS and broadcast data sets execute the ACCOUNT facllity with a batch
job. Use the UADSREFM program to create an MVS UADS containing the userids from the
old format UADS. Use the SYNC subcommand of ACCOUNT to format an MVS broadcast
data set with an entry for each userid in the UADS. IBMUSER, a userid with ACCOUNT
authority provided during system generation, can be used to create a new UAOS. Because a
new UADS has been created, ffiMUSER should be deleted. Figure 7 is a sample listing
showing the conversion of UADS and broadcast. An explanation of this JCL can be found
under "Executing the TMP as a Batch Job."
//jobname
IIIISYSTSPRT JOB
EXEC job card parameters
PGM=IKJEFTOl
/ISYSUADN DD
DD SYSOUT=A
DSN=old format
format uads
uads
//SYSUADS
IISYSLBC DD
DD DSN=MVS
DSN=SYS1.BRODCAST,DISP=SHR
/ISYSTSIN
UADSREFM DD *
ACCOUNT
SYNC
DELETE
END IIBMUSER)
1*
To maintain UADS and broadcast from a terminal, a terminal user must log on with a userid
that is authorized to enter the ACCOUNT command. The terminal user must also ensure that
the UADS to be updated is allocated to the SYSUADS 00 statement (either in a LOGON
procedure or via an ALLOCATE command), The actual changes to UADS are accomplished
by issuing the ACCOUNT command followed by its subcommands.
The tenninal monitor program (TMP) is attached APF-authorized and executes supervisor
state and problem program key, It provides an interface between the user, command
processors, and the TSO control program, The TMP is called in one of two ways:
The tenninal monitor program (TMP), if invoked in the background, creates a TSO
environment so that the TSO service routines, ACCOUNT and its 5ubcommands, PROFn..E,
and the access method services utilities can function, The DO statements SYSIN and
SYSPRINT bave been replaced by SYSTSIN (for input) and SYSTSPRT (for output) when
executing the TMP as a batch job, Input for a GETLINE is obtained from the data set defined
by the SYSTSIN 00 statement. The TMP issues tbe STACK macro instruction to put the
SYSTSIN data set on the input stack, Messages issued via PUTLINE are written to the data
set defined by the SYSTSPRT DO statement.
Multilevel messages are automatically written out as if a question mark(?) had been entered,
The commands that are read from SYSTSIN are logged on SYSTSPRT. Because of this, the
commands and subcommands can be entered via '$YSTSIN. Each command must begin on a
profile prefix(userid)
at the beginning of the SYSTSIN stream.
Note: The SYSTSIN and SYSTSPRT DD statements may refer to a sequential or partitioned
data set. If the data set is partitioned, the member-name must be specified on the DD
statement as DSN�pdsname(membemame). The SYSTSIN data set cannot be a concatenated
data set.
Maintaining the UA.DS and Broadcast Data Sets with a Batch Job
To maintain the UADS broadcast data sets, use the JCL described above. [n addition, three
other DD statements may be used:
Note: Any job that invokes the TMP in a batch job is given the authorization to execute the
ACCOUNT command. For security, the UADS should be password protected or a JCL exit
should be written to limit access to the background TMP.
To start TCAM, the system operator must enter the START command as follows: START
TCAM, (where TCAM is the name of a procedure that executes the TCAM MCP).
To terminate all time-sharing users' connections with the system, the system operator must
issue the MODIFY command:
modify tcam,ts=stop
For more information on START and MODIFY commands, see Operator's Library: OS/VS
TeAM.
If the users of the TSO EDIT command require the ability to save their data sets with the
SAVE subcommand, the installation must ensure that the DASD volume(s) to which the users
will save are mounted with the attribute of "STORAGE",
The installation must write a cataloged procedure for starting TSO/VTAM time sharing, and
include it either in SYSl .PROCLm or in an installation-defined procedure library. The
cataloged procedure must contain the following statements:
PROC
to name the ,cataloged procedure and, optionally. to assign default values to symbolic
parameters defined in the procedure.
EXEC
to identify the program, IKTCASOO, to be executed.
PRINTOllT DO
to identify where the time-sharing parameters that are used should be listed.
other characters that are available, such as "L", "]". and "!". The CHAR and TRAN operands
of the TERMINAL command are used to specify replacement characters. (The TERMINAL
command invokes the SITRAN macro instruction to set up the translation tables.)
Specifying character translation causes installation-written translation tables or default
(IBM-supplied) translation tables to be used. Default translation tables are a part of the
TSO/VTAM programs; they translate each character to itself. The different combinations of
the CHAR and TRAN operands that can be specified by users arc:
CHAR (characters ) alone. This causes a copy of the default translation tables (in the user's
storage) to be updated according to the characters specified. The updated tables are used
to translate aU inbound and outbound characters, for as long as the terminal session lasts
or until NOCHAR or NOTRAN is specified.
• TRAN (name ) alone. This causes a copy of the translation tables located in name to be used
to translate aU inbound and outbound characters, for as long as the terminal session lasts
or until NOTRAN is specified.
• CHAR (characters ) and TRAN (fUlme ). This causes a copy of the translation tables located
in name to be updated according to the characters specified. The updated tables are used
to translate aU inbound and outbound characters, for as long as the terminal session lasts
or until NOCHAR or NOTRAN is specified.
1 . Code a pair o[ translation tables, one for input (to TSO) and one [or output (to the
tenninal). with each pair in a control section. Each control section must consist o[ a
fullword containing the address of the output table, followed by a 256-byte EBCDIC
table (on a fullword boundary) for translating the inbound code, followed by a 256-byte
EBCDIC table for translating the outbound code. The tables must be formatted
according to tbe rules for the TRANSLATE instruction (refer to IBM System/370
Principles of Operation). Translation of numbers and uppercase letters is not allowed.
3. Link-edit the translation tables into a load module library. One CSECT is allowed per
member.
4. Place a JOBLm DO or STEPLm DO statement, containing the name of the load module
library, into a LOGON cataloged procedure that the user will specify when logging on.
Figure 8 shows translation tables that translate the characters 'T' (represented by X'AD'),
14]" (represented by X'BO'), and "'" (represented by X'SA') to " < " (represented by X'4C').
">" (represented by X'6E'), and " I " (represented by X'4P'). (To help find these characters
in the example they are printed in bold type.) All other characters are translated to themselves.
Assuming these tables are located in a member named TRTAB l , and the name of the data set
containing the member was specified in a LOGON cataloged procedure when the user logged
on, the user would specify:
terminal tran ( trtabl )
to use them.
In the course of SUBMIT command processing, the exit routine may be passed each JCL
statement that is submitted. By setting return codes and switches and by passing parameters to
the SUBMIT processor, the routine can control the statements passed to it. The return codes
and switches also deteonine subsequent calls to the exit routine. The return codes (to be set in
register 15 before the exit routine returns control to the SUBMIT processor) are :
o Continue (that is, process the current statement and read the next).
4 Reinvoke the exit routine to obtain another statement (that is, process the current
statement and invoke the exit routine again so that it can insert a statement).
8 Display message 1KJ56283I (message text is supplied by the exit rou,ine) at the terminal
and invoke the exit routine. The exit routine must obtain the message text area and may
free it when reentered.
1 2 Display prompting message 1KJ56280A (message text is supplied by the exit routine) at
the tenninal, obtain a response, and invoke the exit routine. (If the user has specified
NOPROMPT on a PROFILE command or uses a CLIST without the PROMPT
keyword, this will cause the SUBMIT processor to issue a message and terminate the
SUBMIT command.) The SUBMIT command processor must obtain and free the reply
text area. The exit routine must obtain the message text area and may free it when
reentered.
1 6 Terminate the SUBMIT command. (The exit routine should first use return code 8 to
issue a message to the user.)
Undefined return codes cause the SUBMIT processor to issue an error message and
terminate.
Upon entry, register 1 contains the address of a pointer to an eight-word parameter list. The
system programmer can issue the IKJEFFIE mapping macro instruction to format this
parameter list and to assign equates for return codes by coding:
ikjeffie ietype=submit
As a result, two assembler DSECTs named IEDSECTD and IESUBCTD are created (see
OS/VS2 Datil Areas, (microfiche) for the format of each DSECT). After establishing
Word 1
contains the address of the current statement. If word 1 is zero, it indicates a request for
the exit routine to supply the next JCL statement (return code from previous call of the exit
routine was 4). To delete the current statement, the exit routine must set this word to zero.
The exit routine can also change the statement and issue return code 0 or 4 to have the
statement processed.
Word 2
contains the address of a message to be displayed on the user's terminal, supplied in
conjunction with return code 8 or 12. If word 2 is non-zero on entry, the return code from
the previous call to the exit routine was 8 or 12. The exit routine must obtain the message
buffer and may free it when reentered. If word 2 is zero, no message is present (the
previous return code was 0 or 4, or this is tbe first call). The fonnat of the message is
"LLtext" , where LL is a two-byte field containing the length of the message text area
(including the LL field). The maximum text length is 246 bytes.
Word 3
contains the address of the response from the terminal user if the exit routine's previous
return code was 12. When this field is non-zero after calling the exit routine. the SUBMIT
command processor frees the buffer. The fonnat of the response is "LLtext", where LL is a
two-byte field containing the length of the reply (including the LL field).
Word 4
contains the address of userid. The userid is eight characters left-justified, padded with
blanks.
Word 5
contains the address of the control switches, which are contained in a fullword. Byte 0
specifies under what conditions the SUBMIT command processor will call the exit routine:
Byle Bil Meaning
o o Call exit routine (or JOB card
1 EXEC
2 DD
3 Command
4 Null
5 /*l< in card columns 1-3 (]ES2 or JES3 (ASP) control card - with /* in 'columns 1 and
2 and a nonblank character in column 3)
6 //* in columns 1-3 (comment card or JES3 control card)
7 Reserved.
By default, the SUBMIT command processor enters the exit routine for JOB cards only.
The exit routine can change the setting of these bits to control when it will be entered. For
example, the exit routine can set bit 3 to request control when operator commands (or
PROC or PEND statements) are found in the submitted JCL.
Byte 1 (if non-zero) indicates the card column where the operand field begins. For example,
if the operand field begins in column 16, byte 1 contains hexadecimal 10. A value in byte 1
is supplied for all statement types.
The operand field is interpreted as follows for JES2 control statements and comment
statements:
/*JES2CTLSTMT OPERAND
II' OPERAND
II'COMMENT OPERAND
II'JES3crLSTMT OPERAND
The first statement is interpreted as a JES2 control statement. (Bit 0 of byte 3 is on.)
If bit 3 in byte 2 is on, the current JCL statement has // in columns I and 2 but has not
been recognized as a JOB, EXEC, or DD statement. The SUBMIT command processor
assumes that the II statement is an operator command entered into the input stream.
Continuation is supported for aU statement types except comment statements, lES2 control
statements, and lES3 control statements. A comma as the last character of the operand, or
a nonblank: character in column 72 indicates continuation. If a statement has a comma as
the last character of the operand, bits 5 and 6 of byte 2 are on. If a statement has a
nonblank character in column 72, and the last character of the operand is not a comma, bit
6 of byte 2 is on.
When comment statements appear between continuation statements, aU of the following bits
are set:
• Continuation (bits 5 and 6 of byte 2, or bit 6 of byte 2 alone)
• Statement type for the statement being continued (one of bits 0 through 4 of byte 2)
The exit routine is not passed the preceding JCL statements if they are in a DD DATA (or
DO *, for I*X cards) input data stream.
Word 6
reserved for the exit routine's use. The first time the SUBMIT command processor calls the
routine, word 6 is initialized to zeros: The routine can use the word for counters or
switches. The value is not changed between calls.
Word 7
contains the address of reconstructed LOGON job accounting information for the user. The
SUBMIT command processor inserts this information into generated JOB cards.
Word 8
contains the address of a halfword that contains the length of the job accounting
information.
NfJIIe: Normally an installation exit routine issues a message by setting a return code, putting
a message address in word 2 of the parameter list, and returning control to SUBMIT command
processor. If the exit routine wants to issue a message with a second level via PUTLINE or
PtITGET, it must issue a MODESET macro instruction to change to key O. After issuing tbe
message, the routine must issue MODESET again to change back to key I.
The installation-written exit routine for OUTPUT, STATUS, and CANCEL commands is also
common to all three command processors. The exit routine determines via a command code (in
word 7 of the parameter list) which command processor is invoking it. The installation-written
routine must be link-edited in SYS1.LINKLm as an independent module named IKJEFF53,
with reusable, reenterable, and refresbable link-edit characteristics. All three command
processors issue LOAD and CALL macro instructions for the exit routine and pass control in
key 1 (scheduler key) and in supervisor state for protection purposes. (A terminal user cannot
have a revised version of the exit routine in a LOGON procedure's step library and cannot
pre-load a revised version using the TEST command because ooly the system link list is used
for the LOAD.) The exit routine must follow standard linkage conventions.
After determining tbe action it wishes to take, the exit routine indicates the action to the
appropriate command processor by setting the return code in register 15. The return codes are:
4 Display message IKJ56208A (message text is supplied by the exit routine), get a
response, and call the exit routine again with the same johname. If the terminal user has
specified NOPROMPT on a PROFILE command or uses a CLIST without the
PROMPT keyword, the command processor terminates and issues a message to the
terminal.
1 2 Invalid jobname : cancel request for this job, then continue checking any other jobname
on the command. The exit routine should first use return code 8 to issue a message.
1 6 Terminate the CANCEL, OUTPUT, or STATUS command. The exit routine should first
issue an error message. using return code 8.
Undefined return codes cause the command processor to issue an error message and
terminate.
Upon entry to the installation-written exit routine, register 1 contains the address of a
ten-word parameter list. The system programmer can issue the IKJEFFIE mapping macro
instruction to format this parameter list. For CANCEL or STATUS, issue:
ikjeffie ietype=canst
As a result, an assembler DSECT named IEDSECTD is created. For OlJfPUT, issue:
ikjeffie ietype=output
As a result, two assembler DSECTs named IEDSECTD and IEOUTPLD are created (see
OS/VS2 Data Areas, (microfiche), for the format of each DSECT). Alter establishing
addressability with each DSECT, the system programmer can refer to the DSECT fields by
name.
Word I
contains the address of the jobname.
Word 2
contains the address of a halCword that contains the length of the jobname.
Word 3
contains the address of tbe userid.
Word 4
contains the address of one byte that contains the length of the userid.
Word 5
contains the address of a message to be displayed on the terminal, supplied by the exit
routine when the routine specifies return code 4 or 8. The format of a message is "LLtext"
where LL is a two-byte field containing the length of the entire message (including the LL
field). The maximum text length is 246 bytes. The exit routine must obtain and may free
the message text area.
Word 6
contains the address of a response from the terminal user if the exit routine's previous
return code was 4. The format of the response is "LLtext" where LL is a two-byte field
containing the length of the entire reply (including the LL field). The caller of the exit
routine obtains and frees the reply text area.
Word 7
contains the address of the one-byte caUer command code. The command codes are:
o STATUS command
4 CANCEL command
8 OUTPUT command
Word 9
contains the address of a halfword that contains the jobid length. The length field is zero if
jobid was not specified.
Word 10
(for OUTPUT command) contains the address of a list of pointers and bilS reflecting the
syntax entered by the terminal user. The total length of this list is five fullwords, with the
following contents:
Word 1 -pointer to the first class parse descriptor entry (PDE) on the chain of PDEs. This
word is zero if class was not specified on OUTPUT command.
Word 2 -pointer to the print-data-set-name PDE. This word is zero if the data set name
was not entered.
Word 3 -pointer to the new clas� POE. This word is zero if the new class was not entered.
Word 4 -pointer to the destination POE. This word is zero· if the destination not entered.
Word 5 -only the first one and one-half bytes (high-order) are used to reflect the
user-entered syntax as follows:
'8000' PAUSE (if off. assume NOPAUSE or not applicable)
'4000' HOLD (if off, assume NOH OLD or not applicable)
'2000' HERE
'1 000' BEGIN
'0800' NEXT
'0400' DELETE
'moo' PRINT
'0100' NEWCLASS
'0080' KEEP (if off. assume NO KEEP or not applicable)
'OO4{J' DEST
'0020' Reserved
'0010' Reserved
The high-order bit of word 10 must be on to indicate the end of the parameter list.
Notre: The LOGON processor constructs a standard JOB card and, if SMF audit�exits are
being taken, passes the JOB card directly to SMF. If a tenninal user must insert
installation-dependent information, a LOGON pre-prompt exit is required.
The installation-written exit routine must be named IKJEFLD and must be Unk-edited with
load module IKJEFLA in SYSI .LPALIB. Consult the output from stage I for correct linkage
information. Use the system modification program (SMP) to perform this update. When the
LOGON processor receives a LOGON command from a terminal user and before it opens the
UADS, it passes control to the exit routine as a problem program. Note that when the exit
routine is given control, the JSCBPASS bit is set to one to allow access to the UADS for
additional user verification. The exit routine can use tbe I/O service routines through
assembler macro instructions (STACK, PUTLlNE, GETLINE, PUTGET). The macros require
the addresses of the ECf and UPT, two of the parameters passed from LOGON processor.
When the exit routine receives control, register 13 points to a register save area. Register 1
points to a list of addresses, one address for each parameter. (See Figure 9 for the ronnat of
the address list. The parameters can be given any name; their meaning is determined by the
order of appearance. The names used in the following explanation are for illustrative purposes
only.) Four address list entries point directly to the data area. Each of the other entries points
to a two-word descriptor: the address of the data area (four bytes) , the maximum lengtb of the
data area (two bytes), and the current length of the data actually in the data area (two bytes).
32
I 32 I
Control Switches
I
t Input Buffer Desc.
I
• Input Buffer
252 I 252
I
Input Buffer
I
t Userid Oesc.
I
• Userld
7
I 0 I Userid
I
t Pessword Oesc. • Password
8
I 0
I
Password
J
t Account Number Desc.
• Account Number Account Number
I
I 40 I a
t
J
Procedure Name Dasc.
• Procedure Name Procedure Name
I J I
I 8 0
t Region Size
Region Size
I
t JCL Oesc. • JCL Cards
800
I 0 I
1 0 JCL Card Images
I
•
I
New Password
I
• System A l1ributes
16
I 0
I
Synem Al1rib. Bits
I
t User Attribute Dosc.
I
• User Attributes
16
I 0
I
I
User Attrib. Bits
I
.J
t Generic Unit Desc.
I
• Generic Unit
8 I 0 I
Generic Unit
I
t UPT Desc.
4 UPT Image
I
UPT I mage
I
I 192
I 192
I
t ECT Desc.
• ECT ECT (Actual)
I
448
I 448
t cancel ECB
CHCECB
I
t Lsst Step Completion Code
LWAATCD
I
t Performance Group Performance Value
The data address field, the maximum length field, and the addresses in the address list must
not be altered. These fields are checked by the LOGON processor and must be the same upon
return as they were upon entry. If they are altered, an appropriate error message is issued and
the LOGON processor terminates.
Parameter Descriptions
Control S";tcbes: The control switch bits set by IKJEFLD indicate to the LOGON processor
that the exit routine has passed the corresponding parameter in the data area or indicate an
action to be taken by the LOGON processor. The control switch bits set by the LOGON
processor indicate to the exit routine that certain system conditions exist. The bit configuration
is as follows:
N_:
• If the don't-prompt bit is set to one, the values for userid, password, account, procedure,
region size, and performance group data areas must be supplied. If the no-UADS bit is
set to one also, then system attributes, user attributes, generic group, and UPT data areas
must be supplied.
Reserved
This bit is reserved.
Resource failure
bit is set to one by the LOGON processor to teU IKJEFLD that the LOGON processor was
unable to obtain a resource other than the userid.
Disconnect
bit is set to one by IKJEFLD to tell the LOGON processor to tenninate the session. The
LOGON processor sends no further message to the terminaL
No UADS
bit is set to one by IKJEFLD to teU the LOGON processor not to look at the UADS to
verify the userid, account number, etc, This bit is ignored if the don't-prompt bit is off. If
this bit is on, no access to the UADS is made by LOGON/LOGOFF processing.
JCL
bit is set to one by IKJEFLD to teU the LOGON processor that IKJEFLD has supplied a
maximum of ten SO-byte JCL cards (in standard format).
Reserved
This bit is reserved.
System attributes
bit is set to one by IKJEFLD to teU the LOGON processor that IKJEFLD has supplied the
system attribute bits.
User attributes
bit is set to one by IKJEFLD to teU the LOGON processor that IKJEFLD has supplied the
user attribute bits.
Generic group
bit is set to one by lKJEFLD to teU the LOGON processor that IKJEFLD has supplied a
generic group name.
UPT
bit is set to one by IKJEFLD to teU the LOGON processor that IKJEFLD has supplied the
UPT.
Don't ENQ
bit is set to one by IKJEFLD to teU the LOGON processor not to ENQ on the userid,
implying that. more than one user can log on with the same userid. The No-UADS bit must
also be set to one for this bit to have any effect.
Destination
set to one by IKJEFLD to tell the LOGON processor that IKJEFLD has supplied the
default SYSOUT destination.
Abend
set to one by the LOGON processor's ESTAI retry routine to indicate to IKJEFLD that an
abend has occured
r and the LOGON processor is retrying one more time.
Input buffer: Contains the text portion of the input line entered from the terminal. It is
obtained by the LOGON processor and passed to IKJEFLD. IKJEFLD may alter the input
buffer. Maximum and current length are in bytes.
Userid: IKJEFLD passes a userid to the LOGON processor. The don't-prompt bit must be set
to one in order for the LOGON processor to accept the userid. Maximum and current length
are in bytes.
Passwoni: IKJEFLD returns a password to the LOGON processor. The don't-prompt bit must
be set to one in order for the LOGON processor to accept the password. Maximum and
current length are in bytes.
Procedure: IKJEFLD passes to the LOGON processor the name of a cataloged procedure
containing JCL to define the resources needed by the terminal job. The don't-prompt bit must
be set to one in order for the LOGON processor to accept the procedure name. Maximum and
current length are in bytes.
Region size: IKJEFLD passes to the LOGON processor a fullword containing the region size,'
in hexadecimal, for the terminal job. The don't-prompt bit must be set to one in order for the
LOGON Processor to accept the region size.
JCL: IKJEFLD provides JCL statements that define terminal job resources. This JCL is used
instead of the JOB and EXEC statements constructed by the LOGON processor. The JCL
field is 800 bytes (maximum) in length; therefore, ten card images (maximum) can be passed
to the LOGON processor. The LOGON processor expects the JCL data to be in card image;
each 80 bytes of the area should contain a full SO-byte JCL card in standard format. Updating
the current length field tells the LOGON processor the number of cards being passed (80 x N
cards). The JCL bit must be set to one by IKJEFLD for the LOGON processor to accept the
JCL supplied. Maximum and current length are in bytes.
New password: For RACF, returns a new password to the LOGON processor, which will
replace the current password. The don't-prompt bit must be set to one, in order for the
LOGON processor to accept the new password. Maximum and current length are in bytes.
System attributes: lKJEFLD returns a value to the LOGON processor for the PSCBATR I
string in the PSCB. Either the system-attributes bit is set to one or don't-prompt and
no-UADS bits are set to one. See OS/VSl Data Areas, (microfiche), for a descriptj'.ln of the
PSCB. Maximum and current length are in bits.
User attributes: IKJEFLD returns a value to the LOGON processor for the PSCBATR2 string
in the PSCB. Either the user-attributes bit is set to one or the don't-prompt and no-VADS bits
are set to one. See OS/VSl Data Areas, (microfiche), for a description of the PSCB. Maximum
and current length are in bits.
Generic group: IKJEFLD returns a value to tbe LOGON processor for the PSCBGPNM field
of the PSCB. The group name is initialized from the UADS by the LOGON processor unless
the generic-group bit is set to one or the don't-prompt and no·UADS bits are set to one by
IKJEFLD. See OS/VSl Data Areas, for a description of the PSCB. Maximum and current
length are in bytes.
UYI": The LOGON processor passes a UYI" containing binary zeros to IKJEFLD. This UYI"
can be updated and returned to the LOGON processor if tbe UYf bit is set to one or the
don't-prompt and no-UADS bits are set to one. See OS/VSl Data Ar.... for a description of
the UPT. Maximum and current length are in bits.
ECT: Passed to IKJEFLD, may be modified by lKJEFLD, and will be used by the LOGON
processor. This is the actual ECT built by the LOGON processor. IKJEFLD need not set any
bit to teU the LOGON processor to accept the ECT. Maximum and current length are in bits.
Cancel ECB: The BCB used by the system for cancel processing. This ECB can be read but
not altered by IKJEFLD. If cancel ECB is nonzero, the LOGON processor terminates the
present session.
Default SVSOUT destination: IKJEFLD returns to the LOGON processor the default
SYSOUT destination ror a userid. Maximum and current length are in bytes.
Group: For RACF. returns a group name to be used as the user's current connect group. The
don't-prompt bit must be set to one, in order Cor the LOGON processor to accept the RACF
group identification. Maximum and current length 3re in bytes.
A sample LOGON pre-prompt exit is shown in Figure 10. Besides perfonning housekeeping
functions and satisfying linkage conventions, the exit routine supplies two JCL statements
(JOB and EXEC) and updates the current length field to indicate that the data area contains
160 bytes of data. The exit routine also sets the JCL control switch bit to one to teU the
LOGON processor that the JCL parameter is being passed.
RSR6Rl EQUEQU 1
67 S
01
LM
O(RE,RC,
RS ),X'02'
12( RDI TURN ON JCL
RESTORE SWITCH
REGISTERS
OURJCL DCDCBR C'C'//IBMUSER
14
JOB
MSGCLASS=M,TIME=1439
EXIT
(D72598,9,OPR),IBM,MSGLEVEL=1 ' ,'
OUREXEC DCDC C'//STI
C' EXEC IKJACCNT
OURCNT DCEND H' 160' UPDATED CURRENT LENGTH
....e
.. to. Sample UstIne of a LOGON Pre-Prompt Edt
However, the RENUM, MOVE and COPY subcommand processors cannot handle certain
data set types (for example, VSBASIC data sets) that can have embedded line references
(using a line number as a destination or statement "label" in a statement that passes control,
such as GOTO statements). Thus, an installation may want an exit routine that renumbers,
moves, records and copies records in an in-storage data set, adjusting line references as
necessary. An exit routine can also be used to nag a statement (for example, by adding a
comment at the end of the statement) or to use a non-standard numbering scheme.
If an installation-written exit routine is Dot supplied for the VSBASIC program product, an
mM-supplied exit routine (supplied with the VSBASIC program product) receives control. The
MOVE and COPY functions are not supported by the mM-supplied exit. For a RENUM
request, the exit routine renumbers the data set's records and scans the data set for statements
that contain line references. When it encounters a line reference, the routine updates the
reference to reflect the revised line number. Upon successful completion, the exit routine
passes return code 0 to the subcommand processor. If it fails, the exit routine issues a message
to the terminal user, sets the return code to 8, and returns control to the subcommand
processor. The name of the ffiM-supplied exit routine defaults to ICDQRNME during system
generation.
The RENUM, MOVE and COPY subcommand processors issue LOAD and CALL macro
instructions for the exit routine, which can reside in a step library, in the LPA library, or in
any data set in LNKLSTxx. (The exit routine's name must previously have been specified on
the EDIT macro instruction during system generation as the DATEXIT value for the
applicable data set type(s). The default is to only have a DATEXIT for the VSBASIC data set
type.) The exit routine must follow standard linkage conventions. A work area is not passed to
the exit routine; it must obtain and release any storage needed. If storage is obtained, it must
be in subpool 1 . The routine has the use of all TSO service routines in its processing.
The exit routine receives an in-storage data set as input. After processing the data set, the
routine must return the data set to the subcommand processor. The subcommand processor
copies the data set to a new utility data set to complete the operation.
The routine is expected to periodically check the EDIT command's attention ECB for
function interruption. When an interrupt occurs, the exit routine must return control to the
subcommand processor with return code 0, after releasing all resources it has obtained.
The in-storage data set contains all records in the current EDIT utility data set in the
format prescribed by the RECFM applying to the EDIT input data set. All variable record
lengths are described by the standard header word (LL/OO). FiXed record lengths are
described by the data attribute parameters. All records by the data set are back-to-back and
are contained in a single area of virtual storage, assigned from subpool 1 .
The subcommand interface area, which con� all values in binary, consists of:
RENUM format:
orrse. (Hex) I.e.gtb Contents
o 4 Line number position
4 4 Length of line number
8 4 First line to be renumbered (0 indicates lirst line of data set)
C 4 Last line to be renumbered (X'7FFFfffF requests renumbering through end of
data set)
to 4 Line number (0 be assigned to the first renumbered line
14 4 Increment to be used
18 4 Address of current line reference (updated by exit routine before it returns control
to the RENUM subcommand processor)
MOVE/COPY format:
orrse. (Hex) I.eogtb Contents
o 4 Line number position
4 4 Length of line number
8 4 First line of MOVE/COPY range
(0 indicates first line in data set)
c 4 Last line of MOVE/COPY range
(Bit 4 of flags_ I)
to 4 Line number of line prec::eding insertion point
14 4 Increment to be used
18 4 Current line pointer
Pm I: TSO SenIces 31
The ·data attribute parameters consist of a two�word list:
,
Offset (Hex) Lenith Contents
o 4 Logical record length (in bytes)
4 4 length of the data set On bytes)
An installation can defme a data set type for the EDIT command in addition to the data set
types supplied by IBM. The installation-defined data set types, along with those supplied by
IBM, must be defined during system generation by using the EDIT macro instruction. (For the
list of ffiM-supplied data set types, see TSO Command Lanauage Rererence. For more
information on how to specify the EDIT macro instruction during system generation, see
Syslem Programming Library: System Generation Reference. The EDIT macro instruction builds a
table of constants that describes the data set attributes. The EDIT command processor
supports data sets that have the following attributes:
Data set organization Sequential or partitioned
Record format Fixed or variable
Logical record size Less than or equal to 2SS characters
Blocksize User-specified, must be less than or equal to track length
Sequence number For variable-length records, first eight characters
For fixed-length records, last eight characters
Syntax Checking
Each mM�supplied syntax checker is associated with one or more IBM-supplied data set types.
If an installation defines its own data set type(s) for the EDIT command, the system
programmer can write a syntax checker for each new data set type, if desired. Each syntax
checker and its associated data set type must be defined during system generation by using the
EDIT macro instruction (see System Programming Library: System Generation Rererence). Thus,
when a terminal user enters lines of input to an installation-defined data set type, he can
request that each line entered in input mode be immediately scanned for syntax errors.
Before a record is scanned by the appropriate syntax checker, the record is put into the
terminal user's data set. If a syntax error is found in the record just entered by the user, EDIT
displays an error message and switches from input mode to edit mode to enable the user to
correct the mistake. The formats of the records passed to the syntax checkers are described in
Figure 1 1 .
De ..
Length
L- __
__ ���LL������-JL-------------�8�--JL--------------J
8 Bytes Bytes
(N umb8r� )
L Reco� �
Record Length Deta Line Number
Line Number
,--,-tr--r:;f---,c:>??;ry'7?7::i>7?'7.>r.f-r'---/-r--,,-r--r---, Variable
Length
( N u mberect)
t�
Byte. _______ 1 �
Byte.
2
-.
Byres
2
Record Deta
A standard interface is provided to enable the EDIT modules to invoke any available syntax
checker. The EDIT modules that invoke syntax checkers, and the IBM-supplied syntax
checkers are shown with the standard interface in Figure 12. An installation-written syntax
checker can also use this interlace, which consistS of the syntax checker parameter list.
1 1 Chain 3 Address of next buffer; tet to zero if this I, last buffer In <tIeln.
4 4 Record Varl.ble Line or lines of source input data to be syntax checked; "'n be
fixed· or variable-length, numbered or unnumbered .
Contents
Disp Disp Field Field
Dec. Hex. Name Size Meaning
Setting
(Instructions to Syntax Checker)
1" 1 n Last entry release the work erea and return; syntax
-
34 OS/vSl System Pr
o .... LIInry: TSO
er
Contents
Disp Disp Field Field
Dec. Hex. Name Size Syntax
Setting Meani ng
Checker
For mM-supplied data set types and associated syntax checkers, each syntax checker
determines the attributes of the associated data set type by referring to information that EDIT
initialization sets in the option word, a fuUword in the syntax checker parameter list. However,
for an installation's own data set type and syntax checker, EDIT initialization does not place
the attribute information in the option word; the system programmer can write an exit routine
to fill in the option word for the syntax checker according to information entered by a terminal
user.
When a terminal user specifies the installation's data-set-type keyword on the EDIT
command, he can also specify a subfield. The subfield can contain any alphameric data defined
as valid, not exceeding 256 characters and not containing any blanks, tabulation characters, or
commas. This information is passed to the exit routine to be interpreted and encoded into
bytes 0 and 1 of the option word.
The exit routine name must be supplied during system generation as the USREXT value for
the applicable data set type(s) on the EDIT macro instruction. The routine receives control
from the EDIT command processor via a LINK macro instruction, and it must fonow standard
linkage conventions.
Upon entry, register 1 points to a three-word parameter list. The contents of the parameter
list are:
Word 1
Address of the subfield parameter descriptor element (POE) with the following format:
Bytes MeaniD&
4 Address of the character string (zero. if the character string is omitted)
2 Length of the character string
I Flag bits: High-order bit set to 0, the parameter is not present. High-order bit set to I.
the parameter is present. The other bits are unused.
Reserved
For more information on this POE, sec TSO Guide to Writing a TMP or CP for a description
of the IKJIDENT POE under "Format of the PDES Returned by Parse ."
Word 2
Address of bytes 0 and 1 of the syntax checker option word. Tbe installation-written syntax
checker can assign its own meanings for the bit settings.
Word 3
Address of the command processor parameter list (CPPL) passed to the EDIT command
processor from TMP . The format of the CPPL is:
The exit routine uses this information to access the ECT and UPT to invoke Parse or a
TMP service routine.
The exit routine is expected to update bytes 0 and 1 of the option word and to issue a
return code: 0 if successful, 4 if unsuccessful.
IKJEBEST L CSECT=USER
(subcmdl, abbrl , mod-namel ) . . .] ,
NtJle: The names associated with an installation-written subcommand must not be the same as
the names associated with any ffiM-supplied subcommands.
When the IKJEBEST macro instruction is assembled, the CSECT_ USER operand causes
the resulting object module to be named IKJEBMA9. The system programmer must Jink·edit
the IKJEBMA9 module with the IKJEBEMA load module, performing a CSECT-replacement
operation for IKJEBMA9 object module. At that point, the instaDation-written EDIT
subcommands are available.
MACRO
IKJEBEST &CSECT=IBM
LCLA SA, &B, &C, &0, iE
LCLA &F
LCLC &CNAME , &SCNAME , &ABBR, &LDMOD , &LABEL, &LABEL 1 , &LABEL2 , &
AIF ( ' &CSECT ' NE ' IBM' ) . CONTO
&CNAME SETC ' IKJEBMAS ' DEFINE CSECT NAME FOR IBM TABLE .
IKJEBMA8 CSECT
ENTRY MA8IP002
ENTRY MA8LI002
AGO . CONTl
. CONTO ANOP
AIF ( ' &CSECT ' NE ' U SER' ) . ERROR2
&CNAME SETC ' IKJEBMA9' DEFINE CSECT NAME FOR USER TABLE.
IKJEBMA9 CSECT
. CONTl ANOP
&A SETA N I &SYSLIST
AIF ( &A EQ O ) . END
&B SETA 1
&F SETA 1
. CONT2 ANOP
&C SETA N ' &SYSLIST( &B )
AIF ( &C LT 2 OR &C GT 3 1 . ERRORl
&E SETA K ' &SYSLIST( &B, &C )
&0 SETA &E-l
* THE FOLLOWING FLAGGED INSTRUCTIONS WERE ADDED TO PROVIDE
* UNIQUE LABELS , EVEN IF MODULES HAVE IDENTICAL LAST TWO
* CHARACTERS IN ENTRY POINT NAMES . THE LABELS FOR MODULES
* IKJEBELI AND IKJEBEIP ARE UNCHANGED . SINCE THEY ARE
• REFERENCED WITHIN IKJEBEM A .
AlP ( ' &CSECT ' NE ' I BM l l . CONT 1 0
AlF ( ' &SYSLIST( &8, &C ) I ( &0, &E ) EQ ' LI 'OR X
' &SYSLIST( &B , &C ) ' ( &D , &E ) EQ ' I P ' ) . CONTl l
. CONT 1 0 ANOP
&LABELl SETC ' &eNAME I ( 6 , 8 ) . I Q) ' . I iF'
&F SETA SF+1
&LABEL2 SETC ' &CNAME ' ( 6 , 8 ) . ' . ' . ' &F '
&F SETA &F+1
AGO . CONT 1 2
. CONT l l ANOP
&LABELl SETC ' &CNAME ' ( 6 , 8 ) . ' tSYSLIST( &B , &C ) ' ( &D , &E ) . ' 0 0 1 '
&LABEL2 SETC I &eNAME ' ( 6 , 8 ) . ' &SYSLIST( &8, te l ' ( &0, &E ) . ' 0 0 2 '
. CONT 1 2 ANOP
&SCNAME SETC ' &SYSLIST( &B, 1 ) I
SPACE 2
DC AL1 ( &LABEL 1 - * - l ) LENGTH OF SUBCOMMAND NAME .
DC C ' &SCNAME ' SUBCOMMAND NAME .
&LABELl EQU *
DC AL1 ( &LABEL2-*- l ) LENGTH OF ABBREVIATION .
AIF ( K ' &SYSLIST( &B, 2 ) EQ O ) . CONTS
&ABBR SETC I &SYSLIST( &B 1 2 ) I
DC C ' &ABBR ' ABBREVIATION FOR SUBCOMMAND .
. CONTS ANOP
&LABEL2 EQU •
If either the keyword RSAPF is not recognized or the installation does not supply names in
lists APFCTABL (in JKJEFTE2) and APFPTABL (in JKJEFTE8) , then only nonauthorized
programs can be executed. This restriction on execution of authorized programs includes the
OS/YS utility programs IEHDASDR, IEBCOPY, IEHMOYE, IEHATLAS, IEHINIIT, and
IEHPROGM. TSO users can execute these utilities by using the SUBMIT command.
The ffiM-supplied lists for APFCTABL and APFPTABL contain blank entries which inhibit
the execution of APF-authorized programs. The APFCTABL list contains the names of
authorized command processors executed by the TMP. and tbe APFPTABL list contains the
names of authorized programs to be executed by CALL. The modules that are attached for
these names must be link-edited with APF authorization. If a name does not appear in these
lists, the program is attached without authorization. If a program is to be executed by both the
TMP and CALL, then its name must appear in both lists.
The format of the list is a sequence of eight-character command name entries. This list is
terminated by an entry consisting of eight blanks. Command name entries of less than eight
characters must be left-justified and padded to the right with blanks to fill the eight-character
entry.
The first entry to be examined by the TMP in either JKJEFTE2 or IKJEFTE8 will be that
entry associated witb the respective ENTRY name APFCT ABL or APFPTABL. If a command
has an abbreviation, it must appear as a separate entry. A nuD list consists of just the final
eight blanks.
For example:
IKJEFTE2 ENTRYT
CSEC APFCTABL
APFCTABL DCDCDC CLB
CLS'IIKJEFTE2
CLB'R1 76.133'
User
' DATE MAY CHANGE
.
DCDC CLB'Rl
CLS'P3SRCH
DCEND CLB'
If an installation wishes to allow access to IEBCOPY through CALL, then lhe list should
look like:
mM modules IKJEFTE2 and IKJEFrE8 can be replaced by link-editing user modules with
these names into TMP load module IKJEFT02 in SYS l.LPALm. Consult the output from
stage I for correct link edit information. Any program which depends upon a job step
environment such as the TMP should not be placed in the lists.
Part 2: Reference - TSO Commands
This section describes the two 1'50 commands that should be installation controlled. The
ACCOUNT and OPERATOR commands should be totally restricted in use to system
programmers and installation-approved personnel. These commands are completely described in
this book.
I . The set of symbols listed below is used to define the syntax, but never use them in the
actual command.
hyphen
underscore
brace.
{}
brackets (]
ellipsis
The special uses of these symbols are explained in the following paragraphs.
2. Use uppercase letters, numbers, and the set of symbols listed below in an actual
command exactly as shown in the command syntax.
apostrophe
asterisk •
comma
equal sign
parentheses 0
period
3. Lowercase letters, and symbols appearing in a command syntax represent variables for
which you substitute specific information in the actual command.
indicates select A or B or C; however, if you select B, you need not specify it because it
is the default option.
ALPHA=! {�} , D)
indicates choose one of the items enclosed within the braces. If you select A, specify
ALPHA=(A,D).
7. Brackets also group related items; however, everything within the brackets is optional
and may be omitted.
indicates choose onc of the items enclosed within the brackets or omit all of the items
within the brackets. If you select only 0, specify ALPHA= (,D).
8. An ellipsis indicates that the preceding item or group of items can be repeated more than
once in succession.
Exnmple:
ALPHA [ , BETAI • • .
indicates that ALPHA can appear alone or can be followed by ,BETA any number of
times in succession.
• alphabetiC: A-Z
• numeric: 0-9
• national: $#@
Continuation Lines
Continue a command or subcommand, except the SLIP subcommand of OPERATOR, on one
or more lines by following this rule:
Use either a hyphen (minus sign) or a plus sign as the last character on the line you wish to
continue. If you use a plus sign, precede it by at least one blank to prevent the concatenation
of character strings from line to line. (The plus sign causes TSO to delete leading delimiters
(blanks, commas, tabs, and comments on the continuation tine.)
Continue the SLIP subcommand of OPERATOR on one or more lines by following this
rule:
Use a blank as the last character on the line you wish to continue.
• an equal sign and its preceding keyword must appear on the same line
• the binary indicator: (b) in the DATA keyword must appear on the same Line.
• the complete keyword must appear on the same Line
For the SLIP subcommand of OPERATOR, the following rule applies; blanks are not
allowed except between SLIP and SET, MOD, or DEL.
Parameter Defmitioos
Two types of parameters are described under ACCOUNT and OPERATOR: positional and
keyword. Positional parameters must appear in a command exactly as shown in the command
syntax. Keyword parameters may appear in any order.
.'
Part 1: RefereKe -
TSO CC__.
ds 43
ACCOUNT Command
Use the ACCOUNT command and subcommands to create and to update the entries in the
user attribute data set (UADS) and. simultaneously. the broadcast data set
(SYS1 .BRODCAST). This command can be executed as either a time-sharing or a batch job.
Basically. the UADS is a list of terminal users who are authorized to use TSO. The UADS
contains information about each of the users. The information in the UADS is used to regulate
access to the system. SYSI.BRODCAST can contain notices and mail for aU userids which are
defined to it.
ACCOUNT
The SYSI. UADS data set must be allocated as SHR prior to using the ACCOUNT
command. You cannot accomplish any work with the ACCOUNT command until you use a
subcommand to define the operation that you want to perform. The subcommands and the
operations that they define are:
ADD Add new entries to the UADS and SYS I.BRODCAST; add new data to existing entries.
CHANGE Change data in specified fields of UADS entries; change userids in SYS1 .BRODCAST.
DELETE Delete entrics or parts of entries from the DADS; delete userids from SYS1. BRODCAST.
END Terminate the ACCOUNT command.
HELP Obtain help from the system (not available (or batch jobs),
LIST Display the contents of an entry in the UADS.
LlSTIDS Display the user identifications for all entries.
SYNC Build a new SVSI.BRODCAST data set and synchronize it with the UADS.
.. OS/VSZ Syst... P
...
."'_
... _ , LIIonwy: TSO
'.
ADD Subcommand of ACCOUNT
Use the ADD subcommand to create new userids for prospective users of TSO. As you create
a new userid, a corresponding entry is created in the UADS and SYS1.BRODCAST for that
user. For each Dew userid that you create, the system builds a "typical" user profile in the user
profile table (UPT) for that user.
You can also use ADD to add additional data to an existing entry in the UADS. Do not use
ADD to change any existing data in a UADS entry; use the CHANGE subcommand instead.
When adding a new entry to the UADS, you can also select the following options for the
new user:
• The authority to use the SUBMIT, STATUS, CANCEL, and OUTPUT commands
• The authority to specify remote work stations for SYSOUT data sets
When making additions to the VADS, ADD ensures that no duplications will exist in the
UADS structure. U an item to be added is found to already exist at the specified location in an
entry. no addition takes place.
ADD S
SoIo
_ ,_..
-4 ol ACCOUNT 45
The syntax of the ADD subcommand of ACCOUNT is:
[ )]
NOACCT NODEST NOJCL NOLIM NOMOUNT
[ OPER ] NOPERFORM
NOOPER
[USEROATA(data) ]
The first parameter (enclosed within parentheses) is a positional parameter; all others are keyword
parameters.
To create a new entry in the UAOS and SYS1.BRODCAST. specify:
A (usefid password or * acct-nmbr or - proc)
When you create a new entry. an asterisk (.) indicates a nuU field; that is. passwords and/or account
numbers are not supported under that werid. Any subsequent explicit specification in either the
positional or DATA parameter of password and/or acct-nmbr for that userid is invalid.
If you create a new entry with explicit specification in the positional parameter for password
and/or acct-nmbr, the specification of an asterisk (.) for the cofTCSpondioa: item in the DATA
parameter is invalid.
If you specify less than four items in the positional parameter, information is to be added to an
existing entry (or entries); and you must specify those items omitted from the positional parameter in
the OATA parameter.
The specification of SIZE and/or UNIT is valid only if you specify proc in either the positional or
DATA parameter.
userid
the user identification of a new entry in the UADS and SYSI.BRODCAST or an existing
entry in the UADS to whicb information is to be added. (Note: If the specified userid
already exists in SYSI.BRODCAST, all messages for tbat userid are deleted; the userid is
not.)
paJJworti
a password that is part of a new entry or a password under the indicated userid(s) in an
existing entry (or entries)
a null field in a new entry. or passwords are not supported under the indicated userid(s) in
an existing entry (or entries), or all the passwords under the indicated userid(s) in an
existing entry (or entries)
accl-nmbr
an account number that is part of a new entry or an account number under the indicated
password(s) under the tndicated userid(s) in an existing entry (or entries)
value: 1-40 alphameric characters, not containing a blank, tab, quotation mark,
apostrophe, comma, semicolon, or line control character
a null field in a new entry. or account numbers are not supported under the indicated
userid(s) in an existing entry (or entries), or all the account numbers under the indicated
password(s) under the indicated userid(s) in an existing entry (or entries)
proc
a procedure name that is part of a new entry
DATA
infonnation is to be added to an existing entry (or entries) in the UADS
password
a password or list of passwords to be added to an existing entry (or entries)
acct-nmbr
an account number or list of account numbers to be added to an existing entry (or
entries). No more than 255 identical account numbers may exist under any one userid.
value: 1-40 alphameric characters, not containing a blank, tab, quotation mark,
apostrophe. comma, semicolon, or line control character
•
proc
a procedure name or list of procedure names to be added to an existing entry (or
entries). No more than 255 identical procedure names may exist under any one userid.
When you specify a list of passwords and/or account numbers and procedure names,
separate each item in the list by a comma or a blank and enclose each list within a separate set
of parentheses embedded within the set required for the DATA parameter. If you specify only
a list of procedure names, the embedded parentheses are optional.
..
...
ADD S
S IH
,. ....... of ACCOUNT
,, .7
S[ZE
the minimum region size that will be assigned to a procedure if the user does not specify a
region size at logon. If you do not specify SIZE or specify S[ZE(O), the minimum region
size available at logon is assigned to the user. If you specify in SIZE a minimum region size
that is larger than MAXSIZE for the userid, SIZE is set equal to MAXSIZE. You can
specify a SIZE parameter for each unique combination of password, account number,
procedure name under a userid.
rgn·size
number of 1024�byte units of virtual storage for this user's private area
UNIT
predefined specification of device use by a procedure. (Data sets allocated via the catalog
are an exception. See the ALLOCATE command in the 1'80 Command Language Reference.)
You can specify a UNIT parameter for each unique combination of password, account
number. procedure name under a userid.
name
the name of a device or group of devices (for example, SYSDA)
• Use the following parameters only when you create a new entry in the VADS.
ACcr
the user is authorized to Use the ACCOUNT command
NOACcr
the user is not authorized to use the ACCOUNT command
DEST
SYSOUT data sets, dynamically allocated by the user, are to be routed to a default
destination. By allowing SYSour to be processed at the .default destination, the user can
eliminate ROUTE cards from his submitted batch jobs. The default destination can be
overridden by tbe user through the use of the ALLOCATE, FREE, and other commands.
id
the default destination (remote work station)
NODEST
the user must explicitly route his SYSOUT data sets for processing
JCL
tbe user is authorized to use the SUBMIT, STATUS, CANCEL, and OUTPUT commands
NOJCL
the user is not authorized to use the named commands
MAXS[ZE
the maximum region size that the user may request at logon. If you do not specify
MAXSIZE or specify MAXSIZE-O, NOLIM is assumed.
NOLIM
the user is not restricted to a maximum region size at logon
MOUNT
dynamic allocation requests for this userid are authorized to cause volume mounting as
necessary. (Note: The volume request can be either explicit (for example, when the
ALLOCATE command is issued) or implicit (for example, with commands that cause
temporary space to be allocated).) No message is sent to the user indicating that operator
action has been requested at the time the volume is mounted. The user will sit in a "locked
out" condition at the terminal until the operator responds to the request. Therefore, the user
should send a message to the operator prior to issuing the command requesting a particular
volume.
NOMOUNT
dynamic allocation requests for this userid are not authorized to cause volume mounting
OPER
the user is authorized to use the OPERATOR command
NOOPER
the user is not authorized to use the OPERATOR command
PERFORM
the user is authorized to explicitly request a pedormance group (or groups) at logon
perf-group
the identification of the performance group (or groups)
NOPERFORM
an installation-defined pedormance group will be assigned to the user at logon. (The user is
not authorized to explicitly request a pedormance group. )
USERDATA
instaUation-<lefined data is to be added under this userid. The two-byte field in the UADS is
the hexadecimal representation of the contents of data. The meaning of the field is defined
by the user.
data
the data to be added
Example 1
o,..iotI: Add a new password, account number, and procedure name to an existing entry in
the UADS. Also include the region size requirements for the procedure.
add (warnerl) data(mz3tii 711 6 1 66 amabala) size(20)
Example 3
OpnrdiOlf: Continuing Example 2, add a new account number and procedure name to an
existing entry in the UADS.
add (warner' mz3tii) data(288104 mylog) size( 114) unit(sysda)
Example 4
{)ptrtItiott: Add a new procedure name, and the region size requirements for it, to all entries
in the UADS.
add ( * • • ) data(mcqlg) size (73)
Example S
Opt!lYlliol:l Add a new account number and procedure name to all structures under an existing
entry in the UADS.
Use the CHANGE subcommand to cbange existing fields of data within entries in the UADS
and userids in SYS l.BRODCAST.
When making changes to the UADS, CHANGE ensures that no identical (redundant) paths
will exist in the UADS structure after the change operation. On the other hand, if an
'impossible merge' situation arises (identical procedure names associated with different data),
CHANGE cannot determine which data to retain. Therefore, it terminates processing of the
current structure and issues an explanatory message.
[ DATA {password
USerid } �
(. ����-nmbr )
[SIZE( rgn-size l) [UNIT( name l)
NODESTid l] [JCL
NOACCTJ fDEST(
[ACCT NQJCLJ [MAXSIZE( NOMOUNT ]
NOLIM region l] [MOUNT
[OPER ] [ PERFORM(
NOOPER NOPERFORM perf-group [ {�} perf-group . . . l ] ]
[USERDATA( data l)
The first parameter (enclosed within parentheses) is a positional parameter; all others are keyword
parameters.
To change a userid in the UADS and SYSI.BRODCAST, explicitly specify usefUl as the only item
in the positional "P aramcter and specify userid in the DATA parameter. (The specifications c( -) or
c(-) data (userid) are invalid.)
To change password(s), account number(s), or procedure name(s) in an entry (or entries) in the
UADS, specify the item (either explicitly or as an asterisk (-» as the final item in the positional
parameter, and specify the corresponding item in the DATA parameter.
If you created (with the ADD subcommand) an entry in the VADS with an asterisk ( -) specification
for password and/or account number, an explicit specification in either the positional or DATA
parameter of password and/or accl-nmbr for the particular userid is invalid.
If you change MAXSIZE for a userid. the specification of a region size smaller than an existing SIZE
for any procedure under that userid is invalid.
The specification of SIZE and/or UNIT is valid only if you specify proc or - in the positional
parameter. or proc in the DATA parameter.
If you specify in the SIZE parameter for a procedure a minimum region size larger than MAXSIZE
for the userid. SIZE is set equaJ to MAXSIZE.
userid
the user identification is the UADS and SYSI.BRODCAST to be changed or the UADS
entry to be changed
password
the password to be changed or the password under the indicated userid(s)
all passwords are to be changed, or passwords are not supported under the indicated
userid(s). or aU the passwords under the indicated userid(s)
acct-nmbr
the account number to be changed or the account number under the indicated password(s)
under the indicated userid(s)
value: 1-40 alphameric characters, not containing a blank, tab, quotation mark,
apostrophe, comma, semicolon, or line control character
all account numbers are to be changed, or account numbers are not supported under the
indicated userid(s). or aU the account numbers under the indicated password(s) under the
indicated userid(s)
proc
the procedure name to be changed or the requirements of the procedure are to be changed
(indicated by the specification of SIZE and/or UNIT without the specification of DATA)
all procedure names are to be changed or the requirements of all procedures in the indicated
entry (or entries) are to be changed (indicated by the specification of SIZE and/or UNIT
without the specification of DATA)
DATA
data is to be changed in an existing entry (or entries)
userid
a user identification to replace an existing userid
acct-nmber
an account number to replace an existing account number(s)
value: 1-40 alphameric characters, not containing a blank, tab, quotation mark,
apostrophe, comma, semicolon, or line control character
pro<
a procedure name to replace an existing procedure name(s)
SIZE
the minimum region size that will be assigned to a procedure if the user does not specify a
region size at logon. If you do not specify SIZE or specify SIZE(O), the minimum region
size available at logon is assigned to the user. If you specify in SIZE a minimum region size
that a larger than MAXSIZE for the userid, SIZE is set equal to MAXSIZE. You can
specify a SIZE parameter for each unique combination of password, account number,
procedure name under a userid.
rgn-size
number of 1024-byte units of virtual storage for the user's private area
UNIT
predefined specification of device use by a procedure. (Data sets allocated via the catalog
are an exception. See the ALLOCATE command in the TSO Command Lancuqe Reference.)
You can specify a UNIT parameter for each unique combination of password, account
number, procedure name under a userid.
name
the name of a device or group of devices (for example, SYSDA)
• Use the following parameters only when you change the attributes of a userid(s). All
attribute changes must be explicitly specified.
ACCT
the user is authorized to use the ACCOUNT command
NOACCT
the user is not authorized to use the ACCOUNT command
DEST
SYSOUT data sets, dynamically allocated by the user, are to be routed to a default
destination. By allowing SYSOUT to be processed at the default destination, the user can
eliminate ROUTE cards from his submitted batch jobs. The default destination can be
overridden by the user through the use of the ALLOCATE, FREE, and other commands.
NODEST
the user must explicitly route his SYSOUT data sets for processing
ICL
the user is authorized to use the SUBMIT, STATUS, CANCEL, and OUTPUT commands
NOICL
the user is not authorized to use the named commands
MAXSIZE
the maximum region size that the user may request at logon. If you do not specify
MAXSIZE or specify MAXSIZE�O, NOLIM is assumed
region
the number of l024-byte units of virtual storage for the user's private area
NOLIM
the user is not restricted to a maximum. region size at logon
MOUNT
dynamic allocation requests for this userid are authorized to cause volume mounting as
necessary. (Note: The volume request can be either explicit (for example, when the
ALLOCATE command is issued) or implicit (for example, with commands that cause
temporary space to be allocated),} No message is sent to the user indicating that operator
action has been requested at the time the volume is mounted. The user will sit in a 'locked
out' condition at the terminal until the operator responds to request. Therefore, the user
should send a message to the operator prior to issuing the command requesting a particular
volume.
NOMOUNT
dynamic allocation requests for this userid are not authorized to cause volume mounting
OPER
the user is authorized to use the OPERATOR command
NOOPER
the user is not authorized to use the OPERATOR command
PERFORM
tbe user is authorized to explicitly request a performance group (or groups) at logon
perf-group
the identification of the performance group (or groups)
USERDATA
installation-defined data is to be added under this userid. The two-byte field in the UADS is
the hexadecimal representation of the contents of data. The meaning of the field is defined
by the user.
data
the data to be added
Example 1
Opmztiolt: Change an account number for an entry in the UADS and authorize the user to
issue the ACCOUNT and OPERATOR commands.
change (slcOS aox3p se2970S) data(2e26705) acct oper
Example 2
O�trJtI",,: Authorize aU users to issue the SUBMIT, CANCEL, STATUS, and OUTPUT
commands.
change ( * ) jel
The asterisk in the first positional parameter position specifies that all user identities are
considered valid for the operation of this subcommand.
Example 3
Opev:ttlotr: Change the name of a procedure for an entry that consists of a user identification,
a procedure name, and attributes (passwords and account numbers are not supported under the
indicated userid).
change ( ja195 * • oldproc) data(newproc)
Example 5
.t0
CHANGE s eM of ACCOUNT !!
DELETE Subcommand of ACCOUNT
Use the DELETE subcommand to delete data from the UADS and userids from
SYS I .BRODCAST. Each terminal user has an entry in the UADS; and each entry contains
several items of data. The data that you want to delete may be a part of an existing entry. or
may be an entire existing entry.
userid
the entry in the UADS and the userid in SYSI .BRODCAST to be deleted or the entry in
the UADS from which data is to be deleted
aU entries in the UADS and aU userids and aU messages in SYS I . BRODCAST are to be
deleted or some data in all the entries in the VADS is to be deleted
password
tbe password to be deleted or the password under the indicated userid(s)
value: 1-40 alphameric characters, not containing a blank:, tab, quotation mark,
apostrophe, comma, semicolon, or line control character
DATA
data is to be deleted from an existing entry in the UADS
password
the password or list of passwords to be deleted
acct-nmbr
the account number or list of account numbers to be deleted
value: 1-40 alphameric characters, not containing a blank, tab, quotation mark,
apostrophe, comma, semicolon, or line control character
proc
the procedure name or list of procedure names to be deleted
Example 1
(}pttrtIitM:
I Delete a procedure name Crom an entry in the UADS having the following
structure.
TG2A7
ooI
DELETE SooII
....._..
od
·' of Aeeo.t 57
Example 3
OJlBGiitJlf: Delete an account number and all procedure names under that account number
from an entry in the UADS having the following structure.
delete (alpha2 drahcir 32757 )
ALPHA2
PAOCA PRoeo
Use the END suheommand to terminate operation of the ACCOUNT command. After
entering the END subcommand, you may enter new commands.
END
HELP Subcommand of ACCOUNT
Use tbe HELP subcommand to find out bow to use the ACCOUNT subcommands. When you
enter the HELP subcommand, the system responds by printing out explanatory information at
your terminal. You may request:
• An explanation of the function, syntax, and parameters (both positional and keyword) of
a specific subcommand
The HELP subcommand actually causes the system to execute a function of the HELP
command; therefore, you may consult the discussion of the HELP command in TSO Command
Language Reference.
ACCOUNT
If you specify HELP with no parameters, a list of available subcommands o(
at your terminal.
is displayed
subcmd-name
the subcommand you want clarified
ALL
a description of the function, syntax, positional parameters, and keyword parameters of
the subcommand is displayed
FUNCTION
a description of the function of the subcommand is displayed
SYNTAX
a description of the proper syntax of the subcommand is displayed
OPERANDS
a description of the positional and keyword parameters of the subcommand is displayed
parm
only a description of the indicated keyword parameter(s) of the subcommand is
displayed
value: any valid keyword parameter of the subcommand
Optnlllo.: Have, a list of the positional and keyword parameters for the CHANGE
subcommand displayed at your terminal.
h change operands
Example 4
OpertlliOlt: Have a list of the indicated keyword parameters for the ADD subcommand
displayed at your terminal.
h add operands ( data mount userdata)
HELP S
S....
... _ ...
. ..
• d of ACCOUNT 61
UST Subcommand of ACCOUNT
Use the LIST subcommand to display entries in the UADS or to display fields of data from
within particular entries.
userid
the userid or the UADS entry to he listed
password
the password to he listed or the password under the indicated userid(s)
all passwords are to he listed, or passwords are not supported under the indicated userid(s),
or all the passwords under the indicated userid(s)
accJ-nmbr
the account number to be listed or the account number under the indicated password(s)
under the indicated userid(s)
value: 1-40 alphameric characters, not containing a blank, tab, quotation mark,
apostrophe, comma, senticoloD, or line control character
aU account numbers are to be listed, or account numbers are not supported under the
indicated userid(s), or all the account numbers under the indicated password(s) under the
indicated userid(s)
proc
the procedure Dame to he listed
The LIST processor generates the necessary asterisks and that information is also listed.
Example 1
Example 2
Example 3
OpBGtiOlf: List aU of the account numbers under a specific password for a particular entry.
list ( wrrid roolf * )
Example 4
LIST s
..
.."
.......
" ..
... of ACCOUNT 63
USTIDS Subcommand of ACCOUNT
Use tbe LISTIDS subcommand to bave a list of the user identifications in tbe UADS displayed
at your terminal.
The syntax of the LISTIDS subcommand of ACCOUNT is:
{ LlST'DS
LIST'
}
Example 1
When the VADS is created, use the SYNC subcommand to build a new SYS1 .BRODCAST
data set and synchronize it with the VADS. (All userids from the VADS are entered into
SYS1.BRODCAST.)
If you use SYNC when the VADS exists, all messages (MAIL) are deleted from
SYS1.BRODCAST.
SYNC also formats the NOTICES section of SYS1 .BRODCAST to reserve room for the
maximum number of messages. (The maximum number of messages is specified at system
generation in the SCHEDULR macro.)
SYNC
..
.
SYNC s .
oe
,__• of ACCOUNT 65
OPERATOR Command
Use the OPERATOR command (along with its subcommands) to regulate and maintain 1'80
from a terminal. The authority to use OPERATOR is normally given to personnel responsible
for system operation. When an entry is created (or changed) in the UADS. OPER is specified
for the userid.
The OPERATOR command is fully supported only for tenninals that have the
transmit-interruption capability; that is, this command is supported only for those tenninals for
which the BREAK parameter of the TERMINAL command is valid.
{ OPERATOR
OPER
}
The OPERATOR command, through the use of its subcommands, allows the tenninal user
to control TSO as follows:
CANCEL Cancel a terminal session.
DISPLAY Display the number of TSO uscrs. the number of batch jobs, the TSO job messages that
are awaiting a reply from the system operator, the time of day and the date, and summary
or detailed information about SLIP traps.
END Terminate the OPERATOR command (thereby removing the user's terminal from
OPERATOR mode).
HELP Get a list of the subcommands of the OPERATOR command. along with the function,
syntax, and parameters of the subcommand!.
MONITOR Monitor both terminal and background job activities within the system. Informational
messages will be displayed.
SEND Send a message to other terminal users or operators.
SLIP Control SLIP/PER (serviceability level indication processing/program event recording).
STOPMN Terminate the monitoring operations of the MONITOR subcommand; the display of
information messages at the user's terminal will be stopped.
Use the CANCEL subcommand to terminate the current activities of a terminal user. When
you use the CANCEL command to terminate a tenninal session, accounting information will
be presented to the user.
userid
the user identification of the time-sharing user whose tenninal session you are terminating
DUMP
an abnormal-end·of-job storage dump is taken. (The dump is printed on the system
output device.)
Example 1
CANCEL S
.bc ..
Oll .... or OPERATOR 67
DISPLAY Subcommand of OPERATOR
{{�OBS}
TSLIP [=xxxx]
TS IST
�t ]
}
T
the local time of day and the date are displayed
SLIP
summary information about aU the SLIP traps in the system is displayed. (The information
consists of the trap ids and whether a trap is enabled or disabled.)
XXX>:
detailed information about the SLIP trap identified by xxxx is displayed. (See the SLIP
subcommand for details about xxxx. )
TS
the total number of TSO users currently logged on the system is displayed. In addition, if
TSO/VTAM is ruorting, the number of users logged on, and the maximum Dumber allowed
to be logged on, under TSO/VTAM are displayed.
LIST or L
a list of TSO userids currently logged on the sytem is displayed
R
the identification numbers of messages awaiting replies, the unit addresses of devices waiting
for mount requests to be fulfilled, and the unit addresses of devices waiting for operator
intervention are displayed
LIST or L
the text of all outstanding requests along with the message identification is displayed. If
the message text is greater than 65 characters and the 66th character is not a blank. the
text is truncated at the last blank preceding the 65th character.
JOBS or J
the number of active batch jobs (MOUNT commands in execution are treated as jobs),
started tasks, and active initiators are displayed
Example 1
OJ1MlllOll: Display the number of, and a list of, the TSO users currently logged on.
d ts , l ist
Example 2
Example 3
Use the END subcommand to terminate operation of the OPERATOR command. After
entering the END subcommand, you may enter new commands.
END
Use the HELP subcommand to find out how to use the OPERATOR subcommands. When
you enter the HELP subcommand, the system responds by printing out explanatory
infonnation at your terminal. You may request:
The HELP subcommand actually causes the system to execute a function of the HELP
command; therefore, you may consult the discussion of the HELP command in TSO Command
Language Reference, if you desire more detailed information.
]
subcmd-name t
[� �CTION
[{�} }
SYNTAX
subcmd-name
the subcommand you want clarified
ALL
a description of the function, syntax, positional parameter, and keyword parameters of
the subcommand is displayed
FUNCTION
a description of the function of the subcommand is displayed
SYNTAX
a description of the proper syntax of the subcommand is displayed
OPERANDS
a description of the positional and keyword parameters of the subcommand is displayed
parm
a description of only the indicated keyword parameter( s) of the subcommand is
displayed
OJNlflliotl: Have a list of the parameters for a particular subcommand displayed at your
terminal.
h display operands
Use the MONITOR subcommand to monitor terminal activities and job activities within the
system. Informational messages will be displayed. The content of the messages will pertain to
tbe type of information indicated by the parameter included with the MONITOR subcommand.
The system will continue to issue these informational messages until halted by a STOPMN
subcommand or until you terminate tbe OPERATOR command.
JOBNAMES
the name of each job is displayed both when the job starts and terminates, and unit record
allocation is displayed when the job step starts. If a job terminates abnormally. the jobname
appears in the diagnostic message; the message "jobname ENDED" does not appear.
SESS
the userid is displayed whenever a terminal session is initiated or terminated. If a terminal
session terminates abnormally. the userid appears in the diagnostic message. If a tenninal
session is canceled, the message "user LOGGED OFF" does not appear.
T
tbe local time of day is displayed in the following format:
hh.mm.ss
hh-hours (00-23)
mm-minutes (00-59)
ss-seconds (00-59)
Note: After the initial specification (by any user) of the T parameter in the MONITOR
subcommand, all subsequent users of MONITOR receive the time of day at their terminals,
whether or not they specify T.
STATUS
the names and volume serial numbers of data sets with dispositions of KEEP, CATLG, or
UNCATLG are displayed whenever the data sets are freed
Example 1
{)pt:tvtitm: Have the system notify you whenever a terminal session begins or' ends.
monitor sess
Example 2
Op."ltitHf: Have displayed at your terminal the name of each job wben the job starts and
when it terminates. Also have the time displayed with the johname.
ron jobname s ., t
Use the SEND subcommand to send a message to one or more terminal users, to save a
message in the SYSI.BRODCAST data set. to list. delete. or send a specified message from
the notices section of SYSl .BRODCAST. and to list all messages in the notices section of
SYS I.BRODCAST. Messages sent via the SEND subcommand will have the characters OPER
appended to the message text before it is directed to a user terminal.
Messages are also sent to the console operator and other terminals in operator mode. The
characters specified in the eN parameter are appended to a message sent to a console
operator.
LIST
'm.g' } [,ALL >J [.LOGON
,NOW
USER=<userid[IUSeridJ . . . ,SAVE
]}
{msg-nmbr
,OPERATOR=rte-code \
.BRDCST
,CN=console-id
msg-nmbr · [,LIST
.DELETE ]
LIST
a list of all messages stored in the notices section of SYSI .BRODCAST is displayed at your
terminal. (Each message displayed is preceded by a system-assigned number.)
�nug'
the message to be sent. Enclose the text of the message within single quotation marks, and
ensure that it is a one-line message. If you want a quotation mark as part of the message,
enter two quotation marks in the original text.
msg-nmbr
the identification number of a message in the notices section of SYS1.BRODCAST. (The
identification number is systemMassigned.) If you specify msg-nmbr with no other operands,
the associated message in the notices section is sent.
value: an integer
ALL
the message is to be sent to all terminal users.
USER
the message is to be sent to the indicated terminal user(s)
userid
the user identification of one or more terminal users who are to receive the message.
(The maximum number of userids allowed is 20.)
users logged on, but not receiving messages, receive it upon requesting messages.
NOW
the message is sent immediately
if you specify ALL, the message is sent to all terminal users currently logged on,
and then deleted by the system
if you specify USER, the message is sent to the indicated terminal user(s) currently
logged on. If any indicated terminal user is not logged on, you are notified; and the
system deletes the message.
SAVE
the message is stored in the appropriate section of SYS1 .BRODCAST. The message is
not sent immediately. even to those terminal users currently logged on and receiving
messages.
BRDCST
the message is queued to all active operator consoles
eN
the message is queued to a particular operator console
console-id
the identification number of an operator console. If you specify eN=0 or an invalid
id. the message is sent to the master console. (You can use the console configuration
message issued at IPL for reference to determine the valid and appropriate ids.)
value: an integer in the range of 0-99
OPERATOR
the message is queued to the console associated with the routing code
DELETE
the message identified by msg-nmbr is deleted from the notices section of
SYS 1.BRODCAST
LIST
the message identified by msg-nmbr is displayed at your terminal
Example 1
(}pt!Ntiotl: Send a message to two particular terminal users currently logged on.
send 'your acct no. invalid after this session' ,user=(heus75,jul65)
Example 3
Use the SLIP subcommand to control SLIP (serviceability level indication processing), a
diagnostic aid designed to intercept or trap certain system events. You can indicate what kinds
of events you want trapped and what the system should do when these events occur.
• Error events
Paging error
SVC error
Restart interruption
When one of these events occurs, you can take one of the following actions:
The PER and error events you can trap are quite general, and you probably do not want to
take one of those actions each time such an event occurs. To Darrow the scope of SLIP
processing, qualify the event by specifying exactly what state the system must be in when the
error or PER event happens for the action to occur. The system checks each specified
condition to see if it corresponds to the system condition at the time of the error or PER
interruption. The conditions you specify serve as filters to screen out those events you are not
interested in. When conditions specified are the same as those in the system, a match occurs.
When conditions specified are not the same as those in the system, a no-match occurs. Only
when all the conditions you specify match will your action be taken. Among the conditions
you can specify are:
The name of a job that must be in control at the time of the error or PER interruption
• The module name or address range where the error or PER interruption must occur
• The address space that must be in control at the time of the error or PER interruption
• The contents of specific storage locations and/or registers at the time of the error or
interruption
IJ you do not specify a particular condition, then the system makes no checks for that
condition.
Refer to OS/VS2 System Programming Library: Supervisor for more information about the use
of SLIP to intercept software errors. For more information about designing an effective SLIP
trap, sec OS/VS2 System Programming Library: MVS Djagnostic Techniques.
Parameter Relationships
SLIP SET parameters fall into six functional groups: trap-type parameters, event filter
parameters, action related parameters, lrap control parameters, dump and trace tailoring
parameters, and specialized parameters.
The trap-type parameters are IF, SA, and SB. Each defines a specific type of PER
interruption trap. Omitting aU trap-type parameters also has meaning: defines an error
detection (or non-PER) trap.
The event filter parameters are ADDRESS, COMP, DATA, ERRTYP, JOBNAME, JSPGM,
LPAMOD, MODE, PVfMOD, and RANGE. Event filter parameters define the sco!,e of the
event, or events, the trap is to monitor.
The four trap control parameters are DISABLE, ENABLE, MATCHLfM, and PRCNTLfM.
They control the operation of the trap by indicating whether the trap is enabled or disabled;
how many times the trap should match and produce the desired action before it is
automatically disabled; or what percentage of the system can be used when monitoring a PER
trap.
The dump tailoring parameters are AS!DLST, LIST, SDATA, and SUMLIST. The trace
tailoring parameter is TRDATA. The parameters enable you to tailor the contents of a dump
or a trace record.
The specialized parameters are DEBUG, END, !D, and RBLEVEL. DEBUG is used to
diagnose a SLIP trap that is apparently not working according to your specifications; it
indicates that you want some trap information recorded each time the trap is checked rather
than each time it matches. END marks the end of a SLIP SET command. ID assigns an
identifier to a trap. RBLEVEL indicates which request block the system is to use for error
detection traps.
You can use indirect addresses with the following SLIP command parameters: DATA, LIST,
SUMLlST, and TRDATA. The addresses refer to the address space in which the event occurs.
For DATA, SUMLlST, and TRDATA, the storage areas referred to must be paged in; if they
are paged out, they are ignored. For LIST, the storage areas referred to will be paged in if
they are paged out.
2. a displacement: a plus (+J or minus (-J sign followed by 1-6 hexadecimal digits.
4. an indirection indicator or pointer: a percent sign ("). A pointer is always 4 bytes long.
Graphically:
location 12C
I r-.
+18
data
2R'+4'
Graphically:
GPR2 h�
1 L'"r----
[ data --,
__--,
+4
SLIP S
S ,_
...
.... ..
.
..
d . of OPERATOR 79
March IS, 1979
SRU+4
Graphically:
GPRS h..,
I
�
___,
h'r------,
+4 - -i
'--
. d ata
A 1 2U+BU
Graphically:
location A 1 2
I
I I-�_----,
+8 r-----l
'------'I--
�---,
I
I d at a I
Each complete address is composed of two parts: the base and the displacement. The base
is defined as everything except the last displacement. For example, the address
2R%+4%+8+4+6-2 has the following component parts:
2R%+4%+8 + 4 + 6 - 2
�----�----�}�
The ·following discussion applies to the LIST, SUMLIST, and TRDATA parameters when
multiple start,end specifications are made.
After entering the first complete address (direct or indirect), you can use a form of
shorthand for subsequent addresses. The first address establishes the base address. Subsequent
addresses are written as plus or minus displacements from the base and are separated by
commas. For example, the following set of addresses
!::
t? $l>
t � f: �
tf Q.i � Q.i
I GPR2
+4
f---..,.
+4
+7
data } 4 bytes
+B
+E
data } 4 bytes
Note that the shorthand form allows you to use control block offsets directly from the
DebuaIDI llaDdbook without performing any calculations.
The following discussion applies to the DATA parameter when multiple /D'1Ie/ specifications
are made.
After entering the first target address (direct or indirect). you can use a form of shorthand
for subsequent target addresses. The first target address establishes the b... address.
Subsequent target addresses are written as plus or minus displacemonts from the b.... For
example, the follOwing
i � ;l.� k .# �;;
6 � � .$ �1fI �
o,r <I 0,r <I
1; �r} .),,� �
� 1; �d- G�
�
.:!i I Q '"
o 0
tf
However, if you specify the first target as the contents of a general purpose register, the
shorthand form is invalid. For example. the following specification is invalid.
2R,EQ,C12,+6,NE,001
Once the base address is established. subsequent target addresses may include both the
shorthand form and the contents of a genen) purpose register. For example. the following
specification is valid.
2R�+4,NE,Dl ' ,5R,EQ,'5R,+6,GT,Cl0
Parameter Descripdons
The maior positional and keyword parameters are described in alphabetical order. The
subparameters are described under the major parameters in alphabetical order.
ACTION or A
the action that is to occur when a trap matches. H you do Dot specify ACTION,
AGnON.SVCD is assumed.
IGNORE
the system is to resume normal processing when the trap matches
SUP 5
5"" _...
.... ' of OPERATOR 11
NODUMP
the following dumps are suppressed '.
Note:
I. When you specify ACTION= NODUMP, ensure that the SLIP trap is specific. Ii the
trap is too general, you might suppress dumps needed for other problems. For
example, if you specify only a system completion code, all dumps for that code are
suppressed. However, if you specify both a completion code and a jobname, other jobs
that abend with that completion code produce dumps.
2.Ii a second error occurs during processing for an event witb ACTION- NODUMP
specified, any dump requested for the second error is also suppressed. You can
determine if a second error occurred by checking both the job output messages and
SYS1.LOGREC output. If either one indicates morc than one abend, a second error
occurred. Ii you need a dump for the second error, disable tbe SLIP trap that specifies
ACTION=NODUMP and rerun the falling job.
RECOVERY
force PER traps to initiate recovery processing for the interrupted process after the specified
action is taken. (System completion code 06F is generated.)
Note: Use the RECOVERY keyword carefully to avoid unexpected results. Before using
RECOVERY, be tboroughly familiar with MVS recovery principles. In particular,
make sure that recovery procedures exist at the point where you are forcing
recovery processing. Know what the recovery routines will do under the
circumstances in which you are forcing recovery processing.
SVCD
scbedule an SVC dump when the trap matches. (Ii an address space is falling and you did
not specify a list of ASIDs to be dumped, SLIP tries to dump the falling address space. Ii
tbe falling address space cannot be dumped, SLIP dumps the current address space.)
TRACE
write or maintain a SLIP GTF trace record when the trap matches. The record may be
written to external storage or maintained in virtual storage according to the GTF options
selected. (For detailed information on GTF (unctions, refer to SPL: Service Aids.) If you do
not specify TRDATA, a SLIP standard trace record is collected wben the trap matcbes.
(For TRACE to be active, GTF with the SLIP option must be active.)
TRDUMP
collect SLIP GTF trace records each time a trap matcbes and schedule an SVC dump wben
the trap is disabled or deleted. If you do not specify TRDATA, a SLIP standard trace
record is collected when tbe trap matcbes. (For TRDUMP to be active, GTF with the SLIP
option must be active.)
TRDATA or TR
tailor the type and contents of a SLIP GTF trace record
STD
collect a standard SLIP GTF tracc record when the trap matches
REGS
collect the contents of the 1 6 GPRs into the SLIP GTF trace record when the trap
matches
Slart,end
collect the contents of the address range, or ranges, into the SLIP GTF trace record
when the trap matches. The address range can be:
value: 1-8 hexadecimal digits for slarl and end. (The ending address must be greater
than or equal to the starting address.)
2. an indirect address
value: refer to the paragraph 'Indirect Addressing Used with SLIP'. (The ending address
must be greater than or equal to the starting address.)
If the data from the address range (or address ranges) exceeds the foUowing length
restrictions, the trace record is truncated.
ASIDLST or AL
the address space, or spaces, to be dumped when the trap matches.
n
an address space identifier. (The maximum number of identifiers allowed is IS.)
value: 1-4 hexadecimal digits. (A value of 0 indicates the current address space. The
value specified must not exceed the maximum value set by your installation.)
LIST or LS
the address range, or ranges, to be included in an SVC dump when the trap matches
start,end
the starting and ending addresses. The address range can be:
value: 1 -8 hexadecimal digits for start and end. (The ending address must be greater
than or equal to the starting address.)
2. an indirect address
value: refer to the paragraph 'Indirect Addressing Used with SLIP'. (The ending address
must be greater than or equal to the starting address.)
Two error conditions may arise when using LIST. The first involves the resolution of an
indirect address, U, for any reason, an indirect address cannot be converted to a direct address
(for example, a page fault occurs while retrieving a pointer or registers are unavailable for
SLIP Sub
co•••geI or OPERATOR 83
..... of GC1II-G619·]
At ........ . M_ 15, 1979
By TNL: GN:z3.197. ro< 5151-860
conversion), the characters ·RC-4· are dumped instead of the address range requested to
indicate that the address pair was Dot successfully converted. The second condition occurs
when a pair of indirect addresses are successfully converted but the second address (ending
address) is less than the first address (starting address) of Ihe pair. The characters 'Al >A2'
are dumped instead of the address range requested (and SDUMP is prevenled from abending).
SDATA or so
the system control information to be included in an SVC or summary dump when the trap
matches
option
an area of storage or type of dump
SUMLIST or SL
the address range, or ranges, to be included in a summary dump when the trap matches. (If
SDATA=(NOSUMDUMP) is specified, the specification of SUMLIST is invalid.)
start,end
an address range. The address range can be:
value: 1-8 hexadecimal digits for start and end. (The ending address must be greater
than or equal to the starting address.)
2. an indirect address
value: refer to the paragraph 'Indirect Addressing Used with SLIP'. (The ending address
must be greater than or equal to the starting address.)
Two error conditions may arise when using SUMLIST. The first involves the resolution of
an indirect address. If, for any reason, an indirect address cannot be converted to a direct
address (for example, a page fault occurs while retrieving a pointer or registers are unavailable
for conversion), the characters *RC ... 4* are dumped instead of the address range requested to
indicate that the address pair was not successfully converted. The second condition occurs
when a pair of indirect addresses are successfully converted but the second address (ending
address) is less than the first address (starting address) of the pair. The characters *Al >A2*
are dumped instead of the address range requested (and SDUMP is prevented from abending).
ADDRESS or AD
the event must occur at a virtual address, or within a range of virtual addresses, to satisfy
the match test
stan
a virtual address ( I-byle range)
slarl,end
a virtual address range
value: 1-8 hexadecimal digits for s/art and end (The ending address must be greater
than or equal to the starting address.)
ASID or AS
the event must occur within an address space, or spaces. to satisfy the match test. If you do
not specify ASID for a non-ignore PER trap, PER monitoring is active in all address spaces
unless you limit it by specifying JOBNAME.
id
an address space identifier. (The maximum number of ids allowed is 16.)
value: 1-4 hexadecimal digits. The value specified must not exceed the maximum. value
set by your installation.)
COMP or C
a system or user completion code to be associated with an error. If you specify a set of
codes, the occurrence of any one satisfies the match test.
hhh
a system completion code or a set of system completion codes
Nolte: H you specify any o f the fonowing system completion codes, the match test always
fails:
1 1A, 12E, 15D,200,212,279, 282,402,42A,57D,6FC,700,72A,AOO,800,X22
Most of the preceding codes occur originally as a program check (OC4) and are converted to
the indicated code by the system. SLIP can detect the original code (OC4). but not the
con...rted code. To specify a program check. use COMP-OC4 or ERRTYP _ PROG. To avoid
satisfying the match test for all program checks, specify a program name, module name, or
other qualifier.
In addition. the specification of 13E or 33E prevents a trap match because those completion
codes occur for any active subtasks associated with a task that is abending. The secondary
abends occur for the purpose of clean-up only and are not detected by SLIP."
Udddd
a user completion code or a set of user completion codes
SLIP S..
..
....
_ ...
. of OPERATOR 85
Pile of GClI-0629�3
As ....ed
.. Marcb I�, 1979
By TNL: GNu..2971 for �7�1-864
Nole: If any user completion code is changed in a user recovery routine with the SETRP
macro instruction, specify the original completion code in the COMP keyword parameter.
DATA or DA
logically compare the contents of a target location to a specified value. The comparison
must be successful to salisfy the match test. (If a DATA= target location is paged out, a no
match is assumed. You are notified by message IEA4 1 3I, and a 'data unavailable' count is
updated in the SCVA. For a PER trap. you are notified only the first time the data is
unavailable. However. the 'data unavailable' count is readily available by displaying the trap
or in the standard portion of a SLIP trace record.)
target
the address of a storage location or a general purpose register (GPR). The target can be:
x
a register designation
b
target modifier that indicates where a binary comparison is to start
operator
a logical operator
preva/
the data to which the contents of larget are to be compared
DEBUG
provides infonnation to allow you to determine why a trap you sel is not working as you
expected. (For DEBUG to be active, GTF with the SLIP option must be active.)
Each time the trap is tested a trace record, containing the standard SLIP trace data plus two
bytes of match/no match bit indicators, is written. Each bit corresponds to a possible test
made to determine a match for the trap. If a test is successful, the corresponding indicator is
set to O. If a test is unsuccessful, the corresponding indicator is set to 1 . After the first
unsuccessful test, no further tests are made and aU the remaining indicators are set to O. For
a description of the SLIP DEBUG trace record and the bit indicators, refer to SPL: Deb,,",..
Handbook, Volume 1.
DISABLE or D
a defined SLIP trap is initiaUy disabled
ENABLE or EN
a defined SLIP trap is iniliaUy enabled
END or E
the end of a SLIP command
ERRTYP or ER
an error condition must occur to satisry the matc� test. Ir you specify more than one error
condition, the occurrence of any one satisfies the match test. If you do nol specify
ERRTYP, ALL is asswned.
type
an error condition
value: as indicated in the following list:
ALL all of the following error conditions
ABEND task issued SVC13
DAT dynamic address translation error
MACH software error caused by machine check
MEMTERM abnormal address space termination
POlO paging I/O error
PROG program check interruption
REST restart interruption
SVCERR SVC error (issuing an SVC while holding a lock, executing disabled. or
executing in SRB mode)
ID
an identifier is to be assigned to a trap. If you do not specify ]D, the system assigns a
unique four-character identifier beginning with 000 1 . You are notified of the
system-assigned identifier by message I£E7271.
xxxx
trap identifier
value: 1-4 alphameric characters
IF
monitor an instruction fetch PER trap
JOBNAME or J
the initiated job, started task. or TSO session that must be in control to satisfy the match
test. For PER traps, JOBNAME limits PER monitoring to the address space in which the
specified job runs. If neither JOBNAME nor ASIO is specified for a non-ignore PER trap,
PER monitoring is active in all address spaces in the system
j-name
the ;obname, started task id, or TSO userid. (The jobname is the one specified on the
JOB statement; the started task id is the procname specified on the START command;
the TSO userid is the userid specified on the LOGON command.)
JSPGM or JS
the job step program that must be in control to satisfy the match test. If you specify
JSPGM for an error trap and any address space abnormally terminates, a oo--matcb
condition for the trap occurs.
js-name
the job step program name. (This name is the one specified on the EXEC statement in
the PGM=program-nome parameter.)
value: 1-8 alphameric characters, beginning with an alphabetic or a national character
LPAMOD or L
the event must occur within a link pack area load module to satisfy the match test. If start
and end are not specified, the monitored range is the entire module. If only start is
specified, the monitored range is one byte at the offset 'start', If both slart and end are
specified, the monitored range is between the offset 'start' and the offset 'end'.
mod-name
the module name
start
the offset into the module (I -byte range)
start.end
the starting and ending offsets into the module
value: 1-6 hexadecimal digits for Slarr and end. (The value specified for end must be
greater than or equal to the value specified for slart , )
MATCHLlM or ML
a SLIP trap is automatically disabled after the specified number of matches. If you specify
ACTION -SVCD for a PER trap and do not specify MATCHLIM, I is assumed. For all
other traps, if you do not specify MATCHLlM, no limit is assumed; that is, no
MATCHLIM test is made.
When the specified number of trap matches occurs, an enabled trap is disabled and message
IEA4 1 1 1 is issued. If you specified ACTION-TRDUMP, an SVC dump is scheduled.
m
number of trap matches
MODE or M
the system must be in a particular mode, or modes, to satisfy the match test. If you do not
specify MODE, ALL,ANY is assumed
ANY
any mode specified must occur to satisfy the match test
EVERY
every mode specified must occur to satisfy the match test
PRCNTLlM or PL
the percentage limit of system processing that can be devoted to monitoring PER traps. At
least 33.55 seconds must have elapsed since the first PER interruption before a trap is
disabled because of this Limit. If you do not specify PRCNTLIM for a non-ignore PER trap,
l O is assumed
When the processing limit is surpassed, a non-ignore enabled PER trap is disabled and
message IEA4 1 1 1 is issued. If you specified ACTION-TRDUMP, an SVC dump is
scheduled.
p
the percentage limit
value: an integer in the range of 1-99. (The value computed to test PRCNTLIM is an
approximation. In addition, the value computed is truncated to an integer before
the test is made.)
Note: Use caution in specifying a percentage limit of 99 because no percent limit checking
is performed.
PVTMOD or P
the event must occur within a private area load module to satisfy the match test. If slart
and end are not specified, the monitored range is the entire module. If only start is
specified, the monitored range is one byte at the offset 'start'. If both start and end are
specified, the monitored range is between the offset 'start' and the offset 'end',
If PVTMOD is specifed for an error trap, certain conditions cause the match test to fail
when executing in non task mode.
• local lock not held or obtained prior to the search of the CDE chain
• MEMTERM error
• DAT error
mod-name
the module name
value: 1 -8 alphameric characters
start
the offset into the module (I -byte range)
value: 1-6 hexadecimal digits
slarl,end
the starting and ending offsets into the module
value: 1-6 hexadecimal digits for slart and end. (The value specified for end must be
greater tban or equal to the value specified for start.)
RANGE or RA
the event must occur at a virtual address, or within a range of virtual addresses, to satisfy
the match test. If you specify IGNORE in the ACTION keyword parameter for a PER
storage alteration trap. the specification of RANGE is invalid.
start
a virtual address (I-byte range)
value: 1-8 hexadecimal digits
start,end
a virtual address range
value: 1-8 hexadecimal digits for start and end. (No test is made to ensure tbat end is
greater than start because tbe specification of a starting address greater than an
ending address is valid. (See IBM System/370 Principles of Operation for detailed
information.)
RBLEVEL or RB
the registers for use in resolving indirect addresses and the PSW for use by LPAMOO.
PVTMOD, ADDRESS, and MODE are taken from a particular RB. (RBLEVEL applies
only to unlocked task mode errors.) If the RB specified by RBLEVEL is not found, a
no-match condition for the trap exists.
ERROR
the PSW is obtained from the RB prior to the SVC 1 3 (ABEND) RB (RB2 in Figure
16). The registers are obtained from the SVC 1 3 RB (RBI in Figure 16).
PREVIOUS
the PSW and registers are obtained from one RB prior to the one used in ERROR. (PSW
from RB3 in Figure 16; registers from RB2 in Figure 16.)
NOTSVRB
the PSW is obtained from the most recent non-SVRB; the registers from the associated
SVRB. (For example in Figure 16, if RB I, RB2, and RB3 are SVRBs, the PSW is
obtained from RB4 and the registers from RB3.)
SB
monitor a successful branch PER trap
SET
define a SLIP trap. If IF, SA, or S8 are not specified, a non-PER trap (error trap) is
defined and monitored.
TCB
RBl RB2 RB3 RB4
L-_----l
H SVC 1 3
Op<ratiOlf: Setting a SLIP trap using the instruction fetch PER event.
s1 s et , i f , en , action=svcd , r ange= (cd 3 1 0 0 ) , end
Example 2
()p6ation: Setting a SLIP trap using the storage alteration PER event.
s 1 set, sa , en , action=svcd , range� (cd3 1 0 0 , cd 3 0 1 3 ) ,
data: (cd30 1 0 , eq , O O O O O O O O ) , � nd
Example 3
OpmlliOlf: Setting a SLIP trap to obtain a dump with queue elements and control blocks.
s 1 set, id=50cx, a=svcd, comp�x 3 0 , errtyp=abend , j sP9m=comrtn .
sdata= ( sqa , rgn , t r t , 5um) , end
SLIP s.
s ""'
..
.. _ _d of
.. OPERATOR 91
92 OS/VSl System � Ubnry: TSO
""
"'5
;
Di :
�
.:-.�
�I , f;-;
1
,
!
Ii ! I Ii 1
'I 'I
i i! -.!
!
'i
IP
=
'ITI
" -
-�
. . .
� I
i I
N OS/vD s,.- ..
..
. _
. ... lAnI7: TIO
•
� �
'i 'I
,� ..l
iU il! !�
,
lid
-=
-
�I
j
'!
i .
':;::
"
•
-. 'j
� .:,'i
!
!
!
I
" OS/VSl Sy..... __ ....,....,. TSO
• • • •
""
""
...!
1
H l
Li
.
g -
'I 'I
, ,
. ..
a �
! !
.....::.... ...::...
'! T!
-.! - -
.
f
�
-
iii
.�
.
g
.
!
::;::
'I
i
I " ;
97.0 OS/VSl Sy... m Pro,..mmin. Ubruy: TSO
This page intentionally left blank.
MOD
change the status of an existing SLIP trap, or traps
ENABLE or EN
a disabled trap. or traps, is enabled
DISABLE or D
an enabled trap. or traps, is disabled, (If TRDUMP is active, an SVC dump is
scheduled.)
ALL
the status of all traps is changed or all traps 3re deleted.
ID
the status of ! trap is changed or .! trap is deleted
=
trap identifier
Example 1
Example 2
{ILIPI {= I
l.bUng or Disabling Previously �fined Traps
II::'"U1 1 {=
'"""}� 'H gn"'!J! } , I"'�
1
S� I>2L, ,,,.""""
J fmd out ifother traPl have been set and wh81 thelr status is, use To fllld out if other traps have �n xt and what their status Is,
,e DISPLAY SUP SlIbcommand. Another way to ayoid use the DISPLAY SLIP subcommand. Another way to avoid
Idesirable resulllis to enable or disable tnlp$ explldlly by undesIrable results Is to delete tliPS explldtly by spedfYlng II>
-ecifylng II>-. When I trap Is deleted by a TSO userid other than the one who
hen a trap is enabled or disabled by a TSO userid other than the set the trap, the originator of the tnlpis informed of the tIiP'S
Ie who sct the trap, the originator of the trap U Infomled of the changing status and Ihe userid responsible via message IEE7271.
ap's changing st-,us and the userld ruponsible via me5$lge
iE7271.
Use the STOPMN subcommand to terminate the monitoring operations of the MONITOR
subcommand. This subcommand will halt the display of information at your terminal.
JOBNAMES
STOPMN SESS
PM STATUS
lOBNAMES
the system stops displaying the names of jobs as they start and terminate
SESS
the system stops displaying TSO userids as terminal sessions are initiated and terminated
STATUS
the system stops displaying the names and volume serial numbers of data sets with
dispositions of KEEP, CATLG, or UNCATLG when the data sets are freed
Example 1
OpnatiOlf: Stop the display of the names of jobs as they start and terminate.
stopmn jobnames
Example 2
Optndlo,,: Stop the display of TSO userids as tenninal sessions are initiated and tenninated.
pm sess
Index 103
EDiT Access Method IBMUSER userid II
space allocation 6 10 parameter, SLIP subcommand of OPERATOR 87
EDIT utility data sets 6 (5752·864)
EDIT command IEALIMIT control 4
IBM-supplied exit for RENUM subcommand 30 IF parameter. SLIP subcommand of OPERATOR 87
installation-written exit for COpy, MOVE and RENUM (5752-864)
subcommands 30 IGNORE parameter, SLIP subcommand of OPERATOR
relurn codes 31 8 1 (5752-864)
parameter list 31 IKJACCNT LOGON procedure II
EDIT subcommands. adding 37 IKJEBEST macro instruction
eliminating wasted space in UADS 8 code 38
ENABLE parameter, SLIP subcommand of OPERATOR format 37
87 (5751-864) subcommand naming restriction 37
end address Ro..8 1 {5752-864) IKJEFFIE mapping macro instruction
END parameter, SLIP subcommand of OPERATOR 87 used in installation exit for OUTPUT, STATUS and
(5752-864) CANCEL commands 22
END subcommand used in installation exit for SUBMIT command 19
ACCOUNT command 59 IKJEFLD 24
OPERATOR command 70 IKJEfTOI 4
environment control table (ECT) IKJPRMOO 2
as a parameter in LOGON pre-prompt 28 indirect addressing 79-8 1 (.5'752-864)
error traps 77 (.5752-864) initializing time sharing
ERRTYP parameter, SLIP subcommand of OPERATOR TSO/TCAM 13
87 (5751-864) TSO/VTAM 14
examples installation-derined data set types 32
ADD of ACCOUNT 49-50 installation-written EDIT subcommands 37
CHANGE of ACCOUNT 55 installation-written exit routines (He exit routines)
DELETE of ACCOUNT 57-58 instruction fetch t.rap 77 (57.52-864)
HELP of ACCOUNT 61
L1�, of ACCOUNT 63
L1STIDS of ACCOUNT 64 J parameter 68
CANCEL of OPERATOR 67 JCL parameter
DISPLAY of OPERATOR 69 ADD subcommand of ACCOUNT 48
HElP of OPERATOR 72 CHANGE subcommand of ACCOUNT 54
MONITOR of OPERATOR 73 JOBNAME parameter, SLIP subcommand of OPERATOR
SEND of OPERATOR 76 87 (5751-864)
SLIP of OPERATOR 91,98 (5752-864) JOBNAMES
STOPMN of OPERATOR 101 MONITOR subcommand of OPERATOR 73
EXEC parameters 4 STOPMN subcommand of OPERATOR 101
IKJEFTO I 4 JOBS parameter 68
executing authorized under TSO 39 JSPGM parameter, SLIP subcommand of OPERATOR 88
executing the TMP as a batch job 12 (5751-864)
exit routines
for COPY, MOVE. and RENUM subcommand of EDIT
keyword parameters 43
30
for LOGON pre-prompt 23-24
for OUTPUT. STATUS, and CANCEL commands 21 L (LIST) S1Jbcommand of ACCOUNT 62
for SUBMIT command 18 implicit specifications 63
for syntax checkers 36 L parameter
for TSO/VTAM 14 DISPLAY subcommand of OPERATOR 68-69
L1NEGRP macro instruction, reference to book on 2
LI5rr parameter
format. record
DlSPLAY subcommand of OPERATOR 68--69
passed to synlax checkers 33
SEND subcommand of OPERATOR 74,76
FUNCTION parameter
SLIP subcommand of OPERATOR 83 (5751-864)
HELP subcommand of ACCOUNT 60
LIST subcommand of ACCOUNT 62
HELP subcommand of OPERATOR 71
L1STI subcommand of ACCOUNT 64
L1STIDS subcommand of ACCOUNT 64
H (HELP) subcommand LOGON cataloged procedure 3
ACCOUNT command 60 IKJACCNT "
OPERATOR command 71 sample procedure 6
HELP subcommand LOGON parameter 75
ACCOUNT command 60 LOGON pre-prompt exit routine 23
OPERATOR command 71 parameter list 25
control switches 26
sample LOGON pre-prompt routine 29
lade" 105
Pace of GC28-061'·3
As ...ted March 15, 19"
By TNL, GNlII-2971 lor 5751-8<>4
regulate TSO from a terminal (OPERATOR) 66-101 successful branch trap 17 (5752-864)
RENUM subcommand of EDIT 30 SUMLIST parameter, SLIP subcommand of OPERATOR
IBM-supplied for VSBASIC data set type 30 84 (5751-8<>4)
installation exit for 30 SVCD parameter, SLIP subcommand of OPERATOR 82
parameter list 31 (5752-864)
return codes 31 symbol
meaning 41
SYNC subcommand of ACCOUNT 1 1 ,65
SA parameter, SLIP subcommand of OPERATOR 91 syntax checkers 32-36
(5751-8<>4) IBM-supplied 32
SAVE parameter 7S installation-written 32
SAVE subcommand of EDIT 14 parameter list 3�3S
SB parameter, SLIP subcommand of OPERATOR 91 exit routine for 36
(5751-8<>4) syntax checker communication area 34
SDATA parameter, SLIP subcommand of OPERATOR syntax checker parameter list 32-35
83.0 (5751-8<>4) syntax checker standard interface 33
SE (SEND) subcommand of OPERATOR 74 syntax checking 32
SEND subcommand of OPERATOR 14 SYNTAX parameter
SESS parameter HELP subcommand of ACCOUNT 60
MONITOR subcommand of OPERATOR 13 HELP subcommand of OPERATOR 11
STOPMN subcommand of OPERATOR 101 SYSPROC DO statement
SET parameter, SLIP subcommand of OPERATOR 91 inclusion in LOGON cataloged procedure 5
(5751-8<>4) system attributes
SIZE parameter as PSCB parameter to LOGON prc-prompt exit 28
ADD subcommand of ACCOUNT 48 system modification program (SMP) 24
CHANGE subcommand of ACCOUNT 53 SYSUADS DO statement
SLIP parameter, DISPLAY subcommand of OPERATOR inclusion in LOGON cataloged procedurc 5
68 (5751-8<>4) SYS1.CMDLlB, including in LNKLSTxx mcmber of
SLIP subcommand of OPERATOR 11 (575l-8U) SYSI .PARMLIB 2
SLIP traps 11 (5152-864) SYSI .PARMLIB
SMP (sec system modification program) adding IKJPRMOO to 2
standard interface for syntax checker 33 adding SVSI.CMDLlB to 2
START command, to initia1ize time sharing adding TSOKEYOO to 2
TSO/TCAM 13 SYS1 .PROCLIB
TSO/VTAM 14 adding LOGON cataloged procedure to 2
starting TCAM t3 adding MCP cataloged procedure to 2
starting time sharing
TSO/TCAM 13
TSO/VTAM 14 T paramcter
start address 80-8 I (5752-864) DISPLAY subcommand of OPERATOR 68
starting VTAM 14 MONITOR subcommand of OPERATOR 13
STATUS command lailoring an Mep. reference to publication on 2
IBM-supplied exit routine 21 target address 8'1,86 (5752-864)
installation-written exit routine 21 TeAM, modifying 14
parameter list 22 TeAM, starting 13
return codes 2I TeAS activating 14
STATUS parameter tcrminal
MONITOR subcommand of OPERATOR 73 creating UADS and broadcast from 11
STOPMN subcommand of OPERATOR 101 tenninal I/O controller (TIOe) parameter, rderencc to
step library 5 book on 2
inclusion in LOGON cataloged procedure 5 terminal monitor program (TMP)
STEPLIB DO statement as a batch job 13
inclusion in LOGON cataloged procedure 5 tcrminating time sharing
STOP command, to stop TSO/VTAM 14 TSO/TCAM 14
STOPMN subcommand of OPERATOR 101 TSO/VTAM 14
stopping time sharing time-sharing
TSO/TCAM 14 starting
TSO/VTAM 14 TSO/TCAM 14
storage alteration trap 11 (5752-864) TSO/VTAM 14
subcommand interface area (RENUM) 31 stopping
subcommands of EDIT command, adding 31 TSO/TCAM 13
SUBMIT command TSO/VTAM 14
IBM-supplied exit routine 18 TIOe (terminal I/O conlroUer) parameter, reference to
installation-written exit routine 11 book on 2
control switches 19 TMP (terminal monitor program)
parameter list 19 as a balch job 8.13
return codcs 18
[Hex 107
"
This manual is part ora library that serves as a reference source for s yst em s a na l ys ts, programmers,
and ope rato rs of IBM systems. This form may be used to communkatc you r views about this
p ub li ca tion . They will be sent to the author's depart me n t for whatever review and action, if any,
i s deemed app ro p ria te .
IBM may use or distribute any of the information you supply in any way it believes appropriate
without incurring any obligation whatever. You may, of course, continue to usc the information
y o u supply.
Note: Copies of IBM publicalions are nol siocked al lh. location 10 which Ihis form is addressed.
Please direct allY requests for copies of publications. or for assistance in llsing your IlJM system.
to your IBM representative or 10 tlte IBM branch office serJling your locality.
If comments apply to a Selectable Unit, please provide the name of the Selectable U ni t ____
�
o
Z
Please circle the description that most closely describes your occupation.
CuSCom�r Install System System System Applica. Systcm 1/0 Tcrm. Other
M�r.
(S)
Consult.
(P)
Analyst
(A)
Prog.
(D)
Pros·
(e)
Oper.
(D)
Orcr.
(R)
Oper.
Thank you for your cooperation. N o postage stamp necessary if mailed in the U.S.A. (E lsew he re ,
an IBM office or representative wil l be happy to forward your comments.)
GC28-0629-3
I II I I
F irst Class
Permit 40
Armonk
New York
=l'
-I ,
�
I Cl
()
I '"
co
6
- -
- -
-
- -
- I Ol
III
- -
-
- -
--
OJ
- -- -
- - - - - -
- - - - -
- - - - -
Technical Newsletter
- - ---
- - - - - -
= � = ':' =
, This Newsletter No. GN28·2971
Date March 1 5, 1979
Before inserting any of the attached pages into SPL: TSO, read t:fInfully the
instructions on this cover. They indicate when and how you should insert the pages.
79 · 80 79 · 80
83 · 88 83 · 88
105 · 106 105 · 1 06
-If you are inserting pages from different Newsletters/Supplements and i(kndCtlI page
numbers are involved, always use the page with the latest date (shown in the slug at the
top of the page ). The page with the latest date contains the most complete information
Summary of Amendments
Note: Please file this cover letter at the back of the base publication to provide a
record of changes.
Printed in U,S.A..