[628] | 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
|
---|