CA IDMS does not disable dialogs that abend with DC175020

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

Question:

Why does CA ADS not disable dialogs that abend with DC175020 APPLICATION ABORTED?

Answer:

These abends are identified by ADS before an actual assembler program check occurs. The result is that the program check count does not increase for the dialog which is therefore never marked disabled and out of service.

Use the following Exit 05 that checks each task that terminates to see if it is ADS. If it is ADS it checks to see if it abended with DC175020 and increments the program check count. When the program check count exceeds the program check threshold it disables the dialog.

*------------------------------------------------
EXIT5    TITLE 'CV EXIT 5 to disable dialog after dc171020.
*------------------------------------------------                       
         GBLC  &RELEASE                                                 
         GBLB  &IDMSMPL                                                 
&IDMSMPL SETB  1      **SO WE CAN CODE MRBPLIST WHERE WE WANT**         
         #MOPT CSECT=ADSXIT05,ENV=SYS,MODNO=255                         
         @INVOKE                                                        
         @MODE MODE=ADS,WORKREG=R0                                      
ADSXIT05 CSECT                                                          
*********************************************************************   
***                                                               ***   
***     THIS CODE IS VALID FOR IDMS RELEASE  14.1 & 15.0 and 16.0 ***   
***     CHECK CONCEPTS FOR ANY LATER RELEASE.                     ***   
***                                                               ***   
***     THIS IS AN IDMS-CV/UCF/DC EXIT 5; IT IS INVOKED AT        ***   
***     TASK TERMINATION TIME. THE PURPOSE OF THIS PARTICULAR     ****  
***     EXIT IS TO LOOK FOR AN ADS/O TASK, FIND THE OTB, AND      ****  
***     MOVE THE DIALOG NAME FROM THE OTB INTO THE TASK CODE      ****  
***     FIELD OF THE TASK STATISTICS BLOCK. TO INSTALL THIS EXIT  ****  
***     IN A SYSTEM, YOU MUST MAKE THE FOLLOWING ENTRY IN THE     ****  
***     RHDCUXIT MODULE (IN THE CORRECT LOCATION, OF COURSE);     ****  
***                                                               ****  
***         #DEFXIT MODE=SYSTEM,CALL=DC,EP=EXIT5EP1               ****  
***                                                               ****  
***     YOU THEN MUST RE-ASSEMBLE AND LINK THE RHDCUXIT MODULE.   ****  
***     (**NOTE** BE SURE TO SPECIFY ENTRY UXITEP1                ****  
***     IN THE LINKEDIT OF THE RHDCUXIT MODULE)                   ****  
***                                                               ****  
***    ***** DISCLAIMER ***** DISCLAIMER ***** DISCLAIMER *****   ****  
***    *                                                      *   ****  
***    D    COMPUTER ASSOCIATES, INC. MAKES NO GUARNTEES      D   ****  
***    I    WITH REGARD TO THIS CODE - NOR IS IT SUPPORTED    I   ****  
***    S    TO ANY GREATER OR LESSER EXTENT THAN ANY OTHER    S   ****  
***    C    USER-WRITTEN SYSTEM EXIT. IT IS THE SOLE          C   ****  
***    L    RESPONSIBILITY OF THE USER TO DETERMINE THE       L   **** 
***    A    APPROPRIATENESS OF THIS ROUTINE FOR ANY GIVEN     A   ****  
***    I    ENVIRONMENT OR SOFTWARE RELEASE. IT IS SUPPLIED   I   ****  
***    M    FOR THE CONVENIENCE OF THE USER, AND MAY BE       M   ****  
***    E    MODIFIED BY THE USER AS NEEDED.                   E   ****  
***    R                                                      R   ****  
***    ***** DISCLAIMER ***** DISCLAIMER ***** DISCLAIMER *****   ****  
***                                                               ****  
**********************************************************************  
         USING CSA,R10                  BASE THE CSA (AT ENTRY)         
         USING TCE,R9                   BASE THE TCE (AT ENTRY)         
         USING RLE,R1                   BASE THE RLE (EVENTUALLY)       
         USING RCE,R2                   BASE THE RCE (EVENTUALLY)       
         USING OTB,R3                   BASE THE OTB (EVENTUALLY)       
         USING OWA,R5                   BASE THE OWA (IF THERE)         
EXIT5EP1 #START MPMODE=DC                                               
         #TEST TCEERUS,ON=END        QUIT IF THIS IS AN ERUS TASK       
         #TEST TCEFACT,ON=END        QUIT IF THIS IS A FACTOTUM TASK    
         L     R1,TCEMRLEA           GET 1ST RLE ADDRESS                
LOADRCE  #TEST RLEEND,ON=END         QUIT AT END OF CHAIN               
         L     R2,RLERCEA            POINT TO RCE                       
         CLI   RCETYPE,RCETYSTG      Q. IS IT A STORAGE RCE?            
         BNE   NEXTRLE               A. NO - ITERATE                    
         CLC   RCESTGID,=C'OOTB'     Q. IS THIS AN OTB?                 
         BNE   NEXTRLE               A. NO - ITERATE                    
         L     R3,RCERADDR           GET ADDRESS OF STORAGE (SCE)       
         LA    R3,8(R3)              POINT PAST SCE TO START OF STG     
         CLC   OTBID,=C'OTB*'        Q. IS THIS REALLY,REALLY AN OTB?   
         BE    ITSADSO               A. YOU BETCHA!                     
NEXTRLE  L     R1,RLENXTA            GET POINTER TO NEXT RLE            
         B     LOADRCE               A. NOPE - TRY THIS RCE             
ITSADSO  EQU   *                                                        
*********************************************************************   
*  AT THIS POINT WE THINK WE HAVE AN ADS/O TASK; (SINCE WE HAVE AN  *   
*  OTB), BUT THE OTB COULD BE LEFT OVER FROM AN ABORTED ADS TASK,   *   
*  OR WE MAY BE INSIDE A LINKED-TO PROGRAM STRUCTURE THAT DOES DC   *   
*  RETURNS WITH NEXT TASK CODE SET TO INVOKE NON-ADS TASKS. TO      *   
*  KEEP FROM LOSING A REAL TASK CODE IN THIS CASE, WE NEED TO CHECK *  
*  TO SEE IF WE STILL HAVE AN OWA, SINCE THE OWA WOULD BE GONE IN   *  
*  EITHER OF THE TWO CASES MENTIONED ABOVE.                         *  
*********************************************************************  
         L     R1,TCEMRLEA           GET 1ST RLE ADDRESS (AGAIN)       
LOADRCE2 #TEST RLEEND,ON=END         QUIT AT END OF CHAIN              
         L     R2,RLERCEA            POINT TO RCE                      
         CLI   RCETYPE,RCETYSTG      Q. IS IT A STORAGE RCE?           
         BNE   NEXTRLE2              A. NO - ITERATE                   
         L     R5,RCERADDR           GET ADDRESS OF STORAGE (SCE)      
         #TEST RCEMULT,OFF=SNGLCHK                                     
         LR    R8,R5                 SAVE START OF STG ADDRESS         
         L     R6,RCERLEN            GET TOTAL ALLOCATION LEN          
MULTCHK  L     R7,4(R5)              GET LEN OF SUBALLOC               
         LA    R5,8(R5)              POINT PAST SCE TO START OF STG    
         CLC   OWAID,=C'OWA*'        Q. IS THIS AN OWA?                
         BE    ITISADSO              A. YES                            
         SR    R6,R7                 SUBTRACT SUBALLOC LEN FROM TOTAL  
         BNP   NEXTRLE2                                                
         AR    R8,R7                 ADD SUBALLOC LEN TO GET TO NEXT   
         LR    R5,R8                   AND PUT IT IN R5                
         B     MULTCHK                                                 
SNGLCHK  LA    R5,8(R5)              POINT PAST SCE TO START OF STG    
         CLC   OWAID,=C'OWA*'        Q. IS THIS AN OWA?                
         BE    ITISADSO              A. YES                            
NEXTRLE2 L     R1,RLENXTA            GET POINTER TO NEXT RLE           
         B     LOADRCE2              A. NOPE - TRY THIS RCE            
********************************************************************   
ITISADSO DS    0H                                                      
         CLC   OWAERMSG(8),=CL8'DC175020'                              
         BNE   END                                                     
         L     R1,TCEPRLEA                                             
         USING PDE,R6                   BASE THE OWA (IF THERE)        
NEXTRLER #TEST RLEEND,ON=END                                           
         L     R2,RLERCEA                                              
         L     R6,RCEPDEA                                              
         CLC   PDEPID,OTBDNAM        PDE FOR DIALOG?                   
         BE    CHECKPDE                                                
         L     R1,RLENXTA            GET ADDR OF NEXT PGM RLE          
         B     NEXTRLER                                                
CHECKPDE DS    0H                                                      
         L     R2,PDESTATA                                             
         USING STR,R2                                                  
         #INCR STRPDPCT,(R7)                                           
         CLC   STRPDPCT,PDENPCTH                                       
         BNH   END                                                     
         #SET  PDEDSAB             DISABLED                            
*******************************************************************    
END      SR    R15,R15               SIGNAL ALL IS OK                  
         #RTN                                                          
         LTORG                                                         
         COPY  #CSADS                                                  
         COPY  #RCADS                                                  
         COPY  #TCEDS                                                  
         COPY  #TDTDS                                                  
         COPY  #STRDS                                                  
         COPY  #PDTDS                                                  
*****************************************************************      
***  AS OF RELEASE 10.1 THE OTB AND OWA ARE NO LONGER COPY    ***      
***  BOOKS, THEY ARE MACRO'S AS FOLLOWS                       ***      
*****************************************************************      
         #OTBDS EXPAND=ONLINE


Additional Information:

CA IDMS ADS Reference Guide