| [613] | 1 | ENPLS1 ;(WASH ISC)/SAB-DETERMINE PROJECTS ON FYFP ;5/24/95 | 
|---|
|  | 2 | ;;7.0;ENGINEERING;**23**;Aug 17, 1993 | 
|---|
|  | 3 | FYFP(ENSN,ENFY,ENFYB,ENFYE,ENDV,ENRET) ; Five Year Facility Plan Projects | 
|---|
|  | 4 | ; Selects construction and lease projects which are part of the FYFP | 
|---|
|  | 5 | ; based on station, funding years, division, and status. | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | ; required | 
|---|
|  | 8 | ;   ENSN  - station number | 
|---|
|  | 9 | ;   ENFY  - current year of FYFP (budget year - 1) | 
|---|
|  | 10 | ; optional | 
|---|
|  | 11 | ;   ENBYB - beginning offset from current year (default 0) | 
|---|
|  | 12 | ;   ENBYE - ending offset from current year (default F) | 
|---|
|  | 13 | ;   ENDV  - division screen or * for all (default *) | 
|---|
|  | 14 | ;   ENRET - contains array code(s) to return (default L) | 
|---|
|  | 15 | ;     L return projects by number | 
|---|
|  | 16 | ;       ^TMP($J,"L")=count^current year of FYFP | 
|---|
|  | 17 | ;       ^TMP($J,"L",number)=ien | 
|---|
|  | 18 | ;     Y return projects in fiscal year format | 
|---|
|  | 19 | ;       ^TMP($J,"Y",fiscal year or "F",program,number) | 
|---|
|  | 20 | ;         =ien^a/e this year^const this year | 
|---|
|  | 21 | ;     E return projects with equipment over $250K | 
|---|
|  | 22 | ;       ^TMP($J,"E",program,fiscal year,number)=ien | 
|---|
|  | 23 | N ENC,ENDA,ENIDX,ENPN,ENPR,ENPY,ENSTAT,ENSTC,ENSTL,ENX,ENY0,ENYR | 
|---|
|  | 24 | S:$G(ENFYB)="" ENFYB=0 | 
|---|
|  | 25 | S:$G(ENFYE)="" ENFYE="F" | 
|---|
|  | 26 | S:$G(ENDV)="" ENDV="*" | 
|---|
|  | 27 | S:$G(ENRET)="" ENRET="L" | 
|---|
|  | 28 | I ENRET["L" K ^TMP($J,"L") S ENC=0 | 
|---|
|  | 29 | I ENRET["Y" K ^TMP($J,"Y") | 
|---|
|  | 30 | I ENRET["E" K ^TMP($J,"E") | 
|---|
|  | 31 | Q:$G(ENSN)="" | 
|---|
|  | 32 | Q:$G(ENFY)="" | 
|---|
|  | 33 | I ENFYB="F",ENFYE'="F" Q | 
|---|
|  | 34 | I ENFYE'="F",ENFYB>ENFYE Q | 
|---|
|  | 35 | ; find current and plan year projects | 
|---|
|  | 36 | I ENFYB'="F" F ENYR=ENFY+ENFYB:1:ENFY+$S(ENFYE="F":5,1:ENFYE) D | 
|---|
|  | 37 | . S ENPY=ENYR | 
|---|
|  | 38 | . S ENSTC=$S(ENFY=ENYR:";6;8;9;10;11;12;13;14;15;",ENFY<ENYR:";3;5;6;8;9;10;11;12;",1:"") ; construction status list | 
|---|
|  | 39 | . S ENSTL=$S(ENFY=ENYR:"",ENFY<ENYR:";3;5;",1:"") ; lease status list | 
|---|
|  | 40 | . F ENIDX="F","G","L" D FYIDX | 
|---|
|  | 41 | ; find future year projects | 
|---|
|  | 42 | I ENFYE="F" S ENPY="F" F ENIDX="F","G","L" D | 
|---|
|  | 43 | . S ENSTC=";3;5;6;8;9;10;11;12;" ; construction status list | 
|---|
|  | 44 | . S ENSTL=";3;5;" ; lease status list | 
|---|
|  | 45 | . S ENYR=ENFY+5 | 
|---|
|  | 46 | . F  S ENYR=$O(^ENG("PROJ",ENIDX,ENYR)) Q:ENYR=""  D FYIDX | 
|---|
|  | 47 | I ENRET["L",ENC S ^TMP($J,"L")=ENC_U_ENFY | 
|---|
|  | 48 | Q | 
|---|
|  | 49 | FYIDX ; Get Projects for a Funding Year A/E or CONST or RENT STARTS | 
|---|
|  | 50 | S ENDA="" F  S ENDA=$O(^ENG("PROJ",ENIDX,ENYR,ENDA)) Q:ENDA=""  D | 
|---|
|  | 51 | . S ENY0=$G(^ENG("PROJ",ENDA,0)) | 
|---|
|  | 52 | . S ENPN=$P(ENY0,U) I ENPN="" Q | 
|---|
|  | 53 | . S ENPR=$P(ENY0,U,6) | 
|---|
|  | 54 | . I $P(ENPN,"-")'=ENSN Q | 
|---|
|  | 55 | . I "FG"[ENIDX,"^MA^MI^MM^NR^"'[(U_ENPR_U) Q | 
|---|
|  | 56 | . I "L"[ENIDX,"^LE^"'[(U_ENPR_U) Q | 
|---|
|  | 57 | . I ENDV'="*",ENDV'=$P($G(^ENG("PROJ",ENDA,15)),U) Q | 
|---|
|  | 58 | . S ENSTAT=$P($G(^ENG("PROJ",ENDA,1)),U,3) | 
|---|
|  | 59 | . I "^MA^MI^MM^NR^"[(U_ENPR_U),ENSTC'[(";"_ENSTAT_";") Q | 
|---|
|  | 60 | . I "^LE^"[(U_ENPR_U),ENSTL'[(";"_ENSTAT_";") Q | 
|---|
|  | 61 | . I ENRET["L",'$D(^TMP($J,"L",ENPN)) S ^TMP($J,"L",ENPN)=ENDA,ENC=ENC+1 | 
|---|
|  | 62 | . I ENRET["Y" D | 
|---|
|  | 63 | . . S ENX=$G(^TMP($J,"Y",ENPY,ENPR,ENPN)) | 
|---|
|  | 64 | . . S $P(ENX,U)=ENDA | 
|---|
|  | 65 | . . S:ENIDX="F" $P(ENX,U,2)=1 | 
|---|
|  | 66 | . . S:ENIDX="G" $P(ENX,U,3)=1 | 
|---|
|  | 67 | . . S ^TMP($J,"Y",ENPY,ENPR,ENPN)=ENX | 
|---|
|  | 68 | . I ENRET["E",ENPY'="F",ENFY'=ENYR,"GL"[ENIDX,$O(^ENG("PROJ",ENDA,25,0)) S ^TMP($J,"E",ENPR,ENPY,ENPN)=ENDA | 
|---|
|  | 69 | Q | 
|---|
|  | 70 | ;ENPLS1 | 
|---|