1 | SDCOUR ;ALB/RMO - Reader Utilities - Check Out;18 FEB 1993 11:30 am
|
---|
2 | ;;5.3;Scheduling;;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | EN(SDNOD0,SDSUB,SDPAR,SDSELDF,SDSELY) ;Select Entities from Secondary List
|
---|
5 | ; Input -- SDNOD0 Selection in XQORNOD0 format
|
---|
6 | ; SDSUB Secondary List Subscript
|
---|
7 | ; SDPAR Selection Parameters (A=Add)
|
---|
8 | ; SDSELDF Selection Default [Optional]
|
---|
9 | ; Output -- SDSELY Selection Array
|
---|
10 | N SDCNT
|
---|
11 | S SDCNT=+$G(^TMP("SDCOIDX",$J,SDSUB,0))
|
---|
12 | I 'SDCNT D G ENQ
|
---|
13 | .I $P(SDNOD0,"^",4)["=" W !,*7,">>> There are no items to select." S SDSELY("ERR")="" D PAUSE^VALM1
|
---|
14 | D SEL(SDNOD0,SDSUB,.SDSELY) G ENQ:$D(SDSELY)
|
---|
15 | S SDSELY($$ASK(SDCNT,SDPAR,$G(SDSELDF)))=""
|
---|
16 | ENQ Q
|
---|
17 | ;
|
---|
18 | SEL(SDNOD0,SDSUB,SDSELY) ;Process Secondary List Selection
|
---|
19 | ; Input -- SDNOD0 Selection in XQORNOD0 format
|
---|
20 | ; SDSUB Secondary List Subscript
|
---|
21 | ; Output -- SDSELY Selection Array
|
---|
22 | N I,SDBEG,SDEND,SDERR,X,Y
|
---|
23 | S SDBEG=1,SDEND=+$G(^TMP("SDCOIDX",$J,SDSUB,0)) G SELQ:'SDEND
|
---|
24 | S Y=$$PARSE^VALM2(SDNOD0,SDBEG,SDEND)
|
---|
25 | ; -- check was valid entries
|
---|
26 | S SDERR=0
|
---|
27 | F I=1:1 S X=$P(Y,",",I) Q:'X D
|
---|
28 | .I '$O(^TMP("SDCOIDX",$J,SDSUB,X,0))!(X<SDBEG)!(X>SDEND) D
|
---|
29 | ..W !,*7,">>> Selection '",X,"' is not a valid choice."
|
---|
30 | ..S SDERR=1
|
---|
31 | I SDERR S SDSELY("ERR")="" D PAUSE^VALM1 G SELQ
|
---|
32 | ;
|
---|
33 | F I=1:1 S X=$P(Y,",",I) Q:'X S SDSELY(X)=""
|
---|
34 | SELQ Q
|
---|
35 | ;
|
---|
36 | ASK(SDCNT,SDPAR,SDSELDF) ;Ask user to select from list
|
---|
37 | ; Input -- SDCNT Number of Entities
|
---|
38 | ; SDPAR Selection Parameters (A=Add)
|
---|
39 | ; SDSELDF Selection Default [Optional]
|
---|
40 | ; Output -- Selection
|
---|
41 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
42 | REASK S DIR("?")="Enter "_$S($G(SDSELDF)]"":"<RETURN> for '"_SDSELDF_"', ",1:"")_$S(SDCNT=1:"1",1:"1-"_SDCNT)_" to Edit"_$S(SDPAR["A":", or 'A' to Add",1:"")
|
---|
43 | S DIR("A")="Enter "_$S(SDCNT=1:"1",1:"1-"_SDCNT)_" to Edit"_$S(SDPAR["A":", or 'A' to Add",1:"")_": "_$S($G(SDSELDF)]"":SDSELDF_"// ",1:"")
|
---|
44 | S DIR(0)="FAO^1:30"
|
---|
45 | D ^DIR I $D(DTOUT)!($D(DUOUT)) S Y="^" G ASKQ
|
---|
46 | S Y=$$UPPER^VALM1(Y)
|
---|
47 | I Y?.N,Y,Y'>SDCNT G ASKQ
|
---|
48 | I SDPAR["A",$E(Y)="A" S Y="Add" G ASKQ
|
---|
49 | I Y="" S Y=$S($G(SDSELDF)]"":SDSELDF,1:"Return") G ASKQ
|
---|
50 | W !!?5,DIR("?"),".",! G REASK
|
---|
51 | ASKQ Q $G(Y)
|
---|