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

AKMOSKEY.m

Go to the documentation of this file.
  1. AKMOSKEY ;OHPD-TUCSON/BRJ ASSIGN NAMESPACE SECURITY KEYS TO USERS [ 04/22/93 10:41 AM ]
  1. ;;2.0;IHS KERNEL UTILITIES;;JUN 28, 1993
  1. EN ; ENTRY TO PROGRAM
  1. X "ZL @""XUS"" S AKMO(""KERNEL VERSION"")=$P($T(+2),"";"",3)"
  1. I AKMO("KERNEL VERSION")<7 W !!,*7,"You are running Kernel ",AKMO("KERNEL VERSION"),". This program requires Kernel 7.0 or later version!",!!,"No action taken!!",! K AKMO Q
  1. D ^XBKSET
  1. W !,"I'm ready to assign security keys but. . .",!,"Please note - the POSTMASTER will be the assignee.",!
  1. S DUZ(0)="@"
  1. S X="T",%DT="" D ^%DT S AKMO("DATE")=Y
  1. GETNSP ; Get security key namespaces
  1. F D Q:AKMO("NO MORE KEYS")
  1. . S AKMO("NO MORE KEYS")=1
  1. . F R !,?10,"Enter Security Key namespace : // ",AKMO("KEYNSP") Q:"^"[AKMO("KEYNSP") D Q:$D(AKMO("KEY TBL","*"))
  1. .. I AKMO("KEYNSP")?1"?".E W !!,?5,"Enter the leading characters of the package namespace.",!,?15,"Ex: APCD for PCC Data Entry ",!,?5,"OR - to select all keys, enter an asterisk (*).",! Q
  1. .. I AKMO("KEYNSP")?1"*".E D Q
  1. ... W !!,"Selecting ALL security keys supercedes previously selected namespace, if any, for this iteration."
  1. ... W !!,*7,"Do you really want to assign all security keys at this time"
  1. ... S %=1 D YN^DICN
  1. ... Q:%'=1
  1. ... W !!,"O.K.",!
  1. ... K AKMO("KEY TBL")
  1. ... S AKMO("KEY TBL","*")=""
  1. ... S AKMO("NO MORE KEYS")=0
  1. .. S AKMO("KEY")=$O(^DIC(19.1,"B",AKMO("KEYNSP")))
  1. .. I AKMO("KEYNSP")'=$E(AKMO("KEY"),1,$L(AKMO("KEYNSP"))) W !,*7,?10,"The ",AKMO("KEYNSP")," namespace does not have any security keys!",! Q
  1. .. S AKMO("KEY TBL",AKMO("KEYNSP"))=""
  1. .. S AKMO("NO MORE KEYS")=0
  1. GETUSER . ;
  1. . Q:AKMO("NO MORE KEYS")
  1. . S DIC="^VA(200,"
  1. . S DIC("A")="Enter User Name to be assigned keys: // "
  1. . S DIC(0)="AEMQ"
  1. . F W ! D ^DIC Q:"^"[X D
  1. .. S AKMO("KEYNSP")=""
  1. .. F S AKMO("KEYNSP")=$O(AKMO("KEY TBL",AKMO("KEYNSP"))) Q:AKMO("KEYNSP")="" S AKMO("KEY TBL",AKMO("KEYNSP"),X,$P(Y,U))=""
  1. . S AKMO("NO MORE KEYS")=1
  1. ASSGNLP ; LOOP DOWN AKMO("KEY TBL","KEYNSP",holder) and assign the security keys
  1. ;Q
  1. W !!,"Assigning security keys. . . ",!
  1. S AKMO("KEYNSP")=""
  1. F S AKMO("KEYNSP")=$O(AKMO("KEY TBL",AKMO("KEYNSP"))) Q:AKMO("KEYNSP")="" D
  1. . S AKMO("HOLDER")=""
  1. . F S AKMO("HOLDER")=$O(AKMO("KEY TBL",AKMO("KEYNSP"),AKMO("HOLDER"))) Q:AKMO("HOLDER")="" D
  1. .. S AKMO("HOLDER DFN")=$O(AKMO("KEY TBL",AKMO("KEYNSP"),AKMO("HOLDER"),""))
  1. .. S AKMO("KEY")=AKMO("KEYNSP")
  1. .. F S AKMO("KEY")=$O(^DIC(19.1,"B",AKMO("KEY"))) D Q:AKMO("KEY")=""
  1. ... Q:AKMO("KEY")=""
  1. ... I AKMO("KEYNSP")'="*",$E(AKMO("KEY"),1,$L(AKMO("KEYNSP")))'=AKMO("KEYNSP") S AKMO("KEY")="" Q
  1. ... S AKMO("KEY DFN")=$O(^DIC(19.1,"B",AKMO("KEY"),""))
  1. ... I $D(^VA(200,AKMO("HOLDER DFN"),51,AKMO("KEY DFN"))) W !,AKMO("KEY"),?34,"already assigned to <",AKMO("HOLDER"),">." Q
  1. ... ; I '$D(^DIC(19.1,"D",DUZ,AKMO("KEY DFN"))) W !,AKMO("KEY"),?30,"Denied! You are not allowed to assign this key." Q
  1. ASSGNKEY ... ; ASSIGN KEY USING DIC AND DIE CALLS
  1. ... S DIE="^VA(200,",DA=AKMO("HOLDER DFN"),DR="51///`"_AKMO("KEY DFN")
  1. ... S DR(2,200.051)="1////.5;2////"_AKMO("DATE")_";3////"_AKMO("DATE")
  1. ... D ^DIE
  1. ... K DIE,DR,DA
  1. ... I $D(Y) W !!,*7,"FileManager error condition returned from ^DIE call while updating",!,?3,AKMO("KEY")," security key for ",AKMO("HOLDER"),!,?3,"Security key was not assigned." Q
  1. ... W !,AKMO("KEY"),?42,"assigned to <",AKMO("HOLDER"),">."
  1. XIT ;
  1. I '$D(AKMO("KEY TBL")) W !!,*7,"No selection of security keys made. B y e . . . .",!
  1. W !!,*7,?12,"<DONE>"
  1. KILL ; KILL VARIABLES
  1. K AKMO,Y,%DT,DIC,DIE,DUZ,DA,DR,DT,X
  1. Q