APPX Server 4.0.0 Release Notes

Important Notes

  • APPX 4.0 Adds several new and exciting items. Here are a few:
    • Complete Language Translation tools
    • New and Improved Scan Processor
    • New Java GUI Features like Data Palettes, Icon Buttons, and Frames
    • Hook Override Processes
    • A new and Improved Disposition process
    • CNV TEXT statement enhancement
    • New REFRESH statement


  • Scan functionality has been added to the Record Selection screen when running a query process. Fields that are scannable are as follows:


    • Key fields in the PCF will scan the PCF.
    • Fields in the PCF with a data dictionary defined data lookup will scan the data lookup file.
    • Token fields and fields with a validation table defined will scan the defined table.
  • Several option keys (such as SELECT) would cause strange behavior if pressed while help text was being displayed. This has been corrected. (#4125)

  • The DISPOSITION process has been redesigned for release 4.0. Some of the changes are: (#4347)

    • More fields have been added to the screen. Not all of them are used by APPX, but some are passed through for use by either print spoolers or background job schedulers.
    • Disposition Definitions are now supported. These provide designers with greater control over dispositions. These can be found on the "Configuration" menu in "System Administration". See help text there for more info.
    • End user creation of and optionally selection of Disposition Definitions at run time is supported.

  • The Scan process has been redesigned for release 4.0. Some of the changes are:
    • Scan won't automatically prompt for "selecting a file" or "selecting an access path". It will take you directly to the Scan screen. Both of these functions are available as options from there.
    • The value in the field before hitting SCAN will be respected as the starting value for listing records from the Scan file.
    • On the scrolling Scan screen, up to the first 2 fields of the current access path are available at the top of the screen for re-specifying the starting value. Entering a value here and pressing Enter will cause a new batch of records to be displayed. If the access path contains more than 2 fields an optional child is available to enter the starting value.
    • In Java client a drop down scan box will contain a "--Select File--" item if the field is also part of another possible Scan file (PCF for instance).
    • In Java client a DLU scan where the DLU file contains only 1 Descriptive field will be displayed in a drop down box. An "--Edit List--" item will be included to launch the Scan File's default process.


  • When attempting to run the Y2K utility under APPX 3.5 Windows®, you could get: "Cannot write to cache - invalid prototype record length." (#4410)
  • APPX 4.0 introduces language translation capabilities. This permits the APPX design environment as well as end-user developed applications to be viewed in multiple languages. Some of the highlights are:
    • Applications are designed and maintained in a "base" language.
    • Includes utilities for maintaining a dictionary of words and phrases for each language.
    • Includes utilities for populating the dictionary with words and phrases which occur within an application. The dictionary is also dynamically populated at run time.
    • Allows easy translation of words and phrases in the dictionary from one language to another.
    • Translation exceptions, associated with specific design elements, can be specified. They are used instead of the dictionary translations.
    • While designing, images can be "previewed" in other languages.
    • Stores separate em's for each runtime language. Most of the translation is stored in the em. Messages and dynamic text are translated at run time.
    • At run time the application will display in the language specified by defaults at the "System", "Database", "Database/App", or "User".
    • Allows a designer to specify a change of language for a process by using the PDF, NEXT LANGUAGE ID.


  • The CNV TEXT statement is now bi-directional. Previously you could convert a non-alpha field to display format by specifying an alpha-field as the destination operand and a non-alpha field as the source operand. You can now reverse the operation (i.e. convert from a display-formatted alpha into a non-alpha) by reversing the operands.

    Also, CNV TEXT will now operate on an entire record. This can also be done bi-directionally. (#4474)

  • A "Hook" file has been added to the "System Setup" menu in "System Administration". Active records in this file will cause APPX to override a process name at run-time. The structure of the record permits a Hook record to be in effect for a specific user, if desired. Note that if any changes are made to this file, they will not become effective until APPX is restarted.

    One possible use of this feature would be to create a Hook record which would invoke a customized disposition process instead of the process --- DISPOSITION. Thus the customized process could be invoked without requiring changes to all the jobs where --- DISPOSITION is specified. (#4487)

  • In the first 4.0 beta, scanning for a process name from within the ILF editor would bring up a popup scan screen, but the underlying ILF editor screen could still have active modifiable fields. This has been corrected for the second beta. (#4559)

  • Enhance the Java GUI interface to provide support for Checkboxes, Frames, Icon Buttons, Client/Server file transfer and client side command execution. This has all been introduced with release 4.0. See the readme file that comes with the Java Client for more details. (#4586)

  • Option Help was not always being displayed for application versions other than 00. This has been corrected in the second beta. (#4591)
  • When trying to write a record which has a unique alternate key, if the alternate key was already on file, the write would fail. However, it was possible for APPX to allow the primary key value to remain in the index, thus corrupting the index. This has been corrected. (#4623)
  • The Predefined Fields, MI and XI were incorrectly being modified by a user selecting SCAN. This has been corrected in the second beta. (#4625)
  • After returning from an optional child, it was possible using ILF code to introduce a situation where another user could obtain a hold on the PCF record and the input process would not detect this. This has been corrected in the second beta. (#4633)
    • If you use AppxODBC and MS Access, Access would display "#Deleted#" for all fields whenever it tried to access a record held by another user. This has been corrected in the second beta. (#4635)


    • A file being downloaded from VS to APPX platform (particularly via Lightspeed) can have trailing spaces truncated, giving the transfer file variable lengths.
    • Our import buffer was not being cleared, allowing prior records to overlay subsequent records. This buffer is now being cleared between logical records. (#3000)

    • The "Default Value" field has been added to the Additional Attributes popup for Text fields. (#3091)

    • In APPX for Windows, from the ILF editor, if you attempted to 4)Search for a text string, the modifiable field into which you entered the text was not viewable. This field and the rest of the status area can now be correctly seen by expanding the window downward with the mouse. This was added in the second beta. (#3536)
    • In the Data Dictionary Fields editor, Additional Attributes, there's a hidden option 88 that is used to edit the full "Default Value" field. The one that's showing is not the full size. If the default value was changed by using this option, it did not work properly. This has been corrected. (#4270)
    • When adding a SYNONYM field to a file it sometimes incorrectly displayed a format. This could also happen when adding a GROUP HEADER field. This has been corrected. (#4391)
    • Fields or Domains of type FORMAT that had a validation table defined, did not have the ", Tbl" indicator appended to the format string. (#4396)
    • If you have the right to Design a locked application this now implicitly also includes the right to Debug that application. (#4398)
    • The screens used to add/edit items on images have been changed from full screen to smaller, boxed screens. (#4469)
    • The "Process Generation" utilities have been enhanced as to how they generate DLU's that are coded in the data dictionary.
      • DLU's on a field coded to itself will not be generated. This situation occurs if the DLU is coded at the domain level.
      • DLU's on a field coded to the same file will be generated with the "Read Record" field set to "N".


    • There have been some converted Speed II applications that after conversion to APPX contain some date fields with invalid default values. The fields were not to have a default value, but incorrectly had 16 zeros instead of blanks in the initial value field. This situation does not generate any errors, but can cause comparisons to incorrectly fail. This can affect IF statements and Query record selection processing, producing incorrect results.

      The Orphan Detection utilities for Domains and for Fields will detect and fix these invalid initial values. Error messages will be generated on the printed listing. This will then require the Data Dictionary to be processed to complete the repair. (#4493)

    • If you ran Change All References to change a process name to the exact same name, but in another application, the change was not being made in Child process records. This has been corrected. (#4494)
    • Change All References of a Process was being too aggressive as far as changing the process itself (not the references to it). The process itself will now only be changed if the following conditions are met:
      • From App Id & To App Id must both be equal to the Source App Id.
      • The To process must not already exist.


    • For some time APPX has allowed the specification of a negative number as the "Row Position" of a Frame. If the row position was negative, APPX would base the placement of the frame on it's size and the number of rows on the terminal. The actual negative number itself was not respected, it simply indicated that the frame would be positioned based on the frame size.
      This has been slightly changed in release 4.0. The negative Row Position will now itself indicate the starting position for the frame on the screen, relative to the last row available. Thus the last row is zero, the next to the last row is -1, etc.

    • A report has been added to the Source Analysis Menu to assist in finding any frames affected by this change.

      See ECR #3298 for more information on designing scrolling input processes that can be utilized with different numbers of rows available on the terminal. (#4506)

    • The ILF statement "REFRESH" has been added. It is similar to the "MESSAGE" statement in that it displays a message to the status line. The difference is that the REFRESH statement refreshes the screen immediately. Thus it can be used from within output or update processes to display in progress type information to the user. (#4519)
    • Only the first 30 characters of the "Path" field in System Administration's "File System Groups" editor was available. The full field is now accessible from the option "1-FMS Controls" in that process. If an entry is made in the Path field which extends beyond the first 30 characters, then the field will be protected on the scrolling screen. (#4543)
    • If duplicate area numbers existed for work fields, the recommended fix included processing the data dictionary. There was a bug which required this step to be run twice to insure that the duplicate area numbers were repaired. This has been corrected in the market release of 4.0. (#4569)
    • On Windows, the "-date=CCYYMMDDhhmmssth" option (SUBMIT DATE) was not being properly passed to appx submit. This has been corrected. (#4577)
    • When design transferring processes, if you keyed in only a process name and pressed enter, then entered additional info to transfer a frame or an image, the destination process could have all of it's frames/images deleted. This has been corrected. (This fix is in the 2nd beta.) (#4579)
    • The ILF statements, UPDATE, JOB, INQUIRY, STATUS, and TIMEOUT were not being handled correctly by the Change All References utility.
    • The ILF statements, COLOR and PICTURE, were not being handled correctly by the Change All References and by the Cross Reference utilities. (#4645)

    • Converting a 1.8.x app directly to 3.3, 3.4, or 3.5 would result in problems with local domains. However, an intermediate conversion to 3.2.x, then to a later version would work fine. This problem has been corrected in the 4.0 market release. (#4648)


  • The ability to create a dynamic key can now be removed by setting the environment variable APPX DISABLE DYNAKEYS.
    • Also, since creating a dynamic key on a large file can take considerable time, a warning will be displayed if one is being created once 1,000 records have been processed. At this point, the user can continue or cancel the creation of the dynamic key. The number of records at which the warning will be displayed can be overridden by setting the environment variable APPX DYNAKEY PROMPT=xxx (where xxx is a number of records). Note that the warning is only displayed once per creation of the key. In other words, it's not every 1,000 records, but once at the thousandth record. If the user elects to continue, no further warnings will be given. (#4202)

    • Option-94 is now implemented as the "ILF Browse" key in the ILF editor. The following list identifies the behavior based on cursor position.
      Cursor Positioned On Jumps to the Corresponding
      GOTO, GOSUB (without App Id) LABEL
      SUBR, COPY, GOSUB (with App Id) Subroutine Process
      Process Stmts (INPUT, OUTPUT, JOB, etc.) Process
      Field Name Field Definition
      File Name File Definition
      Any Other Statement Specified Event Point

      Jumping within an event point works like a stack, pressing PREVIOUS IMAGE will take you back to where you came from. If you jump into another process, recursive ILF editing is supported. (#4626)

    • On Windows, or the Win 32 client, on a scrolling input process if you made an entry in the last editable field on the image so that the field is filled up, the cursor may not have been retained on the same line. When Enter was pressed the changes could be lost unless the cursor was repositioned.

      There is a new option on the "Appearance" menu, "Automatic Tab Out". If this is not checked then after filling up a field the cursor will not automatically tab to the next editable field. After the field is completely filled, it will tab with the next keystroke. Note that this is the new default behavior.

      If this is checked, the old behavior is retained.

      AutoTabOut is remembered in the appx.ini file for each user. (#4642)

    • The "Login Information" screen of the Win32 client now has a drop down box which contains the last 10 remote hosts which were connected to. (#4643)

    See also Java Client 4.0 Release Notes.


    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.