| 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
 | 
|---|