GENERAL Version 6.0 Copyright (C) 1992-2003 by Allen D. Miglore. All rights reserved. GENERAL is a trademark of Allen D. Miglore GENERAL is published by Synergetic Data Systems, Inc. 2195 Talon Drive Latrobe, CA 95682 Phone: (530) 672-9970 Fax: (530) 672-9975 Email: sdsi@synergetic-data.com http://synergetic-data.com Version 6.0.b1 released on August 28, 2003 Version 6.0.b2 released on September 2, 2003 Version 6.0.01 released November 10, 2003 Version 6.0.02 released December 2, 2003 Version 6.0.03 released December 17, 2003 Version 6.0.04 released February 18, 2004 Version 6.0.05 released June 8, 2004 Version 6.0.06 released January 20, 2005 Version 6.0.07 released April 14, 2005 Version 6.0.08 released October 27, 2005 Version 6.0.09 released March 19, 2007 Version 6.0.10 released June 13, 2007 Version 6.0.11 released October 23, 2007 Version 6.0.12 released July 16, 2008 Version 6.0.13 released October 31, 2008 Version 6.0.14 released July 9, 2009 Version 6.0.15 released October 12, 2011 Version 6.0.16 released April 12, 2012 Version 6.0.17 released May 22, 2012 Version 6.0.18 released March 19, 2014 Documentation for installation, configuration, and usage can be found in the file gen60man.pdf. 6.0.02 11/21/03 - Changed an error display in gen6 to display the correct error number and statement rather than error 49 at 8910, if an unexpected error occurs while initializeing in character mode gen6. 11/26/03 - Fixed the 'NT service uninstall' option on the Windows server installation to add the correct /uninstall command line option to the gen60d.exe command line. 12/02/03 - Corrected a problem when data with control characters, such as tabs, are sent to the GUI viewer, resulting in a run time error 5 when a page containing such characters is shown. 12/02/03 - Corrected a problem in the GUI client in the report designer fields tab, where the field list dropdown box did not include the first field in the dictionary. 12/02/03 - Corrected a problem with focus flash looping if no field is selected from the field dropdown, and another tab, such as Break, is selected. The flash loop was caused by a grid event problem, and was solved by eliminating the default property dialog popup if no field is selected. 6.0.03 12/12/03 - Corrected problems in Run mode F2-list, when no reports are present a second F2 would hang, and if the associated list command was too short, an error 47 would occur. 12/12/03 - Corrected problems with Run and Prompt mode list buffers not being reset when reports are removed or added. 12/12/03 - Corrected a file range problem when printing dictionary layouts in the character mode. 6.0.04 1/21/04 - Corrected an error 23, line 6330, in gen6vdto, when editing VDT options in CHUI mode under providex. 1/27/04 - Adjust the color name display function in gen6vdto and gen6syso to account for color values of spaces rather than digits 1 through 8, as some dictionaries might have bad data. Removes error 47 in gen6vdto and gen6syso when displaying terminal attributes. 2/18/04 - Corrected the setup.sh script to correctly handle bundled runtime location compatible with the gen60d script. 6.0.05 3/5/04 - Corrected a problem with activation of providex versions on Windows. 3/5/04 - Corrected GUI designer Prompt report header screen showing the Begin value in both Begin and End value fields. 3/19/04 - Corrected problem where default date in a prompt was getting reset to current date. 4/6/04 - Corrected error 47 problems related to external dictionaries in combination with +dictionary link specs where target file records were not found in lookups, resulting in untrapped error 47 due to missing target file record data. 4/15/04 - Changed chui startup error handling to require pressing Enter, along with an attempt to exit normally, when an unexpected error occurs. Formerly, all such errors, if they occurred early in the startup code, would result in an escape. 5/13/04 - Corrected runtime prompt/variable problem that occurs when more than 8 prompt/variables exist. 6/7/04 - Corrected a problem in the GUI client criteria entry, where if the and/or box is left unchecked, the OR mode was not correctly added to the list command select phrase. 6.0.06 6/9/04 - Added one-to-many support on direct Excel exports via the GUI client. Before, only the first line of the one-to-many data would be exported. 6/29/04 - Changed providex version of gui server to provide faster connections. 6/30/04 - Corrected looping problems in dictionary importing. 6/30/04 - Added a new \windows\gengui.ini file (where \windows is the actual Windows home directory) to store path information, enabling other programs to read that absolute location to find if GenGUI is installed, and what path executes it. The structure of that file is: [path] exe=\gengui.exe help=\gengui.hlp This file is created during the GUI client install. 7/20/04 - Corrected an old problem, just discovered, with starting key ranges in two pass reports. 7/28/04 - Corrected Windows server status monitor to not fail on a start after it had been shutdown while minimized. 8/2/04 - Corrected a mis-installed component in the gui client that would cause a failure to display reports on recent, non-update installations. 8/19/04 - Corrected a problem where @LINK and @CALC fields in a prompt report were always considered text by the criteria table, so that quotes would surround the numeric criteria value. This resulted in a select phrase mismatch error. 8/26/04 - Corrected a problem with Excel export headings when exporting through the GUI client, if too many fields were specified. The column headings would be broken into multiple lines. 9/8/04 - Corrected a problem where symbolic heading names, like @PAGENUM, were transferred to PCFILE output, rather than being replaced at run-time with proper values. 9/15/04 - Corrected an error 49 (error 23 in ProvideX) in gen6-rtx, when running an empty character mode export to Excel via sdOffice. 9/20/04 - Corrected a tabulate display problem in the GUI client when running the server under Windows and ProvideX. 10/11/04 - Added support for a "-quiet" option in the guigen.exe client, to disable the login screen unless a user and/or password is required. A command line that includes -u, -p, -auto, and -quiet will normally silently login and present the main menu. In addition, two other options were added to support naming a server from the guigen.exe command line. For example: guigen.exe -server localhost -port 6114 -u GEN -auto -quiet 10/13/04 - Added support for a mem=nnnn line in the [defaults] section of the gen60d.ini file. For BBx systems, this establishes the value for the -m parameter of a BBx task running reports for gui clients. The former value was hardcoded as 2048, which wasn't always enough in the case of large cross-tabulation reports. 1/20/05 - Added support for FACTS 7.4+. 6.0.07 2/25/05 - Corrected hanging problems when importing and exporting dictionaries, and added code to handle importing a gen5 dictionary to the gen6 dictionary. 4/14/04 - Corrected a problem with the gui client dislaying reports containing 10 or more header lines or 10 or more lines per record. The result was a run-time error 5 when displaying or printing the report on the PC. This change affects both the server and gui clients, so both must be updated for a complete fix. If just the server is updated, then the old gui client will print a blank 10th line, but will not encounter an error. The new client is build 6.0.65. 6.0.08 6/20/05 - Corrected two date display errors in the GUI client: 1) The first date displayed in the "Run Report" window was 11/30/1999. As soon as a response was received from the server, the date was corrected, but initially the incorrect date was displayed, and 2) the report date was being rounded, so after noon would round up to the next day. 6/28/05 - Corrected three programs in the gui server to run under BBJ on Windows. 6/29/05 - Corrected a further problem in the gui server manager when running under BBj on Windows. 7/11/05 - Added recognition of the uf6ptr unform 6 print driver when running under ProvideX, so that printers defined with that driver aren't treated as serial files. 7/28/05 - Changes to support BBj with the GUI server under Unix/Linux. Also changed the Windows server manager to always enable the start/stop buttons when not running as a service and running under BBj. This resolves a problem where the BBj process ID doesn't match the system process ID, which caused the server manager to not recognize when the server is running. 8/12/05 - Modified FACTS OEM licensing code to not leave the SMCNTL file open while the gui server is running. 9/7/05 - Corrected an error 46 in gen6-rt6 and an error 41 in gen6cdsp when a summary/crosstab is run in summary mode (one break point) and a large number of groups are generated. 9/7/05 - Modified the GUI client when exporting a crosstab/summary to Excel so that it updates the Excel screen more frequently and is more graceful if errors occur. 9/7/05 - Corrected a problem with the Unix gen60d server script incorrectly applying BBj command line syntax to ProvideX launches. 9/27/05 - Corrected a run time error 5 when a report that contained more than 12 lines in a given subtotal footer was viewed in the gui client. 9/28/05 - Added logic to the gen6buld program to allow BBj to execute the text version of generated report code, allowing General to run in BBj thin-client mode, where access to bbjcpl is not provided. 9/28/05 - Corrected the drop down list of files in the Linksel tab in the gui client to include all possible linked (and partial key) files. It was ignoring the first file in the dictionary link specification. 9/28/05 - In dictionary field maintenance, when the 'guess from data' option is used and the guess results in a date field, the length value was based on the size of the internal date mask rather than an actual date, resulting in an odd length. This has been corrected. 10/27/05 - Corrected a run-time error 91 that occurred in the GUI client, in the Field Definition window, when adding a link that began with a file with a sort specification (file@sort). 10/27/05 - Corrected the F2-list when defining menus in the character mode config screen. 2/7/06 - Corrected a problem exporting negative numbers to Excel from the GUI report preview screen, if the numbers had formatting that resulted in trailing a minus sign, trailing CR string, or parentheses. 2/7/06 - Added message 9 to the GEN6-PVW section of gen6msgs.eng. This message is displayed when the F4-print option is used in character mode preview (on preview in the list command of a report), and a window is presented to prompt for a page range or page number list. 2/14/06 - Modified the service control handling in gen60d.exe to track the state of the gui server with a boolean flag rather than a check of the process ID of the running pvx/bbx/bbj task. The reason was that the bbj task does not report a valid system process ID, and the failure to identify it resulted in a bug in the service control used by that executable surfacing, so that the system log would fill with service events. 3/2/06 - Corrected a bug where multiple sum, average, or count one-to-many references would conflict with each other and produce incorrect summary values. 3/21/06 - Modified the issuing of unexpected errors so that on Unix, standard output will always be used, even if a GUI environment is present. 3/31/06 - Changed the GUI client to use binary text comparisons (VB Option Compare Binary vs. Option Compare Text) in order to allow record ranges in report and dictionary lists to exceed the Y character, which in text compares matches the chr(255) value. Note that this may cause some case-sensitive behavior in places where it did not exist before. 4/28/06 - Updated DDE excel exporting to support BBj changes. Under BBj, a special DDE alias must be defined in the config.bbx file: alias JDDE com.basis.plugin.DDEOpenPlugin If you choose to use a different name than JDDE (it must start with J), then you must define stbl("*GENBBJDDE_ALIAS") to the correct name before running General. 5/19/06 - Modified keyboard handling so classic Control-key sequences would again work in BBx character mode installations. 5/23/06 - Corrected a fatal error that occurred when the GUI client entered visual mode and a field name in the primary dictionary matched a file name in the list of target links. The work around allows it to get by the error, but does so by eliminating the field from the list of fields available in the visual designer dictionary tree view. 6/5/06 - Corrected a problem where length protection code to prevent error 47's was not working under BBj. 6/5/06 - Corrected a problem when setting page length, where the GUI client would not display results correctly. The problem was corrected at the server, so the GUI client does not require updating. 6/28/06 - Corrected a function key assignment problem related to the ctl key fix dated 5/19/06. 7/31/06 - Modified the GUI client to work around corrupt report design (both Prompt and Run) records. Prior to this change, once a corrupt record was encountered, the list would stop, resulting in a truncation of report names in the GUI menu. 8/1/06 - Added a 'BO' mnemonic to the GUI report work file channel to prevent error 29's when reports are generated with data containing escape characters. 8/7/06 - Added additional logging to the reports/ directory when a startup error in proc.bb occurs before regular logging is enabled. 8/7/06 - Added error trapping code to prevent the server from stopping if a client disconnects before the server has had a chance to respond with a response code. 8/10/06 - Corrected a fatal error in the footer section of the visual design mode in the GUI client. After deleting a field, editing the properties of remaining field would result in the GUI client quitting. 8/10/06 - Corrected a fatal error in the GUI client report viewer, if no column headers are defined, but column footer values are, then an error would occur. This would primarily happen only when a report had custom footers at break points. 8/10/06 - Modified gen6-ptr to only print a 'EO' mnemonic if a 'BO' had been previously issued, to work around a problem in BBj that resulted in two copies of reports printed to the sysprint device. 8/15/06 - Corrected a GUI designer problem with long expressions in custom headers or footers, where the data after byte 60 in the expression would be truncated or possibly concatenated to other custom fields in the header or footer. 9/11/06 - Corrected an activation error under BBj. 9/19/06 - Modified date entry handling in the GUI client when a run-time prompt is of a date type ([["Prompt","D"]]). The code in the VB-based client was using a VB date function that failed if the date was entered simply as a list of digits, like 01012006, as the VB date parse function does not recognize this style of entry. The fix first tests if the value entered is a VB-recognized date, and only then will attempt to parse it at the client level. 10/4/06 - Added code to address license checkout issues under BBj when a gui client connects to the server. 11/6/06 - Changed the CLEAR variable used in gen6int4 to CLEARDATA, due to a reserved word conflict that appeared in BBj. 11/14/06 - Modified gen60d.tpl (used to derive /usr/bin/gen60d) to use more universal syntax for some test commands. The script would not run on Unixware 7.1 (and very possibly some other Unix variants). 12/6/06 - Modified gen6-fst to recognize pvx printers with a uf7ptr print driver. This change will allow recognition of any uf#ptr driver. 12/8/06 - Corrected a hang when deleting a user in chui mode when there were private reports stored or invalid run-command structures in the gen6mst file. 2/26/07 - Increased the record size of gen60dlck.bb/pv to prevent potential connection error 11's in rare high-precision TIM situations. 6.0.09 3/19/07 - Added support for "hidden" run-time prompts, using the syntax [["Prompt text","H"]]. This format makes user entry invisible in both character and GUI interfaces. 3/19/07 - Added a Password field to Dictionary maintenence. This value is used when supplied to open encrypted files with the BBx mode CRYPTPASS= value or the ProvideX key= clause on OPEN statements. While this value can be a literal, it will more commonly be a run-time prompt or variable, such as [["Enter password for ARCUST","H"]] or [[@filepass]] so it is never displayed on screen. In conjunction with support for encrypted files, a new gen6parm.fil entry has been added. The entry is: cryptalg=AES-xxx, where xxx is 128 or 256. This value is used in the CRYPTALG= mode in the BBx OPEN statement when a Password is defined for a file in the dictionary. This is a system-wide value, so it is not possible to have some files encrypted using AES-128 and others encrypted using AES-256. 6.0.10 4/2/07 - Added WindX erase logic to DDE Excel exporting so that users would not have to respond to an overwrite prompt in Excel, possibly causing errors in General exporting due to timeouts. 4/25/07 - Corrected a problem in the gui client where file alternate sorts would not show up if only a single sort was defined in the file's dictionary. 5/7/07 - Corrected a problem related to the above change in the gui client, which resulted in errors editing reports from files that did not have any sort definitions. 6/12/07 - Added support for new BBj file types, XKEYED, JKEYED, and VKEYED. 6/13/07 - Added support for program-based file opens, supported in both dictionary maintenance and report execution. If the disk file specified in the dictionary is a program file type, General will assume it should be CALLed to open the physical disk file. This provides another method of handling password protected files, by allowing a developer to provide custom programs to open files. These custom programs can be encrypted, protecting the passwords used. The custom program must provide this ENTER statement list: ENTER filename$,channel,errmsg$ The filename$ will be the General dictionary file name, the channel will be a number which must be used to open the file (do NOT change this value). The errmsg$ value can be set to a message string, in which case General will display the message and exit its process. An example of a custom program is provided as gensmpl1.prg. This file can be used in place of the gensmpl1 file name in the DEMO.CUST demo dictionary entry. 6/13/07 - Changed some configuration file locations in both the GUI client and the Windows server in order to accomodate Windows Vista folder access limitations. Specifically, the .ini files used to track state information for the client and server on Windows have been moved to the product install folder, and a lock file has been moved from the root of C: to the %ALLUSERSPROFILE%\SDSI path. 6.0.11 6/14/07 - Handled an incompatibility between an Excel export and the use of the ON PREVIEW output option. The solution treats PREVIEW the same as VDT or no ON specification. 6/28/07 - Added code to the process handler to timeout if the client doesn't connect to it after startup. This can happen if the server starts the process handler too slowly, so the client times out before the handler is launched. 9/04/07 - Corrected a problem with lengthy expressions that included cross reference lookup code, which could result in an unexpected error 26 at line 2000 in gen6-crs. 9/06/07 - Added recognition of BBj program file type to gen6-fst. 10/23/07 - Added support for program-opened files to the 'show data' options in dictionary field maintenance. 10/23/07 - Added merging of several dictionary header fields from "+" dictionaries (which merge with extenal dictionaries of the same name). The header fields merged are access level, file password, skip keys, auto select, auto begin, and auto end. This change allows more flexibility when using external dictionaries, such as the Basis Data Dictionary, by allowing General-defined features to be used. 12/19/07 - Added support for mxc()/mxm() in the ProvideX version in order to get correct printer width information from WindX printers, which was not always correctly reported via the fin() function. 1/17/08 - Corrected a problem with cross tabs if the second break value field was less than 5 bytes long. 3/19/08 - Added break support to exports generated via Prompt mode. 4/18/08 - Added support for non-standard field separators in pvx installs. The start.pv program must be customized to set_param 'fs'=nn, and both the server and gui client must be updated for the change. 5/5/08 - Corrected a problem when entering a new Run report and selecting the Copy option. It would go back to the menu rather than offering a selection of existing Run commands to copy from. 6.0.12 7/15/08 - Corrected a problem in pvx character mode on Windows, where the directory of General wasn't recognized resulting in work file creation problems. 7/15/08 - Corrected a problem where variable substitutions ([[@name]]) were not reported on the recap page, as in previous versions. 7/15/08 - Added a new stbl("*GENRRP") that is a collection of run-time replacement variables and prompts, and the values and user responses. The structure of this stbl is namevaluenamevalue... The purpose is to allow parsing of run-time prompt responses when needed by external programs CALLed at report time. 7/16/08 - Modified gui server to support runtime (bbx or pvx) paths with spaces, such as when pvx or bbx is installed in c:\program files\... 7/18/08 - Modified gui client to prevent report modification or deletion when the user access level should prevent it. 6.0.13 9/11/08 - Modified the timing of removal of the gui server shutdown file (gen60d.die) to avoid Windows service timing issues when running under BBj. 10/31/08 - Significant modifications to the Windows server and installation routines, to allow better management of running the GUI server as a service, and to simplify the menu options. The General 6.0 Server Manager now handles configuration and install/uninstall as a service. 6.0.14 11/03/08 - Added support for old BBx direct or single-keyed mkeyed files in the dictionary View Data mode. Support for these files was lost in a previous update. 12/9/08 - Added a new parameter in the gen6parm.fil parameter file: bbdir=/path/to/pro5. Setting this to the full path to the pro/5 interpreter will override the default use of argv(0). This is intended to work around a bug reported in pro/5 6.21 on some platforms, where the argv(0) value was reported incorrectly. If not set, then the argv(0) value will be used, which should be correct in most installations. 2/2/09 - Fixed a problem with overwrite=n in gen6parm.fil, where it would cause multiple prompts to overwrite a file in a single run. 2/9/09 - Modified the gui client to allow Excel to prompt for a file save operation in cases where an export was done from the gui report viewer export menu. 2/13/09 - Corrected an endless loop when a file name that ended in REC was the target of a link. 3/5/09 - Corrected a Windows server manager configuration problem where the genhome= value in the gen60w.ini file ([runtime] section) was not being set, causing launch problems activating under vpro5. 3/17/09 - Corrected a problem if the gui server on Windows was not installed in the default Windows drive (i.e. C:). The server would not correctly set the current drive letter and would run from the incorrect location. 4/10/09 - Corrected the header of a no-detail delimited-h export to display the column headers of break points and aggregate fields only. 5/1/09 - Added workaround code to support an isolated problem of pvx 6.10 not reporting the fid type of a binary file correctly. 5/1/09 - Added support for pvx EFF files. 6/22/09 - Modified the GUI client to display only link file names, not their associated @sort values, in the Link Criteria file drop down. 6/22/09 - Added a right-click and F2 feature to the Link Criteria expression to append a field name from a selection box which displays fields from the associated linksel file. Note that messages related to this feature are loaded from the server's messages file, so the server must also be updated to properly display this information. 7/8/09 - Modified text file overwrite handling in chui mode when the on FILE option is used. The overwrite prompt occurred twice. 7/9/09 - Corrected a problem with delimited-h exports not including the header line. 6.0.15 8/5/09 - Corrected a problem when displaying the Linksel file dropdown list, where files that contained an @sort option would be displayed incorrectly as a file name of "1". 9/24/09 - Corrected a failure when running the gui server under BBj on a under a user login with a space in the name. 3/31/10 - Corrected a problem with compound commands resulting in an error 47 at line 1100 in gen6main. 7/28/10 - Added scall.exe to the Unix distributions to accomodate vpro5 and bbj execution over a Unix-hosted data server. 8/10/10 - Modified gen6buld code to bypass scall.exe handling on Unix systems, where it is not needed and could potentially cause errors in cases where the pro/5 directory has limited permissions. 8/19/10 - Modifed gen6pars to split a potentially very long generated line into two lines, to avoid statement length limit errors on very large report designs. 11/2/10 - Modified unique work file sequencer function to avoid duplicate names at certain ranges of sequence numbers. 11/9/10 - Modified storage of last used page for ON FILE output. The path was stored under the General login, and this change now stores the path under the operating system user ID. This change assists sites that do not provide specific General logins to unique users. 12/7/10 - Added a new program to the distribution, in the gen60_bb and gen60_pv directories. This program can be CALLed by a BBx or Pvx application to obtain the current user count in General. For this to be accurate, the gen6mst file in use by General must be found via the search prefix in the calling application. The syntax of the call is: call "gen6ucnt.utl",count The value returned in count is the active user count for General. 12/20/10 - Modified gen6buld line 560 to use O_RDONLY for testing the location of the PRO/5 compiler, to avoid conflicts in busy systems. 2/21/11 - Modified the Unix process ID stored in gen60d.pid to use the tcb(89) value under pvx, to avoid problems associated with 32-bit process numbers found on some operating systems. This affects the gen60d stop process. 3/8/11 - Modified currency symbol formatting to avoid a conflict with newer BBj currency symbol modifiers, specifically the @ character, which was used internally as a symbol place holder. 6/27/11 - Modified gen6-rtx to support character-mode (DDE) exporting to Excel using a configured Excel path name with spaces when exporting to a WindX device under ProvideX. 10/12/11 - Modified the keyboard and function key loading in the character mode interface to force the use of some non-character entities in the high-order ISO-8859-1 character set if needed. This was done because newer BBj versions allocate even non-printable characters (129-159) in this character set to be considered upper- or lower-case letters. This change only affects BBx and BBj versions. 6.0.16 4/12/12 - Again modified keyboard/function key loading to use more entities from the high-bit character list, making assumption that iso-8859-1 would be in use so that chars $80$ though $9f$ are available for reprogramming. This was done to allow traditional control character edit sequences to work properly. 4/12/12 - Updated GUI client to support font selection in the report viewer. Font selection is limited to monospaced fonts, and note that some fonts, such as standard printer Courier (though not Courier New) are not scalable and do not render well in the viewer. The server must be updated with this change in order for the menu option for Font to be displayed correctly, as the menu title comes from the server. 6.0.17 5/21/12 - Corrected runtime error in GUI client when a user menu contained duplicate menu item lines. 5/22/12 - Worked around a syntax issue when a dictionary expression was simply a user-defined function (&fnjul(@pf2) for example). Under BBx and standard Pvx, this type of expression was parsed into an assignment. Under Pxplus, which supports inline function execution, the expression was simply executed inline and no assignment performed. 6.0.18 8/23/12 - Modified pvx code in gen6-fst to always access MXC and MXL functions for returning device width and height, rather than relying on the FIN function. 9/12/12 - Adjusted above change to work only with printer devices, so screen devices would work as before to avoid issues with partial window placement. 9/12/12 - Corrected a parsing error in dictionary expressions when a reference to a date field was followed by a string literal later in the expression. 4/22/13 - Added work around for a pvx 10.20.0005 prm('sz') bug. 7/12/13 - Added defensive code to avoid errors if a connection is made to the GUI server port by a non-GUI client, and that connection sends a partially valid connect string. The server could get an error 26 or error 42 while evaluating the connection data and exit. If such a connection is made, the server issues an error 997 and continues. 9/10/13 - Fixed an endless loop in dictionary printing if an incomplete set of dictionary records was encountered. 6/30/14 - Corrected potential error 41 in gen6int1 if the date/time display format configuration is longer than expected. 9/9/14 - Updated list.bb and proc.bb to handle new BBj behavior that modified the key() function value for a socket alias. 3/18/15 - Updated prefix setting in gui server to support paths with spaces. Note that when running under PRO5, spaces are not honored by BBx itself, as the PREFIX verb does not support quoted paths. 3/19/15 - Added parse(str$,fld,dlm$) function to dictionary expressions. The function returns a string value of the sub-field specified given the delimiter. IF physical field 20 contains abc<254>def<254>, the expression parse(@pf20,2,chr(254)) will return "def". 6/26/15 - Added support for the NO-HEAD option when doing Excel exports via the GUI client. This change applies to both exports from the GUI client viewer (using the Export, Excel menu option) and to report definitions that specify an Excel report type. For Excel report types, both the client and server must be updated. For exporting from the viewer, only the client requires updating. 7/27/15 - Added support for an initial descending key segment in an altkey range specification. 8/18/15 - Corrected problem with ON PREVIEW F4-print function, which was returning to the menu after a page range entry. 6/5/18 - Added pxplus support to the Windows gen60d.exe launch process, so a custom copy of pxplus with "pvx" in it isn't required. 9/27/18 - Updated gen6-rtx to work around a change in Excel DDE that broke exports to Excel in character mode. 12/3/19 - Modified dictionary expression parser to ignore literal date parse errors in the expression, to avoid problems with string masking and other quoted literals.