1 | FSCRPTS ;SLC/STAFF-NOIS Report ;1/13/98 16:31
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | REPORTS ; from FSCOPT
|
---|
5 | N CHOICE,CNT,DFORM,DIC,DIR,DISPLAY,FIELD,FIELDS,FORMAT,FSCLIMIT,FSCSTYLE,FSCINDX,FSCSORT,LIST,OK,REPORT,X,Y K DIC,DIR,DFORM,FIELDS,FORMAT,FSCSTYLE
|
---|
6 | S DIR(0)="SAMO^REPORT:REPORT;CUSTOM:CUSTOM",DIR("A")="Select (R)eport or (C)ustom: "
|
---|
7 | S DIR("?",1)="Enter REPORT to select reports (a report is a list with a sort and format)."
|
---|
8 | S DIR("?",2)="Enter CUSTOM to select a list, sort, and format."
|
---|
9 | S DIR("?")="^D HELP^FSCU(.DIR)"
|
---|
10 | S DIR("??")="FSC U1 NOIS"
|
---|
11 | D ^DIR K DIR
|
---|
12 | I $D(DIRUT) Q
|
---|
13 | S CHOICE=Y
|
---|
14 | I CHOICE="REPORT" D
|
---|
15 | .D LOOKUP^FSCULOOK("RPT",.REPORT,"AEMOQ",.OK)
|
---|
16 | .I 'OK Q
|
---|
17 | .D PARTS(+REPORT,.LIST,.FSCSORT,.FORMAT,.DFORM)
|
---|
18 | .Q:'$L(LIST) S FSCLNUM=+LIST,FSCL0=$G(^FSC("LIST",FSCLNUM,0)),FSCLNAME=$P(FSCL0,U)
|
---|
19 | .I $P(FSCL0,U,5) W !,"For the list ",FSCLNAME D INDEX^FSCLM(.FSCLNAME,.FSCINDX,FSCL0) I '$G(FSCINDX) K LIST
|
---|
20 | .S FSCSTYLE=$P(DFORM(0),U,2),FSCSTYLE(0)=DFORM(0),OK=1 D
|
---|
21 | ..I FSCSTYLE="BRIEF" S FSCSTYLE="B" Q
|
---|
22 | ..I FSCSTYLE="DETAIL" S FSCSTYLE="D" Q
|
---|
23 | ..I 'FORMAT S OK=0 Q
|
---|
24 | ..I FSCSTYLE="FM" D Q
|
---|
25 | ...I '$L($P(FORMAT(0),U,3)) S OK=0 Q
|
---|
26 | ...S FSCSTYLE("T")="["_$P(FORMAT(0),U,3)_"]"
|
---|
27 | ..I FSCSTYLE="EXECUTE" S FSCSTYLE("F")=FORMAT_U_$P(FORMAT(0),U)
|
---|
28 | ..I FSCSTYLE="EXTRACT" S FSCSTYLE("E")=""
|
---|
29 | ..S CNT=0 F S CNT=$O(^FSC("FORMAT",FORMAT,2,CNT)) Q:CNT<1 S FIELD=+^(CNT,0),FSCSTYLE(CNT)=^FSC("FLD",FIELD,0)
|
---|
30 | ..S FSCSTYLE=$$CHOICE^FSCUX(FSCSTYLE)
|
---|
31 | .I 'OK D OTHER^FSCUX(.FSCSTYLE,.OK)
|
---|
32 | .S FSCSTYLE=$$STYLE^FSCU(FSCSTYLE)
|
---|
33 | I CHOICE="CUSTOM" D
|
---|
34 | .D LIST^FSCULOOK(.LIST,.FSCLIMIT,.OK)
|
---|
35 | .I 'OK Q
|
---|
36 | .S FSCLNAME=$P(LIST,U,2),FSCLNUM=+LIST,FSCL0=$G(^FSC("LIST",FSCLNUM,0))
|
---|
37 | .I $P(FSCL0,U,5) D INDEX^FSCLM(.FSCLNAME,.FSCINDX,FSCL0) Q:'$G(FSCINDX)
|
---|
38 | .S DIC=7107.6,DIC(0)="AEMOQ",DIC("A")="Select Sort (optional): ",DIC("S")="I $P(^(0),U,2)=""S"""
|
---|
39 | .D ^DIC K DIC
|
---|
40 | .Q:$D(DUOUT) Q:$D(DTOUT)
|
---|
41 | .S FSCSORT=+Y
|
---|
42 | .D EXPAND^FSCUX(.FSCSTYLE,.OK)
|
---|
43 | .I 'OK Q
|
---|
44 | .S FSCSTYLE=$$STYLE^FSCU(FSCSTYLE)
|
---|
45 | Q:'$D(LIST) Q:'$D(FSCSTYLE)
|
---|
46 | S DISPLAY="" I '($D(FSCSTYLE("E"))!$D(FSCSTYLE("T"))) D DISPLAY^FSCRU(.DISPLAY,.OK) I 'OK Q
|
---|
47 | I DISPLAY="DEVICE" D DEV^FSCRU("","^TMP(""FSC LIST"",$J,","DQ^FSCRUDQ","NOIS Report",.OK) Q
|
---|
48 | D SETUP I $D(VALMQUIT) Q
|
---|
49 | D VIEW^FSCLM(VALMAR,"VVALUES",.FSCSTYLE)
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | SETUP ; from FSCOPT, FSCRUDQ
|
---|
53 | N CALLNUM,CNT
|
---|
54 | K VALMQUIT D ENTRY^FSCLML I $D(VALMQUIT) Q
|
---|
55 | S VALMAR="^TMP(""FSC LIST CALLS"",$J)"
|
---|
56 | ;I '^TMP("FSC LIST CALLS",$J) W !,"No calls to View." H 2 Q
|
---|
57 | I $G(FSCSORT) D SETSORT(FSCSORT,.FIELDS),SORT^FSCUS(.FIELDS)
|
---|
58 | I FSCSTYLE="FM" D Q
|
---|
59 | .I '$L($G(FSCSTYLE("T"))) Q
|
---|
60 | .S CNT=0 F S CNT=$O(^TMP("FSC LIST CALLS",$J,"ICX",CNT)) Q:CNT<1 D
|
---|
61 | ..S CALLNUM=0 F S CALLNUM=$O(^TMP("FSC LIST CALLS",$J,"ICX",CNT,CALLNUM)) Q:CALLNUM<1 D TEMP^FSCFORMP
|
---|
62 | K ^TMP("FSC SELECT",$J,"VVALUES") S ^("VVALUES")=1_"-"_VALMCNT
|
---|
63 | F CNT=1:1:VALMCNT S ^TMP("FSC SELECT",$J,"VVALUES",CNT)=""
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | SETSORT(SORT,FIELDS) ;
|
---|
67 | N CNT,FIELD K FIELDS
|
---|
68 | K FIELDS S CNT=0 F S CNT=$O(^FSC("FORMAT",SORT,2,CNT)) Q:CNT<1 S FIELD=^(CNT,0),FIELDS(CNT)=$G(^FSC("FLD",+FIELD,0)) I $P(FIELD,U,8) S FIELDS(CNT,"D")=""
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | PARTS(REPORT,LIST,SORT,FORMAT,DFORM) ;
|
---|
72 | N ZERO
|
---|
73 | S ZERO=$G(^FSC("RPT",+REPORT,0)),LIST=$P(ZERO,U,3),SORT=$P(ZERO,U,5),FORMAT=$P(ZERO,U,4),DFORM=$P(ZERO,U,6)
|
---|
74 | S FORMAT(0)=$G(^FSC("FORMAT",+FORMAT,0)),DFORM(0)=$G(^FSC("FTYPE",+DFORM,0))
|
---|
75 | Q
|
---|