Home | The Company | Publications | Products | Links | Tips |
---|
* Program : PURGEUQE * This program creates modify commands to purge inactive and * active user queue elements to prevent ADABAS RC 48 * Input : Report (DDDRUCK) of ADADBMOD OPERCOM DUQA * Output1 : Modify commands /*$VS,'F server,STOPU=X'userid-hex'' * to internal reader * Output2 : Report of all modify commands with UQE info * Author : Dieter W. Storr * Date : August 17, 1998 * --------------------------------------------------------------------- * Name Date Change and Enhancements * --------------------------------------------------------------------- * D.Storr 08/24/98 END OF DATA for /*EOF (end of command stream) * D.Storr 06/08/04 Changed for publishing * * --------------------------------------------------------------------- * DEFINE DATA LOCAL 01 #P-SERVER (A08) 01 #T-DBID (N03/1:04) /* Table for dbid and server names 01 #T-SERVER (A08/1:04) 01 #I1 (P4) /* Index for loops * 01 #MOD (A37) 01 REDEFINE #MOD 02 #MOD-CMD (A09) 02 #MOD-REST (A28) * 01 #DDD (A121) /* DDDRUCK 01 REDEFINE #DDD /* 02 #DDD-FA (A001) /* asa control 02 #DDD-F1 (A001) /* blank 02 #DDD-UQE (A008) /* hex value user queue element 02 REDEFINE #DDD-UQE 03 #DDD-UQE-A2 (A2) /* check-out UQE = 00...... all?? 03 #DDD-UQE-A6 (A6) /* ..xxxxxx 02 #DDD-F3 (A003) /* blank 02 #DDD-JOB (A008) /* jobname 02 #DDD-F4 (A003) /* blank 02 #DDD-TID (A008) /* TID 02 #DDD-F5 (A023) /* blank and TID hex 02 #DDD-TYPE (A001) /* 02 #DDD-F6 (A005) /* blank 02 #DDD-ACTIV (A010) /* last activity 01 REDEFINE #DDD /* DDDRUCK 02 #DDD-F27 (A027) /* not relevant 02 #DDD-DB (A009) /* text: 'DBID = 00' 02 #DDD-DBID (N003) /* dbid: 200 02 #DDD-F82 (A082) /* not relevant END-DEFINE * * -------------------------------- Initials MOVE '/*$VS,''F ' TO #MOD-CMD * Table MOVE 123 TO #T-DBID (01) MOVE 'ADAPROD1' TO #T-SERVER (01) MOVE 124 TO #T-DBID (02) MOVE 'ADAPROD2' TO #T-SERVER (02) MOVE 125 TO #T-DBID (03) MOVE 'ADAPROD3' TO #T-SERVER (03) MOVE 200 TO #T-DBID (04) MOVE 'ADATEST ' TO #T-SERVER (04) * * --------------------- * READ WORK FILE 1 #DDD /* read DDDRUCK report * IF #DDD-DB = 'DBID = 00' /* DBID in header = 00200 * FOR #I1 = 1 TO 4 IF #DDD-DBID = #T-DBID (#I1) MOVE #T-SERVER (#I1) TO #P-SERVER END-IF END-FOR * WRITE NOTITLE 01T '-'(79) / 01T 'Lib:' *LIBRARY-ID 25T 'Purged User Queue Elements' 67T 'Pgm:'*PROGRAM / 01T *DATX(EM=YYYY-MM-DD) 18T 'Prevents ADABAS Utility Response Code 48' 67T *TIME / 20T 'DBID =' #DDD-DBID '- Server Name =' #P-SERVER / 01T '-'(79) / 01T 'Modify Command' 39T 'Display User Queue Element (UQE) ' / 01T 'As Sent ' 39T 'Jobname' 49T 'TID' 59T 'Type' 66T 'Last activity' / 01T '-'(79) END-IF * AT END OF DATA MOVE '/*EOF' TO #MOD WRITE WORK FILE 2 #MOD WRITE 01T #MOD 39T 'end of command stream' END-ENDDATA * IF #DDD-UQE-A2 = '00' COMPRESS #P-SERVER ',' 'STOPU=X''' #DDD-UQE '''''' INTO #MOD-REST LEAVING NO SPACE WRITE WORK FILE 2 #MOD WRITE 01T #MOD 39T #DDD-JOB 49T #DDD-TID 61T #DDD-TYPE 69T #DDD-ACTIV END-IF END-WORK * ENDJob Control for MVS
//JOBNAME JOB ...... //* ---------------------------------------- //* --- Determine all User Queue Elements //* ---------------------------------------- //OPERCOM EXEC ADADBS //DDKARTE DD * ADADBS OPERCOM DUQA //DDDRUCK DD DSN=&&DDDRUCK,DISP=(,PASS),SPACE=(TRK,(5,5),RLSE) //* ---------------------------------------- //* --- Submit STOPU (PURGE) Modify Commands //* ---------------------------------------- //NATBATCH EXEC NATBATCH,COND=(O,NE) //CMSYNIN DD DISP=SHR,DSN=Zxxxxx.DBA.CNTL(CMSYNIN) // DD * PURGEUQE //CMWKF01 DD DSN=&&DDDRUCK,DISP=(OLD,DELETE,DELETE) //CMWKF02 DD BUFNO=16,BLKSIZE=0,SYSOUT=(X,INTRDR) INTERNAL READER //CMPRINT DD SYSOUT=*,BLKSIZE=0,BUFNO=30 //CMPRINT Output
------------------------------------------------------------------------------- Lib: LBXXXXXX Purged User Queue Elements Pgm: PURGEUQE 2004-06-08 Prevents ADABAS Utility Response Code 48 12:24:55.2 DBID = 200 - Server Name = ADATEST ------------------------------------------------------------------------------- Modify Command Display User Queue Element (UQE) As Sent Jobname TID Type Last activity ------------------------------------------------------------------------------- /*$VS,'F ADATEST,STOPU=X'00000374'' XXXXXXUQ ...~. U 0 /*$VS,'F ADATEST,STOPU=X'0000033F'' COMTEST XXXBKR 1 E 7239 /*$VS,'F ADATEST,STOPU=X'00000363'' COMTEST XXXBKR 2 E 6479 /*$VS,'F ADATEST,STOPU=X'00000329'' COMTEST XXXDAP 1 E 14076 /*$VS,'F ADATEST,STOPU=X'0000002D'' COMTEST XXXD9L 1 E 95532 /*$VS,'F ADATEST,STOPU=X'0000026D'' COMTEST XXXLXU 1 E 72340 /*$VS,'F ADATEST,STOPU=X'00000373'' COMTEST XXXDWS 1 E 231 /*EOF end of command stream