| 1 | ENPLS ;WISC/SAB-SELECT PROJECTS ;8/17/95
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**23**;Aug 17, 1993
 | 
|---|
| 3 | EN(ENTY,ENLK) ; Entry Point
 | 
|---|
| 4 |  ; input variables
 | 
|---|
| 5 |  ;   (optional) ENTY - type of projects (F,A,R)
 | 
|---|
| 6 |  ;   (optional) ENLK - true if selected projects should be locked
 | 
|---|
| 7 |  ; output variables
 | 
|---|
| 8 |  ;   ^TMP($J,"L")=project count^current year of FYFP if ENTY="F"
 | 
|---|
| 9 |  ;   ^TMP($J,"L",project number)=ien
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  N ENC,ENDA,ENFY,ENPN,ENSEL,ENSN
 | 
|---|
| 12 |  K ^TMP($J,"L")
 | 
|---|
| 13 |  I "^F^A^R^"'[(U_$G(ENTY)_U) S ENTY="",ENSEL=1
 | 
|---|
| 14 |  S ENLK=$G(ENLK)
 | 
|---|
| 15 |  I ENTY]"" D  G:$D(DIRUT) EXIT S ENSEL=Y
 | 
|---|
| 16 |  . S DIR("A")="Choose method of project selection"
 | 
|---|
| 17 |  . S DIR(0)="S^1:INDIVIDUAL PROJECTS"
 | 
|---|
| 18 |  . S:ENTY="F" DIR(0)=DIR(0)_";2:FROM LIST OF FYFP PROJECTS RETURNED TO SITE"
 | 
|---|
| 19 |  . S:ENTY="F" DIR(0)=DIR(0)_";3:ALL PROJECTS IN FIVE YEAR FACILITY PLAN"
 | 
|---|
| 20 |  . S:ENTY="A" DIR(0)=DIR(0)_";2:FROM LIST OF PROJECT APPLICATIONS RETURNED TO SITE"
 | 
|---|
| 21 |  . S:ENTY="A" DIR(0)=DIR(0)_";3:SELECTED PROJECTS FROM PROGRAM-YEAR LIST"
 | 
|---|
| 22 |  . S:ENTY="R" DIR(0)=DIR(0)_";2:ALL PROJECTS WITH MONTHLY UPDATES = YES"
 | 
|---|
| 23 |  . D ^DIR K DIR
 | 
|---|
| 24 |  ; need year for FYFP
 | 
|---|
| 25 |  I ENTY="F" D  G:$D(DIRUT) EXIT
 | 
|---|
| 26 |  . S DIR(0)="N^1993:2099:0",DIR("A")="Budget Year of 5-Yr Plan"
 | 
|---|
| 27 |  . S DIR("?")="Enter the 4-digit Budget Year of the Plan"
 | 
|---|
| 28 |  . S DIR("B")=$E(17000000+DT,1,4)+$S($E(DT,4,7)>0600:2,1:1)
 | 
|---|
| 29 |  . D ^DIR K DIR Q:$D(DIRUT)
 | 
|---|
| 30 |  . S ENFY=Y-1
 | 
|---|
| 31 |  I ENSEL=1 D  I $D(DTOUT)!$D(DUOUT) D:ENLK UNLOCK K ^TMP($J,"L") G EXIT
 | 
|---|
| 32 |  . ; individual projects chosen
 | 
|---|
| 33 |  . S ENC=0
 | 
|---|
| 34 |  . S DIC=6925,DIC(0)="AQEM",DIC("A")="Select PROJECT NUMBER: "
 | 
|---|
| 35 |  . F  D ^DIC Q:Y'>0  S ENDA=+Y  D
 | 
|---|
| 36 |  . . S ENPN=$P($G(^ENG("PROJ",ENDA,0)),U) Q:ENPN']""
 | 
|---|
| 37 |  . . I ENLK L +^ENG("PROJ",ENDA):10 I '$T W !,"Another user is editing this project. Can't select.",$C(7) Q 
 | 
|---|
| 38 |  . . S ^TMP($J,"L",ENPN)=+Y,ENC=ENC+1
 | 
|---|
| 39 |  . K DIC
 | 
|---|
| 40 |  . S:ENC ^TMP($J,"L")=ENC_$S(ENTY="F":U_ENFY,1:"")
 | 
|---|
| 41 |  I ENTY="F",ENSEL=2 D RET,LOCK:ENLK ; returned FYFP projects
 | 
|---|
| 42 |  I ENTY="F",ENSEL=3 D  G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT) EXIT D:ENLK LOCK
 | 
|---|
| 43 |  . ; FYFP projects chosen
 | 
|---|
| 44 |  . S DIC="^DIC(4,",DIC(0)="AEMQ",DIC("B")=$P($G(^DIC(6910,1,0)),U,2)
 | 
|---|
| 45 |  . D ^DIC K DIC I Y<1!$D(DTOUT)!$D(DUOUT) Q
 | 
|---|
| 46 |  . S ENSN=$E($$GET1^DIQ(4,+Y_",",99),1,3)
 | 
|---|
| 47 |  . D FYFP^ENPLS1(ENSN,ENFY)
 | 
|---|
| 48 |  I ENTY="A",ENSEL=2 D RET,LOCK:ENLK ; returned project applications
 | 
|---|
| 49 |  I ENTY="A",ENSEL=3 D PYLIST^ENPLS2,LOCK:ENLK ; program,year project list
 | 
|---|
| 50 |  I ENTY="R",ENSEL=2 D  D LOCK:ENLK
 | 
|---|
| 51 |  . ; monthly updates chosen
 | 
|---|
| 52 |  . S (ENC,ENDA)=0 F  S ENDA=$O(^ENG("PROJ",ENDA)) Q:'ENDA  D
 | 
|---|
| 53 |  . . S ENPN=$$GET1^DIQ(6925,ENDA_",",.01) Q:ENPN=""
 | 
|---|
| 54 |  . . I $$GET1^DIQ(6925,ENDA_",",2.5)="YES" S ^TMP($J,"L",ENPN)=ENDA,ENC=ENC+1
 | 
|---|
| 55 |  . S:ENC ^TMP($J,"L")=ENC
 | 
|---|
| 56 |  I '$D(^TMP($J,"L")) W !,"No projects selected!",$C(7) G EXIT
 | 
|---|
| 57 | EXIT ; Exit
 | 
|---|
| 58 |  K DIC,DIR,DIRUT,DTOUT,DUOUT,DIROUT,X,Y
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 | RET ; Select from Returned projects
 | 
|---|
| 61 |  N ENACL,ENC,ENDA,ENFLD,ENI,ENJ,ENK,ENPN,ENPR,ENY,ENY0
 | 
|---|
| 62 |  K ^TMP($J,"R")
 | 
|---|
| 63 |  S ENFLD=$S(ENTY="F":181.1,ENTY="A":251,1:"")
 | 
|---|
| 64 |  ; find,sort returned projects
 | 
|---|
| 65 |  S ENDA=0
 | 
|---|
| 66 |  F  S ENDA=$O(^ENG("PROJ",ENDA)) Q:'ENDA  D
 | 
|---|
| 67 |  . Q:$$GET1^DIQ(6925,ENDA_",",ENFLD)'="RETURNED TO SITE"
 | 
|---|
| 68 |  . S ENY0=$G(^ENG("PROJ",ENDA,0)) Q:$P(ENY0,U)=""!($P(ENY0,U,6)="")
 | 
|---|
| 69 |  . S ^TMP($J,"R",$P(ENY0,U,6),$P(ENY0,U))=$P(ENY0,U)_U_$P(ENY0,U,6)_U_$P(ENY0,U,3)_U_ENDA
 | 
|---|
| 70 |  I '$D(^TMP($J,"R")) W !!,"No 'Returned' Projects Found!",! G RETEX
 | 
|---|
| 71 |  S ENI=0,ENPR=""
 | 
|---|
| 72 |  F  S ENPR=$O(^TMP($J,"R",ENPR)) Q:ENPR=""  S ENPN="" F  S ENPN=$O(^TMP($J,"R",ENPR,ENPN)) Q:ENPN=""  S ENI=ENI+1,^TMP($J,"SCR",ENI)=^(ENPN)
 | 
|---|
| 73 |  S:ENTY="F" ^TMP($J,"SCR")=ENI_U_"RETURNED Five Year Plan Projects"
 | 
|---|
| 74 |  S:ENTY="A" ^TMP($J,"SCR")=ENI_U_"RETURNED Project Applications"
 | 
|---|
| 75 |  S ^TMP($J,"SCR",0)="5;11;PROJECT #^19;7;PROGRAM^29;50;TITLE"
 | 
|---|
| 76 |  D ^ENPLS2
 | 
|---|
| 77 |  ; save selected projects (if any)
 | 
|---|
| 78 |  S ENC=0,ENJ="" F  S ENJ=$O(ENACL(ENJ)) Q:ENJ=""  D
 | 
|---|
| 79 |  . F ENK=1:1 S ENI=$P(ENACL(ENJ),",",ENK) Q:ENI=""  D
 | 
|---|
| 80 |  . . S ENY=^TMP($J,"SCR",ENI),^TMP($J,"L",$P(ENY,U))=$P(ENY,U,4),ENC=ENC+1
 | 
|---|
| 81 |  S:ENC ^TMP($J,"L")=ENC_$S(ENTY="F":U_ENFY,1:"")
 | 
|---|
| 82 | RETEX ; exit
 | 
|---|
| 83 |  K ^TMP($J,"R"),^TMP($J,"SCR")
 | 
|---|
| 84 |  Q
 | 
|---|
| 85 | LOCK ; Lock List
 | 
|---|
| 86 |  N ENDA,ENDEL,ENPN
 | 
|---|
| 87 |  S ENDEL=0
 | 
|---|
| 88 |  S ENPN="" F  S ENPN=$O(^TMP($J,"L",ENPN)) Q:ENPN=""  D
 | 
|---|
| 89 |  . S ENDA=$P(^TMP($J,"L",ENPN),U)
 | 
|---|
| 90 |  . L +^ENG("PROJ",ENDA):10 I '$T S ENDEL=1 W !,"Project ",ENPN," is currently being edited!"
 | 
|---|
| 91 |  I ENDEL D UNLOCK K ^TMP($J,"L")
 | 
|---|
| 92 |  Q
 | 
|---|
| 93 | UNLOCK ; Unlock List
 | 
|---|
| 94 |  N ENDA,ENPN
 | 
|---|
| 95 |  S ENPN="" F  S ENPN=$O(^TMP($J,"L",ENPN)) Q:ENPN=""  D
 | 
|---|
| 96 |  . S ENDA=$P(^TMP($J,"L",ENPN),U)
 | 
|---|
| 97 |  . L -^ENG("PROJ",ENDA)
 | 
|---|
| 98 |  Q
 | 
|---|
| 99 |  ;ENPLS
 | 
|---|