Hi Tracy,
we run this automatically once a week out of our so called UTILITYJ and purge
those orphaned groups. Here the part of this BIG job which checks the system:
(has slightly modified and enriched with comments in << >>. Job requires MPEX!
! COMMENT Search and purge orphaned groups: exist only on Private
! COMMENT volume but not in System's Directory.
!
! COMMENT written by Andreas Schmidt, CSC, TS.
! COMMENT version 1.0, 02FEB1999
!
! SETVAR CURR_LOOP 1 <<THIS DEFINES THE NUMBER OF >>
! IF HPSYSNAME="system1" THEN <<PrivVols PER SYSTEM >>
! SETVAR LOOP 1
! ENDIF
! IF HPSYSNAME="system2" THEN
! SETVAR LOOP 3
! ENDIF
! IF HPSYSNAME="system3" THEN
! SETVAR LOOP 5
! ENDIF
! IF HPSYSNAME="system4" THEN
! SETVAR CURR_LOOP 99
! SETVAR LOOP 0
! ENDIF
! IF HPSYSNAME="system5" THEN
! SETVAR CURR_LOOP 99
! SETVAR LOOP 0
! ENDIF
!
! CONTINUE
! PURGE X!HPPIN
! RUN TDP.PUB.SYS <<PREPARES THE EXECUTION FILE >>
ADD
SETVAR FILE1 VEFOPEN("ORPHAN1,OLD")
WHILE VEFREADV("ACCTSTR",!FILE1) DO
SETVAR ACCT LFT("!ACCTSTR",8)
CONTINUE
PURGE ORPHAN2 > $NULL
BUILD ORPHAN2;REC=-80,,F,ASCII
FILE IN2=ORPHAN2,OLD
REPORT @.!ACCT;ONVS=UV_SET!CURR_LOOP > *IN2
RESET IN2
RUN TDP.PUB.SYS;INFO="T ORPHAN2;DQ1/4;CMQ1/4,0,ALL;CMQ9/80,0,ALL;K;E">$NULL
SETVAR FILE2 VEFOPEN("ORPHAN2,OLD")
WHILE VEFREADV("ACCTSTR",!FILE2) DO
SETVAR GRP LFT("!ACCTSTR",8)
SETVAR CIERROR 0
CONTINUE
REPORT !GRP.!ACCT > $NULL
IF CIERROR=908 THEN
OPCMSG normal AcctMgt Orphan SysAdmin Group !GRP.!ACCT purged. <<IT/O OpC >>
REPORT !GRP.!ACCT;ONVS=UV_SET!CURR_LOOP <<MSG SENDER>>
PURGEGROUP !GRP.!ACCT;ONVS=UV_SET!CURR_LOOP
ENDIF
ENDWHILE
CONTINUE
SETVAR X VEFCLOSE(!FILE2,"DEL")
ENDWHILE
SETVAR X VEFCLOSE(!FILE1,"DEL")
EXIT
//
K X,UNN;EXIT
! COPY X,X!HPPIN;YES
!
!
! WHILE CURR_LOOP <= LOOP DO
! CONTINUE
! PURGE ORPHAN1 > $NULL
! BUILD ORPHAN1;REC=-80,,F,ASCII
! FILE IN1=ORPHAN1,OLD
! REPORT X.@;ONVS=UV_SET!CURR_LOOP > *IN1
! RESET IN1
! RUN TDP.PUB.SYS;STDLIST=$NULL;INFO="&
! T ORPHAN1;DQ1/3,LAST-2/LAST;CMQ9/80,0,ALL;SET YES;K;E"
! RUN MAIN.PUB.VESOFT;PARM=1 < X!HPPIN
! SETVAR CURR_LOOP !CURR_LOOP+1
! ENDWHILE
!
! PURGE ORPHAN1
! PURGE ORPHAN2
! PURGE X!HPPIN
!
Hope that will give you an idea!
Best regards, Andreas Schmidt, CSC, Germany
[log in to unmask] on 18/01/2000 12:12:23 AM
Please respond to [log in to unmask]
To: [log in to unmask]
cc: (bcc: Andreas Schmidt/GIS/CSC)
Subject: Volume Set Anachronisms
I have some groups that exist in Private Volumes
that no longer exist in the MPEXL_SYSTEM_VOLUME_SET.
It is apparent they were just incorrectly purged off
the System Volume but not the Private Volume.
Does anyone know of a method to clean up these anachronisms?
I think MPEX could be tasked to do the job, but I haven't
figured it out yet.
Tracy M. Johnson
TRW Automotive Electronics
|