Issuing the DEQUEUE command in Ideal.
search cancel

Issuing the DEQUEUE command in Ideal.

book

Article ID: 42605

calendar_today

Updated On:

Products

Ideal

Issue/Introduction

This article explains when and when not to issue the DEQUEUE command in Ideal and who should be allowed to run it.

Environment

IDEAL all versions

Resolution

We recommend that only the Ideal administrator has the authority to issue the DEQUEUE command.

Some situations in Ideal require the use of the DEQUEUE command, however, issuing the DEQUEUE command in the wrong place or at the wrong time can cause library corruption and system abends. This is why we strongly recommend that only the Ideal Administrator has the authority to issue the DEQUEUE command. Following cases help in understanding when to run or not to run DEQUEUE:

Case 1: Program in Use

One of the most common situations where a DEQUEUE may be appropriate is when you try to edit (which requires exclusive control) a program and you receive the message:

        IDADPSEP03-PGM xxxxxxx is in use, please try later.

The fact is, executing the DEQUEUE command is appropriate only under a small set of circumstance if you receive this error.  You need to ask yourself the following set of questions before you dequeue:

  1. Is someone in this CA Ideal environment displaying, running, editing or compiling this program? If your answer is yes, then the message you are receiving is valid and you should not DEQUEUE the program. 
  2. Does your program of the same name exist in another Ideal environment? If your answer is yes, then check your QCODEs in each environment. If your environments are completely separate, you will need to make the QCODEs unique in each of your Ideal environments.  See How to Modify the SCF Static Options
  3. Was there a system abend while someone was editing or compiling this program? if your answer is yes, then you are safe to dequeue this program. 

Case 2: PROD Program in Use

Another situation where a DEQUEUE command may seem appropriate is when you try to MARK a program to Production status and receive the message: 

     IDADXSSP24E - PROD program in use, please try later.

Under no circumstances do you want to issue the DEQUEUE command when you get this error.  What you need to do is check the following:

  1. Is someone in this region currently running the PROD version of this program?                                                                                                                         

    If yes, then the message you have received is valid.  You should DISABLE the application, then MARK the new version of the program to PROD.  

    For the syntax of the commands, see Ideal Commands   

  2. Does a program of the same name exist in another CA Ideal environment, and if so, is someone running the PROD version of the program?

        If your answer is yes, then check the QCODEs for all of your CA Ideal environments.  If the QCODEs are unique and the error persists, contact Ideal Support.

Case 3: PSS Directory Enqueued 

Your PSS directory can become enqueued due to a system failure or because ADROUT is full. 

  1. Are you receiving the following types of messages when you try to send anything to ADROUT?

     ICPSMSGS57I-PSS Directory in Use, Please Try Later

     IDADERRP02E-INTERR: Internal system error, SRVC=VPE, FUNC=$ENQ, RC=3

If your answer is yes, issue the command:

     @I$UTIL OUT DEQUEUE DIRECT

Try to issue another PRINT command.  If the print works, then the directory has been successfully DEQUEUED and you can continue.

If you receive a message that there is no outstanding enqueue, then ask yourself:

Do all of my CA Ideal environments have unique system names?

The system name is the three character value that is used to build the enqueue name of your PSS directory.  You can obtain this value by issuing the following command:  

     SET OUTPUT SITE OPTIONS

The system name must be unique among all CA Ideal regions.

If your answer to 1 is no, then you will need to change the system name on your SET OUTPUT SITE OPTION screen, then run SCPSUTIL to reinitialize and VLSUTIL to reformat ADROUT in batch.  

Case 4: Output Members Enqueued

In ADROUT, the output members can become enqueued. If you are receiving a message that an output is in use when you are trying to display it, ask yourself the following questions before you dequeue:

  1. Is someone in this environment currently accessing this output? If yes, then the message you are receiving is valid.  Do not dequeue this output. 
  2. Are you sharing ADROUT among Ideal environments? If yes, then the message you are receiving may be valid.  Someone in another environment, sharing the same ADROUT, may be using this output number.  Do not dequeue.  For this reason, we recommend not sharing ADROUT among environments. 
  3. Do all of your CA Ideal environments have a unique prefix name? If your answer is no, you will need to change the prefix name on your SET OUTPUT SITE OPTION screen.  After this has been changed, try to display your output.  If your answer is yes, then you are safe to dequeue.  Issue the following command:

   @I$UTIL OUT DEQUEUE n

Where n is the output number.  At this point, attempt to display the output.  If the error continues, contact Ideal Support.

NOTE: On PSS Enqueues: The system and prefix names are used to build both the member names in ADROUT and the enqueue names for the members.  It is important that each environment (not sharing ADROUT) have a different system and prefix name. 

Case 5: Compile in CRTIN Status

One last area where a dequeue may seem appropriate is when a compile remains in CRTIN status (compile listing being created) for an unusually long period of time. Use the following command to determine if the compile is still active:

    CEMT INQUIRE TASK

If the compile is still active (that is, there is a SAST transaction), do not attempt to DEQUEUE.  A DEQUEUE command issued while the compile is still active may cause library corruption.

Additional Information

See Enqueuing Considerations

and Error Recovery Tools 

For the syntax of the DEQUEUE command , see DEQUEUE Command