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

XQ6B.m

Go to the documentation of this file.
  1. XQ6B ;SFISC/KLD-KEY DISTRIBUTION MUTUALLY EXCLUSION KEYS;4/05/00 [ 07/29/2004 9:01 AM ]
  1. ;;8.0;KERNEL;**147**;Jul 10, 1995
  1. ;
  1. Q
  1. UNABLE(XQIEN,XQPRSN,XQSTP) ;
  1. D KEYAVAL Q:XQSTP=1
  1. D UNABEXC Q:XQSTP=1
  1. D UNABBLK Q:XQSTP=1
  1. Q
  1. KEYAVAL ;Check if key available to users - Self Exclusive
  1. I $D(^DIC(19.1,XQIEN,5,"B",XQIEN)) D
  1. . W !!,"Key '"_$$GET1^DIQ(19.1,XQIEN,.01)_"' may not be given to any user at this time"
  1. . W !,"no action taken",!
  1. . S XQSTP=1
  1. Q
  1. UNABEXC ;Key cannot be given Exclusive with Primary
  1. N XQCLUDE,XQNUM,XQMKEY,XQTKEY
  1. S (XQCLUDE,XQNUM,XQMKEY,XQTKEY)=""
  1. F S XQCLUDE=$O(^DIC(19.1,XQIEN,5,"B",XQCLUDE)) Q:XQCLUDE="" D
  1. . F S XQNUM=$O(^DIC(19.1,XQIEN,5,"B",XQCLUDE,XQNUM)) Q:XQNUM="" D
  1. . . I $D(^VA(200,XQPRSN,51,XQCLUDE)) D
  1. . . . S XQMKEY=$$GET1^DIQ(19.1,XQIEN,.01)
  1. . . . S XQTKEY=$$GET1^DIQ(19.1,XQCLUDE,.01)
  1. . . . W !!,"You are not AUTHORIZED key '"_XQMKEY_"' with EXCLUSIVE key '"_XQTKEY_"'"
  1. . . . W !,"no action taken",!
  1. . . . S XQSTP=1
  1. Q
  1. UNABBLK ;No Exclusive(s) - Verify primary not exclusive with another key(s)
  1. N XQKEY,XQNBR,XQMKEY,XQTKEY
  1. S (XQKEY,XQNBR,XQMKEY,XQTKEY)=""
  1. I $D(^DIC(19.1,XQIEN,0)) D
  1. . F S XQKEY=$O(^DIC(19.1,"B",XQKEY)) Q:XQKEY="" D
  1. . . F S XQNBR=$O(^DIC(19.1,"B",XQKEY,XQNBR)) Q:XQNBR="" D
  1. . . . I $D(^DIC(19.1,XQNBR,5,"B",XQIEN)) D
  1. . . . . I $D(^VA(200,XQPRSN,51,XQNBR)) D
  1. . . . . . S XQMKEY=$$GET1^DIQ(19.1,XQIEN,.01)
  1. . . . . . S XQTKEY=$$GET1^DIQ(19.1,XQNBR,.01)
  1. . . . . . W !!,"You are not AUTHORIZED key '"_XQMKEY_"' with EXCLUSIVE key '"_XQTKEY_"'"
  1. . . . . . W !,"no action taken",!
  1. . . . . . S XQSTP=1
  1. Q
  1. EXCLUSE ;Set primary exclusive with another key(s)
  1. N DIC,DIE,DA,DR,Y
  1. W !!
  1. S DIC="19.1",DIC(0)="AEQZ",DIC("A")="Select Primary Allocated Key(s): "
  1. D ^DIC Q:Y=-1 D
  1. . W !
  1. . S DIE="^DIC(19.1,",DR="5",DA=+Y
  1. . D ^DIE
  1. Q