Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XBSAUTH

XBSAUTH.m

Go to the documentation of this file.
  1. XBSAUTH ; IHS/ADC/GTH - SET AUTHORITIES ; [ 02/07/97 3:02 PM ]
  1. ;;3.0;IHS/VA UTILITIES;;FEB 07, 1997
  1. ;
  1. ; This routine sets FileMan dictionary authorities:
  1. ; "AUDIT" "DD" "DEL" "LAYGO" "RD" "WR"
  1. ;
  1. START ;
  1. I $G(DUZ(0))'="@" W !,*7," Insufficient FileMan access. DUZ(0) is not ""@""." Q
  1. S U="^",IOP=$I
  1. D ^%ZIS
  1. W !!,"^XBSAUTH - This program sets FileMan dictionary authorities."
  1. D ^XBDSET
  1. Q:'$D(^UTILITY("XBDSET",$J))
  1. ASK ;
  1. W !!,"Do you want to be asked before setting each file? (Y/N) Y// "
  1. R XBSAASK:$G(DTIME,999)
  1. S:XBSAASK="" XBSAASK="Y"
  1. S XBSAASK=$E(XBSAASK)
  1. I "YyNn"'[XBSAASK W *7 G ASK
  1. S XBSAASK=$S("Yy"[XBSAASK:1,1:0)
  1. W !!,"To delete a particular authority enter '@@'",!
  1. S XBSAF=0
  1. KILL XBSA
  1. F XBSAX="AUDIT","DD","DEL","LAYGO","RD","WR" D GETAUTH
  1. I 'XBSAF W !!,"Bye" Q
  1. W !!,"I am going to set the following authorities:",!
  1. F XBSAX="AUDIT","DD","DEL","LAYGO","RD","WR" D:@("XBSA("""_XBSAX_""")")'="" PRTAUTH
  1. ASK2 ;
  1. W !!,"Do you want to continue? (Y/N) N// "
  1. R XBSAX:$G(DTIME,999)
  1. S:XBSAX="" XBSAX="N"
  1. S XBSAX=$E(XBSAX)
  1. I "YyNn"'[XBSAX W *7 G ASK2
  1. G:"Yy"'[XBSAX EOJ
  1. W !
  1. S XBSAFILE=""
  1. F XBSAL=0:0 S XBSAFILE=$O(^UTILITY("XBDSET",$J,XBSAFILE)) Q:XBSAFILE="" D PROCESS
  1. G EOJ
  1. ;
  1. GETAUTH ; GET DICTIONARY AUTHORITIES
  1. W !,"Enter ",XBSAX," authority: "
  1. R @("XBSA("""_XBSAX_""")")
  1. S:@("XBSA("""_XBSAX_""")")'="" XBSAF=1
  1. Q
  1. ;
  1. PRTAUTH ; PRINT DICTIONARY AUTHORITIES
  1. W !,XBSAX,?6," to """,@("XBSA("""_XBSAX_""")"),""""
  1. Q
  1. ;
  1. PROCESS ;
  1. S XBSAANS="Y"
  1. W !,@("$P(^DIC("_XBSAFILE_",0),U,1)")
  1. I XBSAASK W !?4,"Current authorities are: " D W "..OK? Y// "
  1. . F XBSAX="AUDIT","DD","DEL","LAYGO","RD","WR" I $D(@("^DIC("_XBSAFILE_",0,"""_XBSAX_""")")),@("^("""_XBSAX_""")")'="" W ?31,XBSAX,?38,@("^("""_XBSAX_""")"),!
  1. . Q
  1. P2 ;
  1. I XBSAASK R XBSAANS:$G(DTIME,999) S:XBSAANS="" XBSAANS="Y" S XBSAANS=$E(XBSAANS) I "YyNn"'[XBSAANS D P2ERR G P2
  1. I "Yy"[XBSAANS D P2SETS Q
  1. W " Skipping"
  1. Q
  1. ;
  1. P2SETS ;
  1. NEW X
  1. F X="AUDIT","DD","DEL","LAYGO","RD","WR" S:XBSA(X)]"" @("^DIC("_XBSAFILE_",0,"""_X_""")")=XBSA(X) KILL:XBSA(X)="@@" @("^DIC("_XBSAFILE_",0,"""_X_""")")
  1. Q
  1. ;
  1. P2ERR ;
  1. W *7
  1. F %=1:1:$L(XBSAANS) W @IOBS," ",@IOBS
  1. Q
  1. ;
  1. EOJ ;
  1. KILL ^UTILITY("XBDSET",$J),XBSA,XBSAANS,XBSAASK,XBSAF,XBSAFILE,XBSAI,XBSAL,XBSAX
  1. Q
  1. ;