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