IBM Support

ASRD abend when running an application in CICS TS

Troubleshooting


Problem

You receive an ASRD abend (abendASRD) when running an application program in CICS Transaction Server for z/OS (CICS TS). You might also receive message DFHSR0618 An illegal macro call or reference to the CSA or TCA has caused the abend which follows.

Cause

The most likely cause of the ASRD abend is that the application, exit, or URM is illegally trying to obtain the task's TCA address from a field at offset +4C (hex) in the CICS CSA. This is field CSAQRTCA, previously known as CSACDTA.

Since the introduction of Open Transaction Environment (OTE), it has been invalid to use CSACDTA because it only gives the address of the TCA of the task running on QR TCB. If your task is running on an open TCB, it means it gives the address of another CICS task's TCA.

Direct access to CICS control blocks by applications was withdrawn in CICS/ESA 4.1. All CICS and CICSPlex SM (CPSM) use of CSACDTA was removed in CICS TS 3.1. In CICS TS 3.2, the CSAQRTCA (CSACDTA) field is loaded with a fetch protected address that results in an ASRD abend if the field is referenced. ASRD is an existing abend code and can occur for other reasons. See the explanation of ASRD in the CICS documentation for a list of reasons.

Resolving The Problem

Use the CICS system programming interface (SPI) in application to obtain information from CICS when possible. If this is not possible, you can use the DFHKERN macro in assembler as a threadsafe way of obtaining a TCA address.

You must add the following two statements to your program to declare DSECTS:
DFHAFCD TYPE=DSECT
DFHKERN TYPE=PROCESSOWN


An example of using DFHKERN is:
DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12,STACK_AVAIL=NO

It must be stressed that this type of direct access to the TCA is unsupported. There is no high level language equivalent of the DFHKERN macro, nor will one be provided. It is also release dependent so assembler programs using this must be reassembled when upgrading CICS TS releases.

You can determine who is accessing the CSA by following the Procedure at: Finding where a program check occurred.

Related Information

[{"Type":"MASTER","Line of Business":{"code":"LOB70","label":"Z TPS"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"ARM Category":[{"code":"a8m0z00000007d1AAA","label":"Developing applications"}],"ARM Case Number":"","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"5.4.0;5.5.0;5.6.0;6.1.0;6.2.0"}]

Product Synonym

CICS/TS CICS TS CICS Transaction Server

Document Information

Modified date:
05 January 2026

UID

swg21264616