Storage Exceptions (9.7)
Related Topics
The Storage Exceptions screen (9.7) is used to create, delete, list, and change entries in the storage protection exceptions table. In storage violation detection processing, Code Debug CICS checks this table to see if the violation is excluded from trapping.
Access this screen by typing the number 7 on the System-Facilities-Menu-9, or as described in Transferring Between Screens.
Storage Exceptions Screen (9.7)
COMMAND ===> SCROLL ===> CSR
MODULE: CCASDCTL CSECT: CCASDCTL
ADDRESS ADDR-TO <-- ALLOW ALLOW UNPRO
DEL TERM TRAN PROGRAM FROM OR LNTH A/L STORE FETCH INSTR
----------------------------------------------------------------------------
_ ____ ____ ________ ________ ________ _ ___ ___ ___
_ ____ ____ ________ ________ ________ _ ___ ___ ___
_ ____ ____ ________ ________ ________ _ ___ ___ ___
A storage protection exception entry can be created at any time, even when the user is testing and has a trapped storage violation.
When Code Debug's storage protection feature identifies an invalid storage access, the following process occurs:
- Code Debug CICS searches the storage protection exceptions table to see if the violation can be ignored.
- The current TERM, TRAN, and PROGRAM fields are matched with the masks on the table entry. On a match, Code Debug CICS resolves and compares the address range for that table entry with the storage being violated, and the next sequential instruction, if UNPRO-INSTR is Y.
- If user-label equates were used, the labels are resolved at this time.
- The table is searched until all entries have been tried or until an entry’s address range encompasses the violation, whichever comes first.
Input Fields
DEL
Type a letter D in this field to delete a storage protection exceptions table entry. When a Code Debug CICS session ends, storage protection exceptions created by the user are retained unless they are deleted from this screen.
TERM, TRAN, and PROGRAM
Valid entries in these fields set terminal storage protection exceptions. Valid entries are:
- asterisks (****): Selects all terminals, transactions, or programs. Type an asterisk in any position for generic selections.
- HERE: In the TERM field, sets storage protection exceptions at the current terminal when the current terminal ID is not known.
- NONE: In the TERM field, matches only asynchronous (non-terminal initiated) transactions.
No validation is performed against CICS-defined resources (terminal, transaction, or program).
ADDRESS-FROM
Address where the exception is to begin. Type either an absolute number in hexadecimal format or a label from the Define-System-Labels-9-9 screen. If a label is specified, resolution is done at the time that a storage violation is detected.
ADDRESS-TO OR LNTH
Address where the exception is to end or the length of the area to be excluded. Type either an absolute number in hexadecimal format or a label from the Define-System-Labels-9-9 screen. If a label is specified, resolution is done at the time that a storage violation is detected.
A/L
Specifies whether the ADDR-TO or LNTH field is used as an address or a length. Valid entries are:
- A: ADDR-TO OR LNTH field is used as an address.
- L: ADDR-TO OR LNTH field is used as a length.
ALLOW STORE
Specifies whether storing is allowed in this address range. Valid entries are:
- Y: Storing is allowed.
- N: No exceptions are applied for storage violations within this address range.
ALLOW FETCH
Specifies whether fetching is allowed from this address range. Valid entries are:
- Y: Fetching is allowed.
- N: No exceptions are applied for storage violations within this address range.
UNPRO-INSTR
To turn off storage protection for the sequence of instructions in the address range, type YES.
This field is also used when a third-party vendor package has a program that is not defined to CICS as a program resource. The program name cannot be used on the Storage Protection screens (1.8 or 9.8). When a protected program branches to a program not defined to CICS, Code Debug CICS continues protection with the options in effect. If the program not defined to CICS should not be protected, establish its address and length (or ADDR-TO) and enter YES.