- 论坛徽章:
- 0
|
本帖最后由 leason 于 2011-12-08 14:37 编辑
% CPU used . . . . . . . : 3.2
% DB capability . . . . : 1.6
Elapsed time . . . . . . : 04:15:38
Jobs in system . . . . . : 4820
% perm addresses . . . . : .013
% temp addresses . . . . : .144
最近在整理系统资源,看到 Jobs in system 有5万多个,有写JOB甚至是2003年存在到现在一直没清理,单个清理的话,实在过于麻烦,所以写了个程序可以按日期来进行一次性删除,不知道之前又没人发过类似的程序,先把程序共享出来,希望对各位有些用处。
执行程序 SBMJOB CMD(CALL PGM(ZZC1055) PARM('*ALL' '111101')) ,实现的功能为删除Jobs in system 中在2011年11月1号之前生成的所有JOB。此操作执行后,上图5万多的JOB数量,减少到4820个。
ZZC1055 SOURCE:
PGM PARM(&OPT &YMD)
DCL VAR(&OPT) TYPE(*CHAR) LEN(10)
DCL VAR(&YMD) TYPE(*CHAR) LEN(6)
START:
CHKOBJ OBJ(QTEMP/ZSPLF) OBJTYPE(*FILE)
MONMSG MSGID(CPF9801) EXEC(DO)
CRTPF FILE(QTEMP/ZSPLF) RCDLEN(150) IGCDTA(*YES) +
SIZE(*NOMAX)
ENDDO
WRKSPLF SELECT(&OPT) OUTPUT(*PRINT)
CPYSPLF FILE(QPRTSPLF) TOFILE(QTEMP/ZSPLF) +
SPLNBR(*LAST)
OVRDBF FILE(ZSPLF) TOFILE(QTEMP/ZSPLF)
CALL PGM(ZZR1053) PARM(&YMD)
END:
RETURN
ENDPGM
ZZR1053 SOURCE:先生成报表的名字和数量:
H Y 1
*---------------------------------------------------------------
FZSPLF IF F 150 DISK U
*---------------------------------------------------------------
IZSPLF AA 10
I 3 12 SPLF
I 14 23 USER
I 84 85 YY
I 87 88 MM
I 90 91 DD
I 109 118 JOB
I 105 107 SPLFNO
I 120 125 JOBNO
I DS
I 1 6 INYMD
I 1 2 IYY
I 3 4 IMM
I 5 6 IDD
*---------------------------------------------------------------
* 主流程
*---------------------------------------------------------------
C *ENTRY PLIST
C PARM YMD 6
C OPEN ZSPLF
C *IN90 DOWEQ'0'
C READ ZSPLF 9090:NR
C *IN90 IFEQ '0'
C SPLFNO ANDNE*BLANKS
C MOVE *BLANKS INYMD
C MOVE YY IYY
C MOVE MM IMM
C MOVE DD IDD
C MOVE SPLFNO SPLFNS 30
C SPLF IFNE *BLANKS
C USER ANDNE*BLANKS
C JOB ANDNE*BLANKS
C JOBNO ANDGE'000000'
C JOBNO ANDLE'999999'
C SPLFNS ANDGE000
C SPLFNS ANDLE999
C INYMD ANDNE*BLANKS
C INYMD ANDLTYMD
C CALL 'ZZC1054'
C PARM SPLF
C PARM JOB
C PARM USER
C PARM JOBNO
C PARM SPLFNO
C ENDIF
C ENDIF
C ENDDO
*-- LOOP END
C SETON LR
C RETRN
****************** End of data ***************************************
ZZC1054 SOURCE CLP执行删除功能 *************** Beginning of data *************************************
0001.00 /* 系統管理: RMVSPLF 公用程式 */
0002.00 PGM PARM(&SPLF &JOB &USER &JOBNO &SPLFNO)
0003.00 DCL VAR(&SPLF) TYPE(*CHAR) LEN(10)
0004.00 DCL VAR(&JOB) TYPE(*CHAR) LEN(10)
0005.00 DCL VAR(&USER) TYPE(*CHAR) LEN(10)
0006.00 DCL VAR(&JOBNO) TYPE(*CHAR) LEN(6)
0007.00 DCL VAR(&SPLFNO) TYPE(*CHAR) LEN(3)
0008.00 DCL VAR(&SPLFNOS) TYPE(*DEC) LEN(3 0)
0009.00 START:
0010.00 CHGVAR VAR(&SPLFNOS) VALUE(&SPLFNO)
0011.00 DLTSPLF FILE(&SPLF) JOB(&JOBNO/&USER/&JOB) +
0012.00 SPLNBR(&SPLFNOS)
0013.00 MONMSG MSGID(CPF9999)
0014.00 END:
0015.00 RETURN
0016.00 ENDPGM
****************** End of data **************************************** |
|