HP3000-L Archives

February 1998, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Andreas Schmidt <[log in to unmask]>
Reply To:
Date:
Wed, 25 Feb 1998 09:52:29 +0100
Content-Type:
text/plain
Parts/Attachments:
text/plain (313 lines)
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

ATOM RSS1 RSS2