Abend D003 PROGRAM CHECK ADSOMAIN (ADSOCMIS)
search cancel

Abend D003 PROGRAM CHECK ADSOMAIN (ADSOCMIS)

book

Article ID: 191895

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

An IDMS dialog encounters the following abend:

D003 PROGRAM CHECK IN ADSOMAIN AT OFFSET 1AAE0

Analysis of the task snap, or issuing LOOK PROGRAM=ADSOMAIN, reveals that the real module and offset are ADSOCMIS + x'2B18'. The program check is a S0C9.

The exact offsets may vary slightly with maintenance.

Environment

Release : Any supported release.
Component : CA ADS

Cause

The most likely cause of this abend is that the ADS code is doing a PUT SCRATCH with a RECORD ID, the field used for the record id is larger than the recommended PIC S9(8) USAGE COMP, and has a value which exceeds x'7FFFFFFF' (which is 2,147,483,647).

Internally, the ADS run-time system attempts to convert the value to a binary fullword and it gets a S0C9 because of the invalid value.

If PIC S9(8) USAGE COMP is used, the value can not exceed 2,147,483,647 and the abend could not occur.

The ADS run time will accept any numeric datatype as the RECORD ID but the value must not exceed 2,147,483,647.

Resolution

Ensure that the value in the RECORD ID field is not greater than 2,147,483,647 before issuing the PUT SCRATCH.

It is documented in the ADS Reference manual that the record id field should be a binary fullword (PIC S9(8) COMP).