1 | ZVEMSN ;DJB,VSHL**VPE Notes [2/1/97 10:32am]
|
---|
2 | ;;12;VPE;;COPYRIGHT David Bolduc @1993
|
---|
3 | ;
|
---|
4 | NOTES ;;;;
|
---|
5 | ;;; -----> V P E P A R A M E T E R P A S S I N G
|
---|
6 | ;;;
|
---|
7 | ;;; NOTE: When entering fields, if the field is a multiple you MUST use the
|
---|
8 | ;;; field's name, not it's number. When entering file or field names, if the
|
---|
9 | ;;; name contains a space you MUST enclose the name in quotes.
|
---|
10 | ;;;
|
---|
11 | ;;; 1) VEDD PARAM^%ZVEMD(File Name/Num,Menu Option Mnemonic,Field Names/Nums)
|
---|
12 | ;;; Ind Fld Sum............DO PARAM^%ZVEMD("USER","I",".01;2")
|
---|
13 | ;;; Fld Global Location....DO PARAM^%ZVEMD("USER","G",30)
|
---|
14 | ;;; ..VEDD USER I .01;2
|
---|
15 | ;;; ..VEDD "NEW PERSON" G 30
|
---|
16 | ;;;
|
---|
17 | ;;; 2) VGL PARAM^%ZVEMG(^Global -or- File Name)
|
---|
18 | ;;; DO PARAM^%ZVEMG("^VA(200") ..VGL ^VA(200
|
---|
19 | ;;; DO PARAM^%ZVEMG("NEW PERSON") ..VGL "NEW PERSON"
|
---|
20 | ;;;
|
---|
21 | ;;; 3) VRR PARAM^%ZVEMR(Routine Name)
|
---|
22 | ;;; DO PARAM^%ZVEMR("ZVEMD") ..VRR ZVEMD
|
---|
23 | ;;;
|
---|
24 | ;;; -----> V P E P R O G R A M M E R C A L L S
|
---|
25 | ;;;
|
---|
26 | ;;; 1) SINGLE CHARACTER READ
|
---|
27 | ;;; S X=$$READ^%ZVEMKRN X=String, VEE("K")=Key, VEE array left defined
|
---|
28 | ;;;
|
---|
29 | ;;; 2) STRING EDITOR
|
---|
30 | ;;; S CD=String D SCREEN^%ZVEMKEA("PROMPT:",2,75)
|
---|
31 | ;;; CD=Edited String, VEESHC=<RET>, VEE array left defined
|
---|
32 | ;;;
|
---|
33 | ;;; 3) CHOICE SELECTION
|
---|
34 | ;;; W !?2,"Proceed with deletion?" S X=$$CHOICE^%ZVEMKC("YES^NO",1,10,21)
|
---|
35 | ;;; 1=Option to be highlighted 10,21=$X,$Y (use when placing prompts)
|
---|
36 | ;;; For MSM, RM0 is in effect, after calling CHOICE.
|
---|
37 | ;;; Returns number of CHOICE selected, or 0. VEE array left defined.
|
---|
38 | ;;;
|
---|
39 | ;;; 4) MENU
|
---|
40 | ;;; Copy ^ZVEMSH,^ZVEMSHY. Change any calls to the new rtns.
|
---|
41 | ;;; Edit subroutine INIT^ROUTINE:
|
---|
42 | ;;; COLUMNS="6^7" ;Number of options in each column
|
---|
43 | ;;; WIDTH=31 ;Width of reverse video
|
---|
44 | ;;; HD=Heading ;Heading for new menu
|
---|
45 | ;;; Insert ";;***" in MENU lines and adj COLUMNS to reduce number of menu
|
---|
46 | ;;; options. Can be more than 2 columns. Edit TOPICS^ROUTINE for subheadings.
|
---|
47 | ;;; Ex: TOPICS+1 - ;;;E D I T;;;3;4
|
---|
48 | ;;;
|
---|
49 | ;;; 5) GENERIC SELECTOR
|
---|
50 | ;;; Put items in an array.
|
---|
51 | ;;; Call SELECTOR, passing 3 parameters:
|
---|
52 | ;;; Parameter 1: Array root
|
---|
53 | ;;; Parameter 2: 1=All choices in the display will be numbered
|
---|
54 | ;;; Parameter 3: 1=NEW allowed. This adds menu option N=New to bottom
|
---|
55 | ;;; of the screen. ^TMP("VPE","SELECT",$J,"NEW")="" will
|
---|
56 | ;;; be returned if user hits N. This allows user to
|
---|
57 | ;;; indicate that they want to add a new entry.
|
---|
58 | ;;;
|
---|
59 | ;;; SELECTOR will return items selected in ^TMP("VPE","SELECT",$J)
|
---|
60 | ;;;
|
---|
61 | ;;; Example: Build array of names:
|
---|
62 | ;;; ^TMP("TEST",$J,1)="Bolduc,David J."
|
---|
63 | ;;; ^TMP("TEST",$J,2)="Duck,Donald"
|
---|
64 | ;;; ^TMP("TEST",$J,3)="Mouse,Mickey"
|
---|
65 | ;;; Call SELECTOR:
|
---|
66 | ;;; D SELECT^%ZVEMKT("^TMP(""TEST"","_$J_")",1)
|
---|
67 | ;;; SELECTOR returns items selected:
|
---|
68 | ;;; ^TMP("VPE","SELECT",$J,1)="Bolduc,David J."
|
---|
69 | ;;;
|
---|
70 | ;;; You can control what SELECTOR returns in ^TMP("VPE","SELECT",$J).
|
---|
71 | ;;; When array is built, concantenate what you want returned, to the front
|
---|
72 | ;;; of the array node using $C(9) as a delimiter. A common returned value
|
---|
73 | ;;; is the item's Internal Entry Number. The SELECTOR will only display
|
---|
74 | ;;; the characters to the right of the $C(9).
|
---|
75 | ;;;
|
---|
76 | ;;; The default heading is "Select: ITEMS". You can replace the word ITEMS
|
---|
77 | ;;; with a word of your choice by setting a "HD" node in your array.
|
---|
78 | ;;;
|
---|
79 | ;;; Example:
|
---|
80 | ;;; ^TMP("TEST",$J,"HD")="PARTICIPANT"
|
---|
81 | ;;; ^TMP("TEST",$J,1)="234"_$C(9)_"Bolduc,David J."
|
---|
82 | ;;; ^TMP("TEST",$J,2)="45"_$C(9)_"Duck,Donald"
|
---|
83 | ;;; ^TMP("TEST",$J,3)="14"_$C(9)_"Mouse,Mickey"
|
---|
84 | ;;; If Bolduc were selected, SELECTOR would return:
|
---|
85 | ;;; ^TMP("VPE","SELECT",$J,1)="234$C(9)Bolduc,David J."
|
---|
86 | ;;;
|
---|
87 | ;;; 6) FILEMAN FIELD SELECTOR
|
---|
88 | ;;; D SELECT^%ZVEMKTF(FileNumber,LEVEL)
|
---|
89 | ;;; LEVEL: "TOP"=Top level flds only "ALL"=Include multiple flds
|
---|
90 | ;;; Example: D SELECT^%ZVEMKTF(200,"TOP")
|
---|
91 | ;;; Allows you to select from all top level fields
|
---|
92 | ;;; of the NEW PERSON file.
|
---|
93 | ;;; Returns array: ^TMP("VPE","FIELDS",$J,FILE#,FIELD#)
|
---|
94 | ;;;***
|
---|