- 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 Mar 13, 2025@21:25:33 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