PEZ functionality
 
PEZ functionality is supported by PrintEZ and ResPrint application. The PEZ library is a collection of special-purpose functions used from Graphic layouts. A PEZ function has the format PEZ ("<Function Name>", Param1, Param2,…). Many of these functions arose from the need to get server data. Some of the functions have become of limited use as Sales has been enhanced to gather more data locally – others are still valuable. They are included here for advanced users.
SysManager also has the PEZ (PrintEZ) functions compiled into the application, making them available when printing passes through SysManager. This functionality is used primarily to support RFID printing, but all PEZ functions are available. Caution should be used because some PEZ functions are designed primarily to be run only from the Sales folder.
 
Function
Short name
Description
VERSION
none
Returns the version of this library. For example: PEZ("VERSION")
PAYMENTSFROMRES 
PFR     
Returns all payments made on a reservation regardless of where they were made (gets the data from the server). For example: PEZ("PFR", reserv_no)
GUESTFROMTRANS 
GFT     
Returns the guest name for a transaction in First, Last order. Can also pass "LF" to get Last, First. For example: PEZ("GFT", mastertran, "FL")
MAKETIMESTRING 
MTS     
Returns a formatted date or time. Similar to Excel formatting - so for 1/1/2005:
DDDD = "Saturday", DDD = "Sat", DD = "01", D = "1"
MMMM = "January", MMM = "Jan", MM = 01, M = 1
HH or H = Hours, NN or N = Minutes, SS or S = Seconds
AP or AMPM or ap or ampm provides time suffixes
For example: PEZ("MTS", "MMMM D, YYYY", date())
French and Spanish names for months and days can be returned by adding "@FR" or "@SP" into the format string.
MAKEDATESTRING 
MDS     
Same as MAKETIMESTRING.
MODROLLUP
MRU
Returns a string of all the modifier descriptions and/or prices. You can specify a pattern and a delimiter. Default pattern is "DESCRIP" and default delimiter is ", ". "DESCRIP" and "EXTENSION" are replaced in the patter with the actual item values.
PEZ("MRU", <Pattern>, <Delimiter>)
 
Note: This function only works on Confirmation Letter layouts. It does not work on regular Graphic Tickets and Vouchers.
 
Example product:
Rental package with a helmet and insurance modifiers. Sample call:
PEZ("MRU") returns "Helmet, Insurance-Yes"
PEZ("MRU", "DESCRIP (EXTENSION)", " - ")
returns "Helmet (5.00) - Insurance-Yes (1.00)"
 
There is also a "GRANDTOTALS" option to the ModRollUp function. It returns XML values for all the totals (Tax1Totals, Tax2Totals, FeeTotals, DiscountTotal and ExtensionTotal). You can access these values by using the PARSE function along with this new one like this:
Sample Call:
VAL(PEZ("PARSE", "EXTENSIONTOTAL", PEZ("MRU", "GRANDTOTALS")))
 
This gives you the grand total for the main item with all of the modifiers. This is useful for printing totals before the detail, as in the Group Header. If you are printing totals in the Group Footer, then this isn't very useful.
PARSE
PARSE
Parses an XML value from an XML string. Useful if you want to use something like items.help_info to store large text blocks to use on layout.
 
Example:
PEZ("PARSE", "XMLTAG", items.help_info)
So, for the example above, if the items help_info field had "<XMLTAG>This is the stuff I want printed on the layout</XMLTAG><SOMEOTHERTAG>blah blah blah blah</SOMEOTHERTAG>", and then the returned value would be, "This is the stuff I want printed on the layout."
LINEINFO  
LI      
Gets information from the server and allows you to limit the information returned with the last parameter. Include any or all of the letters.
"G" returns the guest name
"V" returns the lesson level
"T" returns the lesson start time
"L" returns the meeting location
"I" returns the Instructor ID (and notations if it is a request)
"N" returns the Instructor NAME (and notations if it is a request)
For example: PEZ("LI", trans_no, "GTLI")
GETRFIDTAGCODE
GRTC
Returns the codes necessary to program the Tag value of an RFID chip using the ZBRUHFReader.dll. Ensure the field width is wide enough or the code does not successfully encode the RFID tag.  (Make the font tiny if necessary.)
 
Example:
PEZ("GetRFIDTagCode", "PXX" + transform(gst_pass.pass_no)) PEZ("GRTC", gst_pass.pass_no)
For more information, see the Salesware Access Control document.
FORMATMODIFIERS
FM
Returns a formatted string of modifier data based on the passed template. The template can be any text and uses the form "F:FieldName" to reference any of the following fields: init_price, trans_no, disc_amt, tax_amount, tax_amt2, extension, Message, quantity, Special, time_span, date_time, start_date, expires, adm_end, end_date, ret_date and all fields in the Items table.
 
Example:
PEZ("FM", <Format Template>)
PEZ("FM", "F:Descrip at $F:extension, ")
GETROOTVALUE
GRV
Returns the result of the passed expression from the root item (main item) of a modifier.
PEZ("GRV", "items.descrip")
Returns the item description of the main item. Any valid FoxPro expression can be used. For instance:
PEZ("GRV", [STREXTRACT(items.help_info, "<div class=desceng>" + chr(13) + chr(10), "</div>", 1, 1)])
GETUSERCODE1
GETUSERCODE2
GETUSERCODE3
GUC1
GUC2
GUC3
Returns the trimmed descrip value of the passed key in user code tables (for Reservations module).
PEZ("GetUserCode3", Resrvatn.user_code3)
PEZ("GetUserCode1", Resrvatn.user_code1)