[613] | 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 | ;;;***
|
---|