| 1 | PRCSES ;WISC/SAW-SUB-MODULES CALLED BY FIELDS IN CONTROL POINT ACT. FILE ;1/20/98 3:07 PM [7/14/98 3:04pm]
 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  W !,"Major budget object code classifications are:"
 | 
|---|
| 5 |  W !,"10 thru 13 - Personal Services and Benefits"
 | 
|---|
| 6 |  W !,"        21 - Travel and Transportation of Persons"
 | 
|---|
| 7 |  W !,"        22 - Transportation of Things"
 | 
|---|
| 8 |  W !,"        23 - Rent, Communications, and Utilities"
 | 
|---|
| 9 |  W !,"        24 - Printing and Reproduction"
 | 
|---|
| 10 |  W !,"        25 - Other Services"
 | 
|---|
| 11 |  W !,"        26 - Supplies and Materials"
 | 
|---|
| 12 |  W !,"31 thru 33 - Acquisition of Capital Assets",!
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 | SUB ;INPUT TRANSFORM FOR BOC FIELD
 | 
|---|
| 15 |  S Z0=$S($D(^PRCS(410,DA(1),3)):+$P(^(3),"^",3),1:0)
 | 
|---|
| 16 | SUB1 I 'Z0!('$D(^PRCD(420.1,Z0,1,0))) K Z0,X Q
 | 
|---|
| 17 |  S DIC="^PRCD(420.1,Z0,1,",DIC(0)="EMQZ" D ^DIC I +Y'>0 K DIC,X,Z0 Q
 | 
|---|
| 18 |  S X=+$P(Y(0),"^") I '$D(^PRCD(420.2,X,0)) K DIC,X,Z0 Q
 | 
|---|
| 19 |  S (PRCS("SUB"),X)=$E($P(^PRCD(420.2,X,0),"^"),1,30) K DIC,Z0 Q
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | VENDOR ;INPUT TRANSFORM FOR VENDOR FIELD
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 |  N IEN,LOOP,OK,PRCX,PRCY,NAME,N9,RV,RVX
 | 
|---|
| 24 |  K:X[""""!($A(X)=45)!($L(X)>30)!($L(X)<1)!((X?1P.E&'((X?1"`"1.N)!(X?1"**".E)))) X
 | 
|---|
| 25 |  W:'$D(X) !,$C(7),"The vendor name must be between 1 and 30 characters long,",!,"without a leading punctuation mark."
 | 
|---|
| 26 |  Q:'$D(X)
 | 
|---|
| 27 |  I $P(^PRCS(410,DA,0),"^",4)=5 D ISS Q:'$D(X)  G VENDOR2
 | 
|---|
| 28 |  S PRCX=X
 | 
|---|
| 29 | AGAIN I $G(RV)>0 S NAME=$P($G(^PRC(440,RV,0)),U)
 | 
|---|
| 30 |  I $G(RV)'>0 S X=PRCX
 | 
|---|
| 31 |  S Z("Z")=1
 | 
|---|
| 32 |  I $P(^PRCS(410,DA,0),"^",4)=3,$D(^(10)),$P(^(10),"^") D  K X Q
 | 
|---|
| 33 |  .  W !,$C(7),"This is a repetitive item type of request."
 | 
|---|
| 34 |  .  W !,"Cancel this request if you wish to order from a different vendor."
 | 
|---|
| 35 |  .  Q
 | 
|---|
| 36 |  K DIC
 | 
|---|
| 37 |  K Y
 | 
|---|
| 38 |  K Y(0)
 | 
|---|
| 39 |  S Z(1)=$G(X)
 | 
|---|
| 40 |  S DIC="^PRC(440,"
 | 
|---|
| 41 |  S DIC(0)=$S($G(RV)>0:"EMQZ",1:"EMZ")
 | 
|---|
| 42 |  S:$G(RV)>0 X="`"_RV
 | 
|---|
| 43 |  S DIC("S")="I '$D(^PRC(440,""AC"",""S"",+Y))"
 | 
|---|
| 44 |  D ^DIC
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  ; QUIT IF USER TIMES OUT OR '^'s OUT.
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 |  I $D(DTOUT)!($D(DUOUT)) S X="^" Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  K:Y<0 X,RV
 | 
|---|
| 51 |  S IEN=Y
 | 
|---|
| 52 |  S PRCY(0)=$G(Y(0))
 | 
|---|
| 53 |  K:+IEN>0 OK,RV
 | 
|---|
| 54 |  D:+IEN>0 INACT
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ; ACTIVE VENDOR
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 |  I $G(OK)=1 G VENDOR2
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ; INACTIVE VENDOR WITH REPLACEMENT VENDOR
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 |  I $G(LOOP)=1!($G(RV)>0) K X,IEN,PRCY(0),DIC G AGAIN
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  ; NO VENDOR SELECTED
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 |  I +IEN'>0 D
 | 
|---|
| 67 |  .  S X=Z(1)
 | 
|---|
| 68 |  .  K Z(1)
 | 
|---|
| 69 |  .  I $D(^PRCS(410,DA,3)),$P(^(3),U,4)'="" S $P(^(3),"^",4)=""
 | 
|---|
| 70 |  .  Q
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  ; INACTIVE VENDOR WOTHOUT A REPLACEMENT VENDOR
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 |  I $G(RV)=0 D  Q
 | 
|---|
| 75 |  .  K X
 | 
|---|
| 76 |  .  K Z(1)
 | 
|---|
| 77 |  .  I $D(^PRCS(410,DA,3)),$P(^(3),U,4)'="" S $P(^(3),"^",4)=""
 | 
|---|
| 78 |  .  Q
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | VENDOR1 I +IEN'>0 W !,"INVALID SELECTION OR NOT IN VENDOR FILE. ARE YOU SURE",$C(7) S %=2 D YN^DICN G VENDOR1:%=0 K:%'=1 X W:%=1 !!,"Enter information for new vendor"
 | 
|---|
| 81 |  ;
 | 
|---|
| 82 | VENDOR2 I +IEN>0 D
 | 
|---|
| 83 |  .  S Z(1)="@1"
 | 
|---|
| 84 |  .  S X=$P(PRCY(0),U)
 | 
|---|
| 85 |  .  S ^PRCS(410,DA,2)=$P(PRCY(0),U,1,10)
 | 
|---|
| 86 |  .  S $P(^PRCS(410,DA,3),"^",4)=+IEN
 | 
|---|
| 87 |  .  Q
 | 
|---|
| 88 |  K %
 | 
|---|
| 89 |  K DIC
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 | ISS S IEN=$O(^PRC(440,"AC","S",0))
 | 
|---|
| 93 |  S PRCY(0)=$S($D(^PRC(440,+IEN,0)):^(0),1:"")
 | 
|---|
| 94 |  S X=$P(PRCY(0),"^")
 | 
|---|
| 95 |  I 'IEN!(PRCY(0)="") D  K X Q
 | 
|---|
| 96 |  .  W $C(7),"A&MM MUST enter the A&MM Warehouse as a vendor before you can place an"
 | 
|---|
| 97 |  .  W !,"Issue Book request."
 | 
|---|
| 98 |  .  Q
 | 
|---|
| 99 |  W !,"Issue Book Requests will automatically be ordered from",!,X,!
 | 
|---|
| 100 |  Q
 | 
|---|
| 101 |  ;
 | 
|---|
| 102 | INACT ; CHECK IF THE VENDOR SELECTED IS INACTIVE.
 | 
|---|
| 103 |  ; IF INACTIVE, SEE IF THERE IS A REPLACEMENT VENDOR.
 | 
|---|
| 104 |  ; IF THERE IS AN ACTIVE REPLACEMENT VENDOR SUGGEST THAT VENDOR
 | 
|---|
| 105 |  ; TO THE USER.
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 |  ; VARIABLES 'OK' AND 'RV' ARE UNDEFINED WHEN ENTERING 'INACT'.
 | 
|---|
| 108 |  ;
 | 
|---|
| 109 |  ; DIFFERENT OUTCOMES FROM INACT, AND OUTPUT VARIABLES.
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 |  ;         CONDITION                         OUTPUT
 | 
|---|
| 112 |  ; VENDOR SELECTED BY USER IS ACTIVE.     'OK' SET TO 1
 | 
|---|
| 113 |  ; VENDOR SELECTED BY USER IS INACTIVE,
 | 
|---|
| 114 |  ;        NO REPLACEMENT VENDOR AT END    'RV' SET TO 0
 | 
|---|
| 115 |  ;        OF CHAIN.                       'LOOP' SET TO 1
 | 
|---|
| 116 |  ; VENDOR SELECTED BY USER IS INACTIVE,
 | 
|---|
| 117 |  ;        REPLACEMENT VENDOR AT END OF    'RV' SET TO SUBSTITUTE
 | 
|---|
| 118 |  ;        CHAIN.                          VENDOR IEN
 | 
|---|
| 119 |  ;                                        'LOOP' SET TO 1
 | 
|---|
| 120 |  ;
 | 
|---|
| 121 |  S N10=$G(^PRC(440,+IEN,10))
 | 
|---|
| 122 |  I N10="" S OK=1 Q
 | 
|---|
| 123 |  I $P(N10,U,5)="" S OK=1 Q
 | 
|---|
| 124 |  S N9=$G(^PRC(440,+IEN,9))
 | 
|---|
| 125 |  S RV=+N9
 | 
|---|
| 126 |  I RV=+IEN S LOOP=1,RV=0
 | 
|---|
| 127 |  W !!,"The VENDOR you have chosen is Inactivated."
 | 
|---|
| 128 |  W:RV'>0 !,"You need to select an active vendor.",!!
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 |  ;QUIT IF A REPLACEMENT VENDOR POINTS TO ITSELF
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 |  S LOOP=""
 | 
|---|
| 133 |  F  Q:RV=0  S IVCK=$P($G(^PRC(440,RV,10)),U,5) Q:IVCK=""  D  Q:LOOP=1
 | 
|---|
| 134 |  .  S RVX=$G(^PRC(440,RV,9))
 | 
|---|
| 135 |  .  I RVX'>0 S LOOP=1 Q
 | 
|---|
| 136 |  .  I RV=RVX S LOOP=1 Q
 | 
|---|
| 137 |  .  S RV=RVX
 | 
|---|
| 138 |  .  Q
 | 
|---|
| 139 |  ;
 | 
|---|
| 140 |  ;PAUSE IF THERE IS NO REPLACEMENT VENDOR TO ALLOW USER TO SEE MESSAGE
 | 
|---|
| 141 |  ;
 | 
|---|
| 142 |  I RV'>0 D
 | 
|---|
| 143 |  .  S DIR(0)="E"
 | 
|---|
| 144 |  .  S DIR("A")="Press the return key to continue"
 | 
|---|
| 145 |  .  D ^DIR
 | 
|---|
| 146 |  .  Q
 | 
|---|
| 147 |  W:RV>0 !,"Here is the suggested REPLACEMENT VENDOR.",!!
 | 
|---|
| 148 |  Q
 | 
|---|
| 149 |  ;
 | 
|---|
| 150 | CC ;INPUT TRANSFORM FOR COST CENTER
 | 
|---|
| 151 |  N Z1 S Z0=$P(^PRCS(410,DA,0),"^",5),Z1=$S($D(^(3)):+$P(^(3),"^"),1:0) I 'Z0!('Z1) K X G CC1
 | 
|---|
| 152 |  I '$D(^PRC(420,Z0,1,0))!('$D(^PRC(420,Z0,1,Z1,2,0))) K X G CC1
 | 
|---|
| 153 |  S DIC="^PRC(420,Z0,1,Z1,2,",DIC(0)="QEMZ" D ^DIC I +Y'>0 K X G CC1
 | 
|---|
| 154 |  S X=$P(Y(0),"^") I '$D(^PRCD(420.1,X,0)) K X G CC1
 | 
|---|
| 155 |  S X=$E($P(^PRCD(420.1,X,0),"^"),1,30)
 | 
|---|
| 156 | CC1 K DIC,Z0,Z1 Q
 | 
|---|
| 157 | TRANS ;SET FOR X-REF ON TRANS $ AMT FIELD
 | 
|---|
| 158 |  G TRANS^PRCSEZ
 | 
|---|
| 159 | TRANS1 G TRANS1^PRCSEZ
 | 
|---|
| 160 | TRANK ;KILL FOR X-REF ON TRANS $ AMT FIELD
 | 
|---|
| 161 |  G TRANK^PRCSEZ
 | 
|---|
| 162 | TRANK1 G TRANK1^PRCSEZ
 | 
|---|
| 163 | STATUS ;COMPUTES STATUS OF PO FOR FIELD 54, FILE 410
 | 
|---|
| 164 |  S X="",Y(410)=$S($D(^PRCS(410,D0,10)):$P(^(10),"^",3),1:"")
 | 
|---|
| 165 |  I $D(^PRC(443,D0,0)) S Y(411)=$P(^(0),"^",7) I Y(411),$D(^PRCD(442.3,Y(411),0)) S X=$P(^(0),"^")
 | 
|---|
| 166 |  I Y(410),$D(^PRC(442,Y(410),7)) S Y(410)=$P(^(7),"^") I Y(410),$D(^PRCD(442.3,Y(410),0)) S X=$P(^(0),"^")
 | 
|---|
| 167 |  K Y(410),Y(411) Q
 | 
|---|