Space announcement This documentation space provides the same content as before, but the organization of the content has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.

Storage Exceptions (9.7)


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.

Important

Storage protection entries can also be defined during CICS startup. For more information, see Storage-Protection and the Code Debug CICS Installation and Configuration space. This screen is also used to specify:

• Deviations from usual CICS programming conventions in an area of the program while maintaining storage protection in the rest of the program.

• Address ranges of locations where Code Debug CICS users can access storage, regardless of CICS coding standards.

• Address ranges of instructions that are not to be protected.

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)

 --------------------------- STORAGE EXCEPTIONS (9.7) ---------------------C123
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
----------------------------------------------------------------------------
 _    ____  ____  ________     ________  ________  _      ___    ___    ___

  _    ____  ____  ________     ________  ________  _      ___    ___    ___

  _    ____  ____  ________     ________  ________  _      ___    ___    ___
Warning

Storage protection exceptions should not be allowed until the user considers all consequences of allowing the violation to occur.

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:

    1. Code Debug CICS searches the storage protection exceptions table to see if the violation can be ignored.
    2. 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.
    3. If user-label equates were used, the labels are resolved at this time.
    4. 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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*