| 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 | 
|---|