Hi Donna,
we have the following part to replace NEWGROUP in the system wide logon UDC
(It loooks more complicate than it is but gives some options):
Please take into consideration that a newgroup out of MPEX will NOT ALWAYS
refer to
the UDC but to the native NEWGROUP command (;PARM=1 in MPEX!).
To see errors in the account setup (groups are not on the right Volume set)
we have a job
called UVCHCKJ which is appended as well.
Best regards, Andreas Schmidt, CSC, Germany
1. Newgroup UDC
================
NEWGROUP GNAME="*"
OPTION NOLIST,NOBREAK,NOHELP
ANYPARM PARMS=**
COMMENT - Replace the NEWGROUP command by this udc in order
COMMENT - to better handle UserVolume at AM level.
COMMENT - AM's whose homegroup resides on a UV should create
COMMENT - new groups on the same user volume set.
COMMENT - Wilhelm Apfel, DuPont, 06JUN94
SETVAR _GNAME UPS('!GNAME')
IF _GNAME = '*' THEN
SETVAR _GNAME ''
ENDIF
IF '!PARMS' = '**' THEN
SETVAR _GPARMS ''
ELSE
SETVAR _GPARMS ';' + UPS('!PARMS')
ENDIF
SETVAR _X2 ''
SETVAR _LEN LEN(_GPARMS)
IF POS('HOMEVS',_GPARMS) <> 0 THEN
SETVAR _X2 STR(_GPARMS,POS('HOMEVS',_GPARMS)+7,_LEN)
IF POS(';',_X2) <> 0 THEN
SETVAR _X2 STR(_X2,1,POS(';',_X2)-1)
ENDIF
ENDIF
IF POS('ONVS',_GPARMS) <> 0 THEN
SETVAR _X2 STR(_GPARMS,POS('ONVS',_GPARMS)+5,_LEN)
IF POS(';',_X2) <> 0 THEN
SETVAR _X2 STR(_X2,1,POS(';',_X2)-1)
ENDIF
ENDIF
IF LEN(_X2) > 0 THEN
NEWGROUP !_GNAME!_GPARMS
ECHO NEWGROUP !_GNAME!_GPARMS
DELETEVAR _@
RETURN
ENDIF
IF LEN(_GNAME) > 0 THEN
FILE FXYZ1;TEMP;REC=-80,,F,ASCII
LISTGROUP !HPHGROUP >*FXYZ1
RESET FXYZ1
BUILD FXYZ2;TEMP;REC=-80,,F,ASCII
FILE FXYZ2,OLDTEMP
FCOPY FROM=FXYZ1;TO=*FXYZ2;SUBSET="HOME VOL",1 >$NULL
RESET FXYZ2
INPUT _V1 <FXYZ2
PURGE FXYZ1,TEMP
PURGE FXYZ2,TEMP
SETVAR _V2 STR(_V1,16,LEN(_V1)-17)
SETVAR _V2 RTRIM(_V2)
IF _V2 = "MPEXL_SYSTEM_VOLUME_SET" THEN
NEWGROUP !_GNAME!_GPARMS
ECHO NEWGROUP !_GNAME!_GPARMS
ELSE
NEWGROUP !_GNAME!_GPARMS;HOMEVS=!_V2
NEWGROUP !_GNAME!_GPARMS;ONVS=!_V2
ECHO NEWGROUP !_GNAME!_GPARMS;HOMEVS=!_V2
ECHO NEWGROUP !_GNAME!_GPARMS;ONVS=!_V2
ENDIF
DELETEVAR _@
RETURN
ENDIF
COMMENT - Go into menu mode if no parms were specified ....
ECHO
INPUT _GNAME;PROMPT="Enter new Group name >"
SETVAR _GNAME UPS(_GNAME)
IF NUMERIC(LFT(_GNAME,1)) THEN
ECHO
ECHO Group name cannot start with a numeric.
RETURN
ENDIF
IF LEN(_GNAME) > 8 THEN
ECHO
ECHO Group name cannot be greater than 8 characters.
RETURN
ENDIF
IF NOT ALPHANUM(_GNAME) THEN
ECHO
ECHO Group name cannot contain special characters.
RETURN
ENDIF
COMMENT Ask for an Account if executor is SM
IF LFT(HPUSERCAPF,2) = "SM" THEN
ECHO
INPUT _ANAME;PROMPT="create group !_GNAME in Account >"
SETVAR _ANAME UPS(_ANAME)
IF NUMERIC(LFT(_ANAME,1)) THEN
ECHO
ECHO Account name cannot start with a numeric.
RETURN
ENDIF
IF LEN(_ANAME) > 8 THEN
ECHO
ECHO Account name cannot be greater than 8 characters.
RETURN
ENDIF
IF NOT ALPHANUM(_ANAME) THEN
ECHO
ECHO Account name cannot contain special characters.
RETURN
ENDIF
ENDIF
ECHO
ECHO Now, enter CAP=...;ACCESS=... etc. but not HOMEVS and / or ONVS
INPUT _GCAP;PROMPT=">;"
SETVAR _GCAP UPS(_GCAP)
IF LEN(_GCAP) > 0 THEN
SETVAR _GCAP ";" + _GCAP
ENDIF
ECHO
ECHO Wait ... will do some checks ...
COMMENT Find the Volume Set Name of the executors homegroup ....
FILE FXYZ1;TEMP;REC=-80,,F,ASCII
LISTGROUP !HPHGROUP >*FXYZ1
RESET FXYZ1
BUILD FXYZ2;TEMP;REC=-80,,F,ASCII
FILE FXYZ2,OLDTEMP
FCOPY FROM=FXYZ1;TO=*FXYZ2;SUBSET="HOME VOL",1 >$null
RESET FXYZ2
INPUT _V1 <FXYZ2
PURGE FXYZ1,TEMP
PURGE FXYZ2,TEMP
SETVAR _V2 STR(_V1,16,LEN(_V1)-17)
SETVAR _V2 RTRIM(_V2)
ECHO
INPUT _X;PROMPT="Create the new group on !_V2 ? (Y/N) >"
IF LEN(_X) = 0 THEN
SETVAR _X "Y"
ENDIF
IF UPS(_X) <> "Y" AND UPS(_X) <> "N" THEN
ECHO
ECHO Please reply Y or N. Try again from beginning ....
RETURN
ENDIF
IF UPS(_X) = "N" THEN
ECHO
DSTAT ALL
ECHO
INPUT _V2;PROMPT="Enter VOLUME SET (see above) >"
SETVAR _V2 UPS(_V2)
ENDIF
IF _V2 = "MPEXL_SYSTEM_VOLUME_SET" THEN
IF LFT(HPUSERCAPF,2) = "SM" THEN
NEWGROUP !_GNAME.!_ANAME!_GCAP
ECHO NEWGROUP !_GNAME.!_ANAME!_GCAP
ELSE
NEWGROUP !_GNAME!_GCAP
ECHO NEWGROUP !_GNAME!_GCAP
ENDIF
ELSE
IF LFT(HPUSERCAPF,2) = "SM" THEN
NEWGROUP !_GNAME.!_ANAME!_GCAP;HOMEVS=!_V2
NEWGROUP !_GNAME.!_ANAME!_GCAP;ONVS=!_V2
ECHO NEWGROUP !_GNAME.!_ANAME!_GCAP;HOMEVS=!_V2
ECHO NEWGROUP !_GNAME.!_ANAME!_GCAP;ONVS=!_V2
ELSE
NEWGROUP !_GNAME!_GCAP;HOMEVS=!_V2
NEWGROUP !_GNAME!_GCAP;ONVS=!_V2
ECHO NEWGROUP !_GNAME!_GCAP;HOMEVS=!_V2
ECHO NEWGROUP !_GNAME!_GCAP;ONVS=!_V2
ENDIF
ENDIF
DELETEVAR _@
*****
2. Job UVCHCKJ
===============
[13] XENBH2:print uvchckj.xesmjob;page=0
!JOB UVCHCKJ,MANAGER.SYS,XEDTA;OUTCLASS=,1
!RESET @
!
!ECHO T XUV1 >EDIN
!ECHO SET BATCH,FIXED >>EDIN
!ECHO L 1 >>EDIN
!ECHO D "/GROUP" >>EDIN
!ECHO L 1 >>EDIN
!ECHO D "REPORT XYZ" >>EDIN
!ECHO L 1 >>EDIN
!ECHO D "No groups" >>EDIN
!ECHO L1 >>EDIN
!ECHO CQ 1 TO " " IN ALL >>EDIN
!ECHO L 1 >>EDIN
!ECHO D " SYS" >>EDIN
!ECHO L1 >>EDIN
!ECHO CQ 1/1 TO "" IN ALL >>EDIN
!ECHO D FIRST >>EDIN
!ECHO D FIRST >>EDIN
!ECHO K XUV2,UNN >>EDIN
!ECHO E >>EDIN
!
!SETVAR UVLOOP 1
!IF HPSYSNAME="XENBH2" THEN
! SETVAR UVLOOP_MAX 2
!ELSEIF HPSYSNAME="XENBH8" THEN
! SETVAR UVLOOP_MAX 5
!ELSE
! COMMENT XENBH1
! SETVAR UVLOOP_MAX 1
!ENDIF
!WHILE UVLOOP <= UVLOOP_MAX DO
! CONTINUE
! PURGE XUVERR!UVLOOP
! BUILD XUVERR!UVLOOP;REC=-80,,F,ASCII
! FILE XUVERR!UVLOOP,OLD;ACC=APPEND
! ECHO Checklist of Accounts that should reside on &
! User Volume UV_SET!UVLOOP >*XUVERR!UVLOOP
! ECHO System: !HPSYSNAME - !HPDATEF !HPTIMEF >>*XUVERR!UVLOOP
! ECHO >>*XUVERR!UVLOOP
!
! CONTINUE
! REPORT XYZ135QP.@;ONVS=UV_SET!UVLOOP >XUV1
! CONTINUE
! PURGE XUV2
! RUN EDITOR.PUB.SYS <EDIN
!
! SETVAR XUV_EOF FINFO("XUV2",19)
! SETVAR LOOP 1
! WHILE LOOP < XUV_EOF DO
! PRINT XUV2;START=!LOOP;END=!LOOP >XUV1
! INPUT SHIT <XUV1
! SETVAR ACCT LFT(SHIT,8)
! SHOWVAR ACCT
! SETJCW CIERROR 0
! CONTINUE
! RUN MAIN.PUB.VESOFT,MPEX;PARM=1;&
! INFO='VEAUDIT LISTGROUP @.!ACCT(HOMEVOLUMESET<>"UV_SET!UVLOOP")' >XUV1
! IF CIERROR = 432 THEN
! ECHO Account !ACCT is ok >>*XUVERR!UVLOOP
! ELSE
! ECHO Account !ACCT something wrong. Pls check the &
! groups. >>*XUVERR!UVLOOP
! CONTINUE
! FCOPY FROM=XUV1;TO=*XUVERR!UVLOOP;SUBSET="!ACCT",1
! ENDIF
!
! SETVAR LOOP LOOP+1
! ENDWHILE
!
!comment ECHO >DESKIN
!comment ECHO SEND >>DESKIN
!comment ECHO UV_SET!UVLOOP Account Checklist >>DESKIN
!comment ECHO EUROPE HPTS >>DESKIN
!comment ECHO ANDREAS SCHMIDT >>DESKIN
!comment ECHO // >>DESKIN
!comment ECHO // >>DESKIN
!comment ECHO COPY TEXT FROM (XUVERR!UVLOOP) >>DESKIN
!comment ECHO UV_SET!UVLOOP Account Checklist >>DESKIN
!comment ECHO D2 >>DESKIN
!comment ECHO MAIL >>DESKIN
!comment ECHO >>DESKIN
!comment ECHO EXIT >>DESKIN
!comment ECHO EXIT >>DESKIN
!comment
!comment CONTINUE
!comment RUN HPMAIL.HPMAIL.SYS;LIB=G;PARM=2;&
!comment INFO="GENERAL DELIVERY/XEGE" <DESKIN
!
! FILE DESKIN;REC=-80,,F,ASCII
! ECHO FILE XUVERR!UVLOOP.XEDTA.SYS > *DESKIN
! ECHO SUBJECT UV_SET!UVLOOP Account Checklist >>*DESKIN
! ECHO TO Europe HPTS/XENB >>*DESKIN
! ECHO TO Andreas SCHMIDT/XEBH >>*DESKIN
! ECHO TO Thomas SIEBEL/XEBH >>*DESKIN
! ECHO TO Michael KREIS/XEBH >>*DESKIN
! ECHO END >>*DESKIN
! RUN XEMSU001.OBJECT.HPOFFICE;STDIN=DESKIN;PARM=1
!
! CONTINUE
! PURGE XUV2
!
! SETVAR UVLOOP UVLOOP+1
!ENDWHILE
!
!EOJ
|