A quick resolution of IDADERRP23E

Document ID : KB000015823
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

Para una versión en español de este artículo: TEC1065707

If you have been using CA Ideal for very long, you have probably run into a situation where your online or batch processing failed with this error in your IDEAL ERROR LOG:

IDADERRP23E - INTERR: Internal LIB error

Below that, you will see

SRVC=VLS FUNC=SCAN RC=008 PGM=SCPSMAIN

This error usually means that your ADROUT VLS File has become full. Program compile outputs, reports, diagnostic LIST statements and several other types of outputs could fill the ADROUT file, and the quickest solution to this immediate problem is to review and delete any unneeded outputs.

Question:

When dealing with a full ADROUT file, is there a batch process that can show us the status of the file, or a list of members that we can delete?

Answer:

The best way to get a quick picture of the ADROUT contents is to issue the CA Ideal commands DISPLAY LIBRARY STATUS (abbreviated as D LIB STA) and DISPLAY OUT ALL STATUS (abbreviated as D OUT ALL STA). These commands can be issued both in the online system and in batch, and will give you a good overview of your system files. The D OUT ALL STA command will show all of the Ideal-created output members, and deleting the unwanted members is as easy as using the “Z” line command online, or by running the DELETE OUTPUT ### command in batch. Please see the examples below.

In addition to these CA Ideal commands, there are 2 batch utilities that will allow you to work with VLS files: SCPSUTIL and VLSUTIL. Because VLS files have a proprietary format, you must use one of these utilities with specific commands, and the member name to be processed may be a combination of character and hex bytes. Please see these examples below.

Example 1: CA Ideal DISPLAY LIBRARY STATUS command

Input using the Ideal Batch proc:
//SYSIN    DD  *    
SIGNON PERSON uuuuuuuu   PASSWORD pppppppp
D LIB STA           
/*                  

Output:
=> D LIB STA                                                                 ..
=>                                                                            
-------------------------------------------------------------------------------
LIBD : LIBRARY STATUS                                        SYS: $ID   DISPLAY
                         Library     Blocks      Blocks      Blocks   Per cent
                          Name      Allocated    In Use     Available   Full  
System source library    ID$IDSRC       6286        2636        3650       41  
System object library    ID$IDOBJ       3196        1647        1549       51  
System panel  library    ID$IDPNL        292          50         242       17  
Dataview library         IDDVW           892         179         713       20  
Member   library         IDDAT           532         425         107       79  
IDEAL panel   library    ADRPNL         1948        1844         104       94  
IDEAL message library    ADRLIB          748         631         117       84  
IDEAL output  library    ADROUT         1012         172         840       16  

Here we can see that the ADROUT library has used 172 of the 1012 blocks available, and is 16% full.

 

Example 2: CA Ideal DISPLAY OUT ALL STATUS command

Input using the Ideal Batch proc:

//SYSIN    DD  *    
SIGNON PERSON uuuuuuuu   PASSWORD pppppppp   
D OUT ALL STA      
/*                  

Output from PRTSTATS DD statement:
+------+---+--------+--+---+--------+-----+--------+----+--+------+----------------------+
|OUTPUT|UID|OUTPUT  |CP|DES|DEST    |DISP |DATE    |TIME|RT|NREC  |DESCRIPTION           |
|NUMBER|   |NAME    |YS|TYP|NAME    |     |REQUEST |REQT|  |      |                      |
+------+---+--------+--+---+--------+-----+--------+----+--+------+----------------------+
   310  MED OUTTRACE 01 LIB ........ READY 09/01/17 0935 02   102  IDEAL TRACE OUTPUT     
   311  IDL COMPLIST 01 LIB ........ READY 09/07/17 0833 02  1646  $ID.WHO21   (002 )ES...
   312  IDL COMPLIST 01 LIB ........ READY 09/07/17 0834 02  1646  $ID.WHO21   (002 )ES...
   313  IDL COMPLIST 01 LIB ........ READY 09/07/17 0835 02  1646  $ID.WHO21   (002 )ES...
   314  IDL PRSCREEN 01 LIB ........ READY 09/07/17 0910 02    44  DISPLAY INDEX          
   315  IDL PRSCREEN 01 LIB ........ READY 09/07/17 0910 02    44  DISPLAY INDEX          
   316  IDL PRSCREEN 01 LIB ........ READY 09/07/17 0910 02    44  DISPLAY INDEX          
   317  IDL COMPLIST 01 LIB ........ READY 09/07/17 0910 02  1405  $ID.WHO     (003 )EST...

Here we can see three outputs of the Display Index command from a PRSCREEN, which is likely due to a user pressing PF3 accidentally. We will delete output number 315 next.

 

Example 3: CA Ideal DELETE OUTPUT 315 command (with a followup D OUT ALL STA)

Input using the Ideal Batch proc:
//SYSIN    DD  *    
SIGNON PERSON uuuuuuuu   PASSWORD pppppppp   
DEL OUT 315        
D OUT ALL STA      
/*                  

Output from PRTSTATS DD statement (there is no output from the DELETE command):

+------+---+--------+--+---+--------+-----+--------+----+--+------+----------------------+
|OUTPUT|UID|OUTPUT  |CP|DES|DEST    |DISP |DATE    |TIME|RT|NREC  |DESCRIPTION           |
|NUMBER|   |NAME    |YS|TYP|NAME    |     |REQUEST |REQT|  |      |                      |
+------+---+--------+--+---+--------+-----+--------+----+--+------+----------------------+
   310  MED OUTTRACE 01 LIB ........ READY 09/01/17 0935 02   102  IDEAL TRACE OUTPUT     
   311  IDL COMPLIST 01 LIB ........ READY 09/07/17 0833 02  1646  $ID.WHO21   (002 )ES...
   312  IDL COMPLIST 01 LIB ........ READY 09/07/17 0834 02  1646  $ID.WHO21   (002 )ES...
   313  IDL COMPLIST 01 LIB ........ READY 09/07/17 0835 02  1646  $ID.WHO21   (002 )ES...
   314  IDL PRSCREEN 01 LIB ........ READY 09/07/17 0910 02    44  DISPLAY INDEX          
   316  IDL PRSCREEN 01 LIB ........ READY 09/07/17 0910 02    44  DISPLAY INDEX          
   317  IDL COMPLIST 01 LIB ........ READY 09/07/17 0910 02  1405  $ID.WHO     (003 )ES...

The output 315 member is no longer shown here.

 

Example 4: SCPSUTIL LIBRARY command. Note that you must specify the ADROUT and ADRPNL files as shown in the Input here:

Input:
//ADROUT   DD DISP=SHR,DSN=your.dsn.ADROUT
//ADRPNL   DD DISP=SHR,DSN=your.dsn.ADRPNL
//SYSIN    DD *
LIBRARY        
/*              

Output from the AUXPRINT DD (with some spaces compressed out):
P.S.S.   -   BATCH UTILITY    STATUS OF THE LIBRARY              
MEMBER NAME               MEMBER DESCRIPTION               NREC NBLK ADDED UPDATED RLEN          
----------------------------------------------------------------------------------------
BBB$PSSDIR$               *** PSS SPOOL DIRECTORY ***..... 0510 0026 083016 090717 0179          

BBBBBB#0310               IDEAL TRACE OUTPUT               0102 0004 090117 090117 0133          
BBBBBB#0311               $ID.WHO21   (002 )EST$IDPRIV.... 1646 0022 090717 090717 0133          
BBBBBB#0312               $ID.WHO21   (002 )EST$IDPRIV.... 1646 0022 090717 090717 0133          
BBBBBB#0313               $ID.WHO21   (002 )EST$IDPRIV.... 1646 0022 090717 090717 0133          
BBBBBB#0314               DISPLAY INDEX                    0044 0004 090717 090717 0133          
BBBBBB#0316               DISPLAY INDEX                    0044 0004 090717 090717 0133          
BBBBBB#0317               $ID.WHO     (003 )EST$IDPRIV.... 1405 0018 090717 090717 0133           

The Library output will show all members that are in use in this library file. 

 

Example 5: SCPSUTIL INDEX command. Note that you must specify the ADROUT and ADRPNL files as shown in the Input here:

Input:
//ADROUT   DD DISP=SHR,DSN=your.dsn.ADROUT
//ADRPNL   DD DISP=SHR,DSN=your.dsn.ADRPNL
//SYSIN    DD *
INDEX          
/*              

Output from the AUXPRINT DD (partial, and condensed to fit each line):
P.S.S.   -   BATCH UTILITY              SUMMARY OF SPOOL QUEUES                             
UID PI- PRT-NAME CPY TYP DST STATUS   DATE   TIME RET DESCRIPTION                 RECORDS
-----------------------------------------------------------------------------------------
PSS 308 ........  01 OLL ... DELETE 08/31/17 1407  02 DELETED BY SCPSINIT               0
PSS 309 ........  01 OLL ... DELETE 08/31/17 1407  02 DELETED BY SCPSINIT               0
MED 310 OUTTRACE  01 OLL ... READY  09/01/17 0935  02 IDEAL TRACE OUTPUT              102
IDL 311 COMPLIST  01 OLL ... READY  09/07/17 0833  02 $ID.WHO21   (002 )EST$IDPRI    1646
IDL 312 COMPLIST  01 OLL ... READY  09/07/17 0834  02 $ID.WHO21   (002 )EST$IDPRI    1646
IDL 313 COMPLIST  01 OLL ... READY  09/07/17 0835  02 $ID.WHO21   (002 )EST$IDPRI    1646
IDL 314 PRSCREEN  01 OLL ... READY  09/07/17 0910  02 DISPLAY INDEX                    44
D0J 315 PRSCREEN  01 OLL ... DELETE 09/07/17 1038  02 DELETED BY "DEL OUTPUT" COM       0
IDL 316 PRSCREEN  01 OLL ... READY  09/07/17 0910  02 DISPLAY INDEX                    44
IDL 317 COMPLIST  01 OLL ... READY  09/07/17 0910  02 $ID.WHO     (003 )EST$IDPRI    1405
PSS 318 ........  00 ... ... DELETE ../../.. ....  00 *** PSS SPOOL DIRECTORY ***       0
PSS 319 ........  00 ... ... DELETE ../../.. ....  00 *** PSS SPOOL DIRECTORY ***       0
PSS 320 ........  00 ... ... DELETE ../../.. ....  00 *** PSS SPOOL DIRECTORY ***       0                 

Here we can see the full list of members, active and inactive. Member 315 shows deleted as a result of the CA Ideal DELETE OUTPUT 315 command earlier.

 

Example 6: VLSUTIL LIBRARY command. Note that the desired VLS file must be allocated to the VLSFILE DD statement (possibly as shown below):

Input:
//VLSFILE  DD DISP=SHR,DSN=your.dsn.ADROUT
//SYSIN    DD *  
 LIBRARY          
/*                

Output from AUXPRINT DD (with some spaces compressed out):
your.dsn.ADROUT              LIBRARY LISTING                        09/07/17  1157  PAGE 0001  
   NAME               DESCRIPTION                     ADDED      UPDATED         RCDS     BLKS  
BBB$PSSDIR$      *** PSS SPOOL DIRECTORY ***.....   08/30/16   09/07/17          510       26  
BBBBBB#....      IDEAL TRACE OUTPUT                 09/01/17   09/01/17          102        4  
BBBBBB#....      $ID.WHO21   (002 )EST$IDPRIV....   09/07/17   09/07/17        1,646       22  
BBBBBB#....      $ID.WHO21   (002 )EST$IDPRIV....   09/07/17   09/07/17        1,646       22  
BBBBBB#....      $ID.WHO21   (002 )EST$IDPRIV....   09/07/17   09/07/17        1,646       22  
BBBBBB#....      DISPLAY INDEX                      09/07/17   09/07/17           44        4  
BBBBBB#....      DISPLAY INDEX                      09/07/17   09/07/17           44        4  
BBBBBB#....      $ID.WHO     (003 )EST$IDPRIV....   09/07/17   09/07/17        1,405       18  
                                                                                                             
GRAND TOTALS:          8 MEMBERS,       7,043 RECORDS                
TOTAL BLOCKS ON FILE:       1,020     UNUSED BLOCKS:         890     
LIBRARY BLOCK SIZE:  4,000                                          
LIBRARY NAME LENGTH:    11                                                 
LIBRARY FORMAT:  2-BYTE BLOCK NUMBERS                                         

In the NAME value above, the end of the name following the # is a binary representation of the member number. For example, output 314 (from the Display Index) is shown here with a name "BBBBBB#...." and the last four characters are x'0000013A'. Decimal 314 is stored as x'13A' here. This is important to know if you will use VLSUTIL to delete this member.

There is also a VLS command to show just the space information that you see above. The command is SPACE, and returns a simple report:

your.dsn.ADROUT           SUMMARY OF UTILITY OPERATIONS             09/07/17  1157  PAGE 0001
                                                                       VERSION DATE: 08/04/15
 SPACE                                                                    
TOTAL BLOCKS ON FILE:       1,020     UNUSED BLOCKS:         890     

 

In summary, there are several ways to deal with this IDADERRP23 situation, and this is a quick way to use batch processing to see and remove unwanted members from your ADROUT library.

Additional Information:

For more information on the CA Ideal commands shown above, please refer to the following DocOps websites for CA Datacom Tools, or the version 14.02 Bookshelf:

Version 15.1:
Utilizing CA Ideal for CA Datacom > CA Ideal for CA Datacom Reference > CA Ideal for CA Datacom Commands

Version 15.0:
Utilizing CA Ideal for CA Datacom > CA Ideal for CA Datacom Reference > CA Ideal for CA Datacom Commands

Version 14.02:
CA Ideal Bookshelf: Command Reference Guide > CA Ideal Commands

For more information about the SPCSUTIL and VLSUTIL programs, please refer to the following websites:

Version 15.1: Using Inter-Product Components (IPC) > Maintaining the CA IPC System:

Version 15.0: Using Inter-Product Components (IPC) > Maintaining the CA IPC System:

Version 14.02: CA IPC Bookshelf: Implementation Guide for z/OS > Maintenance:

As always, please contact CA Technologies support for CA Datacom if you have further questions.