1 | FSCRPCPF ;SLC/STAFF-NOIS RPC Personal Fields ;5/18/98 15:42
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | SAVE(IN,OUT) ; from FSCRPX (RPCSavePersonalFields)
|
---|
5 | N CALL,CNT,DA,DIE,DIK,DR,LINE,LONG,NUM,NUMBER,OK,SHORT,X,Y
|
---|
6 | S CALL=$G(^TMP("FSCRPC",$J,"INPUT",1)),SHORT=$G(^(2)),NUMBER=$G(^(3)),LONG=$G(^(4))
|
---|
7 | S CALL=$P(CALL,"CALL^",2)
|
---|
8 | I 'CALL Q
|
---|
9 | S SHORT=$P(SHORT,"SHORT^",2)
|
---|
10 | S NUMBER=$P(NUMBER,"NUMBER^",2)
|
---|
11 | S LONG=$P(LONG,"LONG^",2)
|
---|
12 | S DA=+$G(^FSCD("CALL USER","AUC",DUZ,CALL))
|
---|
13 | I DA D
|
---|
14 | .I '$L(SHORT) S SHORT="@"
|
---|
15 | .I 'NUMBER S NUMBER="@"
|
---|
16 | .I '$L(LONG) S LONG="@"
|
---|
17 | .S DR="2///"_$$FIX^FSCRPCEC(SHORT)_";3///"_NUMBER_";4///"_$$FIX^FSCRPCEC(LONG)
|
---|
18 | .S DIE="^FSCD(""CALL USER"","
|
---|
19 | .D ^DIE
|
---|
20 | E D
|
---|
21 | .L +^FSCD("CALL USER",0):5 I '$T Q
|
---|
22 | .S DA=1+$P(^FSCD("CALL USER",0),U,3)
|
---|
23 | .F Q:'$D(^FSCD("CALL USER",DA,0)) S DA=DA+1
|
---|
24 | .S $P(^FSCD("CALL USER",0),U,3)=DA,$P(^(0),U,4)=$P(^(0),U,4)+1
|
---|
25 | .S ^FSCD("CALL USER",DA,0)=CALL_U_DUZ_U_SHORT_U_NUMBER
|
---|
26 | .I $L(LONG) S ^FSCD("CALL USER",DA,1)=LONG
|
---|
27 | .L -^FSCD("CALL USER",0)
|
---|
28 | .S DIK="^FSCD(""CALL USER"","
|
---|
29 | .D IX1^DIK
|
---|
30 | D MRE^FSCMR(DUZ,CALL)
|
---|
31 | I $G(^TMP("FSCRPC",$J,"INPUT",5))'="{NOTE}" Q
|
---|
32 | K ^FSCD("CALL USER",DA,2)
|
---|
33 | S CNT=0
|
---|
34 | S NUM=5 F S NUM=$O(^TMP("FSCRPC",$J,"INPUT",NUM)) Q:NUM<1 S LINE=^(NUM) Q:LINE="{{{}}}" D
|
---|
35 | .S CNT=CNT+1
|
---|
36 | .S ^FSCD("CALL USER",DA,2,CNT,0)=LINE
|
---|
37 | I CNT S ^FSCD("CALL USER",DA,2,0)="^^"_CNT_U_CNT_U_DT_U
|
---|
38 | S OK=1 D
|
---|
39 | .Q:$L($P(^FSCD("CALL USER",DA,0),U,3)) Q:$L($P(^(0),U,4)) Q:$L($G(^(1))) Q:$O(^(2,0))
|
---|
40 | .S OK=0
|
---|
41 | I 'OK D DEL^FSCUCD("^FSCD(""CALL USER"",",DA)
|
---|
42 | Q
|
---|
43 | ;
|
---|
44 | GET(IN,OUT) ; from FSCRPX (RPCGetPersonalFields)
|
---|
45 | N CALL,CNT,IEN,LINE,LONG,NUM,NUMBER,SHORT
|
---|
46 | S CALL=+$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
47 | S IEN=+$G(^FSCD("CALL USER","AUC",DUZ,CALL))
|
---|
48 | I 'IEN Q
|
---|
49 | S ZERO=$G(^FSCD("CALL USER",IEN,0))
|
---|
50 | S SHORT=$P(ZERO,U,3)
|
---|
51 | S NUMBER=$P(ZERO,U,4)
|
---|
52 | S LONG=$G(^FSCD("CALL USER",IEN,1))
|
---|
53 | S ^TMP("FSCRPC",$J,"OUTPUT",1)="SHORT^"_SHORT
|
---|
54 | S ^TMP("FSCRPC",$J,"OUTPUT",2)="NUMBER^"_NUMBER
|
---|
55 | S ^TMP("FSCRPC",$J,"OUTPUT",3)="LONG^"_LONG
|
---|
56 | S CNT=3
|
---|
57 | S NUM=0 F S NUM=$O(^FSCD("CALL USER",IEN,2,NUM)) Q:NUM<1 S LINE=$G(^(NUM,0)) D
|
---|
58 | .S CNT=CNT+1
|
---|
59 | .S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=LINE
|
---|
60 | Q
|
---|
61 | ;
|
---|
62 | CALL(IN,OUT) ; from FSCRPX (RPCCallPersonal)
|
---|
63 | N CALL,CNT,IEN,LINE,LONG,NUM,NUMBER,SHORT
|
---|
64 | S CALL=+$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
65 | S CALLID=$P($G(^FSCD("CALL",CALL,0)),U)
|
---|
66 | S IEN=+$G(^FSCD("CALL USER","AUC",DUZ,CALL))
|
---|
67 | I 'IEN D Q
|
---|
68 | .S ^TMP("FSCRPC",$J,"OUTPUT",1)="No information in personal fields for "_CALLID_"."
|
---|
69 | S ^TMP("FSCRPC",$J,"OUTPUT",1)="Personal Fields for "_CALLID_":"
|
---|
70 | S ZERO=$G(^FSCD("CALL USER",IEN,0))
|
---|
71 | S SHORT=$P(ZERO,U,3)
|
---|
72 | S NUMBER=$P(ZERO,U,4)
|
---|
73 | S LONG=$G(^FSCD("CALL USER",IEN,1))
|
---|
74 | S ^TMP("FSCRPC",$J,"OUTPUT",2)="Short Text: "_SHORT
|
---|
75 | S ^TMP("FSCRPC",$J,"OUTPUT",3)="Number: "_NUMBER
|
---|
76 | S ^TMP("FSCRPC",$J,"OUTPUT",4)="Long Text: "_LONG
|
---|
77 | S ^TMP("FSCRPC",$J,"OUTPUT",5)="Note:"
|
---|
78 | S CNT=5
|
---|
79 | S NUM=0 F S NUM=$O(^FSCD("CALL USER",IEN,2,NUM)) Q:NUM<1 S LINE=$G(^(NUM,0)) D
|
---|
80 | .S CNT=CNT+1
|
---|
81 | .S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=LINE
|
---|