1 | FSCUL ;SLC/STAFF-NOIS Utilities Lists ;1/13/98 17:13
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | EXPAND(CHOICE,OK,DEFAULT) ; from FSCLMPC, FSCLMPD
|
---|
5 | N CNT,DIC,DIR,X,Y K DIC,DIR,Y
|
---|
6 | S OK=1
|
---|
7 | S DIR(0)="SA^BRIEF:BRIEF;DETAILED:DETAILED;CUSTOM:CUSTOM;FIELDS:FIELDS;STATISTIC:STATISTIC"
|
---|
8 | S DIR("A")="Select (B)rief, (D)etailed, (C)ustom, (F)ields, or (S)tatistic: "
|
---|
9 | S DIR("B")=$G(DEFAULT,"BRIEF")
|
---|
10 | D ^DIR K DIR
|
---|
11 | I $D(DUOUT)!$D(DTOUT) S OK=0,CHOICE=$G(CHOICE)
|
---|
12 | I OK K CHOICE S CHOICE=Y
|
---|
13 | S CHOICE=$S(CHOICE="BRIEF":"B",CHOICE="DETAILED":"D",CHOICE="CUSTOM":"F",CHOICE="FIELDS":"C",1:"S")
|
---|
14 | Q:'OK
|
---|
15 | I CHOICE="F" D
|
---|
16 | .S DIC=7107.6,DIC(0)="AEMOQ",DIC("A")="Select Format: " D ^DIC K DIC S:Y<1 OK=0 S CHOICE("F")=Y
|
---|
17 | I CHOICE="C" D
|
---|
18 | .S DIC=7107.2,DIC(0)="AEMOQZ",DIC("A")="Select Field: " F CNT=1:1 D ^DIC Q:Y<1 S CHOICE(CNT)=Y(0)
|
---|
19 | .K DIC
|
---|
20 | I CHOICE="S" D
|
---|
21 | .K ^TMP("FSC STATS",$J) S DIC=7107.2,DIC(0)="AEMOQZ",DIC("A")="Select Field: " F CNT=1:1 D ^DIC Q:Y<1 S CHOICE(CNT)=Y(0)
|
---|
22 | .K DIC
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | SELECT(CHOICE,PARAM,DEFAULT,SELECT,OK) ; from FSCEB, FSCLMPC, FSCLMPCC, FSCLMPD, FSCLMPE, FSCLMPM, FSCLMPNB, FSCLMPNR, FSCLMPQR, FSCLMPQS, FSCLMPS, FSCNAS
|
---|
26 | ; select a list of numbers
|
---|
27 | ; ex. D ("1-7,15-22","S","","VALUES",.OK)
|
---|
28 | ; returns ^TMP("FSC SELECT",$J,SELECT)=entry
|
---|
29 | ; ^TMP("FSC SELECT",$J,SELECT,entry #)=""
|
---|
30 | ; OK = 1:valid, 0:invalid
|
---|
31 | N ENTRY,PROMPT,X K ^TMP("FSC SELECT",$J,"AVAIL"),^(SELECT) S OK=1
|
---|
32 | S PROMPT=$P(PARAM,U,2),PARAM=$P(PARAM,U)
|
---|
33 | I CHOICE=+CHOICE S ^TMP("FSC SELECT",$J,SELECT)=CHOICE,^(SELECT,CHOICE)="" Q
|
---|
34 | I $P(CHOICE,"-")=$P(CHOICE,"-",2,99) S ^TMP("FSC SELECT",$J,SELECT)=+CHOICE,^(SELECT,+CHOICE)="" Q
|
---|
35 | D NUMS(CHOICE,"AVAIL")
|
---|
36 | S OK="" F W !,$S($L(PROMPT):PROMPT,1:"Select Calls")," (",CHOICE,"): ",$S($L($G(DEFAULT)):DEFAULT_"// ",1:"") R X:DTIME D Q:$L(OK)
|
---|
37 | .S:'$T X=U S:'$L(X) X=DEFAULT S:'$L(X) X=U I X[U S OK=0 Q
|
---|
38 | .I $E(X)'="?",$E(X)'=$E(+X) S OK="" W " invalid entry" Q
|
---|
39 | .I X["?" D Q
|
---|
40 | ..I X["???" D Q
|
---|
41 | ...W "HELP FRAME" ;***
|
---|
42 | ..I X="??" D Q
|
---|
43 | ...W "EXTENDED HELP" ;***
|
---|
44 | ..I PARAM["S" W " enter only a single number" Q
|
---|
45 | ..W " enter a number or number range (ex. 5,8-11)"
|
---|
46 | .S ENTRY=X
|
---|
47 | .K ^TMP("FSC SELECT",$J,SELECT)
|
---|
48 | .S ^TMP("FSC SELECT",$J,SELECT)=ENTRY
|
---|
49 | .I PARAM["S" D Q:'OK
|
---|
50 | ..S OK=1
|
---|
51 | ..I ENTRY'=+ENTRY W " enter a single number" S OK=""
|
---|
52 | .D NUMS(ENTRY,SELECT)
|
---|
53 | .S OK=1,X="" F S X=$O(^TMP("FSC SELECT",$J,SELECT,X)) Q:X="" I '$D(^TMP("FSC SELECT",$J,"AVAIL",X)) S OK="" Q
|
---|
54 | .I OK Q
|
---|
55 | .W " enter an appropriate number"
|
---|
56 | .K ^TMP("FSC SELECT",$J,SELECT)
|
---|
57 | K ^TMP("FSC SELECT",$J,"AVAIL")
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | NUMS(STRING,SUB) ;
|
---|
61 | Q:STRING="1-0" N CNT,UNIT,UNIT1,UNIT2
|
---|
62 | F CNT=1:1 S UNIT=$P(STRING,",",CNT) Q:'$L(UNIT) D
|
---|
63 | .I UNIT'["-" S ^TMP("FSC SELECT",$J,SUB,UNIT)="" Q
|
---|
64 | .S UNIT1=+UNIT,UNIT2=+$P(UNIT,"-",2),^TMP("FSC SELECT",$J,SUB,UNIT1)="",^TMP("FSC SELECT",$J,SUB,UNIT2)=""
|
---|
65 | .F S UNIT1=UNIT1+1 Q:UNIT1'<UNIT2 S ^TMP("FSC SELECT",$J,SUB,UNIT1)=""
|
---|
66 | Q
|
---|