Delete a CICS Region from Processing

Document ID : KB000109072
Last Modified Date : 06/08/2018
Show Technical Document Details
Question:
Is there a DROP equivalent to FORCE/SELECT for CICS regions? We have a sysid with a large number of regions and it seems that one region had excessive and possibly bad records that were too many for the DAILY to process.  
Answer:
We provide a checklist for Adding or Deleting a CICS Region from MICS processing.

Additional options include using the USRSCSW exit in #CICEXIT for identifying by CICSID
or running a job to preprocess the input to drop the offending region.

USRSCSW Exit

MACRO _USRSCSW 
IF CICSID EQ "xxxx" THEN SKIP_REC=ONE; 


Job to preprocess the input data 

//your JOB card 
//PROCLIB JCLLIB ORDER=sp.MICS.PROCLIB 
//* 
//STEP0A EXEC MICSNDBP 
//INPUTSMF DD DISP=SHR,DSN=input.cics.smf.file 
//CICOUT DD DSN=ouput.cics.smf.file, 
// DISP=(NEW,CATLG),SPACE=(CYL,(nnnn,nnn),RLSE), 
// DCB=(LRECL=32756,BLKSIZE=32760,RECFM=VBS) 
//SYSIN DD * 
/* */ 
DATA _NULL_; 
INFILE INPUTSMF MISSOVER END=END; 
RETAIN TOTCNT DELCNT KPCNT KEEPIT 0; 
INPUT @002 SMFTYPE PIB1. @; 
TOTCNT+1; /* COUNT INPUT RECS */ 
KEEPIT = 1; /* INIT KEEP FLAG */ 
IF SMFTYPE = 110 THEN DO; /* IBM CMF */ 
INPUT @11 SYSID $CHAR4. @41 CTSREL PK2. @43 VTAMAPPL $CHAR8.; 
IF VTAMAPPL EQ 'CICSxxxx' THEN DO; ; 
DELCNT+1; /* COUNT DELETES */ 
KEEPIT=0; /* SET DELETE FLAG */ 
END; /* IF VTAMAPPL */ 
END; /* IF SMFTYPE */ 

IF KEEPIT THEN DO; /* IF KEEPER, THEN WRITE TO OUTPUT */ 
FILE CICOUT; 
KPCNT+1; 
PUT _INFILE_; 
END; /* IF KEEPIT */ 
IF END THEN DO; 
PUTLOG '<><> TOTAL INPUT RECORDS = ' TOTCNT; 
PUTLOG '<><> TOTAL RECORDS DELETE = ' DELCNT; 
PUTLOG '<><> TOTAL RECORDS SAVED = ' KPCNT; 
END; 
RUN; 

Note.  Change CICSxxxx to your region
Additional Information:
Below is a job you can run that will tell you how many records are on the input per CICS region.

//your JOB card                
//*                                                                  
//PROCLIB JCLLIB ORDER=sharedprefix.MICS.PROCLIB                                 
//*                                                                  
//STEP1  EXEC MICSNDBP,WORK='1000,200'                               
//INPUTSMF DD  DISP=SHR,DSN=your.inputsmf.cics.data      
//SYSIN  DD *                                                         
            /*  */                                                   
 DATA TEMP (KEEP= SYSID SMFTYPE CTSREL VTAMAPPL);                    
 INFILE INPUTSMF MISSOVER END=END;                                    
 INPUT  @002   SMFTYPE  PIB1. @;                                     
 IF SMFTYPE = 110 THEN DO;          /* IBM CMF */                    
     INPUT  @11 SYSID  $CHAR4. @41 CTSREL PK2. @43 VTAMAPPL  $CHAR8.;
 END;   /* IF SMFTYPE */                                              
 RUN;                                                                
 PROC FREQ DATA=TEMP;                                                
  TABLES SYSID * VTAMAPPL * CTSREL * SMFTYPE / LIST;                 
 RUN;