| 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 | 
|---|