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