| [613] | 1 | LEXDSV ; ISL Defaults - Save                      ; 09-23-96 | 
|---|
|  | 2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996;Build 1 | 
|---|
|  | 3 | Q | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ; Needs | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | ;   Application      File DA, Subfile DA(1)  LEXAP | 
|---|
|  | 8 | ;   User DUZ         Sub-file .01 DINUM      LEXDUZ | 
|---|
|  | 9 | ;   Default value                            LEXDVAL | 
|---|
|  | 10 | ;   Defualt name                             LEXDNAM | 
|---|
|  | 11 | ;   Default location Sub-file field          LEXFLD | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | ; Sets ^LEXT(757.2,LEXAP,200,LEXDUZ,LEXFLD)=LEXDVAL | 
|---|
|  | 14 | ; and  ^LEXT(757.2,LEXAP,200,LEXDUZ,(LEXFLD+.5))=LEXDNAM | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | SET(LEXDUZ,LEXAP,LEXDVAL,LEXDNAM,LEXFLD) ; | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | Q:'$L($G(LEXDVAL))  S:LEXDVAL["@" LEXDVAL="@",LEXDNAM="@" S DIC("P")="757.201PA" | 
|---|
|  | 20 | N LEXWARN S LEXWARN=0,(DIC,DIE)="^LEXT(757.2,"_LEXAP_",200," | 
|---|
|  | 21 | S DA(1)=LEXAP,DA=LEXDUZ | 
|---|
|  | 22 | S DLAYGO=757.2,(DINUM,X)=LEXDUZ,DIC(0)="L" | 
|---|
|  | 23 | S DIC("DR")=LEXFLD_"////^S X=LEXDVAL" K DD,DO D FILE^DICN | 
|---|
|  | 24 | EDIT ; Lock record and edit user default | 
|---|
|  | 25 | L +^LEXT(757.2,+LEXAP,200):1 | 
|---|
|  | 26 | I '$T D  G EDIT | 
|---|
|  | 27 | . W:'$D(ZTQUEUED)&('LEXWARN) !,"Another user is editing this entry, please wait" | 
|---|
|  | 28 | . S LEXWARN=1 H 2 | 
|---|
|  | 29 | S DA(1)=LEXAP,DA=LEXDUZ,DR=LEXFLD_"////^S X=LEXDVAL" | 
|---|
|  | 30 | D ^DIE I $L($G(LEXDNAM)) S DR=(LEXFLD+.5)_"////^S X=LEXDNAM" D ^DIE | 
|---|
|  | 31 | K DA,DR,DIE,DIC | 
|---|
|  | 32 | L -^LEXT(757.2,+LEXAP,200) | 
|---|
|  | 33 | ; | 
|---|
|  | 34 | ; Delete name if default is null | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | N LEXX,LEXDEL S LEXX=0,LEXDEL=1 | 
|---|
|  | 37 | F  S LEXX=$O(^LEXT(757.2,LEXAP,200,LEXDUZ,LEXX)) Q:+LEXX=0  D | 
|---|
|  | 38 | . I '$L($G(^LEXT(757.2,LEXAP,200,LEXDUZ,LEXX))) D | 
|---|
|  | 39 | . . I $L($G(^LEXT(757.2,LEXAP,200,LEXDUZ,(LEXX+.5)))) D | 
|---|
|  | 40 | . . . S LEXDVAL="@",DIC("P")="757.201PA" | 
|---|
|  | 41 | . . . S (DIC,DIE)="^LEXT(757.2,"_LEXAP_",200,",DA(1)=LEXAP,DA=LEXDUZ | 
|---|
|  | 42 | . . . S DLAYGO=757.2,(DINUM,X)=LEXDUZ,DIC(0)="L" | 
|---|
|  | 43 | . . . L +^LEXT(757.2,+LEXAP,200):1 I '$T H 2 S LEXX=LEXX-.05 Q | 
|---|
|  | 44 | . . . S DR=(LEXX+.5)_"////^S X=LEXDVAL" | 
|---|
|  | 45 | . . . D ^DIE S LEXX=LEXX+.5 K DA,DR,DIE,DIC | 
|---|
|  | 46 | . . . L -^LEXT(757.2,+LEXAP,200) | 
|---|
|  | 47 | . . I '$L($G(^LEXT(757.2,LEXAP,200,LEXDUZ,(LEXX+.5)))) D | 
|---|
|  | 48 | . . . K ^LEXT(757.2,LEXAP,200,LEXDUZ,LEXX),^LEXT(757.2,LEXAP,200,LEXDUZ,(LEXX+.5)) | 
|---|
|  | 49 | . I $L($G(^LEXT(757.2,LEXAP,200,LEXDUZ,LEXX))) S LEXDEL=0 | 
|---|
|  | 50 | ; | 
|---|
|  | 51 | ; Delete record if all defaults are null | 
|---|
|  | 52 | ; | 
|---|
|  | 53 | I LEXDEL D | 
|---|
|  | 54 | . S (DIC,DIE,DIK)="^LEXT(757.2,"_LEXAP_",200," | 
|---|
|  | 55 | . S DA(1)=LEXAP,DA=LEXDUZ D ^DIK | 
|---|
|  | 56 | Q | 
|---|