IDADXSSP02 or IDADXSSP24 doing MARK STATUS PROD
search cancel

IDADXSSP02 or IDADXSSP24 doing MARK STATUS PROD

book

Article ID: 245116

calendar_today

Updated On:

Products

Ideal

Issue/Introduction

Trying to issue a MARK STATUS PROD for a program in IDEAL receiving error message:

IDADXSSP02 - Definition in Use, please try later

or 

IDADXSSP24 "PROD" program in use, please try later

From the IDEAL message reference guide, the only suggested action is 'try later'.

One solution to the problem has been bouncing the relevant CICS region. 

What causes a program definition to be marked 'in use', and are there any corrective steps we can take to either prevent this error from occurring, or resolve it when it does?

Environment

Release : 15.1

Component : IDEAL

Cause

There are a few reasons a program can be marked in use:

  • the program is in use by someone else.
  • the program is being compiled.
  • a transaction has abended and left the program enqueued.
  • there are multiple CICS Ideal environments using the same QCODE parameter in the SCF Options Block (SC00OPTS) and a program with the same name is in use in another Ideal environment.  

 

Resolution

If the problem is resolved by restarting the CICS region it could mean there was a transaction abend.
 
The DEQUEUE command can be used to resolve the problem but first you have to make sure the program is not in use by someone else otherwise library corruption can occur.

Check the following:

  1. Is the program is in use by someone else?
    Issue the DISPLAY INDEX SESSION command to see what users are active and programs they are using.

  2. IDEAL environments that do not share the same MUF and VLS libraries need to have a unique QCODE in each environment as it is used as part of the enqueue name.
    The QCODE is at offset 8 in the SC00OPTS. To find out the QCODE, issue the following command in Ideal in each CICS region:
    @I$SCF PGM=SC00OPTS OFF=8

  3. Is a z/OS ENQUEUE still active either left by a transaction abend or enqueued from another IDEAL environment?
    Issue the following z/OS console command and look for the program name to see who is holding the enqueue.:
    D GRS,RES=(ADRPRDCT,$I*)

    The output will look like this: 
     S=SYSTEM  ADRPRDCT $ITTSTPROG04  T      PRD                               
     SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR    STATUS    
     LA32      CICS02             0197       007BDC58   SHARE      OWN         

    The same information can be obtained using the Sysview command ENQUEUE.
    In this example the ENQUEUE is held by CICS02, the System ID is TST and the program is PROG04

If the program is not in use and there is no valid enqueue you can use the DEQUEUE command to dequeue the program:

DEQUEUE PROGRAM xxxxxxxx VERSION nnn SYSTEM sys

 

Additional Information

See the Ideal documentation section Error Recovery Tools