| 1 | PRCPSSQA ;WISC/CC-Enter/edit privileged secondary IP users ;04/01
 | 
|---|
| 2 | V ;;5.1;IFCAP;**24**;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | AC ;I 'application coordinator W "You do not have access to this option" Q
 | 
|---|
| 7 |  I '$$KEY^PRCPUREP("PRCPAQOH",DUZ) D EN^DDIOL("You are not authorized to give staff access to replace quantities.") Q
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  N D,D0,D1,DA,DIC,DIDEL,DIE,DIK,DLAYGO,DQ,DR,INVPT,PRCF,PRCPPRIV,USER,X,Y,%
 | 
|---|
| 10 |  ; ask site
 | 
|---|
| 11 |  S %=0 F I="FY","PARAM","PER","QTR","SITE" I '+$G(PRC(I)) S %=1 Q
 | 
|---|
| 12 |  I % S PRCF("X")="S" D ^PRCFSITE I '+$G(PRC("SITE")) K PRC,PRCP Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  ; ask inventory point
 | 
|---|
| 15 |  I '$D(PRCP("DPTYPE")) S PRCP("DPTYPE")="S"
 | 
|---|
| 16 |  S DIC="^PRCP(445,",DIC(0)="AEQMOZ"
 | 
|---|
| 17 |  S DIC("S")="I +^(0)=PRC(""SITE"")"
 | 
|---|
| 18 |  S DIC("S")=DIC("S")_",PRCP(""DPTYPE"")[$P(^PRCP(445,+Y,0),U,3)"
 | 
|---|
| 19 |  S DIC("A")="Select Secondary Inventory Point: "
 | 
|---|
| 20 |  S D="C",PRCPPRIV=1
 | 
|---|
| 21 |  D IX^DIC K PRCPPRIV,DIC
 | 
|---|
| 22 |  I Y<0 K PRC,PRCP Q
 | 
|---|
| 23 |  S INVPT=Y Q:'$G(INVPT)
 | 
|---|
| 24 |  I PRCP("DPTYPE")'="S" Q
 | 
|---|
| 25 |  I '$D(^PRCP(445,+INVPT,0)) Q
 | 
|---|
| 26 |  I $P($G(^PRCP(445,+INVPT,5)),"^",1)']"" D EN^DDIOL("This secondary is not linked to a supply station") Q
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  L +^PRCP(445,+INVPT,8):3 I $T=0 D EN^DDIOL("The authorized user file is busy.  Please try again later.") Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  ; purge inappropriate users
 | 
|---|
| 31 |  S USER=0
 | 
|---|
| 32 |  F  S USER=$O(^PRCP(445,+INVPT,8,USER)) Q:'+USER  D
 | 
|---|
| 33 |  . S X=USER D CHK(+INVPT,.X) I X="" D
 | 
|---|
| 34 |  . . D EN^DDIOL("Removing "_$P(^VA(200,USER,0),"^")_".....")
 | 
|---|
| 35 |  . . S DIK="^PRCP(445,"_+INVPT_",8,",DA(1)=+INVPT,DA=+USER D ^DIK K DIK
 | 
|---|
| 36 |  . . W "User DELETED !"
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | USERS ;  ask users
 | 
|---|
| 39 |  I '$D(^PRCP(445,+INVPT,0)) D EN^DDIOL("This inventory point is not on file") Q
 | 
|---|
| 40 |  I '$D(^PRCP(445,+INVPT,8,0)) S ^(0)="^445.026P^^"
 | 
|---|
| 41 |  S DIC(0)="AEMQO"
 | 
|---|
| 42 |  S DA=+INVPT,(DIC,DIE)="^PRCP(445,",DIDEL=445,DR=26,PRCPPRIV=1
 | 
|---|
| 43 |  D ^DIE K PRCPPRIV,DIC,DIE
 | 
|---|
| 44 |  Q
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  ; invoked from this routine and input transform of .01 field in file 445.026
 | 
|---|
| 48 | CHK(INVPT,USER) ; verify user has proper qualifications
 | 
|---|
| 49 |  ;  INVPT   is the ien to file 445 (Inventory Point)
 | 
|---|
| 50 |  ;  USER    is the ien to file 200
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  I $P($G(^VA(200,USER,0)),"^",11),$P(^(0),"^",11)<DT D EN^DDIOL("You cannot ADD a terminated user.") S USER="" Q
 | 
|---|
| 53 |  I '$D(^PRCP(445,INVPT,4,USER)) D EN^DDIOL("User has no access to this inventory point.  Contact the manager.") S USER="" Q
 | 
|---|
| 54 |  I '$$KEY^PRCPUREP("PRCP2 MGRKEY",USER) S USER="" D EN^DDIOL("User needs the PRCP2 MGRKEY.") Q
 | 
|---|
| 55 |  I '$$KEY^PRCPUREP("PRCPSSQOH",USER) S USER="" D EN^DDIOL("User needs the PRCPSSQOH key.") Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | EXIT L -^PRCP(445,+INVPT,8)
 | 
|---|
| 58 |  Q
 | 
|---|