1 | FSCRPCLO ;SLC/STAFF-NOIS RPC List Organizer ;4/20/98 13:29
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | LOADLIST(IN,OUT) ; from FSCRPX (RPCLoadCurrentList)
|
---|
5 | N CALL,CNT,LINE,LNUM
|
---|
6 | S CNT=0
|
---|
7 | S LNUM=0 F S LNUM=$O(^TMP("FSC CURRENT LIST",$J,LNUM)) Q:LNUM<1 S CALL=+^(LNUM) D
|
---|
8 | .S CNT=CNT+1
|
---|
9 | .S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=CALL_U_$$TEXTID(CALL)
|
---|
10 | Q
|
---|
11 | ;
|
---|
12 | RENAME(IN,OUT) ; from FSCRPX (RPCRenameList)
|
---|
13 | N DA,DATA,DIE,DR,LIST,NAME,X,Y
|
---|
14 | S DATA=$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
15 | S LIST=+DATA,NAME=$P(DATA,U,2)
|
---|
16 | I '$D(^FSC("LIST",LIST,0)) Q
|
---|
17 | I $L(NAME)<3 Q
|
---|
18 | S DA=LIST,DIE="^FSC(""LIST"",",DR=".01///"_$$FIX^FSCRPCEC($E(NAME,1,30))
|
---|
19 | D ^DIE
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | UPLIST(IN,OUT) ; from FSCRPX (RPCUpdateCurrentList)
|
---|
23 | N CNT,LINE,LNUM
|
---|
24 | S CNT=0
|
---|
25 | S LNUM=0 F S LNUM=$O(^TMP("FSC CURRENT LIST",$J,LNUM)) Q:LNUM<1 S LINE=^(LNUM) D
|
---|
26 | .S CNT=CNT+1
|
---|
27 | .S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=LINE
|
---|
28 | Q
|
---|
29 | ;
|
---|
30 | DELLIST(IN,OUT) ; from FSCRPX (RPCDeleteList)
|
---|
31 | N CALL,DA,DIE,DIK,DR,LISTNUM,LISTSNUM,SPEC
|
---|
32 | S LISTNUM=+$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
33 | I '$D(^FSC("LIST","C",DUZ,LISTNUM)) Q
|
---|
34 | S CALL=0 F S CALL=$O(^FSCD("LISTS","ALC",LISTNUM,CALL)) Q:CALL<1 S LISTSNUM=+$O(^(CALL,0)) I LISTSNUM D DELETE^FSCLMPS(LISTSNUM)
|
---|
35 | S DIE=7105.2,DR="9///@"
|
---|
36 | S SPEC=0 F S SPEC=$O(^FSC("SPEC","AL",LISTNUM,SPEC)) Q:SPEC<1 D
|
---|
37 | .S DA=SPEC
|
---|
38 | .L +^FSC("SPEC",SPEC):30
|
---|
39 | .D ^DIE
|
---|
40 | .L -^FSC("SPEC",SPEC)
|
---|
41 | N DA,DIK,NOTIFY
|
---|
42 | S DIK="^FSCD(""NOTIFY"","
|
---|
43 | S NOTIFY=0 F S NOTIFY=$O(^FSCD("NOTIFY","ALIST",LISTNUM,NOTIFY)) Q:NOTIFY<1 D
|
---|
44 | .S DA=NOTIFY
|
---|
45 | .L +^FSCD("NOTIFY",NOTIFY):30
|
---|
46 | .D ^DIK
|
---|
47 | .L -^FSCD("NOTIFY",NOTIFY)
|
---|
48 | D DELMRU^FSCLDR(LISTNUM)
|
---|
49 | S DA=LISTNUM,DIK="^FSC(""LIST""," D ^DIK
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | DUPCALL(IN,OUT) ; from FSCRPX (RPCDuplicateOfCall)
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | LOADTREE(IN,OUT) ; from FSCRPX (RPCLoadTree)
|
---|
56 | N CALL,CNT,LIST,LISTNAME
|
---|
57 | S CNT=0
|
---|
58 | S LIST=0 F S LIST=$O(^FSC("LIST","C",DUZ,LIST)) Q:LIST<1 D
|
---|
59 | .Q:$P($G(^FSC("LIST",LIST,0)),U,3)'="S" S LISTNAME=$P(^(0),U)
|
---|
60 | .S CNT=CNT+1
|
---|
61 | .S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=LIST_"^-1^"_LISTNAME
|
---|
62 | .S CALL="" F S CALL=$O(^FSCD("LISTS","ALC",LIST,CALL),-1) Q:CALL="" D
|
---|
63 | ..S CNT=CNT+1
|
---|
64 | ..S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=LIST_U_CALL_U_$$TEXTID(CALL)
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | TEXTID(CALL) ; $$(call) -> text for tree display
|
---|
68 | Q $P(^FSCD("CALL",CALL,0),U)_" "_$G(^FSCD("CALL",CALL,1))
|
---|
69 | ;
|
---|
70 | SAVELIST(IN,OUT) ; from FSCRPX (RPCSaveOrganizer)
|
---|
71 | N CALL,LINE,LIST,LNUM,NUM,SCALL,SLIST K SLIST
|
---|
72 | D KILLLIST^FSCRPCL
|
---|
73 | S LNUM=0
|
---|
74 | S NUM=0 F S NUM=$O(^TMP("FSCRPC",$J,"INPUT",NUM)) Q:NUM<1 S LINE=^(NUM) I $L(LINE) D
|
---|
75 | .S LIST=$P(LINE,U),CALL=$P(LINE,U,2)
|
---|
76 | .I LIST="C" D Q
|
---|
77 | ..S LNUM=LNUM+1
|
---|
78 | ..S ^TMP("FSC CURRENT LIST",$J,LNUM+1000)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
|
---|
79 | ..S ^TMP("FSC CURRENT LIST",$J,"C",CALL)=LNUM+1000
|
---|
80 | .I '$D(^FSC("LIST","C",DUZ,LIST)) Q
|
---|
81 | .I '$D(SLIST(LIST)) D
|
---|
82 | ..S SLIST(LIST)=""
|
---|
83 | ..S SCALL=0 F S SCALL=$O(^FSCD("LISTS","ALC",LIST,SCALL)) Q:SCALL<1 S LISTSNUM=+$O(^(SCALL,0)) I LISTSNUM D DELETE^FSCLMPS(LISTSNUM)
|
---|
84 | .I CALL>0,$D(^FSCD("CALL",CALL,0)) D ADD^FSCLMPS(CALL,LIST)
|
---|
85 | K SLIST
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | TEST ;
|
---|
89 | D LOADTREE(.IN,.OUT)
|
---|
90 | Q
|
---|