InterTest™ and SymDump ® 11.0
SLBSCRL
SLBSCRL= PAGE /HALF/STOP/nnnn
Specifies the default scroll value for the LIST facility (online viewing of compile and assembly listings) when the user
presses the PF7 or PF8 keys. Regardless of this setting, the value can be adjusted online at any time.
PAGE
Scrolls the display one page.
HALF
Scrolls the display half a page.
STOP
Scrolls the display to the next declared breakpoint.
nnnn
Scrolls the display the specified number of lines (1 to 9999).
SLBTIT
SLBTIT= TITLES  /NO/REGISTERS/KEEP/PROGRAM
Specifies the default view at the top of the display (info area) of the LIST facility (online viewing of compile and assembly
listings). Regardless of this setting, the value can be adjusted online at any time.
TITLES
Displays the title and header lines, leaving less space for the source listing.
NO
Displays only the entry fields and a command line, leaving more space for the source listing.
REGISTERS
Displays the general registers and the condition code at a breakpoint.
KEEP
Displays your program data items at a breakpoint.
PROGRAM
Displays the load module name and the symbolic file information.
SYMDINT
SYMDINT= YES /NO
For SymDump  for CICS users viewing a source listing, this option specifies whether the user can invoke InterTest for
CICS functions for the abended program.
YES
SymDump  for CICS users can invoke InterTest for CICS functions when viewing a source listing for an abended
program. For example, users can set monitoring, invoke the FILE facility, and perform other InterTest for CICS
functions directly from SymDump  for CICS.
NO


functions directly from SymDump  for CICS.
NO
SymDump  for CICS users cannot invoke InterTest for CICS functions when viewing a source listing for an
abended program. To invoke InterTest for CICS functions, users must access InterTest for CICS directly.
SYMFIL
SYMFIL= PROTSYM  /file/(file1,file2,....)
 171


InterTest™ and SymDump ® 11.0
Specify the CICS file definition names for the InterTest for CICS symbolic files. The names cannot exceed seven
characters. If more than one name is specified, the names must be separated by commas and the entire list enclosed in
parentheses. Be sure to adjust the CICS file definition if you do not use the default.
This option tells InterTest for CICS the CICS file definitions of the InterTest for CICS symbolic files and their search order
for program data. When monitoring is turned on for a program, InterTest for CICS searches the symbolic files in the
sequence specified and for COBOL and PL/I programs finds the symbolic file member that matches the corresponding
load module compile date/time. If a matching date/time cannot be found or a symbolic file member has a more recent
date than the date in the load module, a symbolic file mismatch screen will appear and the customer must choose which
symbolic file member to use for debugging. For Assembler programs, the symbolic file mismatch screen will always
appear if a program is found on more than one symbolic file.
Once a matching date/time member is found or a member is selected from a mismatch screen, InterTest for CICS
will continue to use the selected symbolic file member until all breakpoints and monitoring has been turned off for the
program.
There is no upper limit to the number of symbolic files that you can specify. However, limit the number of files to reduce
the overhead and the storage required for the VSAM buffers because each CICS file definition must be defined with
LSRPOOL=NONE.
UCONLY
UCONLY=NO/YES
Determines whether certain terminal output will be dynamically translated from lowercase to uppercase.
NO
Terminal output is not dynamically translated.
YES
Terminal output is dynamically translated to uppercase characters. If you previously installed the uppercase


YES
Terminal output is dynamically translated to uppercase characters. If you previously installed the uppercase
version of the InterTest for CICS load libraries because your terminals did not support the mixed case English
character set, you should specify YES.
USERHELP
USERHELP= PROTUHF  / filename
Specify the file name for the optional help file of user-defined abend descriptions. The name cannot exceed seven
characters. Be sure to adjust the CICS file definition if you do not use the default.
VRPTT
VRPTT= VRPT  /transaction-id
Specify a four-character transaction ID for the InterTest for CICS VRPT transaction used to verify the installation and
display the installation options. Be sure to adjust the CICS transaction definition if you do not use the default.
XRMIO
XRMIO=NO/ YES
For InterTest for CICS users, determines whether or not to use the CICS XRMIOUT Global User Exit to keep track of the
last SQL call issued by an application program.
NO
Allows capture of SQL information provided that an EXEC CICS command has not occurred between the SQL call
and the abend.
 172


InterTest™ and SymDump ® 11.0
YES
Provides the last SQL call to the applications programmer for the CORE=SQLCA and CORE=LASTSQL
commands, but there is an overhead associated with the use of the XRIMIOUT exit that not all shops will want to
incur.
InterTest for CICS Keywords
AUDIT
AUDIT= NO/YES
For auditing purposes, certain installations require that all CORE, FILE, and CNTL commands be recorded.
NO
Specify NO if you did not specify the GLOG= option or if you want to dynamically activate and deactivate global
logging with CNTL=GLOG,ON and CNTL=GLOG,OFF commands.
If you specify NO, the user can request logging of FILE commands by specifying FUNC=LOG on the FILE menu.
YES
Specify YES if you specified the GLOG= option and you need the global logging facility always active.
With AUDIT=YES, neither the CNTL=GLOG,ON command nor the CNTL=GLOG,OFF command are accepted.
The CNTL commands and InterTest for CICS responses are always recorded in the transient data queue or data
set that was specified with the GLOG= keyword. CORE changes to storage areas not owned by the task (usually
password protected) are always recorded. The FILE transaction operates in the LOG=ON mode; that is, all user
requests and resulting FILE screen images are recorded.
NOTE
If you do not specify the GLOG= keyword, the AUDIT=YES specification is ignored.
AUTMON
AUTMON= YES/NO
Indicates whether a new Monitor Table entry is created.
YES
Creates a new Monitor Table entry for a program when an automatic breakpoint is about to occur if the program is
being monitored under a Monitor Table entry that does not name this program by its full name (for example, if the


entry names a transaction). The new entry assumes all monitoring options currently in effect. This option makes it
easier to debug the program.
NO
Does not create a separate Monitor Table entry.
BREAK
BREAK= YES/NO
Indicates whether InterTest for CICS is allowed to execute breakpoints.
YES
Allows InterTest for CICS to execute breakpoints; that is, to stop execution of the application program at certain
points. Select this option if you intend to use InterTest for CICS as an interactive debugging tool.
NO
Does not allow InterTest for CICS to execute breakpoints. This option might be desirable in a separate version
of InterTest for CICS used solely for monitoring production applications. InterTest for CICS generated with
BREAK=NO monitors with less overhead, which is important in production.
 173


InterTest™ and SymDump ® 11.0
Instead of causing automatic breakpoints, InterTest for CICS abnormally terminates transactions with a
transaction dump when it detects a standards violation. The abend/dump code is INTE. The dump contains all of
the usual diagnostic information.
CICSPLEX
CICSPLEX=YES/ NO
InterTest for CICS provides special support for CICS regions participating in a CICSplex environment. Participating
CICSplex regions have InterTest for CICS commands propagated across all regions in the CICSplex.
YES
Indicates that this CICS region is participating in at least one CICSplex family of regions, as named in the
CPLXFMID keyword. Invokes InterTest for CICS CICSplex processing by using CAICCI.
If CICSPLEX=YES, CAICCI processing must be installed on the z/OS operating system and available to CICS.
NO
Indicates that this CICS region is not participating in a CICSplex family.
CKPTFIL
CKPTFIL= PROTCPF / filename
Specify the file name for the InterTest for CICS checkpoint file. The name must not exceed seven characters. If you do not
use the default, be sure to adjust the CICS file definition.
CNTLSEC
CNTLSEC= YES/NO
Indicates whether certain CNTL commands can be protected with a password.
YES
Protects certain CNTL commands with a password and allows for password protection of certain CNTL options.
Specify CNTLSEC=YES if the CNTL command functions should be available only to authorized personnel. With
CNTLSEC=YES, the keyword CNTOSEC further specifies whether the subset of CNTL options should also be
password protected.


password protected.
The passwords are defined in the IN25SEC2 macros. See InterTest for CICS User Exits for the list of CNTL
commands and options subject to password protection and details on specifying passwords using IN25SEC2.
With CNTLSEC=YES, you must use the IN25SEC2 macro to generate the InterTest for CICS program IN25SEC2
or use the IN25SEC2 delivered with InterTest for CICS.
NO
Does not protect certain CNTL commands with passwords and does not allow for password protection of certain
CNTL options.
CNTLT
CNTLT= CNTL /transaction-id
Specify a four-character transaction ID for the InterTest for CICS CNTL transaction. Be sure to adjust the CICS transaction
definition if you do not use the default.
NOTE
The CICS restriction that no user transaction ID begins with the character C is not strict. IDs such as CNTL and
CORE can be used if the CICS system does not use them.
 174


InterTest™ and SymDump ® 11.0
CNTOSEC
CNTOSEC=YES/NO
When the value for the keyword CNTLSEC is YES, specify this keyword to include or exclude certain CNTL options from
password protection. When CNTLSEC=NO, this keyword is ignored.
YES
Protects certain CNTL options with a password. The password is defined in an IN25SEC2 macro, as discussed in
Password Protection.
NO
Does not protect any CNTL options with passwords.
CNTSQLG
CNTSQLG= YES/NO
Indicates whether CNTL commands are logged.
YES
Logs CNTL commands executed from a sequential terminal and responses to them into the transient data
destination defined in the GLOG option.
NO
Does not log CNTL commands.
CORSEC
CORSEC= YES/NO
Indicates whether a password is required to modify a main storage area protected by InterTest for CICS.
YES
Requires a password when a user of the CORE facility is about to modify a main storage area that is protected by
InterTest for CICS, but does not require the password during normal debugging. Specify CORSEC=YES if you will
use the InterTest IN25SEC2 macro to generate a password that would prevent the CORE facility from being used
by unauthorized personnel.
The IN25SEC2 macro must be used to generate the InterTest for CICS program IN25SEC2 or use the IN25SEC2
delivered with InterTest for CICS. The use of the IN25SEC2 macro is described in Password Protection.
Without the password, the CORE transaction lets you modify only those storage areas that belong to a task that is
waiting in a breakpoint and are not protected by InterTest for CICS from being modified by the monitored program.
NO


NO
Does not require a password before allowing modification of any field within the CICS region in main storage.
See the description of the CORE transaction in CICS Debugging. The CORSEC specification also applies to data
modification in the LIST Keep window.
NOTE
Regardless of the CORSEC= specification, the following main storage areas are not available for
modification by the CORE transaction:
•CICS/VS Sign-on Table (DFHSNT)
•Main storage outside of the CICS region
CPF11
CPF11=7B/BF
Activates the PF11 key on the Detailed Breakpoint screen.
 175


InterTest™ and SymDump ® 11.0
7B
Allows application programmers to use the PF11 key on the Detailed Breakpoint screen to tell InterTest for CICS
to force the execution of any error condition that InterTest for CICS has detected even though the error condition
that caused the automatic breakpoint still exists. In effect, the user tells InterTest for CICS that this is really not a
violation and to execute regardless of the consequences.
Before enabling this facility, be aware of the following considerations:
•As a result of this execution, not only the tested transaction's data could be damaged but other concurrent
transactions could also be affected and the entire CICS system may crash.
•Using PF11 ignores not only the immediate error condition, but also all subsequent error conditions until the
next breakpoint or CICS Service Request (whichever comes first).
BF
Specify CPF11=BF if you do not want to provide this facility.
CPLXCKPI
CPLXCKPI= 0020 /hhmm
If CICSPLEX=YES and the checkpoint facility is started by a CICSPLEX resynchronization request, defines the time
interval in hours (HH) and minutes (MM) between checkpoints.
CPLXFMID
CPLXFMID= INTERTST /CICSplex-familyname
Defines an eight-character CICSplex family name associated with the CICS region. The same family name must be
given to all CICS regions participating in that family to obtain CICSplex support throughout the family. InterTest for CICS
supports multiple CICSplex families within or across multiple z/OS regions.
For example, all regions associated with CPLXFMID=REGIONA participate in one CICSplex family, while all regions
associated with CPLXFMID=REGIONB participate in another.
CWALET


associated with CPLXFMID=REGIONB participate in another.
CWALET
CWALET= <no value>  /(label,label)
Specify the CWALET keyword only if you want to remove InterTest for CICS storage protection from certain CWA fields.
WARNING
If you choose to specify one or more CWALET areas, you must code a separate  IN25OPTS TYPE=CSECT
macro for each CWALET area (one area per macro).
IN25OPTS macros with CWALET must follow other IN25OPTS macros except for the TYPE=FINAL macro, which must be
the last one.
no value
InterTest for CICS protection will not be removed. Use the CSA= and LET= online options to let specific monitored
programs modify additional areas of main storage. See CICS Debugging for details about online options.
(label,label)
Specify two Assembler labels, separated by a comma and enclosed in parentheses; for example,
CWALET=(CSAUTA1,CSAUTA4). The first label defines the first byte of the area to be unprotected; the second
label defines the first byte past the area.
When using labels, they must be defined in the DSECT for the CWA and inserted in the IN25OPTS compile; see
the section Sample JCL to Assemble the Options Program for details.
If your CWA has an existing DSECT, use existing labels and offsets from the labels to define the unprotected
area.
 176


InterTest™ and SymDump ® 11.0
If you do not have an existing DSECT in your CWA, add the following two statements to the IN25OPTS module to
create one:
*********** CWA USER DSECT REQUIRED HERE ************
USING CWADS,0   CA INTERTEST REQUIREMENT
CWADS           DSECT                   USER CWA
******** CA INTERTEST SPECIFICATIONS ******
You can then specify offsets from the beginning of the CWA. For example, the following macro unprotects a 20-
byte area starting at the beginning of the CWA:
IN25OPTS TYPE=CSECT,CWALET=(CWADS,CWADS+20)
DFLTUSER
DFLTUSER=.ANY /SPECIFIC/BACKGROUND
DFLTUSER stands for default user and controls how InterTest for CICS monitoring functions by default. A user can
override the default settings established by this parameter at any time.
.ANY
When this setting is used, InterTest for CICS monitoring pays no attention to the CICS user ID of the session,
even if the user is signed on to CICS. Monitoring is set for all users, and breakpoints, by default, are directed to
the same terminal used to set them.
SPECIFIC
This setting is only valid in a secure InterTest for CICS region where the users log on to CICS. When
DFLTUSER=SPECIFIC is used, InterTest for CICS qualifies each monitoring entry with the user's CICS user ID.
In addition, InterTest for CICS directs all options to monitoring to .ANY terminal. This setting allows many users to
test the same program or transaction independently. This also allows users to move from terminal to terminal and
have their monitoring entries and monitoring options follow them.
BACKGROUND


have their monitoring entries and monitoring options follow them.
BACKGROUND
This setting is only valid in a secure InterTest for CICS region where the users log on to CICS. Code this if your
CICS system is used predominantly as an Application Server, where most transactions are not attached to
terminals (that is, web interface transactions). This setting sets the FROM terminal to .ANY, and the breakpoint
(TO) terminal to the current terminal that is setting the breakpoints.
WARNING
When DFLTUSER=SPECIFIC is used and a user does not sign on to the CICS region, InterTest for
CICS uses the value of the CICS DFLTUSER for the monitoring entry. The CICS default user ID is
optionally specified in the SIT parameters. If not specified in the SIT, its value is CICSUSER.
DL1SIZE
DL1SIZE= 8192 /nnnnn
Specifies the number of bytes in the largest DL/I segment to be retrieved using the InterTest for CICS FILE facility.
Storage corruption may occur if the size specified here is smaller than a DL/I segment that is retrieved using FILE.
FDISP
FDISP= FC/DL/TD/TS/DB
Determines the default menu for the FILE transaction. The various menu types are described in CICS Debugging. The
user can change the menu of the FILE facility online at any time.
FC
The FILE transaction shows its first display in the DATATYPE=FC format; that is, ready to process CICS files
defined in the CICS file definition (File Control Table).
 177


InterTest™ and SymDump ® 11.0
DL
The FILE transaction shows its first display in the DATATYPE=DL format; that is, ready to process DL/I segments.
TD
The FILE transaction shows its first display in the DATATYPE=TD format; that is, ready to process CICS transient
data queues.
TS
The FILE transaction shows its first display in the DATATYPE=TS format; that is, ready to process CICS
temporary storage.
DB
The FILE transaction shows its first display in the DATATYPE=DB format; that is, ready to process DB2 data.
FFORM
FFORM= D/C/V/S
Determines the default format in which the FILE transaction displays the data. The user can change the format of the FILE
display online at any time. For illustrations of FILE displays, see CICS Debugging.
D
The FILE transaction shows its first display in dump format, similar to the nonstructured display of the CORE
transaction. Shows both character and hexadecimal images.
C
The FILE transaction shows its first display in character format. This format displays the largest amount of data,
but is useless for noncharacter data records.
V
The FILE transaction shows its first display in vertical format, similar to the DITTO utility. This format displays the
least amount of data.
S
The FILE transaction shows its first display in structured format if symbolic information for the program containing
the structures is stored in the InterTest for CICS symbolic file. COBOL and PL/I structures use 01 level names;
Assembler structures use DSECT names. Shows both character and hexadecimal images. See the FSYMP
option.
FILET
FILET= FILE  /transaction-id
Specify a four-character transaction ID for the InterTest for CICS FILE transaction. Be sure to adjust the CICS transaction
definition  if you do not use the default.


definition  if you do not use the default.
FILSEC
FILSEC= YES/NO
Indicates whether the InterTest IN25SEC2 macro generates passwords for security purposes.
YES
The InterTest IN25SEC2 macro generates passwords to prevent the FILE transaction from being used by
unauthorized personnel. More comprehensive security enforcement has to be implemented on the CICS level or
on the operating system level.
With FILSEC=YES the IN25SEC2 macro must be used to generate the InterTest for CICS IN25SEC2 program,
or use the IN25SEC2 delivered with InterTest for CICS. Failure to do so will make the FILE transaction useless.
Using the IN25SEC2 macro is described in Password Protection.
 178


InterTest™ and SymDump ® 11.0
NO
Permits users of the FILE transaction to access any CICS file or DL/I data without an InterTest for CICS-enforced
password.
FSYMP
FSYMP= PROTFILE /symbolic-programname
Specify the name of the default dummy COBOL or PL/I program that contains all of the 01 level structures used at the
site or the Assembler program that contains all the DSECTs. Symbolic information for this program must be stored in the
InterTest for CICS symbolic file.
Users of the FILE transaction requesting records or DL/I segments in structured format must specify the symbolic name of
the program that contains the structure. However, if a default program containing all of the structures has been compiled
or assembled, users can omit the symbolic program name.
For a sample default COBOL program, see Add COBOL File Structures to the Symbolic File. For more information on
adding Assembler file structures, see Add Assembler DSECTs to the Symbolic File.
GLOG
GLOG= CSSL /DCT-destination-id
Specify a four-character name of a transient data destination in the CICS Destination Control Table (DCT). The default,
GLOG=CSSL, provides the statistics destination that is always present in the CICS system and is usually printed when
the CICS system is terminated
The destination must specify a direct or indirect extra partition transient data set that has a record size of at least 110
bytes (variable-length format, including the length field).
InterTest for CICS writes records to the specified transient data queue (destination) after the command CNTL=GLOG,ON
is entered. See the description of the AUDIT keyword; also see the description of the InterTest for CICS global logging
facility in CICS Debugging.
ICMDBUF


facility in CICS Debugging.
ICMDBUF
ICMDBUF= 1024 /nnnnn
Specifies the indirect command buffer size, which is the number of bytes used by InterTest for CICS when acquiring and
allocating Indirect Command Input Work Buffers. These buffers are used by the Indirect Command Processing Program,
which displays and executes indirect commands specified by the user for specific programs. The minimum buffer size is
80. The maximum buffer size is 32767.
ICMDEXE
ICMDEXE= 50/nnnnn
Specifies the maximum indirect command execution count. When the maximum number of indirect commands executed
exceeds the ICMDEXE count, message CAIN1266 is generated. The minimum count allowed is 1. The maximum count
allowed is 1024.
ICMDMAX
ICMDMAX= 50/nnnnn
Specifies the maximum indirect command statements count. When the number of indirect command statements exceeds
the ICMDMAX count, message CAIN1259 is generated. The minimum count allowed is 1. The maximum count allowed is
1024.
 179


InterTest™ and SymDump ® 11.0
IPINIT
IPINIT= YES/NO
Indicates whether support should be initialized for the common user interface.
YES
Indicates that the common user interface mainframe initialization should occur.
NO
Indicates that the common user interface will not be used and the CUI initialization should not be performed.
IPLXT
IPLXT= IPLX /transaction-id
Specifies a four-character transaction ID for the CICSplex CCI (Common Communications Interface) to be used for
CICSplex support by InterTest for CICS.
NOTE
Adjust the CICS transaction definition if you do not use the default.
IRCTT
IRCTT= VIRC /transaction-id
Specify a four-character transaction ID for the InterTest for CICS VIRC transaction. This is an internal InterTest for CICS
transaction used only for handling breakpoints. Its use must not be protected by a specific signon. If started by mistake
from a terminal, the transaction program does nothing.
In an MRO or ISC environment, the VIRC transaction must be installed as local in all Terminal Owning Regions and
Application Owning Regions that use InterTest for CICS.
In a CICS environment that does not use MRO or ISC, the VIRC transaction must be installed to support automatic single-
stepping.
NOTE
If you change the transaction ID, also change the CICS transaction definition.
ISERT
ISERT= ISER /transaction-id
Specify a four-character transaction ID for the internal InterTest for CICS ISER transaction. Do not assign protection to a
specific user.
NOTE
If you change the transaction ID, also change the CICS transaction definition.
ITSTT
ITSTT= ITST /transaction-id


ITSTT
ITSTT= ITST /transaction-id
Specify a four-character transaction ID for the InterTest for CICS ITST transaction. This transaction displays the InterTest
for CICS Primary Option menu from a CICS prompt. Do not assign protection to a specific user.
NOTE
If you change the transaction ID, also change the CICS transaction definition.
 180


InterTest™ and SymDump ® 11.0
LETSVC
LETSVC= YES/NO
Indicates whether SVCs are permitted.
YES
Permits any SVCs in application programs except:
SVC 13  (hex 0D) -- ABEND macro
NO
Indicates that application programs do not use any SVCs except:
SVC 11  (hex 0B) -- TIME macro
These are the SVCs often used implicitly in applications, but any other SVCs should not be used in CICS
programming.
Regardless of this keyword, you can use BYP= options during an InterTest for CICS test session to permit the
monitored program to use SVCs.
MONOM
MONOM= NO/MENU/NOMENU
Controls the activation of the segmented monitoring feature.
NO
Deactivates the segmented monitoring feature and removes any previous MON and NOM entries from the CNTL
main menu.
MENU
Activates the feature and displays the MON and NOM options on the CNTL main menu.
NOMENU
Activates the segmented monitoring feature, but limits users to implementing segmented monitoring through
CNTL commands or the LIST facility. NOMENU disables the use of the MON and NOM options on the Monitoring
menus, and removes the MON and NOM entries from the CNTL main menu.
MONOMSEC
MONOMSEC= YES/NO
Controls password protection for the segmented monitoring options in the CNTL facility. If MONOM=NO, MONOMSEC is
ignored.
YES
Implements password protection of the segmented monitoring feature. The password is controlled by a keyword in
the IN25SEC2 macro. Instructions for specifying passwords for CNTL options are in Password Protection.
NO
Permits the use of the segmented monitoring feature without password protection.
OSGETM
OSGETM=  YES /NO


OSGETM
OSGETM=  YES /NO
Indicates whether a GETMAIN SVC is allowed to be issued.
YES
Permits COBOL programs monitored by InterTest to issue the GETMAIN SVC. As suggested by the CICS
Application Programmer's Reference Manual , any CICS COBOL program should be coded so that no COBOL
facilities require a GETMAIN SVC. Such a GETMAIN SVC obtains storage from the OSCORE storage pool
 181


InterTest™ and SymDump ® 11.0
outside the storage controlled by the CICS Storage Management. There is no FREEMAIN if the COBOL program
terminates. When, eventually, a GETMAIN cannot be satisfied, the CICS system will be abended by the operating
system.
OSGETM=YES is implied by the LETSVC=YES specification.
NO
Does not permit the GETMAIN SVC to be issued by COBOL programs. Unless you run software that issues the
GETMAIN SVC, we recommend that you specify OSGETM=NO as GETMAINs should not be permitted. With this
specification, an automatic breakpoint will occur when the GETMAIN SVC is detected. However, OSGETM=NO is
overridden by LETSVC=YES.
PROMD
PROMD= 00000020  /name/number
The name or the number in this keyword is used for the default value of the PROM= parameter of the CNTL=START
command.
name
Specify the InterTest IN25SEC2 macro generates passwords the name (up to eight characters) of the InterTest
for CICS Startup Table that has to be generated with the PROMMAC macro. The use of the macro is described in
Activate Your Product.
number
Specify the number to be used as the default value of the PROM= parameter of the CNTL=START command,
which specifies the initial number of entries in the Monitoring Table. This number must be eight characters long.
For the initial period of use, the default value should suffice.
The number of entries in the table should be no less than the number of names to be declared for monitoring.
However, for efficiency, allow enough entries at the beginning by specifying the PROM= parameter here or in
the CNTL=START command. A large number of unoccupied entries use more storage but do not increase the


overhead because only occupied table entries are examined when the table is scanned.
READBUF
READBUF= YES/  NO
Indicates whether the read buffer function is supported.
YES
Before sending a breakpoint to a terminal, InterTest for CICS issues a read buffer to save the last user screen
from that terminal. If your InterTest for CICS demonstration session runs successfully, specify YES.
NO
You must specify NO if all terminals that would be used by InterTest for CICS users run under TCAM or do not
support the read buffer function. If you do not specify NO, you must declare the NRB=ON online option whenever
monitoring is declared.
RECNTMU
RECNTMU=YES/ NO
Indicates whether CNTL menu generated commands are displayed before execution.
YES
Displays the CNTL commands generated by the InterTest for CICS menus just before the commands are
executed. The user can learn these commands from the screen and, for efficiency, use them instead of menus.
NO
Suppresses display of CNTL commands.
 182


InterTest™ and SymDump ® 11.0
RECNTNW
RECNTNW=  YES /NO
Indicates whether CNTL RESTART or NEWCOPY commands are displayed before execution.
YES
Displays the CNTL commands that are automatically generated by CNTL=RESTART or CNTL=NEW,PROG=
commands. These appear just before they are executed so that the user can see what is being done.
NO
Suppresses display of CNTL commands. Specify NO if users are not interested in these details.
SDISPLAY
SDISPLAY=HEX/ DATA
Facility of the Structure display and AutoKeep display feature. Specifies the global default value for Structure Display
Format. Regardless of this setting, the value can be adjusted online by program name.
HEX
Display data in hexadecimal character format
DATA
Display data in Structure Display Format
SLB
SLB= YES /NO
Indicates whether Source Listing Breakpoint displays are available.
YES
Uses Source Listing Breakpoint displays for the terminal from which the program was declared for monitoring if
the compile (assembly) listing is available in the InterTest for CICS symbolic file.
NO
Uses Detailed Breakpoint displays when a program is declared for monitoring.
In either case, Source Listing Breakpoint displays can be turned on or off during the online test session.
NOTE
The InterTest for CICS LIST facility (the online viewing of compile and assembly listings before program
execution) is not affected by this setting.
SLBAKEEP
SLBAKEEP= YES /NO
Specifies the default value for the LIST facility of the AutoKeep display feature. Regardless of this setting, the value can
be adjusted online at any time.
YES
Displays items in the Keep window concerning the currently highlighted line and any data items you have
requested to be displayed in the Keep Window.
NO


requested to be displayed in the Keep Window.
NO
Displays only the data items you have requested to be displayed in the Keep Window.
STMTTRCE
STMTTRCE= 500 /nnnnn
 183


InterTest™ and SymDump ® 11.0
Specify the number of entries in the statement trace table. This table will be allocated to any transaction which executes
one or more COBOL programs for which the TRACE option is active. The maximum value is 32767.
STUAR
STUAR=  NO /YES
Affects breakpoint processing in regard to the TCTTE user area (an area embedded in the TCTTE, whose address is in
the field labeled TCTTECIA).
NO
The contents of the area are not saved for the duration of the breakpoint or restored when the task continues
execution from the breakpoint. There is no need to preserve the data in the area if the breakpoint display is to be
sent to another terminal, or if the area is to be modified (during the breakpoint) only by the person performing the
test. Because command level (EXEC CICS) applications rarely use this area, STUAR=NO should be appropriate.
Also specify STUAR=NO if the area may be affected during the breakpoint by a facility other than the tested
application.
YES
The contents of the area are preserved for the duration of the breakpoint. Specify STUAR=YES if the logic of the
tested application depends on saving this area while your task waits at a breakpoint, and then restoring it to its
previous value, possibly with your modifications.
STUAR=YES is desirable if the area can be used during the breakpoint and use of the area must not affect the
tested program.
SYMBOLIC
SYMBOLIC= PROTSYM /PSYMDFLT/COMPAT/ASK/DWARFASK/DWRFDFLT/DWARF
Determines which symbolic format, PROTSYM, DWARF or both, should be used with InterTest for CICS.
PROTSYM
Indicates that only PROTSYM symbolic files are used.


PROTSYM
Indicates that only PROTSYM symbolic files are used.
PSYMDFLT
Indicates that priority is given to a PROTSYM file. If there is no PROTSYM file, the DWARF data is used. In other
cases, the Source Listing Display panel with available symbolic data displays.
COMPAT
Indicates that a matching PROTSYM file is used if one is available. If no PROTSYM file is available, the Source
Listing Display panel with available symbolic data displays.
ASK
Indicates that the Source Listing Display panel with available symbolic data always displays.
DWARFASK
Indicates that if DWARF data is available, the Source Listing Display panel with available symbolic data
displays. If there is no DWARF data, a matching PROTSYM file is used. In other cases, the Source Listing Display
panel with available symbolic data displays.
DWRFDFLT
Indicates that priority is given to DWARF symbolic data. If there is no DWARF data, a matching PROTSYM file is
used. In other cases, the Source Listing Display panel with available symbolic data displays.
DWARF
Indicates that only DWARF symbolic data is used.
Resulting action if DWARF data is available
 184


InterTest™ and SymDump ® 11.0
Behavior of SYMBOLIC options when DWARF symbolic is available and PROTSYM symbolic either match, does not
match, or is not present:
PROTSYM file available? Matching Not matching None
PROTSYM p a n
PSYMDFLT p a d
COMPAT p a a
ASK a a a
DWARFASK a a a
DWARFDFLT d d d
DWARF d d d
Resulting action if DWARF data is not available
Behavior of SYMBOLIC options when DWARF symbolic is not available and PROTSYM symbolic either match, does not
match, or is not present:
PROTSYM file available? Matching Not matching None
PROTSYM p a n
PSYMDFLT p a n
COMPAT p a n
ASK a a n
DWARFASK p a n
DWARFDFLT p a n
DWARF n n n
Key:
•p = PROTSYM file is used
•d = DWARF data is used
•a = the Source Listing Display with a list of available symbolic data displays
•n = nothing
VERCOR
VERCOR=  NO /YES
Determines whether changes to main storage must be verified.
NO
Changes to main storage requested in a CORE transaction command can, but need not be, verified in the same
command.
If CORSEC=YES is specified, the user cannot modify any foreign piece of storage by mistake because the CORE
transaction will ask for the password. As a result, you can specify VERCOR=NO because a careless user can
harm only the tested program's data.
YES
Any change to main storage requested in a CORE transaction command must be verified in the same command
regardless of password protection (see the CORSEC= keyword). This compulsory verification could make a


regardless of password protection (see the CORSEC= keyword). This compulsory verification could make a
debugging session unnecessarily tedious, thus decreasing productivity. The system programmer will find this
 185


InterTest™ and SymDump ® 11.0
specification a hindrance, especially in situations when a certain value must be forced upon an area whose
content continually changes.
For more information, see Accessing Main Storage CORE.
VTATT
VTATT= VTAT /transaction-id
Specify a four-character transaction ID for the InterTest for CICS VTAT transaction. This is an internal InterTest for CICS
transaction used only for handling breakpoints. Since it is not used by any operator, its use must not be protected by a
specific user. If started by mistake from a terminal, the program does nothing. Be sure to adjust the CICS transaction
definition if you do not use the default.
USSPATH
USSPATH=path-name
Specify a USS directory where all the information from a non-interactive debugging session is stored. The data that is
stored comprises trace data, code coverage and a report.
For more information about non-interactive debugging monitoring, see the TFL Set Non-Interactive Monitoring  section of
CNTL Commands and Menus .
SymDump  for CICS Keywords
SYMDFIL
SYMDFIL= PROTDMP  /filename
For SymDump  for CICS users, specify the file name for the SymDump  for CICS (the Symbolic Dump option) file. This is
the name of the file from which dumps can be  viewed; SymDump  for CICS always writes to the file PROTDMP. The name
cannot exceed seven characters. Be sure to adjust the CICS file definition if you do not use the default.
SYMDL
SYMDL= SYMD  /transaction-id
For SymDump  for CICS users, specify a four-character transaction ID for the SymDump  for CICS transaction for the
capture for the last SQL statement in background during dump capture. Be sure to adjust the CICS transaction definition if


you do not use the default. If no value is specified for this option, then no transaction will be scheduled.
SYMDSVCD
SYMDSVCD= YES/NO
When unexpected events occur, such as task purging or catastrophic application failures, SymDump  for CICS may have
to abbreviate its dump capture. When this occurs, SymDump  for CICS may produce an SVC diagnostic dump that could
assist in researching whatever issues have transpired.
•Yes
(Default)
SymDump  for CICS may produce an SVC diagnostic dump if dump capture processing encounters unexpected
conditions.
No
SymDump  for CICS will not produce an SVC diagnostic dump.
 186


InterTest™ and SymDump ® 11.0
SYMDT
SYMDT= SYMD  /transaction-id
For SymDump  for CICS users, specify a four-character transaction ID for the SymDump  for CICS transaction that allows
dumps to be viewed online. Be sure to adjust the CICS transaction definition  if you do not use the default.
SYMDWILD
SYMDWILD=
Specify a wild card prefix for the Dump File ID that is specified on the DUMP/TRACE ANALYSIS screen. This limits what
can be specified as a wildcard. For example, coding SYMDWILD=PROT lets you specify file names with a wildcard prefix
of PROT in the Dump File ID input field of the SymDump  Analysis screen. In this case, PROT* would be valid input but
PRO* would be in error.
TRCFDCLS
TRCFDCLS=
For SymDump  for CICS users, specify an allocation DATA CLASS that the TRACE FORMAT REGION will use to allocate
storage for trace formatting. This parameter is used only by the TRACE FORMAT REGION and is ignored by a CICS
region.
TRCFFMID
TRCFFMID= SYMDTRCF  /8 character unique id
For SymDump  for CICS users, specify the unique TRACE FAMILY ID that a CICS region will use to locate and form an
affinity with a TRACE FORMAT REGION that has an IN25OPTS with the same TRCFFMID. This parameter is used by
both the CICS region and the TRACE FORMAT REGION.
TRCFMCLS
TRCFMCLS=
For SymDump  for CICS users, specify an allocation MANAGEMENT CLASS that the TRACE FORMAT REGION will use
to allocate storage for trace formatting. This parameter is used only by the TRACE FORMAT REGION and is ignored by a
CICS region.


CICS region.
TRCFMEGM
TRCFMEGM= 120 / total number of megs
For SymDump  for CICS users, specify the maximum size of extended private area storage in megabytes that the
TRACE FORMAT REGION will allocate for use by all threads. This amount of extended private must be available to the
TRACE FORMAT REGION when it starts, or the job will terminate. If this number is exceeded when a trace is selected
for formatting, the user is invited to try again later, this allows performance tuning of the formatted trace facility. This
parameter is used only by the TRACE FORMAT REGION and is ignored by a CICS region.
TRCFMEGT
TRCFMEGT= 15 /megs per thread
For SymDump  for CICS users, specify the maximum size of extended private area storage in megabytes that the TRACE
FORMAT REGION will allocate for use by one thread. If this is not available when a trace is selected for formatting, the
user is invited to try again later. This will allow performance tuning of the formatted trace facility. This parameter is used
only by the TRACE FORMAT REGION and is ignored by a CICS region.
 187


InterTest™ and SymDump ® 11.0
For more information, see Performance Considerations.
TRCFSCLS
TRCFSCLS=
For SymDump  for CICS users, specify an allocation STORAGE CLASS that the TRACE FORMAT REGION will use to
allocate storage for trace formatting. This parameter is used only by the TRACE FORMAT REGION and is ignored by a
CICS region.
TRCFTHRD
TRCFTHRD= 8  / number of threads
For SymDump  for CICS users, specify the number of simultaneous threads that will be supported for trace format
requests. This parameter should be used as a rudimentary throttle to allow performance tuning of the formatted trace
facility. This parameter is used only by the TRACE FORMAT REGION and is ignored by a CICS region.
TRCFTOUT
TRCFTOUT= 240 / trace timeout in seconds
For SymDump  for CICS users, specify trace timeout value in seconds that both the TRACE FORMAT REGION and the
CICS task will wait on CCI calls used to communicate between the CICS task and the TRACE FORMAT REGION. When
this value is exceeded, the CCI session is terminated, and the formatted trace resources are freed. The operator remains
within the reloaded dump, and is given the option of reformatting the trace. This will allow performance tuning of the
formatted trace facility. This parameter is used by both the CICS region and the TRACE FORMAT REGION.
TRCFUNIT
TRCFUNIT=
For SymDump  for CICS users, specify an allocation UNIT that the TRACE FORMAT REGION will use to allocate storage
for trace formatting. This parameter is used only by the TRACE FORMAT REGION and is ignored by a CICS region.
TRCFVOL
TRCFVOL=
For SymDump  for CICS users, specify an allocation VOLUME that the TRACE FORMAT REGION will use to allocate


storage for trace formatting. This parameter is used only by the TRACE FORMAT REGION and is ignored by a CICS
region.
InterTest for CICS Options
To complete the configuration for your product, follow the steps described in this article.
Configure Abend Codes
This section describes how to limit the interception of abends and customize abend code help text.
Specify Non-Intercepted Abend Codes
If certain abend codes should not be intercepted regardless of the InterTest for CICS Automatic Breakpoint (ABI) setting,
use the IN25ABEN macro to specify the codes. InterTest for CICS provides a default IN25ABEN that includes the abend
codes AKC3, ATNI, ATCV, and AEXY.
 188


InterTest™ and SymDump ® 11.0
NOTE
AKC3 is needed to run InterTest for CICS with Verify for CICS.
To specify your own codes in the IN25ABEN macro, customize the sample member CCSAABEN in CAI.CAVHJCL.
The following example demonstrates the IN25ABEN macro usage:
//ASM.SYSIN DD *
     IN25ABEN TYPE=INITIAL
     IN25ABEN ABCODE=(ATNI,ATCV,AEXY)
     IN25ABEN ABCODE=AKC3
     IN25ABEN ABCODE=(AKCT,APLE)
     IN25ABEN ABCODE=(1234,'# Q$',1UMF)
     IN25ABEN TYPE=FINAL
     END
/*
IN25ABEN Coding Rules  -- Follow these rules when coding IN25ABEN:
•IN25ABEN TYPE=INITIAL must be coded first.
•The ABCODE= parameters must specify four-character abend codes. The abend codes ATNI, ATCV, and AEXY must
be included. Include the code AKC3 if you are running InterTest with Verify for CICS.
•If ABCODE specifies a list of abend codes, then separate the codes with commas and enclose the list in parentheses.
•Codes that include spaces or special characters must be enclosed in single quotes.
•IN25ABEN TYPE=FINAL terminates the table.
•END terminates the assembly source.
After coding the macro, submit the JCL to assemble your options.
Customize Help Abend Codes
You can customize the help text displayed at an automatic breakpoint for abend codes. A separate help file, PROTUHF, is
available to hold your user-defined abend code descriptions.


available to hold your user-defined abend code descriptions.
After installation, the online Abend Code Maintenance menu (ITST Option 7.2) lets you add, inquire, update, and delete
entries in the user-defined help file. Press PF1 from this menu to obtain help on using the facility.
        CA InterTest for CICS ABEND CODE MAINTENANCE MENU
OPTION ===>
    Enter Option, Abend code, and Program name; then press enter.
  1 Add                  - Add an Abend code/Program name
  2 Inquire              - Inquire on an Abend code/Program name
  3 Update               - Update an Abend code/Program name
  4 Delete               - Delete an Abend code/Program name
  Abend code . . ____ Program name . . ________

  PF1 Help    2         3 End     4 Return   5        6
  PF7         8         9        10         11       12
You can tie an abend code to a specific program by entering both the abend code and program name fields. You can
create a generic abend code for all program names by entering the abend code only, with no program name.
During a user session when InterTest for CICS intercepts an abend, it first searches for a matching abend code entry on
the user-defined help file. If a description for the abend code is found on the user-help file, InterTest for CICS displays its
contents at the breakpoint and on related SymDump  for CICS analysis displays.
 189


InterTest™ and SymDump ® 11.0
If there is no user-defined description or if the user file does not exist, then the abend code description from the
InterTest for CICS help file is used. If there is no abend code description in the InterTest for CICS help file, then a default
NOTFABCODE is displayed.
SymDump  for CICS Options
This article describes SymDump  for CICS options.
You can choose to selectively override the SymDump  for CICS dump suppression criteria, by identifying dumps that must
always be captured.
The IN25CAPT load module contains the criteria for forcing dump capture.
You can use the following steps to create a customized copy of IN25CAPT.
Follow these steps:
1.Modify member CABQCAPJ of CAVHJCL and specify the abend codes, programs and transactions that identify the
dumps you intend to capture.
2.Assemble and link your customized code to create load module IN25CAPT.
3.Stop SymDump , if active.
NOTE
If SymDump  is active when you issued the NEWCOPY, the module does not get replaced.
4.Issue the following CICS command to load the new copy of IN25CAPT
CEMT SET PROG(IN25CAPT) NEWCOPY
NOTE
You can skip this step the first time you use IN25CAPT.
5.Restart SymDump  for CICS.
Procedure for Modifying Dump Capture Criteria
To create module IN25CAPT and specify the dump capture options, use macro IN25CAPT to specify the abend codes,
programs and transactions, using any combination of exact and generic values.
Invoke the macro once to initialize the Dump Capture Table, once for each entry you require and once to terminate the
table.
Following tasks are performed:


table.
Following tasks are performed:
1.Each table entry identifies, either specifically or generically, the combination of abend code, program name and
transaction name that describe abends that must always be captured.
This task occurs regardless of the SymDump  for CICS options that suppress duplicate dumps, or suppress dumps by
abend code.
Generic values are specified with a trailing asterisk (*).
2.A dump gets captured when an abend matches at least 1 of the entries in IN25CAPT. To match a table entry, an abend
must match all three specified criteria (Abend code, Program and Transaction). Even if one of the criteria is omitted, or
a value of asterisk (e.g., PROG=*) is specified then the status indicates that all abends match that criteria.
IN25CAPT Keywords
This section lists the IN25CAPT keywords. Slashes (/) between parameters indicate you must make a choice.
SymDump  for CICS does not validate the values specified for abend codes, transaction names or program names.
Specifying undefined or invalid values results in no match, and hence, there is no change in dump handling.
 190


InterTest™ and SymDump ® 11.0
TYPE=CSECT/ENTRY/FINAL
Describes the type of table entry.
CSECT
Initializes the table. Must be the first entry in the table and can only occur once.
ENTRY
Creates a single table entry, specifying one combination of abend codes, transactions and programs that
identify abends that should be captured
FINAL
Terminates the table. Must be the last entry in the table and can only occur once.
ABEND=code identifier
Identifies the abend code(s) described by this entry.
code identifier
1-4 characters, specifying the abend code(s) to be captured. If the final character is asterisk (*), abend
codes that begin with the characters preceding the asterisk are considered a match. ABEND=* indicates
that all abend codes are considered a match.
PROG=program name
Identifies the program(s) described by this entry.
program name
1-8 characters, specifying the abending programs to be captured. If the final character is asterisk (*),
programs that begin with the characters preceding the asterisk are considered a match. PROG=*
indicates that all program names are considered a match.
TRAN=transaction name
Identifies the transaction(s) described by this entry.
transaction name
1-4 characters, specifying the transactions(s) to be captured. If the final character is asterisk (*),
transactions that begin with the characters preceding the asterisk are considered a match. TRAN=*
indicates that all transaction names are considered a match.
How Macro IN25CAPT Controls  Dump Capture
The section illustrates the effect of specifying certain values in the Capture option.
Assuming your customized IN25CAPT was assembled with the following options:
IN25CAPT TYPE=CSECT


IN25CAPT TYPE=CSECT
IN25CAPT TYPE=ENTRY,TRAN=ABCD,PROG=PGM1
IN25CAPT TYPE=ENTRY,ABEND=ASRA,TRAN=CA*,PROG=*
IN25CAPT TYPE=ENTRY,TRAN=DDX,PROG=MYPROG*
IN25CAPT TYPE=ENTRY,TRAN=X12*,PROG=USERPG1
IN25CAPT TYPE=ENTRY,ABEND=AN*,PROG=USERP*
IN25CAPT TYPE=FINAL
The following table lists the abends and resulting actions for the above source code:
Abend Codes, abending transactions and programs Result
Abend ASRA, program IEFBR14, transaction CAD Capture, due to entry TRAN=CA*,PROG=*
Abend ASRA, program GENE, transaction DDX No effect, no matching entries
Abend AICA, program MYPROG, transaction X123 No effect, no matching entries
 191


InterTest™ and SymDump ® 11.0
Abend ANQA, program PGM123, transaction ABCD No effect, no matching entries
Abend ANQA, program USERPG3, any transaction Capture due to entry ABEND=AN*,PROG=USERP
Abend AD22, program USERPG2, transaction ABCD No effect, no matching entries
Any abend, program MYPROG2, transaction DDX Capture due to entry TRAN=DDX,PROG=MYPROG*
Abend ASRA, program USER1, transaction X12 No effect, no matching entries
External Security Option
Use the EXTSEC installation option in CAVHCONF to control the external security feature for individual product
components.
The default is NONE. For more information about setting and modifying CAVHCONF options, see Global Options.
Resource Protection Levels
The following resources are protected in Symbolic Component under the External Security feature:
NOTE
•Systems that initialize, update options, delete, purge, or reload a PROTSYM must also have the required
access.
•The CAMRUSR1 and CAMRUSR2 user exits are called only if the user has the necessary authorities for the
requested action.
VHALTER
Class
CA@NTSYM
Entity
VHALTER
Access Level
Read
Function Type
Initialize, Update
Product Options/Menu Options
IN25UTIL INIITIALIZE, UPDATE OPTIONS (MAXPGMVER, USEDSPACEMSG)
VHALTER lets you use the symbolic component IN25UTIL utility INITIALIZE and UPDATE functions.
VHCONTR
Class
CA@NTSYM
Entity
VHCONTR
Access Level
Read
Function Type
Delete, Purge, Reload Listing
Product Options/Menu Options
IN25UTIL DELETE, PURGE, or RELOAD
 192


InterTest™ and SymDump ® 11.0
VHCONTR lets you use the symbolic component IN25UTIL utility DELETE, PURGE, and RELOAD functions.
The following resources are protected in InterTest Batch under the External Security feature::
MRMISM
Class
CA@NTSYM
Entity
MRMISM
Access Level
Read
Function Type
Mismatched Symbolic members
Product Options/Menu Options
Foreground or Batch Link debugging
MRMISM lets you select a mismatched symbolic member during a debugging session.
External Security Using Top Secret
The external security interface that is used in Symbolic Component is compatible with Top Secret 12.0 or above.
Define the Resource Class CA@NTSYM
The Symbolic Component uses a unique resource class, CA@NTSYM, for its security controls.
List a Resource Class
To determine if CA@NTSYM is defined to your Top Secret system, issue the following command:
TSS LIST(RDT) RESCLASS(CA@NTSYM)
This command lists the definition of the CA@NTSYM resource in the Top Secret Resource Definition Table (RDT).
•If CA@NTSYM is present and its definition matches the attributes below, no further action is required:
ACCESS = ALL,UPDATE,READ DEFACC = READ
•If any of the attributes do not match, change the definition using the TSS REPLACE(RDT) command, specifying the
correct parameters.
•If you get an error message that indicates the resource is missing, invalid, or reserved, you must define CA@NTSYM
If CA@NTSYM is not defined, you must add it to the RDT. Add new classes using the TSS command ADDTO function
through any facility supporting the TSS command. Once added, these resources become a permanent part of the security
file and can be immediately administered and reported on by name.
Add a Resource Class


file and can be immediately administered and reported on by name.
Add a Resource Class
The syntax to add the CA@NTSYM resource is as follows.
TSS ADDTO(RDT) RESCODE(38) RESCLASS(CA@NTSYM) -
ACLST(ALL,UPDATE,READ) DEFACC(READ)
The syntax uses a RESCODE of 38. This code value is up to each site and must be unique. Codes 01 to 3F are available.
Once you define the resource CA@NTSYM to your system, you can establish access controls to IN25UTIL functions. No
IPL, re-initialization, or parameter changes are needed for these changes to become active and permanent.
 193


InterTest™ and SymDump ® 11.0
Use CA@NTSYM to Control IN25UTIL Functions
The CA@NTSYM resource controls IN25UTIL utility INITIALIZE, UPDATE, DELETE, PURGE, and RELOAD functions.
CA@NTSYM is a standard short resource and is managed in the same manner as other access level resources.
Issue the following command:
TSS ADDTO(deptname) CA@NTSYM(VHALTER,VHCONTR)
•To allow user USER01 to have Read access to entity VHALTER, use the following command:
TSS PERMIT(USER01) CA@NTSYM(VHALTER) ACCESS(READ)
If you omit the ACCESS keyword, Top Secret defaults the PERMIT to Read access.
•To allow user USER01 to have Read access to entity VHCONTR, use the following command:
TSS PERMIT(USER01) CA@NTSYM(VHCONTR) ACCESS(READ)
If you omit the ACCESS keyword, Top Secret defaults the PERMIT to Read access.
External Security Using ACF2
The external security interface in Common Component is compatible with ACF2  6.2 or higher.
Define the Resource Class CA@NTSYM
Common Component uses a unique resource class, CA@NTSYM, for its internal security controls.
CA@NTSYM must be defined to ACF2  with its own three-character resource type. In the following example, CA@NTSYM
is defined using the resource type SYM.
SET CONTROL(GSO) INSERT clasmap.CA@NTSYM -
RESOURCE(CA@NTSYM) RSRCTYPE(SYM) ENTITYLN(7)
After you add this clasmap definition, refresh the GSO clasmap.
By default, logging of SMF records is turned off. To have SMF records written for this resource class, add the LOG


parameter to the definition.
SET CONTROL(GSO) INSERT clasmap.CA@NTSYM -
RESOURCE(CA@NTSYM) RSRCTYPE(SYM) ENTITYLN(7) LOG
To protect and allow access to the Common Component PROTSYM file, use the standard ACF2  rule writing.
SET RESOURCE(SYM) COMPILE * $KEY(VHALTER) TYPE(SYM) UID(uidstring/mask) SERVICE(READ) ALLOW $KEY(VHCONTR)
 TYPE(SYM) UID(uidstring/mask) SERVICE(READ) ALLOW END STORE *
If the SERVICE keyword is not supplied, ACF2  defaults to permit access to all service levels.
External Security Using IBM RACF
The external security interface in Common Component can be used with IBM RACF, and is compatible with IBM RACF
v1.9 or higher.
Define the Resource Class CA@NTSYM
Define a new class, CA@NTSYM, for Common Component security in the IBM RACF Class Descriptor Table (module
ICHRRCDE). The following information should be included in the ICHERCDE macro entry:
REDEFINE CDT CA@NTSYM UACC(NONE) CDTINFO(POSIT(201) CASE(UPPER) FIRST(ALPHA,NATIONAL) +
OTHER(ALPHA,NATIONAL) MAXLENGTH(7) MAXLENX(44) PROFILESALLOWED(YES))
 194


InterTest™ and SymDump ® 11.0
NOTE
Recommendations are not given for any DFTUACC and are determined by each site.
Router Table Entry for CA@NTSYM
Make an entry for the CA@NTSYM class in the IBM RACF Router Table (module ICHRFR01). Specify ACTION=RACF.
This entry is generated by the ICHRFRTB macro.
Enabling the Class CA@NTSYM
To activate the new class CA@NTSYM defined in the CDT and Router Table, issue the following command:
SETROPTS RACLIST(CDT) REFRESH
Issue IBM RACF RDEFINES for Common Component Entities First, you must issue the IBM RACF RDEFINE command
for every Common Component entity that you want to protect. For example, issue the following commands to protect the
CA@NTSYM resources:
RDEFINE CA@NTSYM VHALTER UACC(NONE) RDEFINE CA@NTSYM VHCONTR UACC(NONE)
To protect and allow access to the Common Component PROTSYM file, use the standard RACF rule writing.
Example:
Define a general user with access to VHALTER:
PERMIT VHALTER CLASS(CA@NTSYM) ID(userid) ACC(READ)
User Exits
This article describes the user exits for each of the InterTest and SymDump  products.
The user exits are unique for each product. Click the page for your product to view the documentation on the user exits.
InterTest Batch User Exits
This article describes InterTest Batch user exits.
Define Excluded Programs
CAVHSRC member CAMRXMOD defines the list of programs that will not be automatically monitored when wildcarding
is used on the monitor control panel. Edit the list to include any programs that you do not want to be automatically


monitored. We suggest that the supplied default list is left intact. If you must monitor a program whose name is present in
this list, you can still monitor the program by explicitly adding the name of the program to the monitor control panel.
The JCL is included in the configuration PTF that assembles and links this program. The JCL member is CAMRXMOJ and
it is found in the CAI.CAVHJCL data set. The JCL must be modified JCL to conform to their installation standards before
submitting it.
Define the Batch Link Selection User Exit
When you make a selection from the Batch Link Selection panel, a user exit, CAMRUSR1, is called. This allows for
security checks to verify that the user who selected the job has the authority to monitor its execution. You can use the
SYSID passed to CAMRUSR1 to enable further security checks, for instance when you have the SYSPLEX option
enabled to allow debugging jobs on foreign LPARs.
 195


InterTest™ and SymDump ® 11.0
NOTE
For more information about coding this user exit, see the CAVHJCL member CAMRUSR1. The shipped default
member allows all users to select any available batch link job for debugging.
The JCL is included in the configuration PTF that assembles and links this program. The JCL member is CAMRUS1J and
it is found in the CAI.CAVHJCL data set. The JCL must be modified JCL to conform to their installation standards before
submitting it.
Define the Batch Link Scheduling User Exit
When you make a selection from the Batch Link DB2 and IMS Schedule panel, a user exit, CAMRUSR2, is called. This
allows for security checks to verify that the user has the authority to perform the scheduling functions.
NOTE
For more information about coding this user exit, see the CAVHJCL member CAMRUSR2. The shipped default
member permits all users this authority.
The JCL is included in the configuration PTF that assembles and links this program. The JCL member is CAMRUS2J and
it is found in the CAI.CAVHJCL data set. The JCL must be modified JCL to conform to their installation standards before
submitting it.
SymDump  Batch User Exits
This article describes SymDump  Batch user exits.
Control Exclusion Criteria
SymDump  Batch provides a user exit (CAOEUSR1) that permits more detailed exclusion or inclusion criteria. This user
exit receives control following the examination of normal exclusion criteria (from CAOETABL).
CAOEUSR1 is entered with the following registers:
R1
Address of USRDATA parameter list
R13
Address of 72-byte save area
R14
Return address
R15
Address of CAOEUSR1


R14
Return address
R15
Address of CAOEUSR1
The USRDATA parameter list contains the following information:
USRDATA  DSECT
USRFLGS  DS    XL1              FLAG BYTE
USRACTM  EQU   B'10000000'      ACCOUNT CODE MATCH
USRSMFM  EQU   B'01000000'      SMF CODE MATCH
USRSABM  EQU   B'00100000'      SYSTEM ABEND CODE MATCH
USRUABM  EQU   B'00010000'      USER ABEND CODE MATCH
USRSUBM  EQU   B'00001000'      SUB SYSTEM MATCH
USRPROGM EQU   B'00000100'      PROGRAM NAME MATCH
USRJOBM  EQU   B'00000010'      JOB NAME MATCH
USRACCNT DS    CL25             CURRENT JOB CARD ACCOUNT
USRSMF   DS    CL4              ACTIVE SMF ID
 196


InterTest™ and SymDump ® 11.0
USRSABND DS    CL3              USER ABEND CODE
USRUABND DS    CL4              SYSTEM ABEND CODE
USRSUBS  DS    CL4              ACTIVE SUBSYSTEM
USRPROG  DS    CL8              PROGRAM NAME
USRJOB   DS    CL8              JOB NAME
         DS    0F
USRWORK  DS    CL64             64-BYTE WORK AREA
USRLEN   EQU   *-USRDATA
Use copybook CAOEPRM1 to map the USRDATA parm area.
SymDump  Batch acts on the return code (in R15) from CAOEUSR1 as follows:
0
The application uses its normal exclusion criteria from CAOETABL
4
The application produces a report
6
The application does not produce a report
After you customize the source for CAOEUSR1 in CAI.CAVHJCL, submit the JCL to assemble and link the program. After
linking the program, an IPL is required to load a new copy of the user exit into CSA.
NOTE
When using the CAOEUSR1 user exit, note the following:
•CAOEUSR1 is provided as a stub that always returns with RC=0, so your exclusion criteria in CAOETABL is
honored.
•CAOEUSR1 executes AMODE=31 and RMODE=ANY and must be REENTRANT.
Control the Destination of Reports
CAIPRINT Repository Library
SymDump  Batch provides a user exit, CAOCUPRT, which allows the CAIPRINT repository library to be determined based
upon user-specified criteria (such as the userid or job name). The user exit receives control if the CAIPRTLB DD is not
specified in the JCL.


specified in the JCL.
To control the CAIPRINT repository library, code this user exit in Assembler language, and ensure that it conforms to the
register conventions described next.
Register Conventions
CAOCUPRT is entered with the following registers:
R1
Address of PRTPARM parameter list (as defined next)
R13
Address of 72-byte save area
R14
Return address
R15
Address of CAOCUPRT
 197


InterTest™ and SymDump ® 11.0
User Exit Parameter List
The PRTPARM parameter list contains the following information:
PRTPARM  DSECT                    PARMLIST PASSED TO CAOCUPRT
PRTJOB   DS    CL8                JOB NAME
PRTSTEP  DS    CL8                STEP NAME
PRTUSRID DS    CL8                USERID
PRTTIME  DS    CL8                TIME OF REPORT IN EBCIDIC
*                                 (00HHMMSS)
PRTDATE  DS    CL8                DATE OF REPORT IN EBCIDIC
*                                 (YYYYMMDD)
PRTPGMID DS    CL8                PROGRAM ID
PRTCODE  DS    CL7                COMPLETION CODE (LEFT JUSTIFIED)
PRTDSN   DS    CL44               DATA SET NAME
PRTPARML EQU   *-PRTPARM
* NOTE:  THE COMPLETION CODE WILL BE IN ONE OF THE FOLLOWING
*        FORMATS:
*          SYSTEM ABEND CODE = SXXX
*          USER ABEND CODE   = UXXXX
*          MESSAGE ID        = MSGXXXX  (I.E., CEE3501 OR IGZ0035)
*          RETURN CODE       = RCXXXX
All of the fields in the PRTPARM DSECT, including PRTDSN, are set before the call to CAOCUPRT. However, if the
application did not abend, the program name will be blank.
Upon return from CAOCUPRT, if R15 contains a nonzero return code, the repository library defined in the default CSECT,
CAOUDFRX, or specified by the option override in the CAIOPTS DD is used. If R15 contains a zero return code, the


repository library returned by CAOCUPRT in the PRTDSN field of the PRTPARM DSECT is used.
Sample User Exit Program
The following sample program returns a repository data set name based upon the assigned group of the user:
CAOCUPRT TITLE 'CAOCUPRT  -  CAIPRINT Repository User Exit'
CAOCUPRT CSECT
CAOCUPRT AMODE 31
CAOCUPRT RMODE ANY
         USING CAOCUPRT,12
         STM   R14,R12,12(R13)         SAVE REGS
         LR    R12,R15                 SET BASE REGISTER
         SPACE ,
         LR    R3,R1                   -> INPUT PARM LIST
         USING PRTPARM,R3
         LA    R2,USRTBL               -> USERID TABLE
         USING USERDEF,R2
TBLLOOP  DS    0H
         C     R2,=A(USRTEND)          END OF TABLE?
         BNL   NODSN                   YES, SET RC AND EXIT
         CLC   USERID,PRTUSRID         FIND USERID IN TABLE?
         BE    GETDSN                  YES, GET PRTLIB DSN
         LA    R2,USERDEFL(,R2)        GET NEXT ENTRY
         B     TBLLOOP                 LOOP
         SPACE ,
GETDSN   DS    0H
 198


InterTest™ and SymDump ® 11.0
         LH    R1,USERGRP              GET GROUP INDEX
         MH    R1,=H'44'               CALC INDEX INTO DSN LIST
         A     R1,=A(DSNLIST)
         MVC   PRTDSN,0(R1)            SET PRTLIB DSN
         SR    R15,R15                 SET RC=0
         B     EXIT                    RETURN
         DROP  R2,R3
         SPACE ,
NODSN    DS    0H
         LA    R15,4                   SET RC=4
         SPACE ,
EXIT     DS    0H
         L     R14,12(R13)             RESTORE R14
         LM    R0,R12,20(R13)          RESTORE R0-R12
         BR    R14                     RETURN
         SPACE ,
         TITLE 'GROUP EQUATES'
DEVL     EQU   0
QA       EQU   1
PROD     EQU   2
         SPACE ,
         TITLE 'USERID TABLE'
USRTBL   EQU   *
         DC    CL8'USER1',Y(DEVL)
         DC    CL8'USER2',Y(DEVL)
         DC    CL8'USER3',Y(DEVL)
         DC    CL8'USER4',Y(QA)
         DC    CL8'USER5',Y(QA)
         DC    CL8'USER6',Y(QA)
         DC    CL8'USER7',Y(QA)
         DC    CL8'USER8',Y(PROD)


DC    CL8'USER8',Y(PROD)
         DC    CL8'USER9',Y(PROD)
         DC    CL8'USER10',Y(PROD)
USRTEND  EQU   *
         SPACE ,
         TITLE 'PRTLIB DSN LIST'
DSNLIST  EQU   *
         DC    CL44'DEVL.PRTLIB'
         DC    CL44'QA.PRTLIB'
         DC    CL44'PROD.PRTLIB'
         LTORG ,
         EJECT
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
 199


InterTest™ and SymDump ® 11.0
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         SPACE 1
PRTPARM  DSECT                    PARMLIST PASSED TO CAOCUPRT
PRTJOB   DS    CL8                JOB NAME
PRTSTEP  DS    CL8                STEP NAME
PRTUSRID DS    CL8                USERID
PRTTIME  DS    CL8                TIME OF REPORT IN EBCIDIC
*                                 (00HHMMSS)
PRTDATE  DS    CL8                DATE OF REPORT IN EBCIDIC
*                                 (YYYYMMDD)
PRTPGMID DS    CL8                PROGRAM ID
PRTCODE  DS    CL7                COMPLETION CODE (LEFT JUSTIFIED)
PRTDSN   DS    CL44               DSN RETURNED
PRTPARML EQU   *-PRTPARM
* NOTE:  THE COMPLETION CODE WILL BE IN ONE OF THE FOLLOWING
*        FORMATS:*          SYSTEM ABEND CODE = SXXX
*          USER ABEND CODE   = UXXXX
*          MESSAGE ID        = MSGXXXX  (I.E., CEE3501 OR IGZ0035)
*          RETURN CODE       = RCXXXX
          SPACE 1
USERDEF  DSECT
USERID   DS    CL8
USERGRP  DS    H
USERDEFL EQU   *-USERDEF
               SPACE 1
               END   CAOCUPRT
User Exit JCL


SPACE 1
               END   CAOCUPRT
User Exit JCL
JCL to assemble and link this user exit can be found in CAI.CAVHJCL(CAOCUPRT). The previous example is provided in
that member.
NOTE
When using the CAOCUPRT user exit to control the destination of abend reports, note the following information:
•CAOCUPRT is provided as a stub that always returns with RC=4. Therefore, the repository data set name
does not change if a user exit is not provided.
•CAOCUPRT can execute AMODE=24 or AMODE=31, and must be REENTRANT.
Dynamic Allocation for the CAIPRINT DD
SymDump  Batch provides a user exit, CAOCUDSN that enables CAIPRINT to be written to a user-specified data set. The
user exit receives control if the CAIPRINT DD is not specified in the JCL.
To control dynamic allocation for the CAIPRINT DD, code this user exit in Assembler language, and ensure that it
conforms to the register conventions described next.
Register Conventions
CAOCUDSN is entered with the following registers:
 200


InterTest™ and SymDump ® 11.0
R1
Address of the USERDSN parameter list (as defined in User Exit Parameter List)
R13
Address of 72-byte save area
R14
Return address
R15
Address of CAOCUDSN
User Exit Parameter List
The USRDSN parameter list contains the following information:
USERDSN  DSECT        * PARM LIST PASSED TO CAOCUDSN
USRJOBID DS   CL8     JOB NUMBER (ASSIGNED BY THE SYSTEM)
USRJBNAM DS   CL8     JOB NAME   (FROM THE JOB CARD)
USRJBSTP DS   CL8     STEP NAME
USRLENID DS   CL1     LENGTH OF USERID
USRUSRID DS   CL8     USERID     (PERSON WHO SUBMITTED THE JOB)
USRTIME  DS   CL8     TIME OF REPORT IN EBCIDIC (FORMAT THHMMSS)
USRDATE  DS   CL8     DATE OF REPORT IN EBCIDIC (FORMAT MMDDYYYY)
USRPRGNM DS   CL8     MAIN PROGRAM (LOAD MODULE ABEND OCCURRED IN)
USRABCDE DS   CL5     COMPLETION CODE (LEFT JUSTIFIED, Sxxx OR
*                     Unnnn
* LAST 3 FIELDS ARE FILLED IN BY THE USER EXIT CAOCUDSN
USRDSN   DS   CL44    DSN RETURNED
USRUNIT  DS   CL8     UNIT NAME RETURNED (OPTIONAL)
USRVOL   DS   CL6     VOLSER FOR DSN RETURNED (OPTIONAL)
USRLEN   EQU  *-USRDSN
Upon return from CAOCUDSN, if R15 contains a nonzero return code or the USRDSN field is blank, CAIPRINT is


dynamically allocated to SYSOUT. If R15 contains a zero return code, CAIPRINT is dynamically allocated to the data set
defined in USRDSN. If the UNIT or volume fields were also specified, they are used by dynamic allocation.
Example:
A sample user exit program appears next:
CAOCUDSN TITLE 'CAOCUDSN'
CAOCUDSN CSECT
CAOCUDSN AMODE 24
CAOCUDSN RMODE 24
*THIS SAMPLE PROGRAM WILL RETURN A DATA SET NAME OF
*USERID.TIME.JOBNAME
         USING CAOCUDSN,R12
         STM   R14,R12,12(R13)
         LR    R12,R15
         LR    R3,R1
         USING USERDSN,R3
         XR    R4,R4
         IC    R4,USRLENID             GET LENGTH OF USERID
         BCTR  R4,0                    EXECUTE LENGTH
         LA    R5,USRDSN               POINT TO OUTPUT FIELD
         EX    R4,MOVEID               MOVE IN USERID
 201


InterTest™ and SymDump ® 11.0
         LA    R5,1(R4,R5)             BUMP POINTER
         MVI   0(R5),C'.'              MOVE IN PERIOD
         LA    R5,1(,R5)               BUMP POINTER
         MVC   0(8,R5),USRTIME         MOVE IN TIME
         LA    R5,8(,R5)               BUMP POINTER
         MVI   0(R5),C'.'              MOVE IN PERIOD
         LA    R5,1(,R5)               BUMP POINTER
         MVC   0(8,R5),USRJBNAM        MOVE IN JOB NAME
         LA    R5,8(,R5)               BUMP POINTER
         L     R14,12(R13)
         XR    R15,R15
         LM    R0,R12,20(R13)
         BR    R14
MOVEID   MVC   0(R4,R5),USRUSRID
         LTORG ,
         EJECT
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
USERDSN  DSECT
*   PARM LIST PASSED TO CAOCUDSN


*   PARM LIST PASSED TO CAOCUDSN
USRJOBID DS   CL8     JOB NUMBER (ASSIGNED BY THE SYSTEM)
USRJBNAM DS   CL8     JOB NAME   (FROM THE JOB CARD)
USRJBSTP DS   CL8     STEP NAME
USRLENID DS   CL1     LENGTH OF USERID
USRUSRID DS   CL8     USERID     (PERSON WHO SUBMITTED THE JOB)
USRTIME  DS   CL8     TIME OF REPORT IN EBCIDIC (FORMAT THHMMSS)
USRDATE  DS   CL8     DATE OF REPORT IN EBCIDIC (FORMAT MMDDYYYY)
USRPRGNM DS   CL8     MAIN PROGRAM (LOAD MODULE ABEND OCCURRED IN)
USRABCDE DS   CL5     COMPLETION CODE (LEFT JUSTIFIED, SXXX OR
*                     UNNNN)
*   LAST 3 FIELDS ARE FILLED IN BY THE USER EXIT CAOCUDSN
USRDSN   DS   CL44    DSN RETURNED
USRUNIT  DS   CL8     UNIT NAME RETURNED (OPTIONAL)
USRVOL   DS   CL6     VOLSER FOR DSN RETURNED (OPTIONAL)
USRLEN   EQU  *-USRDSN
         END   CAOCUDSN
 202


InterTest™ and SymDump ® 11.0
User Exit JCL
JCL to assemble and link this user exit can be found in CAI.CAVHJCL(CAOIUSR1). The previous example is provided in
that member.
NOTE
When using the CAOCUDSN user exit to control the destination of abend reports, note the following information:
•CAOCUDSN is provided as a stub that always returns with RC=4. Therefore, the dynamic allocation of
CAIPRINT does not change if a user exit is not provided.
•CAOCUDSN executes AMODE=24 and RMODE=24 and must be REENTRANT. It is linked with module
CAOCIN00.
•When CAOIUSR1 is updated, the product must be reinitialized for the user exit to take effect.
Control Access to Reports in the Repository
You can customize and build the user exit program CAOIUSR1 to secure the following types of access to the abend
repository:
•Viewing reports
•Deleting reports
•Locking and unlocking reports
•Modifying formatting options
•Printing reports
This user exit receives control whenever any user attempts to access the repository for any of these operations.
To control access to reports in the repository, you must code this user exit in Assembler language, and it must conform to
the conventions described next.
Input Registers
CAOIPRM1 is entered with the following registers:
R1
Address of the input parm, mapped by DSECT CAOIPRM1. This area contains the ID of the user attempting the
access, the request type, and information about the report being accessed.
R13
Address of a 72-byte register save area provided by the caller.
R14
Address where CAOIUSR1 must return to its caller.
R15
Address of CAOIUSR1.


R15
Address of CAOIUSR1.
Output Registers
CAOIPRM1 is required to restore all registers to their original values, except R15, which must return one of the following
values:
R15=0
Allow the access requested.
R15=4
Deny the access requested
Any other value in R15 may produce unpredictable results.
 203


InterTest™ and SymDump ® 11.0
User Exit Parameter List
The CAOIPRM1 parameter list contains the following information:
CAOIPRM1 DSECT
PRM1REQ  DS    XL4                    Request type
P1_OPEN  EQU   5                        5 = Open a report for view
P1_DEL   EQU   9                        9 = Delete a report
P1_LOCK  EQU   16                      16 = Lock a report
P1_UNLK  EQU   17                      17 = Unlock a report
P1_OPTS  EQU   21                      21 = Update report options
P1_PRINT EQU   22                      22 = Print a report
PRM1USR  DS    CL8                    Requestor's user id
PRM1RJOB DS    CL8                    Report Job Name
PRM1RUSR DS    CL8                    Report User Id
PRM1WORK DS    XL256                  256-BYTE WORK AREA
LPRM1    EQU   *-CAOIPRM1
Sample User Exit Program
The following sample version of CAOIUSR1 that unconditionally enables every requested access is provided
in CAI.CAVHJCL:
CAOIUSR1 TITLE 'Sample Repository Viewer Security Exit'
**------------------------------------------------------------------**
**                                                                  **
**  CAOIUSR1 - Sample Repository Viewer Security Exit               **
**                                                                  **
**  This user exit performs security validation prior to            **
**  various repository viewer functions.                            **
**                                                                  **
**  Input Registers:                                                **
**                                                                  **
**  R1 contains the address of the parm area (CAOIPRM1)             **
**  R13 contains the address of a register save area                **


**  R13 contains the address of a register save area                **
**  R14 contains the return address                                 **
**  R15 contains the address of CAOIUSR1                            **
**                                                                  **
**  All other registers are unpredictable.                          **
**                                                                  **
**  Output Registers:                                               **
**                                                                  **
**  R15 contains the return code (described next)                   **
**                                                                  **
**  All other registers must be returned unchanged.                 **
**                                                                  **
**  Return Codes                                                    **
**                                                                  **
**  R15 = 0   Allow access.                                         **
**  R15 > 0   Disallow access.                                      **
**                                                                  **
**------------------------------------------------------------------**
         SPACE ,
CAOIUSR1 CSECT
 204


InterTest™ and SymDump ® 11.0
         USING CAOIUSR1,R12            Map the User Exit
         USING CAOIPRM1,R8             Map the Parameter Area
         USING LDATA,R13               Map Local Data
         SPACE ,
         STM   R14,R12,12(R13)         Save caller's registers
         LR    R12,R15                 Set procedure base
         LR    R8,R1                   Set parm base
         SPACE ,
         LA    R1,PRM1WORK             @ Work area provided
         XC    0(256,R1),0(R1)         Clear it out
         ST    R13,4(,R1)              Save backward chain
         ST    R1,8(,R13)              Save forward chain
         LR    R13,R1                  Set our RSA address
         SPACE ,
* Perform security validation here.
         SPACE ,
RETURN   DS    0H
         L     R15,LDRC                Load the return code
         L     R13,4(,R13)             Restore @ caller's rsa
         L     R14,12(,R13)            Load return address
         LM    R0,R12,20(R13)          Restore registers
         BR    R14                     Return to caller
         TITLE 'LITERALS'
         LTORG ,
         TITLE 'DSECTS: Local Data'
LDATA    DSECT
LDSAVE   DS    18F
LDRC     DS    F
         TITLE 'DSECTS: Parameter Area'
         COPY  CAOIPRM1
         TITLE 'REGISTER EQUATES'
R0       EQU   0


TITLE 'REGISTER EQUATES'
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         END   CAOIUSR1
User Exit JCL
After you customize the source for CAOIUSR1 in CAI.CAVHJCL, submit the JCL to assemble and link the program.
 205


InterTest™ and SymDump ® 11.0
NOTE
When using the CAOIUSR1 user exit to secure the various types of access to the abend repository, note the
following information:
•CAOIUSR1 resides as a stand-alone single-CSECT load module.
•CAOIUSR1 receives control in 31-bit addressing mode.
Management Reporting System (MRS) User Exits
The Management Reporting System (MRS) provides you with a facility to develop your own output report. Two user exits
enable access to the data that the MRS processes. You can specify these exits separately or concurrently by using the
COBOLEX or NOCOBEX execution options. (COBOLEX accesses Detail Report information; NOCOBEX accesses non-
COBOL CSECTs.)
Access Detail Report Information (COBOLEX)
COBOLEX provides access to the information that MRS uses to print the Detail Report. If you specify this exit, MRS
loads a copy of the specified user program (see Invoke a User Exit JCL). Each time MRS processes a COBOL CSECT, a
branch is made and data is passed to the user program using a parameter list pointed to by Register 1. The list contains
the two parameters shown next:
 XDATADDR DS A            address of MRS dataXNEWADDR DS AL1(128),AL3 address for a substitute print line
XDATADDR contains the address of the CSECT data being passed. The following DSECT shows the order in which the
fields appear:
EXITBUF  DS   0CL102           USER EXIT BUFFER
XITMNAME DS    CL8             MODULE NAME
XITMSIZE DS    PL5             MODULE SIZE
XITCNAME DS    CL8             CSECT NAME


XITCNAME DS    CL8             CSECT NAME
XITCSIZE DS    PL5             CSECT SIZE
XITDDLEN DS    PL5             DATA SIZE
XITPDLEN DS    PL5             PROCEDURE SIZE
XITCMPLR DS    CL4             COMPILER
***********************************************************
* POSSIBLE VALUES ARE
*        DC    C'COBF'         COBOL-F
*        DC    C'ANS2'         ANS VERSION 2
*        DC    C'ANS3'         ANS VERSION 3
*        DC    C'ANS4'         ANS VERSION 4
*        DC    C'VSR1'         OS/VS COBOL
*        DC    C' C2 '         COBOL/II
*        DC    C' C3 '         COBOL/370
*        DC    C'CMVS'         COBOL FOR MVS AND VM
*        DC    C'C390'         COBOL FOR OS/390
***********************************************************
XITCMPID DS    CL8             COMPILER ID
         DS    CL1             FILLER
XITCREL  DS    CL3             COMPILER RELEASE
         DS    CL3             FILLER
XITCDATE DS    CL8             COMPILE DATE
         DS    CL3             FILLER
XITCTIME DS    CL8             COMPILE TIME
XITOPTIM DS    CL6             OPTIMIZER
 206


InterTest™ and SymDump ® 11.0
         DS    CL1             FILLER
XITOPREL DS    CL3             OPTIMIZER RELEASE
XITD     DS    CL1             DTECT
XITP     DS    CL1             PFLOW
XITC     DS    CL1             XCOUNT
XITX     DS    CL1             XTIME
XITF     DS    CL1             FDCHECK
XITS     DS    CL1             SUBRNGCK
XITR     DS    CL1             PARMCHK
XITB     DS    CL1             DBGSLEEP
XITW     DS    CL1             WSINIT
XITI     DS    CL1             CICS
XITE     DS    CL1             EOS
XITL     DS    CL1             WSCLEAR
XITH     DS    CL1             PUSHPOP
XITO     DS    CL1             CASORT
         DS    CL4             FILLER
You can use XNEWADDR to pass back a substitute print line.
MRS expects the user program to pass a return code back in Register 15. When a return code 0 is passed back to MRS,
processing continues as normal (the print line is output to SYSPRINT). When the return code is set to 8, MRS substitutes
the print line whose address is passed back to MRS in the return parameter list (XNEWADDR). When substituting a new
print line, specify a carriage control character in column 1. The total line length, including the carriage control, must be 133
bytes. An error message replaces the normal print line for any other return code.


bytes. An error message replaces the normal print line for any other return code.
The MRS branches to the user program one final time after processing the entire library. The XDATADDR parameter
addresses binary zeros in all of the data fields as a signal to the user program to close any open files. A system abend
can occur if open files are not closed.
Access Non-COBOL CSECTs (NOCOBEX)
NOCOBEX provides access to every non-COBOL CSECT in the library, except for the COBOL ILBOxxxx and IGZ xxxxx
routines in COBOL load modules.
MRS loads a copy of the specified user program if you specify this exit in the JCL (see Invoke a User Exit JCL). Each time
MRS processes a non-COBOL CSECT, a branch is made and the CSECT data is passed to the user program using a
parameter list pointed to by Register 1. The list contains one address:
XDATADDR DS AL1(128),AL3
XDATADDR contains the address of the CSECT data being passed. This DSECT shows the order in which the data
appears:
XDATA       DSECTXMNAME      DS      CL8      LOAD MODULE NAME
XMSIZE      DS      PL5      LOAD MODULE SIZE
XPNAME      DS      CL8      PROGRAM (CSECT) NAME
XPSIZE      DS      PL5      PROGRAM (CSECT) SIZE
XCOBONLY    DS      CL76     FOR FUTURE USE
MRS does not expect a return code from the NOCOBEX user program. MRS branches to the user program one final time
after processing the entire library. The XDATADDR parameter addresses binary zeros in all of the data fields as a signal to


the user program to close any open files. A system abend can occur if open files are not closed.
 207


InterTest™ and SymDump ® 11.0
Sample User Exit Program
The following Assembler program shows how you can use NOCOBEX to print your own detail report for non-COBOL
CSECTs.
ASMEXIT  TITLE 'MRS EXIT ROUTINE FOR NON COBOL CSECTS (NOCOBEX)'
ASMEXIT  CSECT
         STM   14,12,12(13)
         LR    12,15
         USING ASMEXIT,12
         LA    2,SAVE                  PERFORM SAVE AREA CHAINING
         ST    13,4(,2)                 BETWEEN MRS AND ASMEXIT.
         ST    2,8(,13)
         LR    13,2
         L     10,0(,1)                GET DATA POINTER AND SET UP
         USING INLINE,10                ADDRESSABILITY FOR DATA AND
         LA    11,BUFFER                 OUTPUT BUFFERS.
         USING OUTLINE,11
         MVI   OUTLINE,X'40'           CLEAR OUTPUT LINE
         MVC   OUTLINE+1(132),OUTLINE
         CLI   INMOD,C'A'              CHECK FOR VALID DATA BUFFER.
         BL    ALLDONE                  - IF NOT VALID THEN DONE.
         TM    FLAGS,PASS1             CHECK FOR 1ST ENTRY TO ASMEXIT.
         BZ    GETCSECT                 - IF 1ST ENTRY OPEN SYSRPT.
         OPEN  (OUTDCB,(OUTPUT))
         PUT   OUTDCB,HEADLINE         OUTPUT HEADER LINE.
         NI    FLAGS,X'FF'-PASS1       RESET 1ST PASS FLAG.
GETCSECT DS    0H
         AP    TOTCSIZE,INCSIZE        ADD CSECT SIZE TO TOTALS.


MVC   OUTCSECT,INCSECT        MOVE CSECT NAME TO OUT BUFFER.
         MVC   EDITBUF,PATTERN         EDIT CSECT SIZE INTO BUFFER.
         ED    EDITBUF,INCSIZE
         MVC   OUTCSIZE,EDITBUF+4
         CLC   INMOD,CURRMOD           CHECK FOR NEW MODULE NAME.
         BE    WRITEREC                 - IF NEW THEN GET NEW DATA.
GETMOD   DS    0H
         AP    TOTMSIZE,INMSIZE        ADD NEW MODULE SIZE TO TOTALS.
         MVC   OUTMOD,INMOD            MOVE MODULE NAME TO OUT BUFFER.
         MVC   EDITBUF,PATTERN         EDIT MODULE SIZE INTO BUFFER.
         ED    EDITBUF,INMSIZE
         MVC   OUTMSIZE,EDITBUF+4
         MVC   CURRMOD,INMOD
WRITEREC DS    0H
         PUT   OUTDCB,OUTLINE          OUTPUT THIS RECORD TO SYSPRT.
         B     RETURN                  RETURN TO MRS.
ALLDONE  DS    0H
         MVC   BUFFER,TOTLINE          MOVE SKELETON LINE TO BUFFER
         MVC   EDITBUF,PATTERN         EDIT TOTAL MODULE SIZE INTO
         ED    EDITBUF,TOTMSIZE         OUTPUT BUFFER.
         MVC   OUTMSIZE,EDITBUF+4
         MVC   EDITBUF,PATTERN         EDIT TOTAL CSECT SI<E INTO
         ED    EDITBUF,TOTCSIZE         OUTPUT BUFFER.
         MVC   OUTCSIZE,EDITBUF+4
         PUT   OUTDCB,OUTLINE            SPACE AND OUTPUT TOTALS.
 208


InterTest™ and SymDump ® 11.0
         CLOSE (OUTDCB)                CLOSE SYSRPT FILE.
RETURN   DS    0H
         L     13,4(,13)               RESTORE SAVE AREA ADDRESS.
         LM    14,12,12(13)            RESTORE REGISTERS FOR MRS.
         XR    15,15                   SET ZERO RETURN CODE.
         BR    14                      RETURN TO MRS.
*

*   LITERALS, CONSTANTS AND VARIABLES FOR ASMEXIT
*
         LTORG
SAVE     DC    18F'0'                  REGISTER SAVE AREA
CURRMOD  DC    CL8' '                  CURRENT LOAD MODULE NAME
TOTMSIZE DC    PL5'0'                  TOTAL MODULE SIZE (BYTES)
TOTCSIZE DC    PL5'0'                  TOTAL CSECT SIZE (BYTES)
EDITBUF  DC    XL12'00'
PATTERN  DC    XL12'402020206B2020206B202020'
FLAGS    DC    AL1(PASS1)
PASS1    EQU   X'80'
OUTDCB   DCB   DDNAME=SYSRPT,MACRF=PM,DSORG=PS,RECFM=F,LRECL=133,      X
               BLKSIZE=133
BUFFER   DC    CL133' '
HEADLINE DC    CL133' MODULE    LENGTH          CSECT     LENGTH'
TOTLINE  DC    CL133' TOTALS'
*
*   DSECT FOR OUTPUT BUFFER (SYSRPT)
*
OUTLINE  DSECT
OUTCTL   DS    CL1                     CTL CHARACTER FOR OUTPUT
OUTMOD   DS    CL8                     LOAD MODULE NAME
         DS    CL2
OUTMSIZE DS    CL8                     LOAD MODULE SIZE


DS    CL2
OUTMSIZE DS    CL8                     LOAD MODULE SIZE
         DS    CL8
OUTCSECT DS    CL8                     CSECT NAME
         DS    CL2
OUTCSIZE DS    CL8                     CSECT SIZE
         DS    CL2
OUTXTRA  DS    CL76                    NOT USED
*
*   INPUT DATA FROM MRS (CSECT/MODULE INFORMATION)
*
INLINE   DSECT
INMOD    DS    CL8                     MODULE NAME
INMSIZE  DS    PL5                     MODULE SIZE
INCSECT  DS    CL8                     CSECT NAME
INCSIZE  DS    PL5                     CSECT SIZE
INXTRA   DS    CL76                    NOT USED
         END   ASMEXIT
Invoke a User Exit JCL
To invoke a user exit, code the PARM parameter on the EXEC statement.
 209


InterTest™ and SymDump ® 11.0
COBOLEX and NOCOBEX are keyword parameters that require the name of the designated user program as a value.
Specify the user exits separately or concurrently.
If you are using a cataloged procedure, code the PARM parameter as follows:
 //STEP10 EXEC CAIMRSII,LIBRARY='COBOL load library',
//            PARM=('NOCOBEX= XXXXXXXX ,COBOLEX= YYYYYYYY ')
InterTest for CICS User Exits
This article describes InterTest for CICS user exits.
Unprotect Main Storage with User Exit IN25LETX
IN25LETX is an optional exit program coded by the user that specifies areas in main storage that should not  be protected
by InterTest for CICS. The areas to be unprotected are indicated by beginning and ending storage addresses.
This exit program provides a programmable function equivalent to the InterTest for CICS interactive LET option. This is a
particularly useful option, because frequently an application program is designed to modify a storage area that is protected
by InterTest for CICS. Ordinarily when that happens, InterTest for CICS initiates an automatic breakpoint and halts the
program's execution.
IN25LETX must follow the rules for command-level programs. It executes within the task of the monitored application
program, and must not do anything that would affect normal execution of the application. IN25LETX is invoked each time
InterTest for CICS begins monitoring and also when it resumes monitoring, such as after a CICS command or after any
kind of breakpoint.
The interface to IN25LETX is a CICS command level LINK with a COMMAREA. This allows a user's IN25LETX module to
issue CICS SPI or API commands to locate key module addresses.
NOTE


issue CICS SPI or API commands to locate key module addresses.
NOTE
The interface permits IN25LETX to return a variable-length table of pairs to InterTest for CICS in a single pass.
Previous non-ESA versions of IN25LETX branched to InterTest for CICS for each address pair until all address
pairs were passed.
IN25LETX COMMAREA
The following table contains the IN25LETX COMMAREA fields. See the section Sample IN25LETX Program for the
COMMAREA layout.
COMMAREA Field Length Primed By
Table Address Fullword User
Monitored Program 8 bytes InterTest for CICS
Application Registers Fullword InterTest for CICS
Table Address
This field is set to zeros upon entry to the exit. InterTest for CICS assumes it was passed a valid table address
if this field is modified. Leaving this field set to zeros causes InterTest for CICS to remove any address pairs
previously set by this exit for this task.
Monitored Program
Contains the name of the program being monitored by InterTest for CICS at the time this exit was invoked.
 210


InterTest™ and SymDump ® 11.0
Application Registers
The full word address of the 16-full word area containing the application's registers (0 to 15) that were saved just
before the entry to this exit.
LETX Table
For each area of main storage that is to be unprotected, IN25LETX stores a pair of addresses in a table (the LETX table).
Each pair of addresses represents a from and a  to area of storage that will not be protected by InterTest for CICS if those
areas are modified by the application. For example, if the area to be unprotected resides at address X'11AA2E0' and is
X'2000' bytes long, the address pair is 11AA2E0 and 11AC2E0.
The last entry in the table must contain two full words of X'FFFFFFFF'.
In many cases, the declared addresses may only need to be unprotected for a particular CICS task or program execution.
Thus the logic of IN25LETX may need to consider the varying circumstances of execution, including the following tasks:
•Transaction identification
•Terminal identification
•Logical level of execution
•Program identification
IN25LETX must deliver a full table of address pairs each time it is invoked. IN25LETX does not have to be reentrant,
meaning it can contain save areas and tables in which permanent addresses can be stored. There is no need to rebuild
the LETX table if the addresses do not change. In this case, a one-time routine can find the areas, build the LETX table,
and save the table in the IN25LETX module for the next time. IN25LETX can make itself resident by loading itself again
(see the section Sample IN25LETX Program).


(see the section Sample IN25LETX Program).
IN25LETX can reside above or below the 16 MB line and execute in either addressing mode. All table addresses,
however, must have the X'80000000' bit turned off; that is, the address X'01234567' must not be passed as X'81234567'.
Sample IN25LETX Program
The sample IN25LETX program that follows locates two areas, both permanently resident in storage, which are to be
unprotected for all monitored programs running under transaction code ABCD. The first area is a table pointed to by
an address in the user's TWA. The second area is a table loaded as a member of the CICS program definition named
ATABLE. Both areas are established before InterTest for CICS becomes active and remain resident in main storage.
*
         TITLE 'IN25LETX -- CA INTERTEST LET EXIT -- USER CODED'
         DFHREGS                     REGISTER EQUATES
*
DFHEISTG DSECT                       WORKING STORAGE DSECT
XPROGLEN DS    F                     PROGRAM LENGTH
****************************************************************  *       I N 2 5 L E T X    C O M M A R E A
                    *
****************************************************************
COMMAREA DSECT                       COMMAREA
CTBLADDR DS    F                     ADDRESS OF USER LET TABLE
INTPROG  DS    CL8                   NAME OF MONITORED PROGRAM
INTREGS  DS    F                     ADDR OF APPL REGISTERS (0-15) *

USERTWA  DSECT                       DSECT FOR USER TWA
UTBLADDR DS    F                     ADDRESS OF USER TABLE
UTBLLEN  DS    H                     LENGTH OF USER TABLE          *

*****************************************************************
 211


InterTest™ and SymDump ® 11.0
IN25LETX DFHEIENT EIBREG=R11,CODEREG=R12,DATAREG=R13
*         L     R10,DFHEICAP         POINT TO COMMAREA
         USING COMMAREA,R10                                      *

         CLC   EIBTRNID,=C'ABCD'    IS THIS THE TRANSACTION?
         BNE   RETURN               NO, RETURN, DO NOT SET ANY
*                                   ADDRESSES FOR THIS TASK      *

PROCESS  CLC   LTWATBL,=D'0'        HAVE THEY BEEN ALREADY SAVED?
         BE    GETAREAS             NO, GO GET THEM
         LA    R1,LTABLE            THEN, THE LET TABLE IS BUILT...
         ST    R1,CTBLADDR          PUT LET TABLE ADDR IN THE COMMAREA*

RETURN   EXEC CICS RETURN                                            *

GETAREAS DS    0H
*
         EXEC CICS ADDRESS TWA(R5)
         USING USERTWA,R5                                            *

         L     R1,UTBLADDR           GET THE START OF THE TWA AREA
         N     R1,=X'7FFFFFFF'       ENSURE HIGH-ORDER BIT IS TURNED
*                                    OFF IN USER'S ADDRESS
         ST    R1,LTWATBL           STORE THE AREA'S START ADDRESS
         AH    R1,UTBLLEN           ADD THE TABLE LENGTH
         ST    R1,LTWATBL+4         STORE THE AREA'S END ADDRESS
*
         EXEC CICS INQUIRE PROGRAM('ATABLE') LOADPOINT(R0)           X
                    LENGTH(XPROGLEN)                                  *


LENGTH(XPROGLEN)                                  *

         ST    R0,LPROGTBL           STORE THE AREA'S START ADDRESS
         A     R0,XPROGLEN           ADD THE PROGRAM'S LENGTH
         ST    R0,LPROGTBL+4         STORE THE AREA'S END ADDRESS
*
**********************************************************************
* LOAD THIS EXIT AGAIN SO IT WILL NOT HAVE TO REOBTAIN THE ADDRESSES *
* ON THE NEXT CALL TO THIS EXIT.                                     *
**********************************************************************
         EXEC CICS LOAD PROGRAM('IN25LETX') HOLD                        *

         LA    R1,LTABLE
         ST    R1,CTBLADDR           PUT ADDR OF LET TABLE IN COMMAREA
         B     RETURN                                                  *

LTABLE   DS    0H                    LET TABLE
LTWATBL  DC    2F'0'                 ADDRESSES OF TWA TABLE
LPROGTBL DC    2F'0'                 ADDRESSES OF PROGRAM TABLE
LEND     DC    X'FFFFFFFF'           END OF TABLE INDICATOR
         LTORG
         END
 212