FSCXMRU ;SLC/STAFF-NOIS Xrefs MRU ;12/27/96 14:25
;;1.1;NOIS;;Sep 06, 1998
;
AUTL(OP,FIELD,VALUE,NUM) ; from dd 7101.1
N USER,TIME,LIST,INDEX
I OP="SET" D Q
.I FIELD="USER" D Q
..I VALUE S TIME=$P(^FSCD("MRU",NUM,0),U,2),LIST=$P(^(0),U,3),INDEX=+$P(^(0),U,4) I TIME,LIST S ^FSCD("MRU","AUTL",VALUE,-TIME,LIST,INDEX)=NUM
.I FIELD="TIME" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U),LIST=$P(^(0),U,3),INDEX=+$P(^(0),U,4) I USER,LIST S ^FSCD("MRU","AUTL",USER,-VALUE,LIST,INDEX)=NUM
.I FIELD="LIST" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U),TIME=$P(^(0),U,2),INDEX=+$P(^(0),U,4) I USER,TIME S ^FSCD("MRU","AUTL",USER,-TIME,VALUE,INDEX)=NUM
.I FIELD="VALUE" D Q
..S USER=$P(^FSCD("MRU",NUM,0),U),TIME=$P(^(0),U,2),LIST=$P(^(0),U,3) I USER,TIME,LIST S ^FSCD("MRU","AUTL",USER,-TIME,LIST,+VALUE)=NUM
I OP="KILL" D Q
.I FIELD="USER" D Q
..I VALUE S TIME=$P(^FSCD("MRU",NUM,0),U,2),LIST=$P(^(0),U,3),INDEX=+$P(^(0),U,4) I TIME,LIST K ^FSCD("MRU","AUTL",VALUE,-TIME,LIST,INDEX)
.I FIELD="TIME" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U),LIST=$P(^(0),U,3),INDEX=+$P(^(0),U,4) I USER,LIST K ^FSCD("MRU","AUTL",USER,-VALUE,LIST,INDEX)
.I FIELD="LIST" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U),TIME=$P(^(0),U,2),INDEX=+$P(^(0),U,4) I USER,TIME K ^FSCD("MRU","AUTL",USER,-TIME,VALUE,INDEX)
.I FIELD="VALUE" D Q
..S USER=$P(^FSCD("MRU",NUM,0),U),TIME=$P(^(0),U,2),LIST=$P(^(0),U,3) I USER,TIME,LIST K ^FSCD("MRU","AUTL",USER,-TIME,LIST,+VALUE)
Q
;
AUL(OP,FIELD,VALUE,NUM) ; from dd 7101.1
N USER,LIST
I OP="SET" D Q
.I FIELD="USER" D Q
..I VALUE S LIST=$P(^FSCD("MRU",NUM,0),U,3),INDEX=+$P(^(0),U,4) I LIST S ^FSCD("MRU","AUL",VALUE,LIST,INDEX)=NUM
.I FIELD="LIST" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U),INDEX=+$P(^(0),U,4) I USER S ^FSCD("MRU","AUL",USER,VALUE,INDEX)=NUM
.I FIELD="VALUE" D Q
..S USER=$P(^FSCD("MRU",NUM,0),U),LIST=$P(^(0),U,3) I USER,LIST S ^FSCD("MRU","AUL",USER,LIST,+VALUE)=NUM
I OP="KILL" D Q
.I FIELD="USER" D Q
..I VALUE S LIST=$P(^FSCD("MRU",NUM,0),U,3),INDEX=+$P(^(0),U,4) I LIST K ^FSCD("MRU","AUL",VALUE,LIST,INDEX)
.I FIELD="LIST" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U),INDEX=+$P(^(0),U,4) I USER K ^FSCD("MRU","AUL",USER,VALUE,INDEX)
.I FIELD="VALUE" D Q
..S USER=$P(^FSCD("MRU",NUM,0),U),LIST=$P(^(0),U,3) I USER,LIST K ^FSCD("MRU","AUL",USER,LIST,+VALUE)
Q
;
AUT(OP,FIELD,VALUE,NUM) ; from dd 7101.1
N USER,TIME
I OP="SET" D Q
.I FIELD="USER" D Q
..I VALUE S TIME=$P(^FSCD("MRU",NUM,0),U,2) I TIME S ^FSCD("MRU","AUT",VALUE)=TIME
.I FIELD="TIME" D Q
..I VALUE S USER=$P(^FSCD("MRU",NUM,0),U) I USER S ^FSCD("MRU","AUT",USER)=VALUE
I OP="KILL" D Q
.I FIELD="USER" D Q
..I VALUE K ^FSCD("MRU","AUT",VALUE)
.I FIELD="TIME" D Q
..S USER=$P(^FSCD("MRU",NUM,0),U) I USER K ^FSCD("MRU","AUT",USER)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFSCXMRU 2870 printed Nov 22, 2024@17:30:35 Page 2
FSCXMRU ;SLC/STAFF-NOIS Xrefs MRU ;12/27/96 14:25
+1 ;;1.1;NOIS;;Sep 06, 1998
+2 ;
AUTL(OP,FIELD,VALUE,NUM) ; from dd 7101.1
+1 NEW USER,TIME,LIST,INDEX
+2 IF OP="SET"
Begin DoDot:1
+3 IF FIELD="USER"
Begin DoDot:2
+4 IF VALUE
SET TIME=$PIECE(^FSCD("MRU",NUM,0),U,2)
SET LIST=$PIECE(^(0),U,3)
SET INDEX=+$PIECE(^(0),U,4)
IF TIME
IF LIST
SET ^FSCD("MRU","AUTL",VALUE,-TIME,LIST,INDEX)=NUM
End DoDot:2
QUIT
+5 IF FIELD="TIME"
Begin DoDot:2
+6 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET LIST=$PIECE(^(0),U,3)
SET INDEX=+$PIECE(^(0),U,4)
IF USER
IF LIST
SET ^FSCD("MRU","AUTL",USER,-VALUE,LIST,INDEX)=NUM
End DoDot:2
QUIT
+7 IF FIELD="LIST"
Begin DoDot:2
+8 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET TIME=$PIECE(^(0),U,2)
SET INDEX=+$PIECE(^(0),U,4)
IF USER
IF TIME
SET ^FSCD("MRU","AUTL",USER,-TIME,VALUE,INDEX)=NUM
End DoDot:2
QUIT
+9 IF FIELD="VALUE"
Begin DoDot:2
+10 SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET TIME=$PIECE(^(0),U,2)
SET LIST=$PIECE(^(0),U,3)
IF USER
IF TIME
IF LIST
SET ^FSCD("MRU","AUTL",USER,-TIME,LIST,+VALUE)=NUM
End DoDot:2
QUIT
End DoDot:1
QUIT
+11 IF OP="KILL"
Begin DoDot:1
+12 IF FIELD="USER"
Begin DoDot:2
+13 IF VALUE
SET TIME=$PIECE(^FSCD("MRU",NUM,0),U,2)
SET LIST=$PIECE(^(0),U,3)
SET INDEX=+$PIECE(^(0),U,4)
IF TIME
IF LIST
KILL ^FSCD("MRU","AUTL",VALUE,-TIME,LIST,INDEX)
End DoDot:2
QUIT
+14 IF FIELD="TIME"
Begin DoDot:2
+15 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET LIST=$PIECE(^(0),U,3)
SET INDEX=+$PIECE(^(0),U,4)
IF USER
IF LIST
KILL ^FSCD("MRU","AUTL",USER,-VALUE,LIST,INDEX)
End DoDot:2
QUIT
+16 IF FIELD="LIST"
Begin DoDot:2
+17 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET TIME=$PIECE(^(0),U,2)
SET INDEX=+$PIECE(^(0),U,4)
IF USER
IF TIME
KILL ^FSCD("MRU","AUTL",USER,-TIME,VALUE,INDEX)
End DoDot:2
QUIT
+18 IF FIELD="VALUE"
Begin DoDot:2
+19 SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET TIME=$PIECE(^(0),U,2)
SET LIST=$PIECE(^(0),U,3)
IF USER
IF TIME
IF LIST
KILL ^FSCD("MRU","AUTL",USER,-TIME,LIST,+VALUE)
End DoDot:2
QUIT
End DoDot:1
QUIT
+20 QUIT
+21 ;
AUL(OP,FIELD,VALUE,NUM) ; from dd 7101.1
+1 NEW USER,LIST
+2 IF OP="SET"
Begin DoDot:1
+3 IF FIELD="USER"
Begin DoDot:2
+4 IF VALUE
SET LIST=$PIECE(^FSCD("MRU",NUM,0),U,3)
SET INDEX=+$PIECE(^(0),U,4)
IF LIST
SET ^FSCD("MRU","AUL",VALUE,LIST,INDEX)=NUM
End DoDot:2
QUIT
+5 IF FIELD="LIST"
Begin DoDot:2
+6 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET INDEX=+$PIECE(^(0),U,4)
IF USER
SET ^FSCD("MRU","AUL",USER,VALUE,INDEX)=NUM
End DoDot:2
QUIT
+7 IF FIELD="VALUE"
Begin DoDot:2
+8 SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET LIST=$PIECE(^(0),U,3)
IF USER
IF LIST
SET ^FSCD("MRU","AUL",USER,LIST,+VALUE)=NUM
End DoDot:2
QUIT
End DoDot:1
QUIT
+9 IF OP="KILL"
Begin DoDot:1
+10 IF FIELD="USER"
Begin DoDot:2
+11 IF VALUE
SET LIST=$PIECE(^FSCD("MRU",NUM,0),U,3)
SET INDEX=+$PIECE(^(0),U,4)
IF LIST
KILL ^FSCD("MRU","AUL",VALUE,LIST,INDEX)
End DoDot:2
QUIT
+12 IF FIELD="LIST"
Begin DoDot:2
+13 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET INDEX=+$PIECE(^(0),U,4)
IF USER
KILL ^FSCD("MRU","AUL",USER,VALUE,INDEX)
End DoDot:2
QUIT
+14 IF FIELD="VALUE"
Begin DoDot:2
+15 SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
SET LIST=$PIECE(^(0),U,3)
IF USER
IF LIST
KILL ^FSCD("MRU","AUL",USER,LIST,+VALUE)
End DoDot:2
QUIT
End DoDot:1
QUIT
+16 QUIT
+17 ;
AUT(OP,FIELD,VALUE,NUM) ; from dd 7101.1
+1 NEW USER,TIME
+2 IF OP="SET"
Begin DoDot:1
+3 IF FIELD="USER"
Begin DoDot:2
+4 IF VALUE
SET TIME=$PIECE(^FSCD("MRU",NUM,0),U,2)
IF TIME
SET ^FSCD("MRU","AUT",VALUE)=TIME
End DoDot:2
QUIT
+5 IF FIELD="TIME"
Begin DoDot:2
+6 IF VALUE
SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
IF USER
SET ^FSCD("MRU","AUT",USER)=VALUE
End DoDot:2
QUIT
End DoDot:1
QUIT
+7 IF OP="KILL"
Begin DoDot:1
+8 IF FIELD="USER"
Begin DoDot:2
+9 IF VALUE
KILL ^FSCD("MRU","AUT",VALUE)
End DoDot:2
QUIT
+10 IF FIELD="TIME"
Begin DoDot:2
+11 SET USER=$PIECE(^FSCD("MRU",NUM,0),U)
IF USER
KILL ^FSCD("MRU","AUT",USER)
End DoDot:2
QUIT
End DoDot:1
QUIT
+12 QUIT