| [613] | 1 | ENPRUTL ;WISC/SAB-PROJECT TRACKING UTILITIES ;1/20/1998 | 
|---|
|  | 2 | ;;7.0;ENGINEERING;**28,49**;Aug 17, 1993 | 
|---|
|  | 3 | Q | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | PRDOM ; Determine Domain for project tracking transmissions | 
|---|
|  | 6 | S ENDOMAIN=$$GET1^DIQ(6910,1,101) | 
|---|
|  | 7 | I ENDOMAIN']"" W !,"Domain not found in PROJECT TRACKING ROLLUP DOMAIN (#101) field",!,"of the ENG INIT PARAMETERS (#6910) file. Transmission aborted!",!! R "Press RETURN to Continue",X:DTIME | 
|---|
|  | 8 | Q | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | FMS(ENDA) ; FMS # Extrinsic Function | 
|---|
|  | 11 | ; called from FMS # (# .05) computed field | 
|---|
|  | 12 | ; Input: DA - ien of construction project | 
|---|
|  | 13 | ; Returns: computed FMS # | 
|---|
|  | 14 | N ENFT,ENPR,ENX,ENY | 
|---|
|  | 15 | S ENX="",ENY=$G(^ENG("PROJ",ENDA,0)),ENPR=$P(ENY,U,6) | 
|---|
|  | 16 | I "^MA^MI^"[(U_ENPR_U) D | 
|---|
|  | 17 | . N ENFT,ENPN,ENPC | 
|---|
|  | 18 | . S ENPN=$P(ENY,U) | 
|---|
|  | 19 | . S ENFT("I")=$P($G(^ENG("PROJ",ENDA,52)),U,6) | 
|---|
|  | 20 | . S ENPC("C")=$S(ENFT("I")="VBA":"VB",ENFT("I")="NCS":"CM",1:"") | 
|---|
|  | 21 | . I ENPC("C")="" D | 
|---|
|  | 22 | . . S ENPC("I")=$P($G(^ENG("PROJ",ENDA,52)),U) | 
|---|
|  | 23 | . . S:ENPC("I") ENPC("C")=$P($G(^OFM(7336.8,ENPC("I"),0)),U,9) | 
|---|
|  | 24 | . I $G(ENPC("C"))'?2U S ENPC("C")="??" | 
|---|
|  | 25 | .S ENX=$P(ENPN,"-")_"-"_ENPC("C")_$S(ENPR="MA":2,1:3)_"-"_$P(ENPN,"-",2) | 
|---|
|  | 26 | Q ENX | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | MSL(ENDA) ; Milestone List Extrinsic Function | 
|---|
|  | 29 | ; ENDA - ien of construction project | 
|---|
|  | 30 | ; Returns value with pieces (true/false) which indicate applicability | 
|---|
|  | 31 | ; of the corresponding 22 milestones | 
|---|
|  | 32 | N ENAM,ENCM,ENCAF,ENPR,ENX | 
|---|
|  | 33 | S ENPR=$$GET1^DIQ(6925,ENDA,155,"I") ; program | 
|---|
|  | 34 | S ENAM=$$GET1^DIQ(6925,ENDA,7) ; design (a/e) method | 
|---|
|  | 35 | S ENCM=$$GET1^DIQ(6925,ENDA,8) ; construction method | 
|---|
|  | 36 | S ENCAF=$$GET1^DIQ(6925,ENDA,4) ; approved construction funding | 
|---|
|  | 37 | D MSLAP | 
|---|
|  | 38 | Q ENX | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | MSLAP ; set pieces of ENX for milestone applicability | 
|---|
|  | 41 | ; also called from ENPRF1 | 
|---|
|  | 42 | ; needs ENAM,ENCM,ENCAF,ENPR returns ENX | 
|---|
|  | 43 | N ENI | 
|---|
|  | 44 | S ENX="",$P(ENX,U,22)="" | 
|---|
|  | 45 | I "^MA^MI^"[(U_ENPR_U) F ENI=1,2 S $P(ENX,U,ENI)=1 | 
|---|
|  | 46 | I "^MA^MI^MM^NR^"[(U_ENPR_U) S $P(ENX,U,3)=1 | 
|---|
|  | 47 | I ENCM'="DESIGN/BUILD",ENAM'="VAMC" F ENI=4,5,6 S $P(ENX,U,ENI)=1 | 
|---|
|  | 48 | I "^MA^"[(U_ENPR_U),ENCM'="DESIGN/BUILD" F ENI=7,8 S $P(ENX,U,ENI)=1 | 
|---|
|  | 49 | I "^MA^MI^MM^"[(U_ENPR_U),ENCM'="DESIGN/BUILD" F ENI=9,10 S $P(ENX,U,ENI)=1 | 
|---|
|  | 50 | I "^MA^MI^MM^NR^SL^"[(U_ENPR_U) D | 
|---|
|  | 51 | . I ENCM'="DESIGN/BUILD" F ENI=11,12 S $P(ENX,U,ENI)=1 | 
|---|
|  | 52 | . I ENCAF'<500000 F ENI=13,16 S $P(ENX,U,ENI)=1 | 
|---|
|  | 53 | . I ENCAF'<500000 F ENI=14,17 S $P(ENX,U,ENI)=1 | 
|---|
|  | 54 | . I ENCM'="STATION LABOR",ENCM'="P&H" F ENI=15,18,19 S $P(ENX,U,ENI)=1 | 
|---|
|  | 55 | . F ENI=20,21,22 S $P(ENX,U,ENI)=1 | 
|---|
|  | 56 | Q | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | MSD(ENDA,ENPRIOR) ; Milestone Dates for Project | 
|---|
|  | 59 | ; Input Variables | 
|---|
|  | 60 | ;   ENDA - ien of project | 
|---|
|  | 61 | ;   ENPRIOR - (optional) flag, true if previous values also desired | 
|---|
|  | 62 | ; Output Variables | 
|---|
|  | 63 | ;   ENMS("%",milestone #) = % complete ("%0" for previous values) | 
|---|
|  | 64 | ;   ENMS("P",milestone #) = planned date ("P0" for previous values) | 
|---|
|  | 65 | ;   ENMS("R",milestone #) = revised date ("R0" for previous values) | 
|---|
|  | 66 | ;   ENMS("A",milestone #) = actual date ("A0" for previous values) | 
|---|
|  | 67 | K ENMS S ENPRIOR=$G(ENPRIOR) | 
|---|
|  | 68 | N ENI,ENP,ENY | 
|---|
|  | 69 | S ENP="" | 
|---|
|  | 70 | S ENY=$G(^ENG("PROJ",ENDA,1)) | 
|---|
|  | 71 | S ENMS("%",2)=$P(ENY,U,11) | 
|---|
|  | 72 | S ENMS("%",8)=$P(ENY,U,6) | 
|---|
|  | 73 | S ENMS("%",10)=$P(ENY,U,9) | 
|---|
|  | 74 | S ENMS("%",12)=$P(ENY,U,7) | 
|---|
|  | 75 | S ENMS("%",21)=$P(ENY,U,8) | 
|---|
|  | 76 | S ENY=$G(^ENG("PROJ",ENDA,2)) D N2 | 
|---|
|  | 77 | S ENY=$G(^ENG("PROJ",ENDA,3)) D N3 | 
|---|
|  | 78 | S ENY=$G(^ENG("PROJ",ENDA,4)) D N4 | 
|---|
|  | 79 | S ENY=$G(^ENG("PROJ",ENDA,50)) D N50 | 
|---|
|  | 80 | S ENY=$G(^ENG("PROJ",ENDA,51)) D N51 | 
|---|
|  | 81 | S ENY=$G(^ENG("PROJ",ENDA,56)) D N56 | 
|---|
|  | 82 | ; set n/a milestones blank | 
|---|
|  | 83 | ;S ENY=$$MSL(ENDA) F ENI=1:1:22 I '$P(ENY,U,ENI) D | 
|---|
|  | 84 | ;. S ENMS("P",ENI)="",ENMS("R",ENI)="",ENMS("A",ENI)="" | 
|---|
|  | 85 | ;. I $D(ENMS("%",ENI)) S ENMS("%",ENI)="" | 
|---|
|  | 86 | Q:'ENPRIOR | 
|---|
|  | 87 | S ENP="0" | 
|---|
|  | 88 | S ENY=$G(^ENG("PROJ",ENDA,60)) | 
|---|
|  | 89 | S ENMS("%0",2)=$P(ENY,U,21) | 
|---|
|  | 90 | S ENMS("%0",8)=$P(ENY,U,16) | 
|---|
|  | 91 | S ENMS("%0",10)=$P(ENY,U,19) | 
|---|
|  | 92 | S ENMS("%0",12)=$P(ENY,U,17) | 
|---|
|  | 93 | S ENMS("%0",21)=$P(ENY,U,18) | 
|---|
|  | 94 | S ENY=$G(^ENG("PROJ",ENDA,61)) D N2 | 
|---|
|  | 95 | S ENY=$G(^ENG("PROJ",ENDA,62)) D N3 | 
|---|
|  | 96 | S ENY=$G(^ENG("PROJ",ENDA,63)) D N4 | 
|---|
|  | 97 | S ENY=$G(^ENG("PROJ",ENDA,66)) D N50 | 
|---|
|  | 98 | S ENY=$G(^ENG("PROJ",ENDA,67)) D N51 | 
|---|
|  | 99 | S ENY=$G(^ENG("PROJ",ENDA,69)) D N56 | 
|---|
|  | 100 | ; set n/a milestones blank | 
|---|
|  | 101 | ;S ENY=$$MSL(ENDA) F ENI=1:1:22 I '$P(ENY,U,ENI) D | 
|---|
|  | 102 | ;. S ENMS("P0",ENI)="",ENMS("R0",ENI)="",ENMS("A0",ENI)="" | 
|---|
|  | 103 | ;. I $D(ENMS("%0",ENI)) S ENMS("%0",ENI)="" | 
|---|
|  | 104 | Q | 
|---|
|  | 105 | N2 ; | 
|---|
|  | 106 | F ENI=0:1:1 S ENMS("P"_ENP,7+ENI)=$P(ENY,U,2+ENI) | 
|---|
|  | 107 | F ENI=0:1:1 S ENMS("P"_ENP,11+ENI)=$P(ENY,U,4+ENI) | 
|---|
|  | 108 | F ENI=0:1:0 S ENMS("P"_ENP,15+ENI)=$P(ENY,U,6+ENI) | 
|---|
|  | 109 | F ENI=0:1:3 S ENMS("P"_ENP,18+ENI)=$P(ENY,U,7+ENI) | 
|---|
|  | 110 | Q | 
|---|
|  | 111 | N3 ; | 
|---|
|  | 112 | F ENI=0:1:1 S ENMS("R"_ENP,7+ENI)=$P(ENY,U,1+ENI) | 
|---|
|  | 113 | F ENI=0:1:1 S ENMS("R"_ENP,11+ENI)=$P(ENY,U,3+ENI) | 
|---|
|  | 114 | F ENI=0:1:0 S ENMS("R"_ENP,15+ENI)=$P(ENY,U,5+ENI) | 
|---|
|  | 115 | F ENI=0:1:3 S ENMS("R"_ENP,18+ENI)=$P(ENY,U,6+ENI) | 
|---|
|  | 116 | Q | 
|---|
|  | 117 | N4 ; | 
|---|
|  | 118 | F ENI=0:1:5 S ENMS("A"_ENP,3+ENI)=$P(ENY,U,1+ENI) | 
|---|
|  | 119 | F ENI=0:1:1 S ENMS("A"_ENP,11+ENI)=$P(ENY,U,7+ENI) | 
|---|
|  | 120 | F ENI=0:1:0 S ENMS("A"_ENP,15+ENI)=$P(ENY,U,9+ENI) | 
|---|
|  | 121 | F ENI=0:1:3 S ENMS("A"_ENP,18+ENI)=$P(ENY,U,10+ENI) | 
|---|
|  | 122 | F ENI=0:1:1 S ENMS("A"_ENP,9+ENI)=$P(ENY,U,14+ENI) | 
|---|
|  | 123 | Q | 
|---|
|  | 124 | N50 ; | 
|---|
|  | 125 | F ENI=0:1:1 S ENMS("P"_ENP,9+ENI)=$P(ENY,U,2+ENI) | 
|---|
|  | 126 | F ENI=0:1:0 S ENMS("P"_ENP,22+ENI)=$P(ENY,U,4+ENI) | 
|---|
|  | 127 | F ENI=0:1:2 S ENMS("R"_ENP,1+ENI)=$P(ENY,U,5+ENI) | 
|---|
|  | 128 | F ENI=0:1:5 S ENMS("P"_ENP,1+ENI)=$P(ENY,U,8+ENI) | 
|---|
|  | 129 | F ENI=0:1:2 S ENMS("R"_ENP,4+ENI)=$P(ENY,U,14+ENI) | 
|---|
|  | 130 | F ENI=0:1:1 S ENMS("R"_ENP,9+ENI)=$P(ENY,U,17+ENI) | 
|---|
|  | 131 | F ENI=0:1:0 S ENMS("R"_ENP,22+ENI)=$P(ENY,U,19+ENI) | 
|---|
|  | 132 | Q | 
|---|
|  | 133 | N51 ; | 
|---|
|  | 134 | F ENI=0:1:1 S ENMS("A"_ENP,1+ENI)=$P(ENY,U,1+ENI) | 
|---|
|  | 135 | F ENI=0:1:0 S ENMS("A"_ENP,22+ENI)=$P(ENY,U,3+ENI) | 
|---|
|  | 136 | Q | 
|---|
|  | 137 | N56 ; | 
|---|
|  | 138 | F ENI=0:1:1 S ENMS("P"_ENP,13+ENI)=$P(ENY,U,ENI*3+1) | 
|---|
|  | 139 | F ENI=0:1:1 S ENMS("P"_ENP,16+ENI)=$P(ENY,U,ENI*3+7) | 
|---|
|  | 140 | F ENI=0:1:1 S ENMS("R"_ENP,13+ENI)=$P(ENY,U,ENI*3+2) | 
|---|
|  | 141 | F ENI=0:1:1 S ENMS("R"_ENP,16+ENI)=$P(ENY,U,ENI*3+8) | 
|---|
|  | 142 | F ENI=0:1:1 S ENMS("A"_ENP,13+ENI)=$P(ENY,U,ENI*3+3) | 
|---|
|  | 143 | F ENI=0:1:1 S ENMS("A"_ENP,16+ENI)=$P(ENY,U,ENI*3+9) | 
|---|
|  | 144 | Q | 
|---|
|  | 145 | MS(ENI) ; Milestone Name Extrinsic Function | 
|---|
|  | 146 | ; Input ENI - index number for milestone (1-22) | 
|---|
|  | 147 | ; Returns name of milestone | 
|---|
|  | 148 | N ENX | 
|---|
|  | 149 | S ENX="" | 
|---|
|  | 150 | S:ENI ENX=$P($P($T(MSDATA+ENI),";;",2),U) | 
|---|
|  | 151 | Q ENX | 
|---|
|  | 152 | MSFP(ENI) ; Milestone Planned Field Number Extrinsic Function | 
|---|
|  | 153 | ; Input ENI - index number for milestone (1-22) | 
|---|
|  | 154 | ; Returns field number of milestone (planned) | 
|---|
|  | 155 | N ENX | 
|---|
|  | 156 | S ENX="" | 
|---|
|  | 157 | S:ENI ENX=$P($P($T(MSDATA+ENI),";;",2),U,2) | 
|---|
|  | 158 | Q ENX | 
|---|
|  | 159 | ; | 
|---|
|  | 160 | MSFR(ENI) ; Milestone Field Number Extrinsic Function | 
|---|
|  | 161 | ; Input ENI - index number for milestone (1-22) | 
|---|
|  | 162 | ; Returns field number of milestone (revised) | 
|---|
|  | 163 | N ENX | 
|---|
|  | 164 | S ENX="" | 
|---|
|  | 165 | S:ENI ENX=$P($P($T(MSDATA+ENI),";;",2),U,3) | 
|---|
|  | 166 | Q ENX | 
|---|
|  | 167 | ; | 
|---|
|  | 168 | MSFA(ENI) ; Milestone Field Number Extrinsic Function | 
|---|
|  | 169 | ; Input ENI - index number for milestone (1-22) | 
|---|
|  | 170 | ; Returns field number of milestone (actual) | 
|---|
|  | 171 | N ENX | 
|---|
|  | 172 | S ENX="" | 
|---|
|  | 173 | S:ENI ENX=$P($P($T(MSDATA+ENI),";;",2),U,4) | 
|---|
|  | 174 | Q ENX | 
|---|
|  | 175 | ; | 
|---|
|  | 176 | MSDATA ;; | 
|---|
|  | 177 | 1 ;;Design Program Start^20^34^49 | 
|---|
|  | 178 | 2 ;;Design Program Compl^20.1^34.1^49.1 | 
|---|
|  | 179 | 3 ;;Authorized^^^50 | 
|---|
|  | 180 | 4 ;;Advertise for A/E^20.3^34.3^51 | 
|---|
|  | 181 | 5 ;;Select A/E^20.4^34.4^52 | 
|---|
|  | 182 | 6 ;;A/E Award^20.5^34.5^53 | 
|---|
|  | 183 | 7 ;;Start Schematics^21^35^54 | 
|---|
|  | 184 | 8 ;;Complete Schematics^22^36^55 | 
|---|
|  | 185 | 9 ;;Start Design Dev.^22.5^36.1^55.5 | 
|---|
|  | 186 | 10 ;;Compl. Design Dev.^22.6^36.2^55.6 | 
|---|
|  | 187 | 11 ;;Start/Award CD^23^37^56 | 
|---|
|  | 188 | 12 ;;Complete CD^24^38^57 | 
|---|
|  | 189 | 13 ;;Start L/T Review^24.4^38.4^57.4 | 
|---|
|  | 190 | 14 ;;Start Audit Review^24.6^38.6^57.6 | 
|---|
|  | 191 | 15 ;;Issue IFB/SBA^25^39^58 | 
|---|
|  | 192 | 16 ;;Compl. L/T Review^25.4^39.4^58.4 | 
|---|
|  | 193 | 17 ;;Compl. Audit Review^25.6^39.6^58.6 | 
|---|
|  | 194 | 18 ;;Bid Open/Negotiation^26^40^59 | 
|---|
|  | 195 | 19 ;;Construction Award^27^41^60 | 
|---|
|  | 196 | 20 ;;Construction Start^28^42^61 | 
|---|
|  | 197 | 21 ;;Const. Complete^29^43^62 | 
|---|
|  | 198 | 22 ;;Activation^30^44^63 | 
|---|
|  | 199 | ;ENPRUTL | 
|---|