1 | FSCRPCL ;SLC/STAFF-NOIS RPC List ;9/6/98 22:00
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | LIST(IN,OUT) ; from FSCRPX (RPCListCalls)
|
---|
4 | N INPUT,LIMITDFM,LIMITDTO,LIMITNUM,LIST0,LISTINDX,LISTNUM,MAX
|
---|
5 | S INPUT=$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
6 | S LISTNUM=+INPUT,LISTINDX=+$P(INPUT,U,2),LIMITNUM=+$P(INPUT,U,3),LIMITDFM=+$P(INPUT,U,4),LIMITDTO=+$P(INPUT,U,5)
|
---|
7 | S LIST0=$G(^FSC("LIST",LISTNUM,0))
|
---|
8 | I '$L(LIST0) Q
|
---|
9 | S MAX=$$MAX
|
---|
10 | D KILLLIST
|
---|
11 | D MRU^FSCMR(DUZ,LISTNUM,LISTINDX)
|
---|
12 | I $E(LIST0,1,4)="MRE:" D MR("MRE",LISTINDX,LIMITNUM,LIMITDTO,LIMITDFM)
|
---|
13 | E I $E(LIST0,1,4)="MRA:" D MR("MRA",LISTINDX,LIMITNUM,LIMITDTO,LIMITDFM)
|
---|
14 | E I $L($P(LIST0,U,4)) D INDEX(LIST0,MAX,LISTINDX,LIMITNUM,LIMITDTO,LIMITDFM)
|
---|
15 | E I $P(LIST0,U,3)="M" D MANUAL(MAX,LISTNUM,LIMITNUM,LIMITDTO,LIMITDFM)
|
---|
16 | E D OTHER(MAX,LISTNUM,LIMITNUM,LIMITDTO,LIMITDFM)
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | MR(NODE,LISTINDX,LIMITNUM,LIMITDTO,LIMITDFM) ;
|
---|
20 | N CALL,DATEO,LNUM,TIME
|
---|
21 | S LNUM=0
|
---|
22 | I LIMITNUM D
|
---|
23 | .S TIME="" F S TIME=$O(^FSCD(NODE,"AUTC",LISTINDX,TIME)) Q:TIME="" D I LNUM'<LIMITNUM Q
|
---|
24 | ..S CALL=0 F S CALL=$O(^FSCD(NODE,"AUTC",LISTINDX,TIME,CALL)) Q:CALL<1 D SETUP(CALL,.LNUM) I LNUM'<LIMITNUM Q
|
---|
25 | E I LIMITDTO!LIMITDFM D
|
---|
26 | .S TIME="" F S TIME=$O(^FSCD(NODE,"AUTC",LISTINDX,TIME)) Q:TIME="" D
|
---|
27 | ..S CALL=0 F S CALL=$O(^FSCD(NODE,"AUTC",LISTINDX,TIME,CALL)) Q:CALL<1 D
|
---|
28 | ...S DATE0=$P(^FSCD("CALL",CALL,0),U,3)
|
---|
29 | ...I DATEO<LIMITDFM Q
|
---|
30 | ...I DATEO>LIMITDTO Q
|
---|
31 | ...D SETUP(CALL,.LNUM)
|
---|
32 | E D
|
---|
33 | .S TIME="" F S TIME=$O(^FSCD(NODE,"AUTC",LISTINDX,TIME)) Q:TIME="" D
|
---|
34 | ..S CALL=0 F S CALL=$O(^FSCD(NODE,"AUTC",LISTINDX,TIME,CALL)) Q:CALL<1 D SETUP(CALL,.LNUM)
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | INDEX(LIST0,MAX,LISTINDX,LIMITNUM,LIMITDTO,LIMITDFM) ;
|
---|
38 | N CALL,DATEO,LNUM,SOURCE
|
---|
39 | S LNUM=0
|
---|
40 | S SOURCE="^FSCD(""CALL"","_$P(LIST0,U,4)_$S(LISTINDX:","_LISTINDX,1:"")_")"
|
---|
41 | I LIMITNUM D
|
---|
42 | .S CALL="A" F S CALL=$O(@SOURCE@(CALL),-1) Q:CALL<1 D SETUP(CALL,.LNUM) Q:LNUM'<LIMITNUM Q:LNUM'<MAX
|
---|
43 | E I LIMITDTO!LIMITDFM D
|
---|
44 | .S CALL="A" F S CALL=$O(@SOURCE@(CALL),-1) Q:CALL<1 D Q:LNUM'<MAX
|
---|
45 | ..S DATEO=$P(^FSCD("CALL",CALL,0),U,3)
|
---|
46 | ..I DATEO<LIMITDFM Q
|
---|
47 | ..I DATEO>LIMITDTO Q
|
---|
48 | ..D SETUP(CALL,.LNUM)
|
---|
49 | E D
|
---|
50 | .S CALL="A" F S CALL=$O(@SOURCE@(CALL),-1) Q:CALL<1 D SETUP(CALL,.LNUM) Q:LNUM'<MAX
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | MANUAL(MAX,LISTNUM,LIMITNUM,LIMITDTO,LIMITDFM) ;
|
---|
54 | N CALL,DATEO,LNUM
|
---|
55 | K ^TMP("FSC LIST",$J)
|
---|
56 | S LNUM=0
|
---|
57 | D MANUAL^FSCLP(LISTNUM)
|
---|
58 | I LIMITNUM D
|
---|
59 | .S CALL="A" F S CALL=$O(^TMP("FSC LIST",$J,CALL),-1) Q:CALL<1 D SETUP(CALL,.LNUM) Q:LNUM'<LIMITNUM Q:LNUM'<MAX
|
---|
60 | E I LIMITDTO!LIMITDFM D
|
---|
61 | .S CALL="A" F S CALL=$O(^TMP("FSC LIST",$J,CALL),-1) Q:CALL<1 D Q:LNUM'<MAX
|
---|
62 | ..S DATEO=$P(^FSCD("CALL",CALL,0),U,3)
|
---|
63 | ..I DATEO<LIMITDFM Q
|
---|
64 | ..I DATEO>LIMITDTO Q
|
---|
65 | ..D SETUP(CALL,.LNUM)
|
---|
66 | E D
|
---|
67 | .S CALL="A" F S CALL=$O(^TMP("FSC LIST",$J,CALL),-1) Q:CALL<1 D SETUP(CALL,.LNUM) Q:LNUM'<MAX
|
---|
68 | K ^TMP("FSC LIST",$J)
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | OTHER(MAX,LISTNUM,LIMITNUM,LIMITDTO,LIMITDFM) ;
|
---|
72 | N CALL,DATEO,LISTCALL,LNUM
|
---|
73 | S LNUM=0
|
---|
74 | I LIMITNUM D
|
---|
75 | .S LISTCALL="A" F S LISTCALL=$O(^FSCD("LISTS","L",LISTNUM,LISTCALL),-1) Q:LISTCALL<1 S CALL=+$G(^FSCD("LISTS",LISTCALL,0)) D SETUP(CALL,.LNUM) Q:LNUM'<LIMITNUM Q:LNUM'<MAX
|
---|
76 | E I LIMITDTO!LIMITDFM D
|
---|
77 | .S LISTCALL="A" F S LISTCALL=$O(^FSCD("LISTS","L",LISTNUM,LISTCALL),-1) Q:LISTCALL<1 D Q:LNUM'<MAX
|
---|
78 | ..S CALL=+$G(^FSCD("LISTS",LISTCALL,0))
|
---|
79 | ..S DATEO=$P(^FSCD("CALL",CALL,0),U,3)
|
---|
80 | ..I DATEO<LIMITDFM Q
|
---|
81 | ..I DATEO>LIMITDTO Q
|
---|
82 | ..D SETUP(CALL,.LNUM)
|
---|
83 | E D
|
---|
84 | .S LISTCALL="A" F S LISTCALL=$O(^FSCD("LISTS","L",LISTNUM,LISTCALL),-1) Q:LISTCALL<1 S CALL=+$G(^FSCD("LISTS",LISTCALL,0)) D SETUP(CALL,.LNUM) Q:LNUM'<MAX
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | SETUP(CALL,LNUM) ;
|
---|
88 | S LNUM=LNUM+1
|
---|
89 | S (^TMP("FSC CURRENT LIST",$J,LNUM+1000),^TMP("FSCRPC",$J,"OUTPUT",LNUM))=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
|
---|
90 | S ^TMP("FSC CURRENT LIST",$J,"C",CALL)=LNUM+1000
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | MAX() ; $$ -> max number of calls to return
|
---|
94 | I $P($G(^FSC("PARAM",1,2)),U,2) Q +$P(^(2),U,2)
|
---|
95 | Q 1000
|
---|
96 | ;
|
---|
97 | CLEAR(IN,OUT) ; from FSCRPX (RPCClearList)
|
---|
98 | D KILLLIST
|
---|
99 | Q
|
---|
100 | ;
|
---|
101 | KILLLIST ; from FSCRPCLO
|
---|
102 | K ^TMP("FSC CURRENT LIST",$J)
|
---|
103 | Q
|
---|