Explanation
Storage violation by CICS®.
A
transaction has requested that CICS access a storage area that the transaction
itself could not access. This occurred when an invalid storage area was passed
to CICS on
a PUT CONTAINER or a GET CONTAINER command. The error can occur when:
- Either the FROM or INTO address is specified incorrectly.
- The FLENGTH value specifies a value large enough to cause the area to
include storage which the transaction cannot access.
A common cause of this error is specifying the address of a halfword
area in the FLENGTH parameter, which expects a fullword area. This error can
arise when a program which previously used COMMAREAs (which have halfword
lengths) has been modified to use containers (which have fullword lengths).
System Action
The transaction is abnormally terminated
with a CICS transaction
dump.
User Response
Examine the trace to find the trace
entry for entry to DFHEISR, and then identify the parameter in error. If the
abend is handled, EXEC CICS ASSIGN ASRASTG, ASRAKEY, ASRASPC, and ASRAREGS
give additional information about the abend. At the time of the abend, register
2 points to the storage area at fault.
You will most likely need to
do the following:
- Correct the program in error that issued the EXEC CICS PUT CONTAINER or EXEC CICS GET CONTAINER
command. Ensure that it supplies the address of a valid storage area and that
it supplies an FLENGTH such that no part of the storage area is inaccessible
to the transaction. Ensure that FLENGTH refers to a fullword length.
You may also need to consider changing one or more of the following:
- If storage protection is active, change the EXECKEY option, on the CEDA
definition of the program that issued the EXEC CICS command, from USER to CICS.
- If storage protection is active, change the TASKDATAKEY attributes on
the transaction definition from CICS to USER.
- If transaction isolation is active, change the ISOLATE attribute on the
transaction definition from YES to NO.