APPX Server 4.1.6 Release Notes

WARNING: Appx 4.1.6 includes a GUI Demo application. It will be installed as Application DMO, Version 00, and Database DMO. If this application ID, Version, and Database is already in use on your system, you will need to back it up, upgrade to Appx 4.1.6, then restore your DMO application and/or database.

Important Notes

  • Starting with AppxODBC version 4.1.6, you should be able to connect to remote data sources without the hassle of defining environment variables.

    When you run asql (to import table definitions), you are now prompted for the remote host information. asql now stores this information along with the imported table definitions. (You are prompted for a remote host name, port number, user name, and password - asql stores the host name and port number - each ODBC client will prompt you for the username and password).

    When you use an ODBC client (such as Access or Crystal Reports) to connect to Appx-hosted data, the AppxODBC driver connects to the remote host identified to asql.

    You should no longer define the APPX_DATA_SERVER or APPX_UID environment variables (they will be ignored).

    NOTE: you must connect to the remote data server at least once using the 4.1.6 version of asql before this will work.

  • In support of some of the new features in APPX 4.1, we compiled using newer OS levels on some platforms. Below is a list of the platforms and OS levels that we were required to upgrade. We can't guarantee that APPX 4.1 will run on older versions of these operating systems. Any other platforms were compiled with the same OS levels we have used in the past.
    • AIX 4.3.3
    • DG/UX R4.20 (Intel)
    • HP/UX 11
    • Linux RedHat 6.2 Kernel 2.2.14-5.0 (Intel)
    • NCR SRV4 MP-RAS Version/Release
    • SCO OpenServer Enterprise System (ver 5.0.4p)
    • Solaris 8 - SunOS 5.8
  • It is very important to note that you will not be able to downgrade an application once it has been converted to release 4.1. In 4.1, we have changed the format for the I/O-related ILF statements. These changes are not backward compatible.
  • You cannot convert applications between Intel and RISC byte-ordering at the same time that you upgrade from a previous release to release 4.1. If you need to move an application from an Intel machine to a RISC machine, you must export the application from the Intel machine and import the application on the RISC machine using the same Appx release. Once you have changed byte-ordering, you can then upgrade that application to release 4.1. Note that you can upgrade the application first, then change byte-ordering. You just can't do both operations in one step.
  • The release 4.1 Sybase database interface is now in beta. If you would like to help us beta test this interface, please contact APPX Software.
  • The structures of some design files have changed in 4.1. A restructure of these design files is not required. We have provided a utility in System Administration, Database/Applications, Design File Management which you can use to clean up a few of the attributes in each of your applications. This utility will clear out the new "PCF Partial-record I/O" specification (in Processes/Additional Attributes), it will create some new design files (WIDGET, RESOURCE, and RESNAMES), and will convert any old-style box-drawing specifications into the format supported by release 4.1. (Note: if you don't use this utility on each of your applications, you will need to create the new design files yourself and you will receive warning messages when you try to edit a process which has random data in the PCF Partial-record I/O field.)
  • We have made very significant changes to the Appx/RDBMS interfaces. You should become familiar with these changes before you install this release. In particular, record locking has been re-implemented to provide better performance and this can change the way your applications will work in a multi-user environment.


Bugs Fixed in Patch Release 4.1.6

  • In Application Design, when running 3-Utilities, 6-Toolbox, 3-Create Executable Modules, if there are errors and a listing is produced, the listing now has the correct application id printed at the top. (#3473)
  • SCAN on the cached instance of a file does properly return values from the selected record. (#5339)
  • In earlier versions of 4.1.x, if a "direct process 2" menu was specified, but it did not currently exist, then when the underlying process was invoked, the following error could be produced - "Error - An internal error has been detected, proceed with caution!". This has been corrected. (Note: problem still exists in 4.1.6b4, fixed after that.) (#5733)
  • Release 4.1.6 now supports a variety of new registration types. (#5962)
  • Oracle version 8.x servers seem to have a bug which manifests itself as occasional "ORA-01013 - user requested cancel of current operation" errors. This error (ORA-01013) is normally produced when one of the following occurs: 1) The user presses the Ctrl-C key (actually, the process receives a SIGINT) 2) The application (Appx) calls the OCIBreak() function to cancel an operation. Neither of these is happening - Oracle considers this a bug. To try to recover from this problem, the Appx/Oracle interface has been modified to retry a query operation if an ORA-01013 is encountered. You can control the number of retries by setting the APPX CANCEL RETRIES environment variable to a number greater than 0. Important note - the default is 0 meaning that Appx will NOT retry queries which produced an ORA-01013 error. You must set APPX CANCEL RETRIES to a number greater than zero in order to force Appx to retry failed queries. (#5969)
  • The GUI client now supports a "-title=" command line argument which can be used to set the contents of the titlebar. (#6019)
  • Appx for Windows® (since release 4.1.x) will allow you to login even if the case of your user id does not exactly match the case of a System User ID in the 0SA USER file (this is by design). The --- USER ID field will is set (and the user ID will display at the bottom of the screen). (#6090)
  • Some enhancements have been made to the initial system administration files which are created as part of a new installation of APPX.
    • In the System Parameters record, "Auto Select All Files" and "Design Xfer Retain Audit Default" will both be defaulted to "Y".
    • Instead of creating a #IU user record, you will be prompted for the user info for the initial System Administrator record.
    • A default client side printer is added.
    • Forms records are added for common printing configurations on Windows printers.


  • In release 4.1.x, the internal format of I/O ILF statements was changed to support partial-record I/O. The Change All References utilities now correctly handle the "Hold" and "Fail" flags of these statements, as they convert the statements from the old to new formats. (#5975)
  • When performing I/O against the --- WIDGET file (in an application whose version is not "00"), the ILF editor no longer produces a FileNotFound error. (#5991)
  • The 0AD VERSION file now contains APPXPATH but, APPXPATH is not in VERSION TYPE's list of TOKEN values, so it is not possible to directly read this record from the VERSION file. This has been corrected. (#5998)
  • When using the mouse to move an item to a new location, the image editor correctly sets the item's size. (#6001)
  • The design transfer API no longer gives the error "Source Process Same As Dest Process" if you are in application ABC and you attempt to transfer a process from ABC to another version of ABC. (#6014)
  • Dragging a widget so that part of that widget hangs off the right or bottom edge of the window caused the widget to disappear in the image editor. It was no longer visible nor selectable. This has been corrected. (#6024)
  • When opening a design file whose FMS location has been modified using $(ver), the $(ver) part of the pathname is no longer set to '00'. (#6036)
  • Deleting a menu process does not result in orphaned GUI attributes for items on the menu's image. (#6040)
  • All Item types can now be defined as a LABEL control in the GUI Attributes of an image item. The specifications, "Text Position", "Icon Position", and "Resource" are now accessible when LABEL control is selected. (#6045)
  • When using the APPX Client, and adding a menu process, or an input image, a default row text title bar will no longer be automatically generated. The default row text title bar will be generated when using the character mode client or the Windows client. (#6046)
  • Occasionally, a "Can't Write LFN record - already on file" error would be generated. This was sometimes followed by other error messages and eventually a complete crash. This has been corrected. (#6047)
  • The "Text Position" and "Icon Position" attributes of an ALPHA Item are editable if the item's GUI control is LABEL. These specifications are now correctly retained. (#6052)
  • The query processor (introduced in 4.1) was changed to use internal memory based files instead of disk files. This can cause a query to use significantly more memory than in prior releases. It is usually more efficient for the O/S virtual memory manager to handle paging this file to disk than to have APPX do so.

    This process can now be controlled with the following environment variables:

    APPX DISK SORT THRESHOLD - controls the amount of memory that APPX will use to store the final internal work file. If the size of the file exceeds the threshold, the entire file will be written to disk.

    The default value is 2 * APPX RUN MEM.

    The default value for APPX RUN MEM is 1/2 Meg. (#6053)

  • The values for the "Grand Totals" popup of a toolbox generated query process are not different from those for a manually added query process. (#6064)
  • Using option 94 to browse to the target of a GOSUB statement - if the cursor was positioned to the right of the GOSUB keyword, prompted for an Event Point (using the External Copy context process). Option-94 (browse) will now ignore the cursor column as long as the cursor is positioned on a line which contains a GOSUB statement. (#6102)
  • The ILF browse feature (option 94 in the ILF editor) will prompt you for a location if the engine can't infer where you want to go (based on the cursor position). (For example, position your cursor on the word 'SET' in a SET statement and press option 94). If you END or CANCEL from this prompt, you no longer lose the changes you have made to your event point. (#6103)
  • If you code an I/O statement (such as READ, WRITE, READNEXT, etc.) and the name of the file you want to manipulate is the same as the name of a work field, the ILF editor will not complain with a "File Not Found" error message. You can save your ILF statements. (#6104)


  • Appx print now works with 'lp' (as it already did), 'lpr' which Linux uses, and 'ulp'. There's now one appx print script that works with all three spoolers. appx print looks for these in the current PATH, looking for 'ulp' first, if not found 'lp', if not found, 'lpr'. This can be forced by setting the environment variable APPX LP CMD. appx print also does more error checking and logging . It still creates a /tmp/appx print.last file of just the last print request but includes much more information.
  • appx print now supports the use of "filters". These are triggered by the --- PRINT FORMAT pdf. So, you can define a print filter for a PRINTER defined in APPX. (#5836)


GUI Client
  • If you send a keyboard timeout value and start entering text into a text field, the keystrokes reset the timer. Also, when the timer fires, all changes to the text field are not lost. (#5986)
  • When using the keyboard to select a token value from a listbox in the java client, the search is now done alphabetically instead of in the order the tokens exist in the list. (#5989)
  • When using the POSITION or CURSOR ROW / CURSOR COL to set the focus to a text field widget, the focus is being set properly to the text field. (#5994)
  • When the Java client detects that the server has gone away, it will now display a popup dialog box stating the error and waiting for the user to acknowledge the dialog box before terminating. (#6000)
  • When using F11 in the Image editor under the Java client does not show 'Y' and 'N' values instead of checkboxes. (#6002)
  • The APPX Java client can now be run on a MAC. (#6049)
  • All objects will now align properly to the grid in the image editor. (#6050)
  • Using the [?] help tool on the titlebar now shows the help window properly. Also, mouse clicks no longer reselect another scrolling record from the background screen. (#6091)
  • If you call up a GUI image in the image editor in inquire mode and have some custom boxes on the screen the boxes are now properly displayed. (#6097)
  • Panning now works properly in the client. (#5438)
  • Using the Toolbox option in the Image Editor to edit the list of optional processes now displays the list of processes with the proper Optional Child widgets. (#5581)


Microsoft, Windows, Windows Server, Windows 2000, Windows Server 2000, Windows Server 2003, Windows 98, Windows NT 4, Internet Explorer, Windows Vista, Windows XP, Windows 7, Microsoft SQL Server, Microsoft Access and Microsoft Excel are registered trademarks of Microsoft Corporation. All other products may be trademarks or registered trademarks of their respective companies.