____________________________________________________ Compaq DECforms Release Notes January 2003 This document lists all known restrictions, corrections, and additions to Compaq DECforms[TM] Version 3.3 software and documentation. Operating System: OpenVMS Software Version: DECforms Version 3.3 ________________________________________________________________ © 2002 Compaq Information Technologies Group, L.P. Compaq, the Compaq logo, ACMS, Alpha, DECforms, OpenVMS, Tru64, VAX, VMS, and the DIGITAL logo are trademarks of Compaq Information Technologies Group, L.P. in the U.S. and /or other countries. Motif, OSF/1, and UNIX are registered trademarks and the Open Group is a trademark of The Open Group in the U.S and/or other countries. All other product names mentioned herein may be the trademarks of their respective companies. Confidential computer software. Valid license from Compaq required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty. _________________________________________________________________ Contents Preface................................................... v 1 DECforms Overview................................ 1 1.1 Problems Corrected in DECforms Version 3.3 .... 1 1.2 Problems Corrected in Version 3.2 ............ 3 1.3 Problem Corrected in Version 3.1 ............. 3 1.4 Problems Corrected in Version 3.0 ............. 4 1.5 Problems Corrected in DECforms ECO4 ........... 4 1.6 ECO4 Installation ............................. 5 1.7 Problems Corrected in ECO3 .................... 5 1.8 Two Digit Year Sliding Window Details ......... 6 1.9 Patches ....................................... 8 1.10 Special Notice to ACMS Customers .............. 8 2 IFDL Translator Notes............................ 9 2.1 Problems Fixed in This Release ................ 9 2.2 Restrictions in This Release .................. 9 3 DECforms Portable Bindings for C and FORTRAN..... 10 3.1 Placeholder Restriction for FORTRAN ........... 10 4 Run-Time System (Form Manager) Notes............. 11 4.1 General Restrictions .......................... 11 4.1.1 Character-Cell Layout Restrictions.......... 14 5 Back Translator Notes............................ 15 5.1 Restrictions in This Release .................. 15 6 Form Development Environment Notes............... 17 6.1 Bug Fixes in This Release ..................... 17 6.2 Restrictions In This Release .................. 17 6.3 Known Problems with Workarounds ............... 18 7 Character-Cell Panel Editor Notes................ 20 7.1 Restrictions in This Release .................. 20 7.2 Known Problems with Workarounds ............... 20 8 Motif-based Panel Editor Notes................... 21 8.1 Restrictions in This Release .................. 21 9 LSE Support Notes ............................... 23 9.1 Restrictions in This Release .................. 23 iii 10 Checking Application Notes....................... 26 10.1 Features in This Release ...................... 26 10.2 Restrictions in This Release for OpenVMS Alpha.......................................... 26 11 Demonstration Forms Notes........................ 27 11.1 Location of the Demonstration Guide ........... 27 11.2 Restrictions in This Release .................. 27 11.3 New Features in This Release .................. 27 12 Run-Time Message Translations (DECforms for OpenVMS)......................................... 29 13 Documentation Notes.............................. 29 13.1 DIGITAL DECforms Guide to Converting VAX TDMS Applications................................... 29 iv _________________________________________________________________ Preface This document contains the release notes for DECforms Version 3.3 for OpenVMS users. DECforms Version 3.3 provides equal functionality on both the VAX and Alpha platforms. The previous release of DECforms on OpenVMS VAX and Alpha was Version 3.2. These release notes highlight all changes made within DECforms since Version 3.2. This document often refers to Compaq products by their abbreviated names: o DECforms software is referred to as DECforms. o DEC Language-Sensitive Editor software is referred to as LSE. o DEC ACMS software is referred to as ACMS. Intended Audience This document is intended for all DECforms users. Operating System Information DECforms Version 3.3 is supported on VAX and Alpha OpenVMS Version 6.2 or later systems. Layered Product Dependencies To use the DECforms for OpenVMS Version 3.3 Motif support, you must use Motif Version 1.1 or higher. To use the Oracle CDD/Repository features found in Version 3.3 DECforms for OpenVMS, you must use Oracle CDD/Repository Version 4.1 or higher. v To use the LSE features found in Version 3.3 DECforms for OpenVMS, you must use DEC LSE Version 3.0 or higher. Related Documents For additional information on using DECforms, refer to the following manuals: o Compaq DECforms Web Connector Administrator's Guide (Order No. AA-RES8C-TE) o DIGITAL DECforms Guide to Commands and Utilities (Order No. AA-Q501B-TE) o DIGITAL DECforms Guide to Developing an Application (Order No. AA-Q0T3B-TE) o DIGITAL DECforms Style Guide for Character-Cell Devices (Order No. AA-Q505B-TE) o DIGITAL DECforms IFDL Reference Manual (Order No. AA-Q502B-TE) o DIGITAL DECforms Programmer's Reference Manual (Order No. AA-Q503B-TE) o DIGITAL DECforms Guide to Converting FMS Applications (Order No. AA-LC21B-TE) o Compaq DECforms Installation Guide for OpenVMS Systems (Order No. AA-Q504E-TE) Acknowledgment DECforms is the Compaq implementation of a Form Interface Management System (FIMS) ANSI/ISO standard prepared by the CODASYL Form Interface Management System Committee and ISO/IEC JTC1/SC22 Working Group 18. The FIMS standard is documented in the ISO DIS 11730: December 7, 1992 FIMS and can be purchased from the International Organization for Standardization or from the American National Standards Institute. vi 1 DECforms Overview DECforms integrates text and simple graphics into forms and menus. Application programs use these forms and menus as user interfaces. DECforms also provides extensive facilities for specifying full control of the user interface within the form rather than in the application program. DECforms aids in application development by separating form and function. The entire user interface is completely external to the application program. The purpose of a form is to separate the application program from the user's view. The program processes the data, and the interface to the user is provided entirely by the form. The form contains terminal management functions, freeing the application program from device dependence. The programming interface in DECforms is a record-level interface. Data is transferred on a record-by-record basis. Records defined in the program and in the form control how data is transferred between the form and the program. The following new feature has been added in DECforms Version 3.3 o FORMS$SUPPRESS_DECTHREADS logical has been added. 1.1 Problems Corrected in DECforms Version 3.3 The following problems have been fixed in Version 3.3: o A problem handling unusual terminal page heights has been corrected when DECforms is used with ACMS. Specifically, setting a terminal page height as follows (SET TERM/PAGE) was causing the ACMS terminal system to crash then hang. o The memory corruption problem being seen by ACMS /DECforms customers is resolved in this Version. The fix corrects a problem which was triggered by users setting their terminal widths to something less than 80 characters wide. DECforms was allocating only enough memory for the actual width set, but was referencing memory as if the user was using a width of 80. Consequently, memory beyond what was originally 1 allocated was being corrupted. This resulted in random "BADBLOADDR" error messages from LIBRTL and ACCVIOs. The fix was to use a default terminal width of 80 unless the user had set the width to something above 80. In that case, the higher value is used. o If DECforms detects DECthreads in the process when loading or during processing, it will take an alternative code path and make use of threading routines. This however, places restrictions (refer to the "General Restrictions" section below) on how an application can behave when making DECforms requests. When those restrictions are not adhered to, the FORMS$BLOCKED_BY_THREAD message is returned. If it is not necessary for the application to run in a "threaded manner", the user can define the logical FORMS$SUPPRESS_DECTHREADS to "1" or "Y" before the application is started. This will force DECforms to behave in a non-threaded manner and therefore not place any extra restrictions on request calls. DECforms Version 3.2 contains the following new features: o Support for the DECforms Web Connector Version 3.0 The DECforms Web Connector is a software product that allows you to access DECforms applications on devices that run Web browsers, allowing you to access DECforms character-cell applications from the Internet without making significant programming changes. In order to run DECforms Web Connector Version 3.0, you must have DECforms Version 3.2 or later installed. For more information about the DECforms Web Connector see the Web Connector Web page at: http://www.openvms.compaq.com/commercial/webconnector/index.htm Follow the link to the download page and try out the DECforms Web Connector for free. You can also read about the DECforms Web Connector in the Compaq DECforms Web Connector Administrator's Guide. o FORMS$STACK_SIZE logical resolution added. o Support for OpenVMS Version 6.2 through Version 7.2 on both VAX and Alpha. 2 1.2 Problems Corrected in Version 3.2 The following problems have been fixed in this release: o Code was added to prevent sessions from being deleted when a refresh event was interrupted by a terminal hangup. o FORMS$STACK_SIZE is a new logical, which when defined will set the size of a thread's stack at run time. If the user's DECforms application uses DECthreads or he is running an ACMS task, it may be necessary to increase the thread stack size above the default values used by DECforms. On VAX systems that default value is set to 37 and on Alpha systems it is set to 75. (In both cases this number is then multiplied by 512 to get the actual stack size used when creating the thread.) When running ACMS applications make sure the logical is defined at SYSTEM level before restarting the terminal system. 1.3 Problem Corrected in Version 3.1 The following problem has been fixed in this release: o DECforms Version 3.0 on OpenVMS Alpha inserted new message codes into the middle of a symbol vector table. When this symbol vector table was used to link the new FORMS$MANAGER image it resulted in some old message codes being assigned new values which were different from earlier releases. DECforms application that were linked with a version prior to V3.0 would have message codes with the old values. If these applications were simply run against DECforms V3.0 on Alpha (without re-linking) they would not execute properly if the code was checking for these particular message codes. Re-linking the application against V3.0 would insure correct behavior. This version fixes the symbol vector problem and does not require the user to re-link their application when they upgrade from V2.2. 3 1.4 Problems Corrected in Version 3.0 The following problems have been fixed in this release: o When DECforms Version 2.2 was used in a program that also called ACMS SI routines, a hang would occur. This problem has been fixed. o DECforms Version 3.0 has added code to check the integrity of the session before a screen refresh is done. This prevents ACCVIOs from occurring. 1.5 Problems Corrected in DECforms ECO4 ECO4 revised DECforms from Version 2.2 to Version 2.2-4 as released or to Version 2.2 with any previous DECforms Version 2.2 ECOs applied. ECO4 can be installed over previous ECOs, which they supercede. ECO4 resolves the following problem: o Eliminates the potential for a loop when DECforms is used without ACMS. When an IFDL REFRESH Response Step is interrupted by an asynchronus SEND request, a loop can result that prevents both the REFRESH and the asynchronus SEND from completing normally. ECO4 contains all the bug fixes made in prior ECOs. These fixes resolve the following problems: o Corrects the situation which led to the error messages below always being displayed in an ACMS SWL file. Once this problem occurred, all subsequent ACMS logins would be rejected. %ACMSTU-I-RECEVT, Log Event -FORMS-F-FATINTERR, fatal Internal Error. -FORMS-F-INTDATCOR, internal data corrupted at 10 in FORMS_WMG_OPEN_DISPLAY -FORMS-F-MGRCIOBASE, FORMS$MANAGER base = xxxxxxxx, FORMS$CIOSHR base = xxxxxxxx -LIB-F-BADBLOADR, bad block address o Corrects a problem reported in the Y2K sliding window functionality seen when the IFDL statement "Output Picture For Date" is used. 4 o Corrects a resource de-allocation problem in an ACMS environment. The ACMS TSC process was not releasing it's device channel because DECforms had not executed its cleanup code. To ACMS, it appeared as if a user was still logged on. o Corrects a "hang" condition in the DECforms window manager code triggered when ACMS users disconnected from a LAT session and deleted the device they were using. o Modifies the handling of date input to allow for interpretation of two digit years inside a specified "sliding date window". 1.6 ECO4 Installation The ECO4 saveset contains an updated DECforms Version 2.2 run-time system with the release notes replaced by this file (FORMS022_E04_README1ST.TXT). Installing ECO4 will perform a complete replacement installation of all DECforms run-time components. To install ECO4 invoke the VMSINSTAL command procedure, as outlined in the Compaq OpenVMS System Management Utilities Reference Manual, and follow the instructions in the DECforms Installation Guide for OpenVMS Systems. ECO4 assumes that DECforms Version 2.2 has previously been installed on the OpenVMS system. Correct operation of DECforms cannot be guaranteed unless this ECO is installed over DECforms Version 2.2. Installing this ECO over any other version of DECforms is not supported and will result in unpredictable behavior. ECO4 can be installed over any previously installed ECOs for DECforms Version 2.2 and will supercede those ECOs. 1.7 Problems Corrected in ECO3 The DECforms ECO3 kit updated DECforms from Version 2.2 or Version 2.2-1 or Version 2.2-2 to V2.2-3. ECO3 resolves the following problems: o Corrects the situation which led to the following error messages constantly being displayed in an ACMS SWL file: 5 %ACMSTU-I-RECEVT, Log Event -FORMS-F-FATINTERR, fatal Internal Error. -FORMS-F-INTDATCOR, internal data corrupted at 10 in FORMS_WMG_OPEN_DISPLAY -FORMS-F-MGRCIOBASE, FORMS$MANAGER base = xxxxxxxx, FORMS$CIOSHR base =xxxxxxxx -LIB-F-BADBLOADR, bad block address Once the problem occurred, all subsequent ACMS logins would be rejected. o Corrects a bug reported in the Y2K "sliding window" functionality seen when the IFDL statement OUTPUT PICTURE FOR DATE is used. o Corrects a resource deallocation problem in the ACMS environment. The ACMS TSC process was not releasing its device channel because DECforms had not executed its cleanup code. To ACMS, it appeared as if a user was still logged on. o Corrects a hang condition in the DECforms window manager code triggered when ACMS users disconnected from a LAT session and deleted the device they were using. o Modifies the handling of date input to allow for interpretation of two digit years inside a specified "sliding date window". 1.8 Two Digit Year Sliding Window Details DECforms provides considerable flexibility in defining, inputting, and displaying date information. DECforms defaults to 4-digit year date usage unless you override it. Upon input, DECforms validates date fields and translates all date field formats into the standard OpenVMS binary date format. To successfully translate a 2-digit year date field into the corresponding binary format, DECforms needs to determine the century and supply the two missing century digits. DECforms uses the system clock to determine the century and thus the century digits. For example, the date 12/25/68 is interpreted as 25-Dec-1968 on or before 31- Dec-1999 and as 25-Dec-2068 after 31-Dec-1999. Thus, the consequences of the century change on applications using DECforms and 2-digit year dates are application specific. 6 With ECO3, DECforms provided a sliding window interpretation for 2-digit year dates to provide more control over the translation of 2-digit year dates. Used correctly, DIGITAL believes that the sliding window can significantly decrease the burden upon our customers to insure correct application operation into the 21st century. The DECforms sliding date window is implemented using an OpenVMS logical name called FORMS$BASE_YEAR. The value of this logical defines the first year of a 100 year window in which all 2-digit year dates are interpreted by DECforms runtime processing. For example, a value of 1980 defines a 100 year date window from 01-Jan-1980 to 31-Dec-2079. Upon enabling a session via the FORMS$ENABLE call, DECforms attempts to translate FORMS$BASE_YEAR. DECforms searches the PROCESS table, followed by the GROUP table, and finally the SYSTEM table. DECforms uses the first valid value found. Valid values are 4-digit numbers in the range 1859 - 9900. The date window remains in effect until the session is terminated using the FORMS$DISABLE call. If the FORMS$BASE_YEAR logical is not defined or if an invalid translation is found, the current behavior of DECforms for processing 2-digit year dates using the current century prevails. An invalid translation will cause an error message. Customers who wish to have DECforms continue to translate 2-digit year dates in the 20th century should set the FORMS$BASE_YEAR logical to the value 1900. This causes all 2-digit year dates to be interpreted with "19" as the century digits and thus maintains the 20th century behavior regardless of the current century. DECforms provides considerable flexibility in handling dates. For example, date picture formats can be created that contain 1-digit or 3-digit years. For these cases, the current DECforms behavior will not change and we strongly suggest that customers closely examine their applications and the associated IFDL for potential problems related to the century change. 7 1.9 Patches CMA ECO ALPCMAR04_062 (at a minimum) must be installed if you are using DECforms Version 3.3 in conjunction with ACMS or make use of DECthreads on Alpha OpenVMS Version 6.2. For information on the compatibility of other software products with this version of DECforms, refer to the Software Product Description (SPD). You can use the SPD to verify which versions of your operating system are compatible with this version of DECforms. 1.10 Special Notice to ACMS Customers For correct operation with ACMS, DECforms Version 3.3 software must be used with ACMS Version 4.1 or higher. For correct operation on OpenVMS Alpha V6.2, ECO number ALPCMAR04_062 (at a minimum) must be installed. The following sections list all known restrictions, corrections, and additions to DECforms Version 3.3 software and documentation since the DECforms Version 1.4 VAX release. 8 2 IFDL Translator Notes This section documents new features, known restrictions, and problems in the DECforms Version 3.3 IFDL Translator. 2.1 Problems Fixed in This Release o When translating a form file using the following command: $ FORMS TRANSLATE/LIST=X.X/OUTPUT=AFTER.FORM SYS$INPUT the error %FORMS-F-OPENOUT --- error opening FORM_SYS$INPUT: was received. This error has been fixed. 2.2 Restrictions in This Release o It is recommended that you avoid using layouts which have UNITS POINTS specified. Although UNITS POINTS translates as valid IFDL syntax, unpredictable results may occur if you use layouts with UNITS POINTS specified. Note that this restriction will be lifted in a future release of DECforms. 9 3 DECforms Portable Bindings for C and FORTRAN This section documents new features, known restrictions, and problems in the DECforms Version 3.3 Portable API. 3.1 Placeholder Restriction for FORTRAN When specifying missing string arguments in FORTRAN bindings, you must use one of the following placeholders: forms_enable_for (session_id, , form_file, form_name, request_option) forms_enable_for (session_id, "", form_file, form_name, request_option) forms_enable_for (session_id, CHAR(0), form_file, form_name, request_option) Specifying missing string arguments using the numeric value, 0, is considered a programming error because 0 is of type integer. DECforms does not guarantee detection of such errors. These errors may produce unexpected behavior at runtime. In addition, when a DECforms request call is expecting n incoming user parameters, where n is a positive integer, you must specify each parameter either by passing an actual variable, value, or placeholder. For example, the forms_ enable call expects five incoming parameters, as follows: forms_enable_for (session_id,,form_file,,) 1 forms_enable_for (session_id,,form_file,) 2 1 This forms_enable call is correct. The five parameters are: session_id , form_file , , 2 This forms_enable call is incorrect. 10 4 Run-Time System (Form Manager) Notes This section documents known restrictions and problems in the DECforms Version 3.3 Form Manager. 4.1 General Restrictions o When a DECforms application written in C is compiled with the /EXTERNAL_MODEL=COMMON_BLOCK parameter, the application could fail at run-time with a "no read access to user argument" error. This problem has been fixed. o Asynchronous requests cannot be used when DECthreads threading is active in the process. The error FORMS$_ BLOCKED_BY_THREAD is returned by any attempt to perform such a request. You can correct this situation in one of two ways: 1. Remove DECthreads threading from the process 2. Recode so that the current AST request is done from a thread DECforms has added this restriction because it has always been a DECthreads restriction and we cannot handle resolution of customer problems without satisfying this DECthreads requirement. o Images linked using DECforms Version 3.3 will not operate against previous versions of DECforms and will return shareable image ident mismatch when attempted. o DECforms sets the tm_wday and tm_yday fields to 0 in the FORMS_TM structure before passing it back to the user application. If that application needs to use these fields, the fields must be set properly. Use the C RTL mktime() function, which sets the tm_wday and tm_yday fields as a side effect, to do this. Beginning with OpenVMS V7.0, the C RTL asctime() function (used to convert a struct tm to an ASCII string), uses the tm_wday field to correctly compute the day-of-the-week portion of the output string. A value of 0 in tm_wday always results in an output of Sunday. On pre-V7.0 systems, asctime() ignored the tm_wday field and computed the day-of-the-week from the other fields in the struct tm. 11 o The form record field offsets and lengths are calculated at run time on OpenVMS Alpha when loading a .FORM file. This allows the .FORM file to be compatible between the OpenVMS VAX and OpenVMS Alpha platforms. o The form data structures are new as of DECforms Version 2.1. Versions of the form data structures created before Version 2.1 that are contained in .FORM files are converted when the form is loaded (during the FORMS$ENABLE call). Previous versions of the form data structures contained in images and from extracted objects are converted and reloaded from the old copy of the data structure. A new copy is made in memory. For performance reasons the .FORM files should be recreated using the Version 2.1 or 2.2 IFDL Translator. Extracted objects should be reextracted using the Version 2.1 or 2.2 Extract Objects Utility, and images should be rebuilt under DECforms Version 2.1 or 2.2. o UNITS POINTS Avoid using layouts that specify UNITS POINTS. Using layouts with UNITS POINTS may result in unpredictable results. This restriction may be lifted in a future release of DECforms. o INPUT REQUIRED clause. The INPUT REQUIRED clause does not behave as documented in the DIGITAL DECforms IFDL Reference Manual. In particular, if the operator enters the existing value of the panel field, the INPUT REQUIRED clause is not satisfied. The INPUT REQUIRED clause is satisfied only if the value of the data item has been modified by the operator. The Read Verify function of the OpenVMS terminal driver determines the behavior of the INPUT REQUIRED clause. o Form data items and multiple panel fields. A single form data item can be displayed in multiple panel fields. However, either the picture strings specified for those panel fields should allow any value that the data item may contain to be displayed, or the value should be set to a value that can be displayed in the panel prior to displaying the panel. 12 For example, you have a form data item with a data type of Longword Integer, and this data item appears in two panel fields with pictures of 9999999999 and 999, respectively. If the value of the data item is greater than or equal to 1,000, the second panel field's picture cannot display the data. Prior to displaying the second panel, the data item has to be set to a value that is compatible with the 999 picture or an error is returned to the application program. o Tracing is local when turned on within an escape routine. When no logical name or request specifies tracing within a form session, the default for tracing is off. In general, tracing remains on or off until a DCL logical or an item code in a request is specified to change it. However, if the status of tracing is changed within an escape routine, that change of status remains only for the duration of the escape routine execution. For example, if tracing was off in a form session, but was later turned on within an escape routine, only the events that took place within the escape routine are recorded. Similarly, if tracing was on in a form session, but was later turned off within an escape routine, all events that occurred inside this escape routine are excluded from the trace file. o RETURN/RETURN IMMEDIATE prior to accept phase. In DECforms Version 3.3, RETURN and RETURN IMMEDIATE response steps are ignored before entering accept phase if the activation list is not empty. If one of these response steps is in an external response, such as ENABLE or SEND, and some items are activated before the response steps, the response steps will not be executed. o If you connect to the VMS DECforms Forms Manager by using dlogin from ULTRIX DECterms, you may experience sporadic failures, especially on forms containing large groups. If this problem occurs, the system manager should examine the MAXBUF parameter. The recommended value of this parameter is at least 2048; if this problem occurs, increase MAXBUF to 4096. 13 o Under some circumstances, if you are running ACMS in debug mode with DECforms and Oracle TRACE, you may experience failures. As a workaround, define the logical EPC$SHR to "NL:". 4.1.1 Character-Cell Layout Restrictions o CONCEALED WHEN and overlapping panel objects. If a panel field in a character cell layout contains a CONCEALED WHEN clause, and that panel field overlaps background literals on the panel, the literals do not appear when the CONCEALED WHEN condition is true. Space characters are written in the character positions occupied by the concealed object. o REFRESH ALL and foreign screen agents. The REFRESH ALL response step in a character cell layout may sometimes interfere with the operation of other screen packages that may share the screen with DECforms. In addition, if other screen agents are sharing the display with DECforms, REFRESH ALL may not restore the state of the DECforms display. 14 5 Back Translator Notes This section documents known restrictions and problems in the DECforms Version 3.3 Back Translator. 5.1 Restrictions in This Release o Rectangle and polyline literals in absolute coordinates When the Back Translator outputs the line and column clauses for rectangles and polylines, it outputs these clauses using absolute coordinates regardless of how they were specified previous to translation. o Comments may be moved between translation and back translation. The IFDL Translator creates a compact binary representation of your form that can be enabled by the Form Manager and manipulated efficiently by the Panel Editor and the Form Development Environment. To make the structure efficient to manipulate, the Translator cannot precisely record the location of comments, because a comment can be placed between any two syntax tokens. Instead, the location of a comment is approximated in the form file, so when the Back Translator reconstructs the IFDL file from the form file, it may not place your comment exactly where it was in the original file. Because of the rewrite of the IFDL translator, these approximations to the comment locations may be different from those in DECforms Version 1.0 through Version 1.3. Once an IFDL file has been written by the Back Translator, the comments are in positions from which they will not move in repeated passes through the Translator and Back Translator. An effective workaround is to let the comments move once, and then modify them so that they are meaningful at their new locations. If this is not adequate, the next best workaround is to avoid using the Back Translator, which means avoiding the Panel Editor and Form Development Environment. By refraining from the use of the Panel Editor and Form Development Environment you are using IFDL as an ordinary text-based language, with a compiler and an execution component. 15 o COPY format 1 statements are lost between translation and back translation. Because a COPY format 1 statement can appear anywhere in an IFDL file that a comment can appear, the Translator has the same problem with COPY statements that it has with comments. However, moving a COPY statement can change the meaning of an IFDL file, so rather than take the chance of creating an incorrect IFDL file, the COPY statements are replaced by a back translation of the information copied. If the loss of the COPY statement is unacceptable, the only useful workaround is to avoid using the Back Translator, which means avoiding the Panel Editor and the Form Development Environment. DECforms is working on an alternative to COPY that provides for centralized libraries of reuseable modules and is back translatable. The restriction on COPY format 1 does not apply to COPY format 2, which accesses the Oracle CDD/Repository; those COPY statements are preserved by the Back Translator. 16 6 Form Development Environment Notes This section documents known restrictions and problems in the DECforms Version 3.3 Form Development Environment (FDE). 6.1 Bug Fixes in This Release o When using the Form Development Environment (FDE) to modify an IFDL file that uses the Oracle CDD/Repository COPY statement, the FDE would return the error "specified session not found" or "device I/O error". This problem has been fixed. 6.2 Restrictions In This Release o Working with large form files in DECforms The FDE calls many utilities for you. One of the side effects of this convenience is substantial memory use. Your form also takes up memory. If your form gets very large (perhaps 20,000 or 50,000 lines), you could run out of memory quota (not physical memory). If this happens, an error message similar to "Insufficient Virtual Memory" is displayed. To provide your process with more memory, you can increase two parameter values: - The first parameter, Page File Quota, you can check with the SHOW PROCESS/QUOTA command or with F$GETJPI("","PGFLQUOTA"). If you use AUTHORIZE to increase this parameter, make sure that you increase the sysgen parameter VIRTUALPAGECNT, if necessary. - You can check the second parameter, VIRTUALPAGECNT, with F$GETSYI("VIRTUALPAGECNT"). If you increase PGFLQUOTA so that it is larger than VIRTUALPAGECNT, you need to increase VIRTUALPAGECNT to be the same as or larger than PGFLQUOTA. If the increased value of PGFLQUOTA does not exceed VIRTUALPAGECNT, you do not need to change VIRTUALPAGECNT. PGFLQUOTA is specified uniquely for each user, while VIRTUALPAGECNT is a sysgen parameter. VIRTUALPAGECNT should only be changed by AUTOGEN. o Other system parameters and quotas that affect the FDE: 17 If you are having trouble running DECTPU or DEC LSE from the FDE, you should check the following parameters: 1. System Parameter MAXBUF. Set this to at least 2048. 2. System Parameter PROCSECTCNT. Set this to at least 64. 3. User Quota BYTLM. Make this at least as large as MAXBUF. o Overwritten error messages The display of hints overwrites the display of error messages. When you press PF1-PF2, the automatic display of Help messages (hints) is turned on. These hints occasionally overwrite error messages, messages such as "failed validation". 6.3 Known Problems with Workarounds o Terminal width change problem within the FDE If you use the TEST or EDIT PANEL options within the FDE and the panel being used is of a different terminal width than the main FDE session, the terminal width is not reset to the original width after you exit either option and return to the main FDE menu. The terminal width is reset appropriately when you exit the FDE. o Use of EVE$INIT in the FDE in DECforms for OpenVMS When EVE is invoked, it searches for the following: 1. A logical name, EVE$INIT, that points to an initialization file 2. An initialization file in the default directory 3. An initialization file in the SYS$LOGIN: directory The FDE, however, only passes the logical name, EVE$INIT, to EVE (step #1). The FDE does not look for the initialization file itself. As a result, if the file is in SYS$LOGIN: and not in the default directory, EVE does not find the file. o DECforms help library access in DECforms for OpenVMS 18 To access the FORMS$HELPLIB.HLB library (DECTPU, EVE, and LSE help) from EVE-based editors outside the FDE, you can add these steps to your startup command file for DECTPU editing (TPU$COMMAND.TPU): ! ! ----------- REQUIRED ------------- ! Tell EVE where the IFDL library is ! ---------------------------------- ! eve$declare_help_library( "FORMS", ! Facility name "FORMS$HELPLIB", ! Help library "", ! prefixing Topic in lib "For help on DECforms, type FORMS and press RETURN."); ! ! ----------- OPTIONAL ------------- ! ! Define EVE constants for multi-word topics. ! If you do not include these, ! then you will have to include UNDERSCORES ! between words for these help topics. ! eve$kt_topic_forms_copy_file := "copy_file"; eve$kt_topic_forms_copy_field := "copy_field"; eve$kt_topic_forms_form := "form"; eve$kt_topic_forms_form := "forms"; eve$kt_topic_forms_data := "data"; eve$kt_topic_forms_data_types := "data_type"; eve$kt_topic_forms_function_keys := "function_keys"; eve$kt_topic_forms_response_steps := "response_steps"; eve$kt_topic_forms_ifdl_concepts := "ifdl_concepts"; 19 7 Character-Cell Panel Editor Notes This section documents known restrictions and problems in the DECforms Version 3.3 Character-Cell Panel Editor. 7.1 Restrictions in This Release o Panels associated with viewports declared FOR PRINTING cannot be edited by the Character-Cell Panel Editor (CCPED) unless both the terminal/DECterm size and the default viewport size (the layout's SIZE declaration) are large enough to accommodate the panels. o The command recall buffer stops recording commands after the 16th command. The recall buffer does not lose the previous 16 commands, and they can be recalled, but after the 16th one, no more commands will be recorded. 7.2 Known Problems with Workarounds o When certain field description attributes are changed from a conditional to an unconditional format of the attribute (possible with PROTECTED/PROTECTED WHEN and CONCEALED/CONCEALED WHEN), the conditional clause is not always properly erased from the internal representation of the form. This does not affect the run-time operation of the form. The Form Manager correctly sees the unconditional case. However, if you remove the unconditional attribute before translating the form file back into an IFDL source file, and then translate that source file into a form file, the conditional attribute may reappear. You can prevent the reappearance of a conditional clause you have removed in the Character-Cell Panel Editor by translating the form file into an IFDL source file and then translating the IFDL source file into a form file again. These translations purge the unused conditional clause. 20 8 Motif-based Panel Editor Notes This section documents new features, known restrictions and problems in the DECforms Version 3.3 Motif-based Panel Editor. 8.1 Restrictions in This Release This section documents known restrictions and problems in the DECforms Version 3.3 Motif-based Panel Editor. o Under some circumstances, a DECforms application using the Motif interface could loop in a FORMS$RECEIVE call. This problem has been fixed. o The display is not updated when a value for the X or Y positions of an object are manually entered. The display is properly updated if the incrementor and decrementor push buttons are used after an X or Y value is entered. o Saving a modified form within MPED may cause a message to be displayed in the DECterm in which MPED was activated. The type of message displayed is: "Block at XXXXXXXX ALLOC PC = XXXXXXXX/XXXXXXXX, DEALLOC PC = XXXXXXXX/XXXXXXXX ALLOC SIZE = XXX." This message indicates that Motif detected a memory leak within MPED when the form was saved. You can ignore this message. o Avoid using layouts that specify UNITS POINTS specified. If you edit layouts with UNITS POINTS specified, unpredictable results may occur. This restriction may be lifted in a future release of DECforms. o If you select a panel group with a child polyline object in the work area, and press MB1 inside the extent rectangle of the polyline to move the panel group, MPED does not allow you to move the panel group. However, if you select the panel group and press MB1 outside the extent rectangle of the polyline, but still inside the panel group, MPED allows you to move the panel group. o If you create a push button, set the Label property to right arrow, left arrow, down arrow, or up arrow, and specify the Shadow property to be FALSE, MPED still displays the push button with a shadow. Similarly, this arrow label push button does not correctly display its Border_Width property setting. These bugs affect only the appearance of the push button in the MPED work 21 area; the Shadow and Border_Width properties are written correctly in the .FORM file. o If you invoke MPED to edit a panel in a PRINTER layout that contains a point literal, the point literal may not be displayed with its correct Line_Width setting. However, if you modify the Line_Width property, the point literal is displayed correctly. This bug only affects the appearance of the point literal in the MPED work area; the Line_Width property is written correctly in the .FORM file. 22 9 LSE Support Notes This section documents new features, known restrictions and problems in the DECforms Version 3.3 Language-Sensitive Editor Support. 9.1 Restrictions in This Release o Avoid using layouts that specify UNITS POINTS. Although UNITS POINTS is included as valid IFDL syntax, unpredictable results may occur if you use layouts with UNITS POINTS specified. This restriction may be lifted in a future release of DECforms. o The DECforms language support package supplies a placeholder titled REC_ARGS in the FORMS$SEND, FORMS$RECEIVE, and FORMS$TRANSCEIVE calls. This placeholder replaces all instances of the placeholders Send_Record_Message, Send_Shadow_Record, Receive_ Record_Message, and Receive_Shadow_Record. The DECforms send, receive and transceive entry points may accept a variable number of actual parameters for the formal parameters Send_Record_Message, Send_Shadow_Record, Receive_Record_Message, and Receive_Shadow_Record. However, it is not possible to implement the Forms$Entry_Points package in a way that would generate multiple occurrences of these parameters without special processing. REC_ARGS is intended to denote data record and shadow record parameter pairs. In the case of FORMS$SEND, REC_ARGS denotes an instance of the send data and send shadow record pair. In the case of FORMS$RECEIVE, REC_ARGS denotes an instance of the receive data and receive shadow record pair. In the case of FORMS$TRANSCEIVE, REC_ARGS denotes an instance of both the send and receive record pairs described above. Please refer to the DIGITAL DECforms Programmer's Reference Manual for exact details on the calling format for the FORMS$SEND, FORMS$RECEIVE, and FORMS$TRANSCEIVE entry points. o If you are editing a Pascal buffer in LSE, and you use the Forms$Entry_Points package to generate DECforms calls, note that the keyword syntax generated for FORMS$SEND, FORMS$RECEIVE, and FORMS$TRANSCEIVE will need to be changed to positional syntax. For example, 23 the Language-Sensitive Editor generates the following syntax for the FORMS$RECEIVE call: forms$receive ( session_id := %{session_id.d}%, receive_name := %{receive_name.d}%, receive_count := %{receive_count.r}%, %[receive_ctext := %{receive_ctext.d}%]%, %[rec_ctext_ct := %{rec_ctext_ct.r}%]%, %[send_ctext := %{send_ctext.d}%]%, %[send_ctl_cnt := %{send_ctl_cnt.r}%]%, %[timeout := %{timeout.r}%]%, %[parent_id := %{parent_id.d}%]%, %[request_opt := %{request_opt.r}%]%, %[rec_args := %{rec_args}%]%) The keyword syntax should be changed to positional syntax. The following FORMS$RECEIVE call shows the correct positional format: forms$receive( session_id, { session id } 'account', { record name in form } , { Number of recs sent, default 1 } receive_ctl_txt::char25,{ Receive ctl text msg } receive_ctl_txt_ct, { Receive ctl text count } ,, { Send ctl text msg/count } , { timeout } , { parent request id } , { request options item list } account_temp, { the record } ); { shadow record } The argument REC_ARGS is assigned the "LIST" attribute in the DECforms Pascal definitions file. This attribute permits the passing of multiple actual parameters in the space of one formal parameter. Because of the nature of the FORMS$SEND, FORMS$RECEIVE, and FORMS$TRANSCEIVE calls, it may be necessary to pass more than one parameter in the REC_ARGS argument (a data record and 24 a shadow record, for example). However, keyword syntax does not support multiple actual arguments for one formal argument. 25 10 Checking Application Notes This section documents known restrictions and problems in the DECforms Version 3.3 Sample Checking Application. 10.1 Features in This Release The DECforms Sample Checking Application has been modified to support the Motif environment. The comments at the top of the source file contain instructions on how to run the program. 10.2 Restrictions in This Release for OpenVMS Alpha The DIBOL sample is not available. 26 11 Demonstration Forms Notes This section documents changes in the DECforms Version 3.3 Demonstration Package. 11.1 Location of the Demonstration Guide The Demonstration Guide is available in both PostScript[R] and ASCII versions: FORMS$EXAMPLES:FORMS$DEMO_GUIDE.PS FORMS$EXAMPLES:FORMS$DEMO_GUIDE.TXT You may print either of these files on an appropriate printer for complete details about the demonstration package. 11.2 Restrictions in This Release If you do not have write access to your current default directory, and you run the Mileage Reimbursement Form (MRF) demonstration program using the Motif layout, the program hangs. The problem is caused by doing the following: 1. Setting the default to a directory to which you cannot write. 2. Running the Motif version of MRF. To avoid this problem, be sure that you have write access to your current default directory before running the Mileage Reimbursement Form demo. 11.3 New Features in This Release o FORMS$DEMO_TIMER_C The FORMS$DEMO_TIMER_C program shows how to asynchronously (ast) update a field with DECforms. In this program, a field is updated with the current time. However, the method is generally applicable to updating a field on the screen with any information- asynchronously. o FORMS$DEMO_THREADED_TIMER 27 The FORMS$DEMO_THREADED_TIMER program shows how to use POSIX threads to update a field with DECforms. In this program, a field is updated with the current time. However, the method is generally applicable to updating a field on the screen with any information- asynchronously. o FORMS$DEMO_WORLD_FORM FORMS$DEMO_WORLD_FORM illustrates the use of graphics to display a map of the world on window devices. It shows a significant advantage in graphics over the character- cell version, FORMS$DEMO_GLOBE_FORM. o FORMS$DEMO_VT_WINDOWS_FORM The Version 1.4 FORMS$DEMO_WINDOWS_FORM demo that simulates a windowing interface on a character-cell interface has been renamed for Version 2.2. 28 12 Run-Time Message Translations (DECforms for OpenVMS) Included in DECforms for OpenVMS is the ability for form developers to manually translate run-time messages into languages other than English. For detailed information on how to use this feature, install the modifiable run-time message support (an installation option), and read the following documentation: SYS$SYSROOT:[SYSHLP.EXAMPLES.FORMS.MESSAGES]DECFORMS_MESSAGES.TXT 13 Documentation Notes This section lists additions and corrections to the DECforms Version 1.0 documentation for DECforms Version 3.3. Many of these additions and corrections were included in the release notes for previous versions of DECforms; they are repeated here so you will not have to keep the old release notes. 13.1 DIGITAL DECforms Guide to Converting VAX TDMS Applications Chapter 4 of the DIGITAL DECforms Guide to Converting VAX TDMS Applications contains information on modifying the output from the TDMS Converter. The following information should be included in that chapter: Your TDMS application may contain form fields and record fields that are named using a word that is reserved to DECforms. When you convert your TDMS application, the TDMS Converter does not modify the TDMS names before it assigns them to DECforms form data items or panel fields. The IFDL Translator does not allow you to use DECforms reserved words as identifier names. The Translator signals an error and does not create a form file if it encounters a reserved word used as an identifier name. (See the DIGITAL DECforms IFDL Reference Manual for a list of DECforms reserved words.) 29 You must change identifier names that are DECforms reserved words, including record field names in your CDD/Plus record definition. Remember to modify references to panel fields and form data items when you rename them. Your IFDL source file may contain references to panel fields and form data items in response steps, HIGHLIGHT WHEN clauses, and so on. 30