| [623] | 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 | 
|---|