[613] | 1 | LEXDMGT ; ISL Defaults - Manager/Update ; 09-23-96
|
---|
| 2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996;Build 1
|
---|
| 3 | Q
|
---|
| 4 | ; LEXDICS Filter
|
---|
| 5 | ; LEXDICS(0) Filter name
|
---|
| 6 | ; LEXSHOW Display
|
---|
| 7 | ; LEXSHOW(0) Display name
|
---|
| 8 | ; LEXSUB Vocabulary
|
---|
| 9 | ; LEXSUB(0) Vocabulary name
|
---|
| 10 | ; LEXCTX Shortcut Context
|
---|
| 11 | ; LEXCTX(0) Shortcut Context name
|
---|
| 12 | ;
|
---|
| 13 | ; LEXAP Application
|
---|
| 14 | ; LEXAPS Multiple Applications
|
---|
| 15 | ; LEXDCUR Current default value (pre-edit)
|
---|
| 16 | ; LEXDNAM Default name
|
---|
| 17 | ; LEXDVAL Default value
|
---|
| 18 | ; LEXFLD Default field # in 757.201
|
---|
| 19 | ; LEXC Counter
|
---|
| 20 | ; LEXL User Location
|
---|
| 21 | ; LEXS User Service
|
---|
| 22 | ; LEXUSER DUZ of user to update defaults
|
---|
| 23 | ;
|
---|
| 24 | ; Needs:
|
---|
| 25 | ;
|
---|
| 26 | ; LEXAP Application
|
---|
| 27 | ; LEXOVER Flag - Overwrite user defaults (Y/N)
|
---|
| 28 | ; LEXLIM Limits (parameter for LEXMETH)
|
---|
| 29 | ; LEXMETH Method, singel user, by service, by location,
|
---|
| 30 | ; by both service and location, or all users
|
---|
| 31 | ;
|
---|
| 32 | UPDATE ; Update user defaults
|
---|
| 33 | Q:'$L($G(LEXAP)) Q:'$L($G(LEXOVER)) Q:'$L($G(LEXMETH)) Q:'$L($G(LEXLIM))
|
---|
| 34 | N ZTSAVE,ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSK,Y
|
---|
| 35 | S (ZTSAVE("LEXOVER"),ZTSAVE("LEXAP"),ZTSAVE("LEXMETH"),ZTSAVE("LEXLIM"))=""
|
---|
| 36 | S (ZTSAVE("LEXDICS"),ZTSAVE("LEXDICS(0)"),ZTSAVE("LEXSHOW"),ZTSAVE("LEXSHOW(0)"))=""
|
---|
| 37 | S (ZTSAVE("LEXSUB"),ZTSAVE("LEXSUB(0)"),ZTSAVE("LEXCTX"),ZTSAVE("LEXCTX(0)"))=""
|
---|
| 38 | S ZTRTN="UPDT^LEXDMGT",ZTDESC="Up-dating User Defaults"
|
---|
| 39 | S ZTDTH=$H,ZTIO="" D ^%ZTLOAD
|
---|
| 40 | W:$D(ZTSK) !!,"Task has been created to update user defaults"
|
---|
| 41 | W:'$D(ZTSK) !!,"Unable to create a task to update user defaults"
|
---|
| 42 | D HOME^%ZIS Q
|
---|
| 43 | UPDT ; TaskManager entry point to Update Defaults (tasked)
|
---|
| 44 | N LEXUSER,LEXDVAL,LEXDNAM,LEXFLD
|
---|
| 45 | S LEXMETH=$P(LEXMETH,U,1) Q:LEXMETH=""
|
---|
| 46 | ONE ; Single user
|
---|
| 47 | I LEXMETH="ONE" S LEXUSER=+LEXLIM D G UPDTQ
|
---|
| 48 | . Q:$P(^VA(200,LEXUSER,0),U,1)="" D BYAPPS
|
---|
| 49 | MULTI ; Multiple users
|
---|
| 50 | S LEXUSER=+($O(^VA(200,1),-1))
|
---|
| 51 | F S LEXUSER=$O(^VA(200,LEXUSER)) Q:+LEXUSER=0 D
|
---|
| 52 | . Q:$P($G(^VA(200,LEXUSER,0)),U,1)="" D BYAPPS
|
---|
| 53 | G UPDTQ
|
---|
| 54 | BYAPPS ; Process defaults by application
|
---|
| 55 | I LEXAP'[";" S LEXAP=+LEXAP D:+LEXAP>0 BYUSR Q
|
---|
| 56 | I LEXAP[";" D Q
|
---|
| 57 | . N LEXC,LEXAPS S LEXAPS=LEXAP
|
---|
| 58 | . F LEXC=1:1:$L(LEXAPS,";") S LEXAP=$P(LEXAPS,";",LEXC) D BYUSR
|
---|
| 59 | . S LEXAP=LEXAPS
|
---|
| 60 | BYUSR ; Process defaults by user
|
---|
| 61 | N LEXS,LEXL
|
---|
| 62 | S LEXS=$P($G(^VA(200,LEXUSER,5)),"^",1) S:LEXS="" LEXS=-1
|
---|
| 63 | S LEXL=$P($G(^VA(200,LEXUSER,100.1)),"^",7) S:LEXL="" LEXL=-1
|
---|
| 64 | D:LEXMETH="ALL"!(LEXMETH="ONE") UPUSR
|
---|
| 65 | D:LEXMETH="SEV"&(+LEXLIM=+LEXS) UPUSR
|
---|
| 66 | D:LEXMETH="LOC"&(+LEXLIM=+LEXL) UPUSR
|
---|
| 67 | I LEXMETH="SAL" D
|
---|
| 68 | . I +($P(LEXLIM,U,1))>0,+($P(LEXLIM,U,1))=+LEXS D
|
---|
| 69 | . . I +($P(LEXLIM,U,2))>0,+($P(LEXLIM,U,2))=+LEXL D UPUSR
|
---|
| 70 | Q
|
---|
| 71 | UPUSR ; Update user defaults for user LEXUSER
|
---|
| 72 | N LEXDCUR,LEXDVAL,LEXDNAM,LEXFLD
|
---|
| 73 | UPDIC ; Filter LEXDICS
|
---|
| 74 | S LEXFLD=1,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
|
---|
| 75 | S LEXDVAL=$G(LEXDICS),LEXDNAM=$G(LEXDICS(0))
|
---|
| 76 | G:LEXDCUR'=""&('LEXOVER) UPSHOW D:LEXDVAL'="" SAVE
|
---|
| 77 | ;
|
---|
| 78 | UPSHOW ; Display LEXSHOW
|
---|
| 79 | S LEXFLD=2,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
|
---|
| 80 | S LEXDVAL=$G(LEXSHOW),LEXDNAM=$G(LEXSHOW(0))
|
---|
| 81 | G:LEXDCUR'=""&('LEXOVER) UPSUB D:LEXDVAL'="" SAVE
|
---|
| 82 | ;
|
---|
| 83 | UPSUB ; Vocabulary LEXSUB
|
---|
| 84 | S LEXFLD=3,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
|
---|
| 85 | S LEXDVAL=$G(LEXSUB),LEXDNAM=$G(LEXSUB(0))
|
---|
| 86 | G:LEXDCUR'=""&('LEXOVER) UPCON D:LEXDVAL'="" SAVE
|
---|
| 87 | ;
|
---|
| 88 | UPCON ; Shortcut Context LEXCTX
|
---|
| 89 | S LEXFLD=4,LEXDCUR=$G(^LEXT(757.2,LEXAP,200,LEXUSER,LEXFLD))
|
---|
| 90 | S LEXDVAL=$G(LEXCTX),LEXDNAM=$G(LEXCTX(0))
|
---|
| 91 | G:LEXDCUR'=""&('LEXOVER) UPQ D:LEXDVAL'="" SAVE
|
---|
| 92 | ;
|
---|
| 93 | UPQ ; Quit update
|
---|
| 94 | Q
|
---|
| 95 | UPDTQ ; Quit update (tasked)
|
---|
| 96 | S:$D(ZTQUEUED) ZTREQ="@" Q
|
---|
| 97 | Q
|
---|
| 98 | SAVE ; Save default - SET^LEXDSV(DUZ,APPLICATION,VALUE,NAME,FIELD)
|
---|
| 99 | I LEXDVAL'["@" D Q
|
---|
| 100 | . D SET^LEXDSV(LEXUSER,LEXAP,LEXDVAL,LEXDNAM,LEXFLD) Q
|
---|
| 101 | ; Kill default - SET^LEXDSV(DUZ,APPLICATION,"@","",FIELD)
|
---|
| 102 | D SET^LEXDSV(LEXUSER,LEXAP,"@","",LEXFLD) Q
|
---|