1 | LEXDSV ; ISL Defaults - Save ; 09-23-96
|
---|
2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996
|
---|
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
|
---|