| 1 | ENPLS2 ;WISC/SAB - Select Items from List ;7/21/95
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**23**;Aug 17, 1993
 | 
|---|
| 3 | EN ; entry point
 | 
|---|
| 4 |  ; input global
 | 
|---|
| 5 |  ;   ^TMP($J,"SCR)=number of entries in list^screen title
 | 
|---|
| 6 |  ;   ^TMP($J,"SCR",0)=col 1 x pos;col 1 hdr^...^col n x pos;col n hdr
 | 
|---|
| 7 |  ;   ^TMP($J,"SCR",id)=col 1 value^col 2 value^...^col n value
 | 
|---|
| 8 |  ; output
 | 
|---|
| 9 |  ;    optional ENACL( selected items
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  ; initialize variables
 | 
|---|
| 12 |  N ENI,ENID,ENF,ENI,ENS,ENX,ENY
 | 
|---|
| 13 |  K ENACL
 | 
|---|
| 14 |  S $P(ENF("DASH"),"-",80)=""
 | 
|---|
| 15 |  ; get screen info
 | 
|---|
| 16 |  S ENX=^TMP($J,"SCR")
 | 
|---|
| 17 |  S ENF("IDM")=$P(ENX,U)
 | 
|---|
| 18 |  S ENF("HD")=$P(ENX,U,2)
 | 
|---|
| 19 |  ; get column info
 | 
|---|
| 20 |  S ENX=^TMP($J,"SCR",0),ENF("CM")=0
 | 
|---|
| 21 |  F ENI=1:1 S ENY=$P(ENX,U,ENI) Q:ENY=""  D
 | 
|---|
| 22 |  . S ENF("CM")=ENF("CM")+1
 | 
|---|
| 23 |  . S ENF("C"_ENI,"X")=$P(ENY,";",1)
 | 
|---|
| 24 |  . S ENF("C"_ENI,"L")=$P(ENY,";",2)
 | 
|---|
| 25 |  . S ENF("C"_ENI,"HD")=$P(ENY,";",3)
 | 
|---|
| 26 |  S ENF("SM")=(ENF("IDM")-1)\15+1
 | 
|---|
| 27 |  S ENF("S")=1
 | 
|---|
| 28 | BLD ; build screen
 | 
|---|
| 29 |  K ENS
 | 
|---|
| 30 |  S ENS("IDL")=1+(ENF("S")-1*15)
 | 
|---|
| 31 |  S ENS("IDM")=$S(15+(ENF("S")-1*15)>ENF("IDM"):ENF("IDM"),1:15+(ENF("S")-1*15))
 | 
|---|
| 32 |  ; display screen
 | 
|---|
| 33 |  D SHD
 | 
|---|
| 34 |  F ENID=ENS("IDL"):1:ENS("IDM") D  W !
 | 
|---|
| 35 |  . S ENX=^TMP($J,"SCR",ENID)
 | 
|---|
| 36 |  . W $J(ENID,3)
 | 
|---|
| 37 |  . F ENI=1:1:ENF("CM") W ?ENF("C"_ENI,"X"),$P(ENX,U,ENI)
 | 
|---|
| 38 | ACT ; prompt for selection
 | 
|---|
| 39 |  W !
 | 
|---|
| 40 |  S DIR("A")="Enter a list or range to select (1-"_ENF("IDM")_"): "_$S(ENF("S")<ENF("SM"):"Next Screen",1:"Quit")_"//"
 | 
|---|
| 41 |  S DIR(0)="LOA^1:"_ENF("IDM")
 | 
|---|
| 42 |  D ^DIR K DIR G:$D(DTOUT)!$D(DUOUT) EXIT
 | 
|---|
| 43 |  I X="",ENF("S")<ENF("SM") S ENF("S")=ENF("S")+1 G BLD
 | 
|---|
| 44 |  K ENACL S ENI="" F  S ENI=$O(Y(ENI)) Q:ENI=""  S ENACL(ENI)=Y(ENI)
 | 
|---|
| 45 | EXIT ;
 | 
|---|
| 46 |  W @IOF
 | 
|---|
| 47 |  K DX,DY
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | SHD ; Screen Header
 | 
|---|
| 50 |  W @IOF
 | 
|---|
| 51 |  W ENF("HD"),?65,"Screen ",ENF("S")," of ",ENF("SM"),!!
 | 
|---|
| 52 |  W "ID#"
 | 
|---|
| 53 |  F ENI=1:1:ENF("CM") W ?ENF("C"_ENI,"X"),ENF("C"_ENI,"HD")
 | 
|---|
| 54 |  W !
 | 
|---|
| 55 |  W "---"
 | 
|---|
| 56 |  F ENI=1:1:ENF("CM") W ?ENF("C"_ENI,"X"),$E(ENF("DASH"),1,ENF("C"_ENI,"L"))
 | 
|---|
| 57 |  W !
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 | PYLIST ; Progam and Year list of project applications
 | 
|---|
| 60 |  N ENACL,ENC,ENDA,ENI,ENIDX,ENJ,ENK,ENPN,ENPR,ENY,ENY0,ENYR
 | 
|---|
| 61 |  K ^TMP($J,"R")
 | 
|---|
| 62 |  S DIR(0)="S^MA:MAJOR;MI:MINOR;MM:MINOR MISC;NR:NRM"
 | 
|---|
| 63 |  S DIR("?")="Enter program that listed projects must match."
 | 
|---|
| 64 |  D ^DIR K DIR Q:$D(DIRUT)
 | 
|---|
| 65 |  S ENPR=Y
 | 
|---|
| 66 |  S DIR(0)="N^1993:2099:0",DIR("A")="YEAR"
 | 
|---|
| 67 |  S DIR("?",1)="Enter a 4-digit year that listed projects must have as"
 | 
|---|
| 68 |  S DIR("?")="the A/E or Construction funding year."
 | 
|---|
| 69 |  S DIR("B")=$E(17000000+DT,1,4)+$S($E(DT,4,7)>0600:2,1:1)
 | 
|---|
| 70 |  D ^DIR K DIR Q:$D(DIRUT)
 | 
|---|
| 71 |  S ENYR=Y
 | 
|---|
| 72 |  F ENIDX="F","G" D
 | 
|---|
| 73 |  . S ENDA=0 F  S ENDA=$O(^ENG("PROJ",ENIDX,ENYR,ENDA)) Q:'ENDA  D
 | 
|---|
| 74 |  . . S ENY0=$G(^ENG("PROJ",ENDA,0)) Q:$P(ENY0,U)=""!($P(ENY0,U,6)'=ENPR)
 | 
|---|
| 75 |  . . S ^TMP($J,"R",$P(ENY0,U))=$P(ENY0,U)_U_$P(ENY0,U,3)_U_ENDA
 | 
|---|
| 76 |  I '$D(^TMP($J,"R")) W !!,"No Projects matched selection criteria!",! Q
 | 
|---|
| 77 |  S ENI=0,ENPN="" F  S ENPN=$O(^TMP($J,"R",ENPN)) Q:ENPN=""  S ENI=ENI+1,^TMP($J,"SCR",ENI)=^(ENPN)
 | 
|---|
| 78 |  S ^TMP($J,"SCR")=ENI_U_"PROGRAM ("_ENPR_") PROJECTS WITH FUNDING YEAR "_ENYR
 | 
|---|
| 79 |  S ^TMP($J,"SCR",0)="5;11;PROJECT #^19;50;TITLE"
 | 
|---|
| 80 |  D ^ENPLS2
 | 
|---|
| 81 |  ; save selected projects (if any)
 | 
|---|
| 82 |  S ENC=0,ENJ="" F  S ENJ=$O(ENACL(ENJ)) Q:ENJ=""  D
 | 
|---|
| 83 |  . F ENK=1:1 S ENI=$P(ENACL(ENJ),",",ENK) Q:ENI=""  D
 | 
|---|
| 84 |  . . S ENY=^TMP($J,"SCR",ENI),^TMP($J,"L",$P(ENY,U))=$P(ENY,U,3),ENC=ENC+1
 | 
|---|
| 85 |  S:ENC ^TMP($J,"L")=ENC_$S(ENTY="F":U_ENFY,1:"")
 | 
|---|
| 86 |  K ^TMP($J,"R"),^TMP($J,"SCR")
 | 
|---|
| 87 |  Q
 | 
|---|
| 88 |  ;ENPLS2
 | 
|---|