1 | FSCRPCUR ;SLC/STAFF-NOIS RPC User Responses ;1/13/98 16:14
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | RESP(IN,OUT) ; from FSCRPX (RPCGetResponse)
|
---|
5 | N CNT,LINE,NUM,RESP
|
---|
6 | S RESP=+$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
7 | I 'RESP Q
|
---|
8 | S CNT=0,NUM=0 F S NUM=$O(^FSCD("RESPONSE",RESP,1,NUM)) Q:NUM<1 D
|
---|
9 | .S CNT=CNT+1
|
---|
10 | .S LINE=$G(^FSCD("RESPONSE",RESP,1,NUM,0))
|
---|
11 | .S ^TMP("FSCRPC",$J,"OUTPUT",CNT)=LINE
|
---|
12 | Q
|
---|
13 | ;
|
---|
14 | RESPS(IN,OUT) ; from FSCRPX (RPCGetResponses)
|
---|
15 | N NUM,USER
|
---|
16 | S USER=+$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
17 | I 'USER Q
|
---|
18 | S NUM=0 F S NUM=$O(^FSCD("RESPONSE","C",USER,NUM)) Q:NUM<1 D
|
---|
19 | .S ^TMP("FSCRPC",$J,"OUTPUT",NUM)=NUM_U_$P($G(^FSCD("RESPONSE",NUM,0)),U)
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | DEL(IN,OUT) ; from FSCRPX (RPCDeleteResponse)
|
---|
23 | N NUM
|
---|
24 | S NUM=+$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
25 | I 'NUM Q
|
---|
26 | D DEL^FSCUCD("^FSCD(""RESPONSE"",",NUM)
|
---|
27 | Q
|
---|
28 | ;
|
---|
29 | STORE(IN,OUT) ; from FSCRPX (RPCStoreResponse)
|
---|
30 | N CNT,DA,DIK,NAME,NUM,OK,LINE
|
---|
31 | S LINE=$G(^TMP("FSCRPC",$J,"INPUT",1))
|
---|
32 | I '$L(LINE) Q
|
---|
33 | S DA=+LINE,NAME=$P(LINE,U,2)
|
---|
34 | I '$L(NAME) Q
|
---|
35 | S NAME=$$UP^XLFSTR(NAME),NAME=$TR(NAME,";""^","~~~")
|
---|
36 | I DA D
|
---|
37 | .S ^FSCD("RESPONSE",DA,0)=NAME_U_DUZ
|
---|
38 | .K ^FSCD("RESPONSE","B",DA)
|
---|
39 | .K ^FSCD("RESPONSE",DA,1)
|
---|
40 | E D I 'OK Q
|
---|
41 | .S OK=1
|
---|
42 | .L +^FSCD("RESPONSE",0):30 I '$T S OK=0 Q ; *** needs ok
|
---|
43 | .S DA=1+$P(^FSCD("RESPONSE",0),U,3)
|
---|
44 | .F Q:'$D(^FSCD("RESPONSE",DA,0)) S DA=DA+1
|
---|
45 | .S $P(^FSCD("RESPONSE",0),U,3)=DA,$P(^(0),U,4)=$P(^(0),U,4)+1
|
---|
46 | .S ^FSCD("RESPONSE",DA,0)=NAME_U_DUZ
|
---|
47 | .L -^FSCD("RESPONSE",0)
|
---|
48 | S DIK="^FSCD(""RESPONSE"","
|
---|
49 | D IX1^DIK
|
---|
50 | S CNT=0,NUM=1 F S NUM=$O(^TMP("FSCRPC",$J,"INPUT",NUM)) Q:NUM<1 S LINE=^(NUM) D
|
---|
51 | .S CNT=CNT+1
|
---|
52 | .S ^FSCD("RESPONSE",DA,1,CNT,0)=LINE
|
---|
53 | S ^FSCD("RESPONSE",DA,1,0)="^^"_CNT_U_CNT_U_DT_U
|
---|
54 | Q
|
---|