1 | FSCUX ;SLC/STAFF-NOIS Utilities Expand ;8/25/94 16:17
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | EXPAND(CHOICE,OK,DEFAULT) ; from FSCLMPC, FSCLMPD, FSCOPT, FSCRPTS
|
---|
5 | N CNT,DIC,Y K DIC,Y S OK=1
|
---|
6 | S CHOICE=$S($L($G(DEFAULT)):DEFAULT,1:"BRIEF")
|
---|
7 | D LOOKUP^FSCULOOK("FTYPE",.CHOICE,"AEMOQZ",.OK,"I '$P(^(0),U,6)")
|
---|
8 | I $D(DUOUT)!$D(DTOUT) S OK=0,CHOICE=$G(CHOICE) Q
|
---|
9 | D OTHER(.CHOICE,.OK)
|
---|
10 | Q
|
---|
11 | ;
|
---|
12 | OTHER(CHOICE,OK) ; from FSCRPTS
|
---|
13 | N CNT,D,DIC,FIELD,FORMAT,TYPE,Y K DIC,Y S OK=1
|
---|
14 | S CHOICE=$P(CHOICE,U,2),TYPE=CHOICE(0)
|
---|
15 | D
|
---|
16 | .I $P(TYPE,U,2)="EXECUTE" D Q
|
---|
17 | ..D LOOKUP^FSCULOOK("FORMAT",.FORMAT,"AEMOQ",.OK,"I $D(^(1))")
|
---|
18 | ..S CHOICE("F")=FORMAT,FORMAT=+FORMAT
|
---|
19 | ..I OK D
|
---|
20 | ...S CNT=0 F S CNT=$O(^FSC("FORMAT",FORMAT,2,CNT)) Q:CNT<1 S FIELD=+^(CNT,0) D
|
---|
21 | ....S CHOICE(CNT)=^FSC("FLD",FIELD,0)
|
---|
22 | .I $P(TYPE,U,3) D Q
|
---|
23 | ..D LOOKUP^FSCULOOK("FORMAT",.FORMAT,"AEMOQ",.OK)
|
---|
24 | ..S FORMAT=+FORMAT
|
---|
25 | ..I OK D
|
---|
26 | ...S CNT=0 F S CNT=$O(^FSC("FORMAT",FORMAT,2,CNT)) Q:CNT<1 S FIELD=+^(CNT,0) D
|
---|
27 | ....S CHOICE(CNT)=^FSC("FLD",FIELD,0)
|
---|
28 | .I $P(TYPE,U,5) D Q
|
---|
29 | ..S DIC=7107.2,DIC(0)="AEMOQZ",DIC("A")="Select Field: "
|
---|
30 | ..F CNT=1:1 D ^DIC Q:Y<1 S CHOICE(CNT)=Y(0)
|
---|
31 | ..K DIC
|
---|
32 | .I $P(TYPE,U,2)="FM" D Q
|
---|
33 | ..S DIC="^DIPT(",DIC(0)="AEOQ",DIC("A")="Select Print Template: ",D="F7100"
|
---|
34 | ..D IX^DIC K DIC S:Y<0 OK=0
|
---|
35 | ..S CHOICE("T")="["_$P(Y,U,2)_"]"
|
---|
36 | I $P(TYPE,U,2)="STAT" D
|
---|
37 | .N DIC,Y K CHOICE("COLLATE"),DIC,Y,^TMP("FSC STATS",$J)
|
---|
38 | .I '$O(CHOICE(0)) S OK=0 W !,"No fields selected.",$C(7),! H 1 Q
|
---|
39 | .I '$O(CHOICE(1)) Q
|
---|
40 | .S DIC=7107.2,DIC(0)="AEMOQZ",DIC("A")="(Optional) Select a Field to Collate your fields with: "
|
---|
41 | .D ^DIC K DIC Q:Y<1
|
---|
42 | .S CNT=0 F S CNT=$O(CHOICE(CNT)) Q:CNT<1 I Y(0)=CHOICE(CNT) S CHOICE("COLLATE")=CNT
|
---|
43 | .I '$D(CHOICE("COLLATE")) S CNT=1+$O(CHOICE("A"),-1),CHOICE(CNT)=Y(0),CHOICE("COLLATE")=CNT
|
---|
44 | I $P(TYPE,U,2)="EXTRACT" S CHOICE("E")=""
|
---|
45 | S CHOICE=$$CHOICE($P(TYPE,U,2))
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | CHOICE(CHOICE) ; $$(choice) -> single letter
|
---|
49 | Q $S(CHOICE="BRIEF":"B",CHOICE="DETAIL":"D",CHOICE="STAT":"S",CHOICE="FIELD":"C",CHOICE="FORMAT":"C",CHOICE="FM":"FM",1:"F")
|
---|