A quick resolution of IDADERRP23E
search cancel

A quick resolution of IDADERRP23E

book

Article ID: 15823

calendar_today

Updated On:

Products

Ideal Datacom

Issue/Introduction

Online or batch processing can fail with this error in the IDEAL ERROR LOG:

IDADERRP23E - INTERR: Internal LIB error

Below that it shows

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

This error means that your ADROUT spool directory is full, meaning that the maximum number of outputs has been reached. The maximum number allowed is a customized value and can be seen by running the CICS transaction: IPCV SET OUT SITE OPTIONS.

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.

 

Environment

Component: Ideal

Resolution

The best way to get a quick picture of the ADROUT contents is to issue the 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 provide 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 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: 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, the ADROUT library has used 172 of the 1012 blocks available and is 16% full.

 

Example 2: 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 are three outputs of the Display Index command from a PRSCREEN, which is likely due to a user pressing PF3 accidentally. Let's delete output number 315 next.

Example 3: 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...

Output 315 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 statement (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 statement (with some spaces compressed out):

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                 

Now you can see the full list of members, active and inactive. Member 315 shows deleted as a result of the 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 the AUXPRINT DD statement (with some spaces compressed out):

SOME.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 the name "BBBBBB#...." and the last four characters are x'0000013A'. Decimal 314 is stored as x'13A' here. This is important to know if using 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:

SOME.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 the ADROUT library.

Additional Information

For more information on the Ideal commands shown above, please refer to the following documentation for Datacom version 15.1 Tools.

Ideal for Datacom Reference > Ideal Commands

For more information about the SPCSUTIL and VLSUTIL programs, please refer to the following version 15.1 IPC Documentation.

Administrating IPC > Maintaining the IPC System:

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