| [613] | 1 | PRCSUT41 ;WISC/KMB/BGJ-UTILITY TO CREATE NEW DISTRIBUTION SCHEDULE ;7/6/89  13:17
 | 
|---|
 | 2 | V ;;5.1;IFCAP;**5**;Oct 20, 2000
 | 
|---|
 | 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;PRCHSY=NEW 410 IRN,PRCHJ=NEW 410 ITEM MULTIPLE IRN
 | 
|---|
 | 5 |  ;PRCHS=OLD 410 IRN,PRCHX=OLD 410 ITEM MULTIPLE IRN
 | 
|---|
 | 6 |  Q:'$D(PRCHSY)!('$D(PRCHS))  Q:'$D(PRCHJ)!('$D(PRCHX))  Q:'$D(^PRCS(410,PRCHSY,0))!('$D(^PRCS(410,PRCHS,0)))  Q:'$D(^PRCS(410,PRCHSY,"IT",PRCHJ,0))!('$D(^PRCS(410,PRCHS,"IT",PRCHX,0)))
 | 
|---|
 | 7 |  S PRCSI=0 F PRCSJ=1:1 S PRCSI=$O(^PRCS(410,PRCHS,"IT",PRCHX,2,PRCSI)) Q:PRCSI'>0  S PRCSDS=^(PRCSI,0) Q:$P(PRCSDS,U,2)'>0  Q:'$D(^PRCS(410.6,+$P(PRCSDS,U,2),0))  S PRCSDSD=^(0) D STF
 | 
|---|
 | 8 |  K PRCSDS,PRCSDSD,PRCSI,PRCSJ,DLAYGO
 | 
|---|
 | 9 |  Q
 | 
|---|
 | 10 | STF S X=PRCSDSD,$P(X,U)=$P(^PRCS(410,PRCHSY,0),U)_"-"_PRCHJ_"-"_PRCSI
 | 
|---|
 | 11 |  S DLAYGO=410.6,DIC="^PRCS(410.6,",DIC(0)="LOXZ" D FILE^DICN K DIC Q:Y<0  S $P(^PRCS(410.6,+Y,0),U,2,7)=$P(PRCSDSD,U,2,7)
 | 
|---|
 | 12 |  S:'$D(^PRCS(410,PRCHSY,"IT",PRCHJ,2,0)) ^(0)="^410.212I^^"
 | 
|---|
 | 13 |  S ^PRCS(410,PRCHSY,"IT",PRCHJ,2,PRCSI,0)=PRCSI_U_(+Y),^PRCS(410,PRCHSY,"IT",PRCHJ,2,"B",PRCSI,PRCSI)="" S $P(^PRCS(410,PRCHSY,"IT",PRCHJ,2,0),U,3,4)=PRCSI_U_($P(^PRCS(410,PRCHSY,"IT",PRCHJ,2,0),U,4)+1)
 | 
|---|
 | 14 |  Q
 | 
|---|
 | 15 | USEROUT ; remove user terminated by Kernel from IFCAP
 | 
|---|
 | 16 |  N CPT,ST,XDA,XDA1
 | 
|---|
 | 17 |  Q:'DA  S (CPT,ST)=0,XDA=DA
 | 
|---|
 | 18 |  ;remove user from supply
 | 
|---|
 | 19 |  K ^VA(200,XDA,400)
 | 
|---|
 | 20 |  ; remove user from all cps
 | 
|---|
 | 21 |  I $D(^PRC(420,"C",XDA)) D
 | 
|---|
 | 22 |  .F  S ST=$O(^PRC(420,"C",XDA,ST)) Q:'ST  D
 | 
|---|
 | 23 |  ..S CPT=0 F  S CPT=$O(^PRC(420,"C",XDA,ST,CPT)) Q:'CPT  D
 | 
|---|
 | 24 |  ...S DA(2)=ST,DA(1)=CPT,DA=XDA,DIK="^PRC(420,"_DA(2)_",1,"_DA(1)_",1," D ^DIK K DIK
 | 
|---|
 | 25 |  ; put users on a 'don't use' array
 | 
|---|
 | 26 |  S ST=0 F  S ST=$O(^PRC(420,"B",ST)) Q:ST=""  D
 | 
|---|
 | 27 |  .S DA(1)=ST,DA=XDA,DIK="^PRC(411,"_DA(1)_",6," D ^DIK K DIK
 | 
|---|
 | 28 |  .Q:$D(^PRC(411,ST,8,XDA))
 | 
|---|
 | 29 |  .S:'$D(^PRC(411,ST,8,0)) ^(0)="^411.045PA^^"
 | 
|---|
 | 30 |  .L +^PRC(411,ST):15 Q:'$T
 | 
|---|
 | 31 |  .S DA(1)=ST,DIC="^PRC(411,"_DA(1)_",8,",(DA,X)=XDA,DIC(0)="X",DINUM=X D FILE^DICN
 | 
|---|
 | 32 |  .L -^PRC(411,ST)
 | 
|---|
 | 33 |  K DIC
 | 
|---|
 | 34 |  ;remove user from inventory system
 | 
|---|
 | 35 |  S X="PRCPXTRM" X ^%ZOSF("TEST") D:$T=1 TERMUSER^PRCPXTRM(DA)
 | 
|---|
 | 36 |  K DA Q
 | 
|---|
 | 37 | USERIN ;restore terminated user to IFCAP
 | 
|---|
 | 38 |  N X,Y,YY,DIR,DIRUT,DUOUT,ENTRY,STA,OK
 | 
|---|
 | 39 |  S (ENTRY,STA,OK)=0 W !!
 | 
|---|
 | 40 |  S DIR(0)="P^200:EMZ",DIR("A")="Enter username",DIR("?")="Enter name in the format lastname,firstname"
 | 
|---|
 | 41 |  D ^DIR K DIR Q:$D(DIRUT)  W !!,"You have selected ",$P(Y,"^",2) S YY=+Y
 | 
|---|
 | 42 |  ;
 | 
|---|
 | 43 |  S DIR("A")="Do you wish to reinstate this user",DIR(0)="Y",DIR("B")="YES" D ^DIR K DIR Q:$D(DIRUT)  I Y=0 W !,"No action taken." G USERIN
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 |  F  S STA=$O(^PRC(420,"B",STA)) Q:STA=""  I $D(^PRC(411,STA,8,"B",YY,YY)) S ENTRY=YY D
 | 
|---|
 | 46 |  .S DA(1)=STA,DA=ENTRY L +^PRC(411,STA,8):3 E  W $C(7),!,"User is being edited by someone else and was not reinstated as an IFCAP user for station ",STA,"." Q
 | 
|---|
 | 47 |  .S DIK="^PRC(411,"_DA(1)_",8," D ^DIK K DIK,DIR
 | 
|---|
 | 48 |  .W !,"This user was reinstated as an IFCAP user for station ",STA,"."
 | 
|---|
 | 49 |  .S OK=1
 | 
|---|
 | 50 |  .L -^PRC(411,STA,8)
 | 
|---|
 | 51 |  I ENTRY=0 W !,"This user was never terminated from IFCAP." G USERIN
 | 
|---|
 | 52 |  I 'OK G USERIN
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 |  S DIR("A")="Is this user an A&MM employee",DIR(0)="Y",DIR("B")="YES" D ^DIR K DIR Q:$D(DIRUT)  I Y=1 D
 | 
|---|
 | 55 |  .S DIE="^VA(200,",DR="400;.135",DA=YY L +^VA(200,DA):3 E  W $C(7),!,"User is being edited by someone else and was not added as an A&MM employee." Q
 | 
|---|
 | 56 |  .D ^DIE K DIE
 | 
|---|
 | 57 |  .L -^VA(200,YY) W !?5,"To edit the Signature Block printed name or title, use TBOX"
 | 
|---|
 | 58 |  W !! G USERIN
 | 
|---|
 | 59 |  QUIT
 | 
|---|