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=<path to>\gengui.exe
 help=<path to>\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 name<tab>value<lf>name<tab>value<lf>...  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.
 
