Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LEXDMGT

LEXDMGT.m

Go to the documentation of this file.
  1. LEXDMGT ;ISL/KER - Defaults - Manager/Update ;04/21/2014
  1. ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 1
  1. ;
  1. ; Global Variables
  1. ; None
  1. ;
  1. ; External References
  1. ; $$GET1^DIQ ICR 2056
  1. ; FILE^DID ICR 2052
  1. ; HOME^%ZIS ICR 10086
  1. ; ^%ZTLOAD ICR 10063
  1. ;
  1. ; LEXDICS Filter
  1. ; LEXDICS(0) Filter name
  1. ; LEXSHOW Display
  1. ; LEXSHOW(0) Display name
  1. ; LEXSUB Vocabulary
  1. ; LEXSUB(0) Vocabulary name
  1. ; LEXCTX Shortcut Context
  1. ; LEXCTX(0) Shortcut Context name
  1. ;
  1. ; LEXAP Application
  1. ; LEXAPS Multiple Applications
  1. ; LEXDCUR Current default value (pre-edit)
  1. ; LEXDNAM Default name
  1. ; LEXDVAL Default value
  1. ; LEXFLD Default field # in 757.201
  1. ; LEXC Counter
  1. ; LEXS User Service
  1. ; LEXUSER DUZ of user to update defaults
  1. ;
  1. ; Needs:
  1. ;
  1. ; LEXAP Application
  1. ; LEXOVER Flag - Overwrite user defaults (Y/N)
  1. ; LEXLIM Limits (parameter for LEXMETH)
  1. ; LEXMETH Method, singel user, by service or all users
  1. ;
  1. Q
  1. UPDATE ; Update user defaults
  1. Q:'$L($G(LEXAP)) Q:'$L($G(LEXOVER)) Q:'$L($G(LEXMETH)) Q:'$L($G(LEXLIM))
  1. N ZTSAVE,ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSK,Y
  1. S (ZTSAVE("LEXOVER"),ZTSAVE("LEXAP"),ZTSAVE("LEXMETH"),ZTSAVE("LEXLIM"))=""
  1. S (ZTSAVE("LEXDICS"),ZTSAVE("LEXDICS(0)"),ZTSAVE("LEXSHOW"),ZTSAVE("LEXSHOW(0)"))=""
  1. S (ZTSAVE("LEXSUB"),ZTSAVE("LEXSUB(0)"),ZTSAVE("LEXCTX"),ZTSAVE("LEXCTX(0)"))=""
  1. S ZTRTN="UPDT^LEXDMGT",ZTDESC="Up-dating User Defaults"
  1. S ZTDTH=$H,ZTIO="" D ^%ZTLOAD
  1. W:$D(ZTSK) !!,"Task has been created to update user defaults"
  1. W:'$D(ZTSK) !!,"Unable to create a task to update user defaults"
  1. D HOME^%ZIS Q
  1. UPDT ; TaskManager entry point to Update Defaults (tasked)
  1. N LEXUSER,LEXDVAL,LEXDNAM,LEXFLD
  1. S LEXMETH=$P(LEXMETH,U,1) Q:LEXMETH=""
  1. ONE ; Single user
  1. I LEXMETH="ONE" S LEXUSER=+LEXLIM D G UPDTQ
  1. . Q:'$L($$GET1^DIQ(200,+($G(LEXUSER)),.01)) D BYAPPS
  1. MULTI ; Multiple users
  1. N LEXRT,LEX D FILE^DID(200,,"GLOBAL NAME","LEX")
  1. S LEXRT=$G(LEX("GLOBAL NAME")) Q:'$L(LEXRT)
  1. S LEXUSER=+($O(@(LEXRT_"1)"),-1))
  1. F S LEXUSER=$O(@(LEXRT_LEXUSER_")")) Q:+LEXUSER=0 D
  1. . Q:'$L($$GET1^DIQ(200,+($G(LEXUSER)),.01)) D BYAPPS
  1. G UPDTQ
  1. BYAPPS ; Process defaults by application
  1. I LEXAP'[";" S LEXAP=+LEXAP D:+LEXAP>0 BYUSR Q
  1. I LEXAP[";" D Q
  1. . N LEXC,LEXAPS S LEXAPS=LEXAP
  1. . F LEXC=1:1:$L(LEXAPS,";") S LEXAP=$P(LEXAPS,";",LEXC) D BYUSR
  1. . S LEXAP=LEXAPS
  1. BYUSR ; Process defaults by user
  1. N LEXS S LEXS=$$GET1^DIQ(200,+($G(LEXUSER)),29,"I") S:LEXS="" LEXS=-1
  1. D:LEXMETH="ALL"!(LEXMETH="ONE") UPUSR
  1. D:LEXMETH="SEV"&(+LEXLIM=+LEXS) UPUSR
  1. I LEXMETH="SAL" D
  1. . I +($P(LEXLIM,U,1))>0,+($P(LEXLIM,U,1))=+LEXS D
  1. . . I +($P(LEXLIM,U,2))>0,+($P(LEXLIM,U,2))=+LEXL D UPUSR
  1. Q
  1. UPUSR ; Update user defaults for user LEXUSER
  1. N LEXDCUR,LEXDVAL,LEXDNAM,LEXFLD
  1. UPDIC ; Filter LEXDICS
  1. S LEXFLD=1,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
  1. S LEXDVAL=$G(LEXDICS),LEXDNAM=$G(LEXDICS(0))
  1. G:LEXDCUR'=""&('LEXOVER) UPSHOW D:LEXDVAL'="" SAVE
  1. ;
  1. UPSHOW ; Display LEXSHOW
  1. S LEXFLD=2,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
  1. S LEXDVAL=$G(LEXSHOW),LEXDNAM=$G(LEXSHOW(0))
  1. G:LEXDCUR'=""&('LEXOVER) UPSUB D:LEXDVAL'="" SAVE
  1. ;
  1. UPSUB ; Vocabulary LEXSUB
  1. S LEXFLD=3,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
  1. S LEXDVAL=$G(LEXSUB),LEXDNAM=$G(LEXSUB(0))
  1. G:LEXDCUR'=""&('LEXOVER) UPCON D:LEXDVAL'="" SAVE
  1. ;
  1. UPCON ; Shortcut Context LEXCTX
  1. S LEXFLD=4,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
  1. S LEXDVAL=$G(LEXCTX),LEXDNAM=$G(LEXCTX(0))
  1. G:LEXDCUR'=""&('LEXOVER) UPQ D:LEXDVAL'="" SAVE
  1. ;
  1. UPQ ; Quit update
  1. Q
  1. UPDTQ ; Quit update (tasked)
  1. S:$D(ZTQUEUED) ZTREQ="@" Q
  1. Q
  1. CLR ; Clear
  1. N LEXAP,LEXOVER,LEXLIM,LEXMETH
  1. Q
  1. SAVE ; Save default - SET^LEXDSV(DUZ,APPLICATION,VALUE,NAME,FIELD)
  1. I LEXDVAL'["@" D Q
  1. . D SET^LEXDSV(LEXUSER,LEXAP,LEXDVAL,LEXDNAM,LEXFLD) Q
  1. ; Kill default - SET^LEXDSV(DUZ,APPLICATION,"@","",FIELD)
  1. D SET^LEXDSV(LEXUSER,LEXAP,"@","",LEXFLD) Q