1 | ZVEMSF5 ;DJB,VSHL**DIE [12/4/95 7:12pm]
|
---|
2 | ;;12;VPE;;COPYRIGHT David Bolduc @1993
|
---|
3 | ;
|
---|
4 | DIE ;;;
|
---|
5 | ;;; D I E Edit Data
|
---|
6 | ;;;
|
---|
7 | ;;; 1. ENTRY POINT: ^DIE
|
---|
8 | ;;;
|
---|
9 | ;;; 2. INPUT VARIABLES
|
---|
10 | ;;; DIE........Global root or file number.
|
---|
11 | ;;; DA.........Internal entry number.
|
---|
12 | ;;; DR.........Fields to be edited. Examples:
|
---|
13 | ;;; S DR="27" Field number.
|
---|
14 | ;;; S DR="27//TODAY" Offer default prompt. Value on file overrides
|
---|
15 | ;;; default.
|
---|
16 | ;;; S DR="27///TODAY" "Stuffs" a value. Value is in external form
|
---|
17 | ;;; and passes thru input transform.
|
---|
18 | ;;; S DR="27///^S X=VAR" "Stuffs" a value stored in a variable.
|
---|
19 | ;;; S DR="27////2570120" "Stuffs" a value. Value is in internal
|
---|
20 | ;;; form, and doesn't pass thru input transform.
|
---|
21 | ;;; Can't be used for .01 field.
|
---|
22 | ;;; S DR="27:60" A range of field numbers.
|
---|
23 | ;;; A place holder like @1.
|
---|
24 | ;;; A line of M code.
|
---|
25 | ;;; A sequence of any of the above types separated by ";".
|
---|
26 | ;;; An input template enclosed in brackets.
|
---|
27 | ;;; DIE("NO^")..."OUTOK" No jump. Exit ok.
|
---|
28 | ;;; "BACK" Jump back ok. No exit.
|
---|
29 | ;;; "BACKOUTOK" Jump back ok. Exit ok.
|
---|
30 | ;;; "Other value" No jump. No exit.
|
---|
31 | ;;; DIDEL........Override Delete Access (Set DIDEL=File number).
|
---|
32 | ;;;
|
---|
33 | ;;; 3. OUTPUT VARIABLES
|
---|
34 | ;;; DTOUT........Time out
|
---|
35 | ;;;
|
---|
36 | ;;; LOCKING: So 2 users can't edit entry at same time.
|
---|
37 | ;;; S DIE="^FILE(,",DA=777,DR="[EDIT]"
|
---|
38 | ;;; L ^FILE(777):0 I $T D ^DIE L Q
|
---|
39 | ;;; W !?5,"Another user is editing this entry." Q
|
---|
40 | ;;;
|
---|
41 | ;;; SPECIFIERS: When responding to EDIT WHICH FIELD prompt:
|
---|
42 | ;;; T.........Use Title instead of Label.
|
---|
43 | ;;; "xxx".....Use literal as prompt.
|
---|
44 | ;;; DUP.......Duplicate response to this field from entry to entry.
|
---|
45 | ;;; REQ.......Require an answer.
|
---|
46 | ;;; 3T........Title.
|
---|
47 | ;;; 3xxx......Use literal as prompt. No quotes.
|
---|
48 | ;;; 3d........Duplicate response. Lowercase D.
|
---|
49 | ;;; 3R........Require an answer.
|
---|
50 | ;;; Use "~" to combine specifiers. Ex: 3R~T
|
---|
51 | ;;;
|
---|
52 | ;;; BRANCHING: Insert executable M statement in the DR string. If the code
|
---|
53 | ;;; sets Y, DIE will jump to that field (field must be in DR string).
|
---|
54 | ;;; Y may be set to place holder, e.g. @1. If Y is set to 0 or "",
|
---|
55 | ;;; DIE will exit. If Y is killed or never set, no branching will
|
---|
56 | ;;; occur. Y can be calculated using X which equals internal value
|
---|
57 | ;;; of field previously asked for.
|
---|
58 | ;;; Ex: S DR="4;I X=""YES"" S Y=10;.01;10;15"
|
---|
59 | ;;;
|
---|
60 | ;;; SPECIFIC FIELDS IN MULTIPLES:
|
---|
61 | ;;; Multiple field 15, subfields .01 and 7:
|
---|
62 | ;;; S DR=".01;15;6"
|
---|
63 | ;;; S DR(2,16001.02)=".01;7"
|
---|
64 | ;;;
|
---|
65 | ;;; CONTINUED DR STRING: If more than 245 characters.
|
---|
66 | ;;; S DR(2,16001.02,1)
|
---|
67 | ;;; S DR(2,16001.02,2)
|
---|
68 | ;;;
|
---|
69 | ;;; UP-ARROW EXIT: If user up-arrowed out of ^DIE variable Y will be defined.
|
---|
70 | ;;;
|
---|
71 | ;;; EDITING SUBFILE DIRECTLY: Data in subfile 16000.02 is stored on node
|
---|
72 | ;;; 20 and you want to edit number 777, subentry 1:
|
---|
73 | ;;; S DIE="^FILE(777,20,"
|
---|
74 | ;;; S DA(1)=777
|
---|
75 | ;;; S DA=1
|
---|
76 | ;;; S DR=".01;7"
|
---|
77 | ;;; D ^DIE
|
---|
78 | ;;; Subfile zero node must be defined.
|
---|
79 | ;;;
|
---|
80 | ;;; SCREENING VARIABLE POINTER: Set DIC("V"). Refer to the VA Fileman
|
---|
81 | ;;; Programmer's Manual.
|
---|
82 | ;;;
|
---|
83 | ;;;***
|
---|