FSCEUD ;SLC/STAFF-NOIS Edit User Defaults ;1/10/96 11:46
;;1.1;NOIS;;Sep 06, 1998
;
MOD(USER) ; $$(user) -> preferred module default
N ACTION,DEF,VALUE S DEF=""
D DEFAULT(USER,"MOD",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
D
.I '$D(VALUE) S VALUE=DEF Q
.I '$L(VALUE) S VALUE=DEF Q
.I '$O(^FSC("MOD","B",VALUE,0)) S ACTION="P" Q
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
SPEC(USER) ; $$(user) -> preferred specialist default
N ACTION,DEF,VALUE S DEF=USER
D DEFAULT(USER,"SPEC",.ACTION,.VALUE)
S ACTION=$G(ACTION,"S") I '$L(ACTION) S ACTION="P"
S VALUE=DEF
Q ACTION_U_VALUE
;
SUBJECT(USER) ; $$(user) -> preferred subject default
N ACTION,DEF,VALUE S DEF=""
D DEFAULT(USER,"SUBJECT",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
D
.I '$D(VALUE) S VALUE=DEF Q
.I '$L(VALUE) S VALUE=DEF Q
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
CONTACT(SITE0,USER) ; $$(site zero node,user) -> preferred site contact default
N ACTION,DEF,VALUE S DEF=$$VALUE^FSCGET($P(SITE0,U,6),7100,2.1)
D DEFAULT(USER,"IRM",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
S VALUE=DEF
Q ACTION_U_VALUE
;
PHONE(SITE0,USER) ; $$(site zero node,user) -> preferred site phone default
N ACTION,DEF,VALUE S DEF=$S($P(SITE0,U,7):$P(SITE0,U,7),1:$P(SITE0,U,8))
D DEFAULT(USER,"PHONE",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
S VALUE=DEF
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
PRIORITY(USER) ; $$(user) -> preferred edit
N ACTION,DEF,VALUE S DEF="ROUTINE"
D DEFAULT(USER,"PRI",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
D
.I '$D(VALUE) S VALUE=DEF Q
.I '$L(VALUE) S VALUE=DEF Q
.I '$O(^FSC("PRI","B",VALUE,0)) S ACTION="P" Q
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
PATCH(USER) ; $$(user) -> preferred patch default (prompt or not)
N ACTION,DEF,VALUE S DEF=""
D DEFAULT(USER,"PATCH",.ACTION,.VALUE)
Q $S($L($G(ACTION)):"P",1:"")
;
SUB(USER) ; $$(user) -> preferred subcomponent default (prompt or not)
N ACTION,DEF,VALUE S DEF=""
D DEFAULT(USER,"DEVSUB",.ACTION,.VALUE)
Q $S($L($G(ACTION)):"P",1:"")
;
KEYWORDS(USER) ; $$(user) -> preferred keywords default (prompt or not)
N ACTION,DEF,VALUE S DEF=""
D DEFAULT(USER,"KEYWORDS",.ACTION,.VALUE)
Q $S($L($G(ACTION)):"P",1:"")
;
WKLD(USER) ; $$(user) -> 1 to prompt hrs on editing else 0
I $L($P($G(^FSC("SPEC",USER,0)),U,21)) Q $P(^(0),U,21)
Q +$P($G(^FSC("PARAM",1,0)),U,9)
;
CDATE(USER) ; $$(user) -> preferred close date default
N ACTION,DEF,VALUE S DEF="TODAY"
D DEFAULT(USER,"DATEC",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
D
.I '$D(VALUE) S VALUE=DEF Q
.I '$L(VALUE) S VALUE=DEF Q
.N X,Y S X=VALUE D ^%DT I Y=-1 S ACTION="P" Q
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
FUNC(USER) ; $$(user) -> preferred functional area default
N ACTION,DEF,VALUE S DEF=$S($P($G(^FSC("SPEC",USER,0)),U,4):$$VALUE^FSCGET($P(^(0),U,4),7105.2,4),1:"SUPPORT")
D DEFAULT(USER,"FUNC",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
D
.I '$D(VALUE) S VALUE=DEF Q
.I '$L(VALUE) S VALUE=DEF Q
.I '$O(^FSC("FUNC","B",VALUE,0)) S ACTION="P" Q
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
TASK(USER) ; $$(user) -> preferred task default
N ACTION,DEF,VALUE S DEF="PROBLEM RESOLUTION"
D DEFAULT(USER,"TASK",.ACTION,.VALUE)
S ACTION=$G(ACTION,"P") I '$L(ACTION) S ACTION="P"
D
.I '$D(VALUE) S VALUE=DEF Q
.I '$L(VALUE) S VALUE=DEF Q
.I '$O(^FSC("TASK","B",VALUE,0)) S ACTION="P" Q
I ACTION="S",VALUE="" S ACTION="P"
Q ACTION_U_VALUE
;
DEFAULT(USER,FIELD,ACTION,VALUE) ;
N FLD,NUM
S FLD=+$O(^FSC("FLD","AC",FIELD,0)) I 'FLD Q
S NUM=+$O(^FSC("SPEC",USER,50,"B",FLD,0)) I 'NUM Q
S ACTION=$P($G(^FSC("SPEC",USER,50,NUM,0)),U,2),VALUE=$P($G(^(0)),U,3)
I ACTION="I",FIELD'="SPEC" S ACTION="P" ; *** kludge to allow 'ignore' only on specialist
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFSCEUD 4072 printed Oct 16, 2024@18:18:18 Page 2
FSCEUD ;SLC/STAFF-NOIS Edit User Defaults ;1/10/96 11:46
+1 ;;1.1;NOIS;;Sep 06, 1998
+2 ;
MOD(USER) ; $$(user) -> preferred module default
+1 NEW ACTION,DEF,VALUE
SET DEF=""
+2 DO DEFAULT(USER,"MOD",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 Begin DoDot:1
+5 IF '$DATA(VALUE)
SET VALUE=DEF
QUIT
+6 IF '$LENGTH(VALUE)
SET VALUE=DEF
QUIT
+7 IF '$ORDER(^FSC("MOD","B",VALUE,0))
SET ACTION="P"
QUIT
End DoDot:1
+8 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+9 QUIT ACTION_U_VALUE
+10 ;
SPEC(USER) ; $$(user) -> preferred specialist default
+1 NEW ACTION,DEF,VALUE
SET DEF=USER
+2 DO DEFAULT(USER,"SPEC",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"S")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 SET VALUE=DEF
+5 QUIT ACTION_U_VALUE
+6 ;
SUBJECT(USER) ; $$(user) -> preferred subject default
+1 NEW ACTION,DEF,VALUE
SET DEF=""
+2 DO DEFAULT(USER,"SUBJECT",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 Begin DoDot:1
+5 IF '$DATA(VALUE)
SET VALUE=DEF
QUIT
+6 IF '$LENGTH(VALUE)
SET VALUE=DEF
QUIT
End DoDot:1
+7 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+8 QUIT ACTION_U_VALUE
+9 ;
CONTACT(SITE0,USER) ; $$(site zero node,user) -> preferred site contact default
+1 NEW ACTION,DEF,VALUE
SET DEF=$$VALUE^FSCGET($PIECE(SITE0,U,6),7100,2.1)
+2 DO DEFAULT(USER,"IRM",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 SET VALUE=DEF
+5 QUIT ACTION_U_VALUE
+6 ;
PHONE(SITE0,USER) ; $$(site zero node,user) -> preferred site phone default
+1 NEW ACTION,DEF,VALUE
SET DEF=$SELECT($PIECE(SITE0,U,7):$PIECE(SITE0,U,7),1:$PIECE(SITE0,U,8))
+2 DO DEFAULT(USER,"PHONE",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 SET VALUE=DEF
+5 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+6 QUIT ACTION_U_VALUE
+7 ;
PRIORITY(USER) ; $$(user) -> preferred edit
+1 NEW ACTION,DEF,VALUE
SET DEF="ROUTINE"
+2 DO DEFAULT(USER,"PRI",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 Begin DoDot:1
+5 IF '$DATA(VALUE)
SET VALUE=DEF
QUIT
+6 IF '$LENGTH(VALUE)
SET VALUE=DEF
QUIT
+7 IF '$ORDER(^FSC("PRI","B",VALUE,0))
SET ACTION="P"
QUIT
End DoDot:1
+8 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+9 QUIT ACTION_U_VALUE
+10 ;
PATCH(USER) ; $$(user) -> preferred patch default (prompt or not)
+1 NEW ACTION,DEF,VALUE
SET DEF=""
+2 DO DEFAULT(USER,"PATCH",.ACTION,.VALUE)
+3 QUIT $SELECT($LENGTH($GET(ACTION)):"P",1:"")
+4 ;
SUB(USER) ; $$(user) -> preferred subcomponent default (prompt or not)
+1 NEW ACTION,DEF,VALUE
SET DEF=""
+2 DO DEFAULT(USER,"DEVSUB",.ACTION,.VALUE)
+3 QUIT $SELECT($LENGTH($GET(ACTION)):"P",1:"")
+4 ;
KEYWORDS(USER) ; $$(user) -> preferred keywords default (prompt or not)
+1 NEW ACTION,DEF,VALUE
SET DEF=""
+2 DO DEFAULT(USER,"KEYWORDS",.ACTION,.VALUE)
+3 QUIT $SELECT($LENGTH($GET(ACTION)):"P",1:"")
+4 ;
WKLD(USER) ; $$(user) -> 1 to prompt hrs on editing else 0
+1 IF $LENGTH($PIECE($GET(^FSC("SPEC",USER,0)),U,21))
QUIT $PIECE(^(0),U,21)
+2 QUIT +$PIECE($GET(^FSC("PARAM",1,0)),U,9)
+3 ;
CDATE(USER) ; $$(user) -> preferred close date default
+1 NEW ACTION,DEF,VALUE
SET DEF="TODAY"
+2 DO DEFAULT(USER,"DATEC",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 Begin DoDot:1
+5 IF '$DATA(VALUE)
SET VALUE=DEF
QUIT
+6 IF '$LENGTH(VALUE)
SET VALUE=DEF
QUIT
+7 NEW X,Y
SET X=VALUE
DO ^%DT
IF Y=-1
SET ACTION="P"
QUIT
End DoDot:1
+8 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+9 QUIT ACTION_U_VALUE
+10 ;
FUNC(USER) ; $$(user) -> preferred functional area default
+1 NEW ACTION,DEF,VALUE
SET DEF=$SELECT($PIECE($GET(^FSC("SPEC",USER,0)),U,4):$$VALUE^FSCGET($PIECE(^(0),U,4),7105.2,4),1:"SUPPORT")
+2 DO DEFAULT(USER,"FUNC",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 Begin DoDot:1
+5 IF '$DATA(VALUE)
SET VALUE=DEF
QUIT
+6 IF '$LENGTH(VALUE)
SET VALUE=DEF
QUIT
+7 IF '$ORDER(^FSC("FUNC","B",VALUE,0))
SET ACTION="P"
QUIT
End DoDot:1
+8 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+9 QUIT ACTION_U_VALUE
+10 ;
TASK(USER) ; $$(user) -> preferred task default
+1 NEW ACTION,DEF,VALUE
SET DEF="PROBLEM RESOLUTION"
+2 DO DEFAULT(USER,"TASK",.ACTION,.VALUE)
+3 SET ACTION=$GET(ACTION,"P")
IF '$LENGTH(ACTION)
SET ACTION="P"
+4 Begin DoDot:1
+5 IF '$DATA(VALUE)
SET VALUE=DEF
QUIT
+6 IF '$LENGTH(VALUE)
SET VALUE=DEF
QUIT
+7 IF '$ORDER(^FSC("TASK","B",VALUE,0))
SET ACTION="P"
QUIT
End DoDot:1
+8 IF ACTION="S"
IF VALUE=""
SET ACTION="P"
+9 QUIT ACTION_U_VALUE
+10 ;
DEFAULT(USER,FIELD,ACTION,VALUE) ;
+1 NEW FLD,NUM
+2 SET FLD=+$ORDER(^FSC("FLD","AC",FIELD,0))
IF 'FLD
QUIT
+3 SET NUM=+$ORDER(^FSC("SPEC",USER,50,"B",FLD,0))
IF 'NUM
QUIT
+4 SET ACTION=$PIECE($GET(^FSC("SPEC",USER,50,NUM,0)),U,2)
SET VALUE=$PIECE($GET(^(0)),U,3)
+5 ; *** kludge to allow 'ignore' only on specialist
IF ACTION="I"
IF FIELD'="SPEC"
SET ACTION="P"
+6 QUIT