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