You are on page 1of 180

Progress OpenEdge 10.1C Readme Ports: All Date: February 2008 -------------------------------Copyright(c) 2008 Progress Software Corporation.

All rights reserved. To access third party product licenses, go to the 'licenses' directory located in the OpenEdge installation directory. For example, go to C:/OpenEdge/licenses.

Read these On-line Release Notes ================================ It is important to read these on-line release notes. They are the primary release notes. The hard-copy release notes supplement them, but do not replace them. The on-line release notes are on the distribution medium as two text files: * readme.wri, which is for Windows platforms *, which is for UNIX platforms These readme files have identical content. In addition, the distribution medium includes the following HTML report files which list the issues addressed in this release - organized by version, issue number (CR ID), or product component. * oe-<release#>-version.htm (Lists fixed issues by Version) * oe-<release#>-issue.htm (Lists fixed issues by Issue Number) * oe-<release#>-component.htm (Lists fixed issues by Component) --------------------------------------1. ABL COMPSRV Internationalization Language Issues Object-oriented ABL ProDataSet Web Services client XML Adapter for Sonic ESB Tools Adapter for SonicMQ ADE Tools and Runtime Auditing Policy Manager Data Dictionary Database Deployment GUI Rendering Icons Services Tools Translation Manager

2. 3. 4.

5. 6. 7.


9. 10.

11. 12. 13. 14.


16. 17. 18. 19.

20. 21. 22.

Web Rendering AppServer Broker AppServer Internet Adapter Database Administration Database Utilities Failover Clusters RDBMS DataServers DB2 MS-SQL MS-SQL/ODBC ORACLE Sybase Diagnostics GUI Debugger OpenEdge Studio Debugger Documentation ABL Database Electronic Documentation Help Installation Internationalization WebClient Graphical User Interface ActiveX Installation Install Uninstall Open Client Proxygen Web Services Provider OpenEdge Architect AppBuilder Support DB Navigator Editing Project Template Engine Tools for Business Logic OpenEdge Replication Agent Installation Replication Porting Progress Explorer Security SSL Tools SQL ESQL92 JDBC Drivers ODBC Drivers Server SQL TTY ABL Web Services Client WebClient

23. 24.

WebSpeed SpeedScript Tools DB Navigator

================================================ ABL ================================================ Note: OE00052051 Type: Known Issue Shared library compilation style mismatch causes core dump --------------------------------RN#: 091A-00559 =============== Developers may experience a memory violation trying to call a function in a UNIX shared library if that function includes a parameter of type float and if the file it's in was compiled "Kernighan and Ritchie" style. A K&R style declaration is one that does not include the data types in the parentheses of the function declaration. A way of getting around the problem is to write the ABL declaration of the function so that it specifies DOUBLE rather than FLOAT as the data type of the parameter(s) that are supposed to be floats. (It's theoretically possible that this problem could occur with BYTE and CHAR data types, but no problem has been seen in testing. That is, ABL developers will probably NOT have this problem with BYTE and CHAR types, though it's something to be alerted to.) Note: OE00065854 Type: Known Issue Default font of DECIMAL list-item-pairs COMBO-BOX --------------------------------In 9.1D, a DECIMAL combo-box with LIST-ITEM-PAIRS uses a fixed font, by default. In 9.1D07, a new command-line parameter "-combofont" changes the default font to a proportional font. If the combo-box has LIST- ITEMS set when it is realized, and is using the default font, it will initially display with a fixed font. If it subsequently changes to LIST-ITEM-PAIRS, the font will change from fixed to proportional, if using "-combofont". As of 10.0A, the default font for a DECIMAL combo-box with LIST-ITEM-PAIRS is proportional. To change the default font back to the pre-9.1D07 fixed font, use the command line parameter "-combofont fixed". If the combo-box has LIST-ITEMS set when it is realized, and is using the default font, it will initially display with a fixed font. Subsequently changing the combo-box to LIST-ITEM-PAIRS will change the font from fixed to proportional, unless using "-combofont fixed". Note: OE00088745 Type: Behavior Change 'TO' is no longer optional in DEFINE PARAMETER syntax --------------------------------The syntax for 'DEFINE PARAMETER parameter AS HANDLE [TO] data type' used within a DLL procedure or UNIX shared object procedure declaration (PROCEDURE ... EXTERNAL...:) has changed. 'TO' is no longer optional. Procedures that do not use the 'TO' will no longer compile. This change was required in order to support array parameters of type 'HANDLE' in OpenEdge release 10.0A. Note: OE00098599 Type: Behavior Change Comparisons between DATE, DATETIME, and DATETIME-TZ are not allowed. --------------------------------You cannot do comparisons (EQ, LE, etc) between DATE, DATETIME, and DATETIME-TZ fields or variables. Attempting to do so will produce the following error

message: ** Incompatible data types in expression or assignment. (223) Assignment and conversions between these data types is allowed. Note: OE00104223 Type: Known Issue To access large objects remotely, client and server must be 10.0B --------------------------------RN#: 100b-00145 =============== In OpenEdge Release 10.0A a bug in the client server protocol for the exchange of lobs resulted in the inability to exchange lobs between a client and a server on machines with different hardware architectures. The fix for this bug has resulted in an incompatibility between 10.0B and higher clients, and a 10.0A server for the exchange of large objects (BLOBs and CLOBs). In order to access large objects remotely both the client and server must be 10.0B or higher. If the client and server are not both 10.0B, or higher, you will get messages indicating a failure to update or retrieve a large object. Note: OE00147006 Type: Behavior Change Enhancements to protrace for ABL stack trace --------------------------------Beginning with OpenEdge 10.1C, whenever the client generates a protrace file it includes the ABL stack trace and the list of persistent procedures or classes that are in memory, along with their handle IDs. The ABL stack trace and the list of procedures is written after the C stack trace. This affects only ABL clients, including the AppServer and WebSpeed agents, since these are the processes which execute ABL code. Other OpenEdge processes, such as the database utilities and server processes, are not affected by this change. For Windows, 10.1C also introduces a command line utility (proGetStack.bat) that you can run to instruct the OpenEdge process to generate the ABL stack trace and list of persistent procedures and classes on demand. This is the syntax for proGetStack where <PID> is the ABL process ID: proGetStack <PID> For the sake of consistency the proGetStack script is provided on UNIX, which executes 'kill -USR1'. As an additional enhancement, the protrace file now includes a list of the startup parameters that are in effect. Note: OE00147330 Type: Behavior Change Windows Help (.hlp) Format is not supported on Vista Platform --------------------------------Microsoft does not include the WinHelp executable with Vista (see Even though the SYSTEM-HELP statement supports the .HLP format, this does not apply to Vista. If your OpenEdge applications will run on the Vista platform, your help must be in .CHM format, not .HLP format. Note: OE00149133 Type: Behavior Change CRC check relaxed for r-code --------------------------------In previous OpenEdge versions, after a field is added to a table, any r-code compiled against the old version of the table will not run, because the CRC in the r-code is different from the CRC in the schema.

For 10.1C, the CRC check is relaxed in some instances. If the change to a table is a simple addition of one or more new fields, the old r-code will still execute, even though the CRCs no longer match. When the CRCs do not match, the AVM tests whether the fields of the table (specifically, their names, data types, extents, and logical field record positions) have changed since the r-code was compiled. If they have not changed, the old r-code should run. One case where it will not run is if one of the new fields has a logical field record position less than one of the old fields (in other words, a new field has been inserted into the logical record position sequence). Note: OE00151705 Type: Behavior Change ERROR is raised when run time permissions prevent record read --------------------------------When running pre-compiled code and run time permissions prevent reading of a record, an ERROR condition is raised, as opposed to a STOP condition. Note: OE00164135 Type: Known Issue Errors raised on RETURN statement are not handled in a consistent manner --------------------------------When the RETURN statement is followed by an expression, it is possible that the expression could result in an error condition. Using Structured Error Handling it should be possible to CATCH these errors in the block in which the RETURN statement appears. This works correctly if the error that occurs is an application error (AppError). However if the error that occurs is a system error (SysError) it does not get handled by a CATCH in the block in which the RETURN statement appears, but gets returned to the caller and handled there. The workaround for this issue is to use an intermediate program variable to store the return value of the expression, and then use that variable in the RETURN statement. Note: OE00164179 Type: Known Issue IF statement does not handle errors from built-in methods --------------------------------Prior to 10.1C, built-in ABL methods (such as the CONNECT method) that failed did not raise the ERROR condition. In 10.1C with the introduction of Structured Error Handling, it is now possible for built-in methods to raise error when a CATCH block is present. Therefore, if a CATCH block is present, statements of the following form could potentially raise error. IF hdl:built-in_method() THEN... ELSE... In this case, if the built-in method fails, an appropriate CATCH will execute to handle the error. However, it is also the case that the IF condition will be evaluated and the code block that corresponds to the branch that satisfies the IF condition (either IF or THEN) will execute prior to the CATCH block. This is only the case with built-in methods when a CATCH block is present. This does not occur with methods in a user-defined class. To work around this use an intermediate program variable to store the return value from the built-in method. ================================================ ABL - COMPSRV ================================================ Note: OE00106742 Type: Behavior Change Minor R code version change when passing LONGCHARS as Parameters ---------------------------------

RN#: 100b-00147 =============== In 10.0B, and higher, LONGCHAR parameters are passed by value instead of by reference in order to provide the same behavior for LONGCHAR parameters as CHARACTER parameters. This improvement forced a minor r code version change only for code that uses LONGCHAR parameters. This means that if you have r code compiled with a 10.0A or 10.0A01 that contains LONGCHAR parameters you will need to recompile your code with a 10.0B or higher client in order to use this code with a 10.0B or higher client or AppServer.

================================================ ABL - Internationalization ================================================ Note: OE00073374 Type: Known Issue Thai (complex scripts) display in command prompt --------------------------------The Command Prompt or Console is not enabled for Thai (complex scripts) on any version of Windows NT. Progress testing proved that it is an issue also present on Windows 2000. To be able to view Thai and complex scripts in an MS-DOS window, you can choose to: * Use the English promsgs when running the Windows NT or Windows 2000. * Use the Thai (or complex script) promsgs, but pipe the output of the command to a file that can be read using any Windows editor. Note: OE00106836 Type: Known Issue ICU Collation strength IGNORE-SECONDARY not yet supported --------------------------------The documented ICU Collation strength, IGNORE-SECONDARY, is not yet supported. Note: OE00124923 Type: Known Issue Thai collation files in $DLC/prolang/tai --------------------------------There are two files for Thai collation. The file $DLC/prolang/tai/thai-old.df contains the "THAI" collation for codepage TIS 620-2533. This collation assigns a single weight to each character for case-sensitive and case-insensitive sorting. Although adequate for many applications, this collation does not follow Thai conventions for prefix vowels or treatment of strings as collation units of multiple characters. This collation was provided in Progress versions prior to 9.1A and 8.3C, and is provided for backward compatibility. The file $DLC/prolang/tai/thai.df contains the "BASIC" collation for TIS 620-2533. This collation takes prefix vowels into account when sorting. It also treats strings as containing collation units of multiple characters. Please contact Technical Support for more information. Note: OE00125227 Type: Behavior Change Pasting Unicode text into GUI widgets might require font and codepage changes --------------------------------For the GUI client (prowin32.exe), text widgets such as editors and fill-ins are Unicode-enabled. If you enter characters into these widgets that are not supported by the font in use or are not available in the -cpinternal codepage, the widget value might contain a question mark (?). For example, if the user were to copy a quoted string from another

Unicode-enabled application, the double quotes copied might be U+201C and U+201D, the left and right double quotation marks respectively. When copying these into an OpenEdge editor, the quotation characters might not display correctly in the editor, and might be converted to question mark (?) when accessing the value of the editor. The default font OpenEdge uses for widgets is MS Sans Serif. MS Sans Serif does not provide a visual representation for these quotation characters. Changing the editor's font to Courier New instead will allow the characters to display correctly. Many customers use ISO8859-1 as the -cpinternal codepage. The ISO8859-1 codepage does not contain these quotation characters, so they will be converted to "?" when accessing the value of the editor. Changing -cpinternal to 1252 instead of ISO8859-1 will allow these characters to be displayed correctly. You should set your font and -cpinternal codepage according to the characters you will be using in your application. Prior to OE10, the GUI client used ANSI widgets. If non-ANSI characters were pasted to ANSI widgets, Windows would provide a conversion from these characters to ANSI characters. The characters were visually similar, but not the same. Note: OE00126866 Type: Known Issue Using EUDC requires codepage conversion changes --------------------------------Display and input of End User Define Characters (EUDC) is no longer seamless in OpenEdge 10. To convert your EUDC in their required codepage to UTF-8 you must update the appropriate conversion table in convmap.cp. Please contact Technical Support for more information. Note: OE00127396 Type: Known Issue Ambiguous FIND WHERE BEGINS fails with ICU collation --------------------------------Using an ambiguous FIND WHERE BEGINS with an ICU collation will fail to find a record. For example, assume the sports2000 database uses the ICU-UCA collation. This FIND statement fails to find a record: FIND customer WHERE name BEGINS "m". The workaround uses an unambiguous FIND. This statement returns "Match Point Tennis", even though this is the only customer name beginning with "m": FIND FIRST customer WHERE name BEGINS "m". ================================================ ABL - Language Issues ================================================ Note: OE00146645 Type: Behavior Change REFERENCE-ONLY and BEFORE-TABLE buffers cannot be BUFFER type parameters. --------------------------------The BUFFER parameter mechanism is incompatiible with REFERENCE-ONLY buffers and BEFORE-TABLE buffers. The use of them as a BUFFER type of parameter (as opposed to INPUT or OUTPUT) will cause a compiler error. Prior to OpenEdge 10.1C the compiler did not raise error, leading to a run time crash. Instead of passing the buffer, the buffer's table can be passed by-reference.

Note: OE00147609 Type: Known Issue CAN-FIND X field-list problem --------------------------------RN#: 091D-00273 =============== The FIELDS clause in Progress 4GL does not guarantee the inclusion or exclusion of fields in any given query. The FIELDS clause exists for the sake of improving performance by reducing the amount of network traffic. Progress may require additional fields such as to accommodate a key values required by an index. It is the responsibility of the developer to ensure that they do not reference fields in their 4GL that are missing from their FIELDS list. Normally, when this occurs a run-time error is returned to the user indicating that the field is unavailable. However there are many times, such as for Progress FUNCTIONS which carry the NO-ERROR attribute by default, where it is legitimate to satisfy function requirements using a field that is missing from the field list. Such instances equate the missing field to the UNKNOWN value (or a NULL for DataServers) in order to resolve any expression they are in. To avoid this possibility, you must be diligent about what you decide to exclude from your FIELDS clause. Another way to say it: The 4GL will try to detect the missing fields with run-time errors when it can but there are various cases where it is legitimate to use a missing field in an expression. In such cases, the missing field will resolve to the UNKNOWN value (or native data source NULL) and the behavior of your FUNCTIONS may have results that reflect this transformation. Note: OE00147610 Type: Behavior Change Changes to buffer-field INITIAL and DEFAULT-STRING attribute behavior --------------------------------The INITIAL and DEFAULT-STRING attributes of a buffer-field object handle have been modified to fix several bugs. In releases prior to 10.0B, the INITIAL and DEFAULT-STRING attributes were set as string values when the buffer-field object was created or defined. These values then remained constant for the life of the temp-table. As of Release 10.0B, the settings of these attributes are re-calculated for each use. The main difference between the buffer-field INITIAL and DEFAULTSTRING attributes is that INITIAL contains formatting insertion characters (e.g., $,-,), etc.) and DEFAULT-STRING does not. Also, DEFAULT-STRING contains the values "today", "now", or "unknown", rather than the corresponding current date, current time, or question mark (?), as does INITIAL. With the old behavior, if the date and decimal formats changed, this would cause date and decimal conversion errors when the INITIAL or DEFAULT-STRING attributes were used in a different environment from the one used to define or create the temp-table. With the new 10.0B and higher behavior, defining or creating a temp-table field sets a single binary internal value for the initial setting of both attributes. Then, each time you reference the INITIAL or DEFAULT-STRING attribute of a buffer-field, its appropriate string value is re-calculated so that it reflects the current NUMERIC-FORMAT, DATE-FORMAT, etc. properties of the session. In this way, the attribute is usable in any environment without errors. CAUTION: With this new re-calculation functionality for INITIAL and DEFAULT-STRING, if you save these values somewhere and expect to use them later, you must decide what environment they need to be used in, and force the setting of that environment (using SESSION:DATE-FORMAT, etc.) just before you SAVE them and just before you RESTORE them. In the past, you may have forced the values by

setting date and decimal formats before creating a temp-table. Now, that is unnecessary; instead, you must set the formats in which you want to save the values just before you save them, because they reflect the CURRENT environment and not the environment in which the buffer-field was defined or created. Note: OE00147611 Type: Known Issue Incompatibility issue between 32 bit r code and 64-bit r-code --------------------------------RN#: 101A-00355 =============== In Release 10.1A, 32-bit r-code only runs with the 32-bit product, and 64-bit r-code only runs with the 64-bit product. This change provides performance benefits (such as very large memory) for the 64-bit product. However, it breaks the portability of r-code between 32-bit and 64-bit platforms. If portability between platforms is more important than 64-bit performance, you can use the Release 10.1A 32-bit product, which can run Release 10.0x 32-bit and 64-bit generated r-code as well as Release 10.1A 32-bit generated r-code. The Release 10.1A 32-bit product can be installed and run on 64-bit hardware, but you will not see the performance benefits of the 64-bit product. For more information about this change, see "OpenEdge Getting Started: New and Revised Features" and "OpenEdge Deployment: Managing 4GL Applications." Note: OE00147774 Type: Behavior Change Change in temp-table default block size as of 10.1B --------------------------------With the changes made in Release 10.1B to provide support for expanded keys and temp-tables, the default block size for temp-tables has also increased from a 1KB block size to a 4KB block size on all platforms. If you are creating very small temp-tables, you might notice a performance degradation with this change. You can set the default block size for a temp-table using the Temporary Table Database Block Size (-tmpbsize) startup parameter. For example specifying "-tmpbsize 1" would create temp-tables with a 1KB block size. Note: OE00147775 Type: Known Issue Dynamic query with a RECID in a WHERE clause fails 10.1A client to 10.1B Server --------------------------------RN#: 101B-00086 =============== A dynamic query with a RECID in the WHERE clause from a 10.1A client and a 10.1B or greater server will fail. This is due to the fact that 10.1B RECIDs are 64 bit versus the 10.1A and previous RECIDs which are 32 bit. This is only a problem with RECIDs which have been deprecated. A workaround to this is to use ROWID or the buffer method FIND-BY-ROWID. Note: OE00147778 Type: Limitation INT64 ActiveX support requires oleaut32.dll version 5.1.2600.2180 or later --------------------------------RN#: 101B-00126 =============== In order to have support for the INT64 datatype with ActiveX controls or ActiveX Automation objects, C:\windows\system32\oleaut32.dll must be version 5.1.2600.2180 or later. If you have an earlier version of oleaut32.dll and you try to pass an INT64 datatype as a parameter to a COM object the results are unpredictable. It may cause an error. This is true even if it is an input parameter and the number in the variable is within the 32-bit range. Therefore, if you do not have the correct version of oleaut32.dll, you should not use the INT64 data type with COM objects.

================================================ ABL - Object-oriented ABL ================================================ Note: OE00145863 Type: Behavior Change XREF (ASCII) output for class members has changed --------------------------------With the introduction of STATIC members in classes for 10.1C, the XREF output of all class members has been updated. A new comma field has been added to the XREF output for all the members of a class that can be STATIC. This includes the DATA-MEMBER, PROPERTY, METHOD, and CONSTRUCTOR reference types. This field is also added to the DESTRUCTOR reference type, because it has the same format as the METHOD and CONSTRUCTOR reference types. The new field is the second comma field, following the access mode. The field always appears: if the reference is not STATIC, it is empty; if it is STATIC, then STATIC appears in the field. The CONSTRUCTOR reference type also has the modification that unlike all other references to methods, constructors, and the destructor, the STATIC constructor does not include an access mode after the CONSTRUCTOR reference. This change means that all output for these reference types is different than in prior releases. This is true even if classes do not have STATIC members because the field always appears. Note: OE00146307 Type: Known Issue THIS-OBJECT does not work with PRIVATE members of a class --------------------------------ABL allows you to reference instance methods, variables, and properties of a class using the THIS-OBJECT system reference. However, when you try to access a PRIVATE method, variable, or property using THIS-OBJECT, ABL currently generates a compile-time error. The error message returned depends on the class member that you reference and the expression where the reference appears. Note: OE00147785 Type: Known Issue Cached class definitions may become stale --------------------------------During the development of an application that references user-defined classes, compilation results might not reflect changes to the class file made during the current development session. For example, the compiler might not recognize changes made to a referenced class, or it might not recognize changes made to a super class in a hierarchy. This might happen especially if you run your application and make changes in the same Procedure Editor session or the same OpenEdge Runtime session within OpenEdge Architect. If you encounter this problem, the workaround is to restart the development session and remove any r-code that has been generated for these classes. Note: OE00147786 Type: Known Issue Recommended approach when compiling changes to a super class --------------------------------When you change a super class, you also must recompile all subclasses of the super class to ensure that all objects built from the super class inherit the updated data or behavior. ABL, by itself, has no knowledge of these subclasses. So, you must keep track of them manually or by using configuration management tools. Note: OE00147787 Type: Known Issue Accessing PUBLIC data members using an object reference --------------------------------An application can access a PUBLIC data member prefixed with an object reference

in the same places that an application can access an attribute of an ABL handle-based object. An application can access a PUBLIC data member in an expression, but it is invalid to use one where a simple program variable is required. For example, the following statement is invalid: RUN myProg PERSISTENT SET myObjectRef:publicHandle. You can rewrite this statement as: RUN myProg PERSISTENT SET myLocalHandle. myObjectRef:publicHandle = myLocalHandle. Note: OE00147788 Type: Known Issue Backward compatibility of class files with large public/protected areas --------------------------------Class files that have a public/protected field descriptor area greater than 32 kilobytes and/or a public/protected text area greater than 32 kilobytes, and that are compiled in Release 10.1B or later, will not run in Release 10.1A. In 10.1A, both the public/protected field descriptor area (the area that contains view-as, label, format type, etc. information for temp-table fields and variable data members of classes) and the public/protected text area (the area that contains name information, e.g. for members of the class) are limited to 32 kilobytes. As of 10.1B, both of these areas for public/protected information have been updated to a limit of 2 gigabytes. This creates a backward compatibility issue. Class files with a large number of temp-table fields with metadata and/or a large number of variables with metadata can cause the public/protected field information area to surpass 32KB. In addition, class files with a large number of members and/or many members with long names can cause the public/protected text area to surpass 32KB. Thus in 10.1A, if you compile a class that has either or both areas greater than 32KB, the AVM will have a memory fault and dump core. If you compile the same class in 10.1B, and you attempt to run that r-code in 10.1A, the AVM will have a memory fault and dump core trying to load the class. However, this same class compiles and runs in 10.1B or later. A workaround to avoid breaking the 32KB limit for public/protected areas in 10.1A is to spread the members out across the different files of a class hierarchy so that no one class file exceeds the limit. Note: OE00147789 Type: Behavior Change Array parameters are strongly typed for all functions and methods --------------------------------As of Release 10.1B, strong (compile-time) type checking has been added for array parameters of user-defined functions and class methods. This causes some code that compiled prior to 10.1B not to compile in Release 10.1B or later. Prior to 10.1B, strong type checking was not done when an argument passed to a function or method parameter was an array. At compile time, this allowed an array argument to be passed to a function or method parameter that was not defined as an array data type (with an EXTENT). This resulted either in a run-time error when an array argument was passed to the function or method parameter or in having the array argument coerced at run time to the data type defined for the parameter. Note: OE00147791 Type: Behavior Change Strongly typed parameters for functions and methods ---------------------------------

As of Release 10.1B, strong (compile-time) type checking has been added for temp-table, ProDataSet, temp-table handle, and ProDataSet handle parameters of user-defined functions and class methods. This causes some code that compiled prior to 10.1B to not compile in Release 10.1B or later. Prior to 10.1B, strong type checking was not done when an argument passed to a function or method parameter was a temp-table, ProDataSet, temp-table handle, or ProDataSet handle parameter. At compile time, this allowed a temp-table to be passed to a function or method parameter that was defined as a ProDataSet, a ProDataSet to be passed to a function or method parameter that was defined as a temp-table, a temp-table handle to be passed to a function or method parameter that was defined as a ProDataSet handle, or a ProDataSet handle to be passed to a function or method parameter that was defined as a temp-table handle. However, each of these compiled instances resulted in a run-time error when the specified argument was passed to the specified function or method parameter. Note: OE00147793 Type: Behavior Change ABL functions that return INT64 may require some changes to class methods --------------------------------In Release 10.1A and earlier, the following functions returned INTEGER: CURRENT-VALUE, DYNAMIC-CURRENT-VALUE, DYNAMIC-NEXT-VALUE, ETIME, GET-POINTER-VALUE, GET-SIZE, INTERVAL, NEXT-VALUE, and SEEK. As of Release 10.1B, these functions have been modified to return INT64, and any class methods that were defined in Release 10.1A with an INTEGER return value, and also returned one of these functions, no longer compiles in Release 10.1B or later. You must either modify the method definition to return an INT64 or use an intermediate INTEGER variable to store the value of the function and return that variable from the method. Note: OE00147794 Type: Behavior Change Procedures compiled against a 10.1A class will not run against a 10.1B or 10.1C --------------------------------If a procedure that instantiates a class is compiled in Release 10.1A against 10.1A r-code for that class, it will not run against Release 10.1B or 10.1C r-code for that class. Instead, the AVM raises an error message that the class cannot be instantiated because it has a PROTECTED constructor, even if it has a PUBLIC constructor or no explicitly defined constructor at all. To work around this issue, make sure that the r-code for the procedure is running against the same version of r-code to which the class is compiled. Note: OE00147798 Type: Known Issue You cannot override a method in 10.1B if the super class is compiled in 10.1A --------------------------------If a hierarchy exists in which a super class is compiled in Release 10.1A, a class that inherits this class hierarchy cannot override methods in the super class without recompiling the entire hierarchy. In other words, r-code generated for the super class in Release 10.1A must be removed or regenerated in Release 10.1B or 10.1C in order to inherit that super class and override its methods in Release 10.1B or 10.1C. Otherwise, ABL raises an error indicating that the compiler cannot locate the method in the super class that the subclass is attempting to override. Note: OE00147803 Type: Known Issue RETURN ERROR and DELETE OBJECT THIS-OBJECT in same constructor --------------------------------RN#: 101B-00124 =============== If a constructor contains both a RETURN ERROR statement following a DELETE OBJECT THIS-OBJECT statement unexpected behavior may occur. RETURN ERROR accomplishes the same work as DELETE OBJECT THIS-OBJECT and additionally raises

error on the NEW phrase. is not recommended.

There is no benefit to using both statements and it

Note: OE00154242 Type: Behavior Change Public data members of ABL built-in classes have been changed to properties --------------------------------Internally, properties of ABL built-in classes were previously implemented as variable data members. The internal implementation has now been changed to that of a property. This change has no visible impact on user-defined classes. However, it does mean that there is slightly more overhead when you compile the first user-defined class in an ABL session. This overhead goes away for any additional user-defined class that you compile in the session. Note: OE00160292 Type: Limitation 10.1B UNIX r-code is sometimes incompatible with 10.1C --------------------------------Release 10.1B on UNIX contains method overloading signatures that have a run-time format that is incompatible with 10.1B on Windows. With Release 10.1C, this incompatibility between platforms has been fixed. However, there continues to be an incompatibility between r-code on any 10.1C platform when run together with 10.1B UNIX r-code. So, you cannot compile or run code from these two releases in the same ABL session. Code that you compile on the same platform where you execute (either saved to r-code or as a session compilation) runs without any problems. Also, there is no particular problem with running r-code in 10.1C that was generated in Release 10.1A (which does not support method overloading). The problem caused by the defective 10.1B UNIX r-code results in false negatives (mismatches) when ABL compares the signatures of overloaded methods. Therefore, when comparing overloaded method or constructor signatures between 10.1B UNIX and 10.1C-generated r-code, ABL commonly reports (incorrectly) that a method or constructor is missing. Note: OE00160501 Type: Known Issue RETURN NO-APPLY in a VOID method does not compile --------------------------------It is valid to use a class method as a callback routine for ProDatasets. However, the compiler does not allow you to use RETURN NO-APPLY in a VOID method. If you use RETURN NO-APPLY, the compiler returns an error message to the effect that VOID methods cannot return a value. As a result, you cannot abort the behavior of an event handled by a callback method. For example, you cannot prevent the reading of a record during a ProDataSet FILL operation using a BEFORE-ROW-FILL event handler. Note: OE00162023 Type: Behavior Change It is invalid to define a class in the Progress namespace --------------------------------Beginning with Release 10.1C, it is illegal to define a class that has Progress as the first component of its package. Any attempt to define a class with Progress as the first component of the package, for example Progress.acme.object, generates a compile-time error. ================================================ ABL - ProDataSet ================================================

Note: OE00162528 Type: Known Issue GET-CHANGES() get-parent-mode is not supported in datasets with recursion --------------------------------The get-parent-mode of the GET-CHANGES() method is not supported in ProDataSets with a recursive relationship. ================================================ ABL - Web Services client ================================================ Note: OE00125506 Type: Behavior Change WSDL Analyzer no longer repeats complex elements --------------------------------Previously, when creating XML examples for parameters, the WSDL Analyzer repeated elements containing complex content as necessary. For especially complex values, this behavior could yield very long examples. The WSDL Analyzer now records when it writes a complex element in the example. When the analyzer finds another occurrence of the element, it adds a comment to the example referencing the first occurrence instead of repeating the contents of the element for the new occurrence. This behavior is similar to how the Analyzer adds comments that note when an element appears recursively. Note: OE00147860 Type: Known Issue Xmethods web services used for demonstration in samples --------------------------------RN# 100A-20193 ============== This product and accompanying documentation contain references to the Weather Temperature and StockQuotes XMethods Demo services provided by XMethods, Inc.( Copyright 2003 XMethods, Inc. All rights reserved. Any use of these services by you shall be for demonstration purposes only. Note: OE00147863 Type: Limitation Solaris 9 requires a patch for web service clients to work properly --------------------------------RN#:101B-00111 ================== The web service consumer may require a patch on Solaris 9. If, when calling a web service from OpenEdge you receive an error similar to: Could not open Dynamic Library: /usr1/stat/progress/101b/dlc/lib/ (8013) DLL Error : /usr1/stat/progress/101b/dlc/bin/_progres: fatal: version `SUNW_1.1.1' not found (required by file /usr1/stat/progress/101b/dlc/lib/ (8014) SOAP processor initialization error. Could not load prosoap.dll or (11457) You will need to apply a Sun Solaris patch 111722-04. This updates the C math library (

Note: OE00163960 Type: Behavior Change Web Services Client Supports HP Itanium --------------------------------With the release of 10.1C, the web services client now supports HP-UX 11 on the Itanium 64 bit platform. ================================================ ABL - XML ================================================ Note: OE00158228 Type: Limitation SAX-READER and X-DOCUMENT fail with basic HTTP authentication --------------------------------The XML processing methods in the ABL can not handle HTTP requests with basic authentication (username & password embedded in URL). They fail to locate the file. These URLs take the form of http://<username>:<password>@<host>/<path-to-xml-doc> ================================================ Adapter for Sonic ESB ================================================ Note: OE00148040 Type: Known Issue Adapters for Sonic ESB and Sonic MQ only install on Sonic-supported platforms --------------------------------The OpenEdge Adapter for SonicMQ and the OpenEdge Adapter for Sonic ESB can only be installed and run on OpenEdge-supported platforms also supported by the Sonic products. The Adapters are not available on the following plaforms: * * * * 32-Bit 64-Bit 64-Bit 64-Bit SCO UnixWare V7.1.4 HP-UX V11.11 or V11.23 (PA-RISC) Red Hat Enterprise AS V4.0 (POWER) Sun Solaris V9 4/03

================================================ Adapter for Sonic ESB - Tools ================================================ Note: OE00159087 Type: Limitation Sonic Workbench 7.5 doesn't know about .esboe invocation files --------------------------------Sonic Workbench 7.5 was released before support for the OpenEdge Adapter for Sonic ESB using the Native Invocation method was available. Sonic has released a 7.5.1 service pack that contains support for the Native Invocation .esboe files as well as bug fixes. Progress Software Corporation recommends that you apply this service pack to your Sonic installation. If installing the service pack is not possible, you can perform the following steps to configure Sonic Workbench to recognize esboe invocation files. From Sonic Workbench: 1. Select Window->Preferences 2. Select General->Content Types from the tree view control

3. Select ESB Command Content Type in the Content Types window 4. Select the Add button and add a new file type for *.esboe If you already see an entry for *.esboe, then you are using Sonic 7.5.1 or later and you do not need to do anything. ================================================ Adapter for SonicMQ ================================================ Note: OE00094962 Type: Known Issue The OpenEdge Adapter for SonicMQ does not support compression --------------------------------Network message compression of all types is not supported with the SonicMQ Adapter.

================================================ ADE Tools and Runtime ================================================ Note: OE00108492 Type: Behavior Change Generic comment deletion code removed from triggers --------------------------------Deletion triggers have been updated to not generically remove comments, security allocation and multi-media records due to performance impact. A new ERWin trigger template db/af/erw/afercustrg.i has been provided that customers can use to re-generate their own triggers without the generic deletion code. Customers can also update their triggers with specific code to do the deletion in such a specific way that should not have any performance impact. Note: OE00165303 Type: Known Issue ADM2 to Dynamics ProTool Fails --------------------------------When migrating objects with the 'Register non-migrated static objects if they are in the proper directory' toggle checked, an unrecoverable error is seen. This error places the program in an infinite loop and the AppBuilder must be killed externally (through the Windows Task Manager). The only known workaround for this is to patch the code. To do so, get the Adeuib code from PSDN. Open _convertadm2dynamics.w and search for 'getClassCacheBuff'. Change this to 'getClassCacheBuffer' (add the 'er'), and compile the file. Make sure to copy the r-code into the gui/adeuib directory. ================================================ ADE Tools and Runtime - Auditing Policy Manager ================================================ Note: OE00145766 Type: Behavior Change Audit Policy Maintenance tool now uses its own ADM2 --------------------------------The APM tool's user interface for mantaining auditing policies uses the ADM2 technology. Before Release 10.1C, the APM tool could potentially inherit customizations made to the ADM2 code by application developers. Starting with Release 10.1C, the APM tool uses its own copy of the ADM2 code (code as of 10.1B FCS). Therefore, the APM tool no longer inherits any application specific functionality or customizations made to the ADM2.

================================================ ADE Tools and Runtime - Data Dictionary ================================================ Note: OE00126947 Type: Behavior Change Mandatory fields are not marked as NOT NULL during protoodbc --------------------------------When running a pro-to-odbc migration against a DB2 data source, fields marked as "mandatory" in the OpenEdge database were being created in generated SQL script and the foreign data source without the NOT NULL syntax. This leads to a situation where these fields are null capable in the foreign database. To make DB2 consistent with the MS SQL Server and Oracle DataServers, the OpenEdge DataServer for ODBC will now set the NOT NULL constraint on SQL columns derived from mandatory fields for DB2 data sources. Note: OE00128377 Type: Behavior Change Proper Naming Conventions for DB2 --------------------------------In the DataServer for ODBC Guide, the "Defining a View to Use as a Buffer" section of the Programming Considerations chapter states that the naming convention is "_BUFFER_buffername". However, for DB2 databases, the object name cannot start with the underscore character. Therefore, for DB2 databases, the naming convention is "P_BUFFER_". This enables the schema pull to properly recognize the view as a buffer.

================================================ ADE Tools and Runtime - Database ================================================ Note: OE00022280 Type: Behavior Change Support for auditing removed from Repository gst_audit table --------------------------------It is no longer possible to enable auditing for the Repository's gst_audit (GSTAD) table. This was removed to prevent infinite recursion. ================================================ ADE Tools and Runtime - Deployment ================================================ Note: OE00088123 Type: Known Issue Notes on using the Deploy Static Objects tool --------------------------------When deploying static objects using the Deploy Static Objects tool, please note the following: (i) The following extra directories need to be specified in the Deploy Static Objects tool, in order for a standard Dynamics WebClient install to work: adeicon ry/img adm2/image can be used instead of the adeicon directory, but this must be manually copied into the target directory. These image directories are not required for a server install (AppServer of Web).

(ii) The file adm2/dyntreew.wrx must be manually copied into the target directory, for WebClient installs. (iii) needs to be manually copied into the target directory for a WebClient install. Note: OE00094085 Type: Behavior Change Dataset import shows failed imports --------------------------------The Dataset Import tool shows failed ADO imports in 2 ways. First, the Processing status message indicates that an error occurred. Secondly, the 'Selected' browser continues to show the ADOs which failed to load (as opposed to prior behaviour, where the 'Selected' browser cleared in all circumstances). Note: OE00116351 Type: Behavior Change Static Object Deployment Tool - Option to generate source listing --------------------------------The Deploy Static Objects tool has the ability to produce a listing file of all the files that are packaged into a deployment produced by the tool. The listing file is specified in the UI before the deployment starts building. If no listing file is specified, then the listing will not be produced. A default value is provided by the tool, and is for a file called 'listing.log' in the session's temporary directory. The listing file consists of the following fields, tab-delimited: File name Relative path Deployment type Design-only flag This functionality can be used to determine which files are required for compilation on 64-bit platforms. A Dynamics client is only supported on Windows, which is a 32-bit platform, and customers may connect to an AppServer running on a 64-bit platform; in such a case the code would need to be compiled against the 64-bit platform, and the listing file will give the ability to determine which files are required. Note: OE00129558 Type: Known Issue "overwrite existing data" flag should be removed from Dataset Import --------------------------------The "overwrite existing data" flag is deprecated and will be removed from the UI in a future release. It is ignored by the dataset export. Note: OE00132914 Type: Behavior Change DCU enforces MinVersion with migrations --------------------------------If a setup XML file has migration setup types (defined by having a migration_source_branch session property with a non-blank value), then a check is performed to ensure that the DB version sequence matches that of the MinimumVersion in the Database node of the setup_type. If these 2 versions don't match an error is raised and a message shown. This message is a new message and has a code of 'MSG_cannot_migrate', and appears in the shipped setup101B.xml. If customers have created their own setup.xml files, they need to add this message to all the setup types contained in those XML files. Note: OE00149920 Type: Behavior Change

Migrating to Progress Dynamics Release 10.1C --------------------------------Migrating to Release 10.1C: ------------------------------------------Before attempting any migration, convert the physical database to Release 10.1C, using the proutil command. PSC recommends making a backup at this time. Before migrating to Release 10.1C, Progress Dynamics customers currently using Version 2.1B must upgrade to Version 2.1B02. The following steps are the only supported path to migrate a Version 2.1B Repository to OpenEdge 10.1C: - Ensure the Repository is upgraded to Version 2.1B02 (db version: 020030). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate21Setup. - Running the DCU from this shortcut upgrades the Repository from Version 2.1B02 to Release 10.1C. To migrate from Release 10.0B05 to Release 10.1C, follow these steps: - Ensure the Repository is upgraded to Release 10.0B05 (db version: 100005). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate100Setup. - Running the DCU from this shortcut upgrades the Repository from Release 10.0B05 to Release 10.1C. To migrate from Release 10.1A02 to Release 10.1C, follow these steps: - Ensure the Repository is upgraded to Release 10.1A02 (db version: 101002). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate101ASetup. - Running the DCU from this shortcut upgrades the Repository from Release 10.1A02 to Release 10.1C. To migrate from Release 10.1B03 to Release 10.1C, follow these steps: - Ensure the Repository is upgraded to Release 10.1B03 (db version: 101101). The migration does not work properly on earlier versions of the Repository. - Create a new shortcut for the Dynamics Configuration Utility (DCU), based on the existing shortcut from the install. - Modify the -icfparam parameter in the target. Change DCUSETUPTYPE=ProgressSetup to DCUSETUPTYPE=Migrate101BSetup. - Running the DCU from this shortcut upgrades the Repository from Release 10.1B03 to Release 10.1C. ================================================ ADE Tools and Runtime - GUI Rendering ================================================ Note: OE00003839 Type: Known Issue The unsupported ToggleData link will be deprecated/removed --------------------------------The Repository defines a ToggleData link type. This can be seen in tools that

lists the various link types, like the Container Builder. However, this link type does not have any supported behavior and will be removed in a future release. Note: OE00014172 Type: Behavior Change Changes to support enabling of columns only when new --------------------------------SmartDataObjects and DataViews have a new UpdatableWhenNew property that can have a comma-separated list of columns that can be updated only for new records. DataVisual objects support a corresponding new EnabledWhenNew property that specifies visual fields that only should be enabled in add or copy mode. The DataVisual property inherits the value from the UpdateTarget by default, but can also be set to a comma-separated list of fields. Note: OE00020074 Type: Limitation Print Preview and Export to Excel do not work when the data source is an SBO --------------------------------Print Preview and Export to Excel options available on various browse toolbars are not supported for visual objects whose data sources are SmartBusinessObjects. These options will do nothing when chosen. Note: OE00020328 Type: Known Issue Dynamics Find and Filter errors with Viewers built against SmartBusinessObjects --------------------------------A toolbar with actions, such as comments, auditing, find and filter, can be linked to a viewer. However, the find and filter actions do not work with Viewers built against SmartBusinessObjects. Choosing the action will give errors at runtime about ttschema records not being available. Note: OE00022351 Type: Behavior Change Read-only SDO tables can be excluded from optimistic lock check --------------------------------The NoLockReadOnlyTables property can hold a comma-separated list of read-only (non-updatable) tables that are excluded from the optimistic lock check for changes of the SDO. A value of 'ALL' means that all read-only tables are excluded from the optimistic lock checking. Note that the read-only tables defined by this property remain NO-LOCKed during the entire SDO transaction. Note: OE00022917 Type: Known Issue The SmartInfo option displays some blank properties when Progress Dynamics runs --------------------------------The SmartInfo option of the Procedure Object Viewer PRO*Tool displays blank values for InstanceProperties and TranslatableProperties when Progress Dynamics runs. This happens because these properties are defined as design-only in the Repository. Note: OE00024747 Type: Limitation Static data objects do not get initial value from Repository --------------------------------Static SDO proxies (<sdo>_cl) do not get the INITIAL-VALUE from the Repository's EntityField DefaultValue at run time. The temp-table's INITIAL-VALUE attribute is a read-only attribute that is compiled into the SDO temp-table definition from the SDO include. Note: OE00025281 Type: Known Issue Table-IO links are not supported as pass-through links in dynamic frames --------------------------------Table-IO links are not created as pass-through links with dynamic frames. This results in errors when a record is being updated (add, copy, cancel, save etc).

Note: OE00059495 Type: Behavior Change RowObjUpd.ChangedFields is obsolete --------------------------------The RowObjUpd.ChangedFields that was used to figure out which fields to save in an SDO is obsolete and not used from version 10.0A. The SDO now figures out which fields to save to the database tables based on a comparison of the before-image and the changed record. The ChangedFields are not used in any logic, except that there still is a call to bufferCollectChanges, which updates this field. This update is not reliable as it does not capture all changes and the method will be deprecated in the future. Note: OE00060333 Type: Known Issue New records can be duplicated when reading new batch if added while batching --------------------------------If new records are created that sort higher than the last record in the current batch, the new record is duplicated when a batch includes the new record. To prevent this, either ensure that the user is at the last batch when adding the new records that will get key values that sort higher than the currently last record or avoid batching when such records can be created. Note: OE00061359 Type: Known Issue WebSpeed detail program called from a WebSpeed report program hangs --------------------------------021b00253 WebSpeed detail program called from a WebSpeed report program might hang when the Add button is used a second time or the Delete button is used. If the detail program is used separately from the report program, the problem does not occur. Note: OE00073126 Type: Behavior Change Foreign values are now always applied when OpenOnInit is off --------------------------------Foreign values are now always applied on initialization. In previous versions, this did not happen when OpenOnInit was off. The ForeignValues would be added in dataAvailable when the parent navigated or as soon as any request was issued to the AppServer. But, a call to openQuery on a local connection could read all data. If you actually want to read all data in a child SDO, then the link to the data source should be removed. Note: OE00087999 Type: Known Issue Loss of data when changing page while browse is in add --------------------------------100B00199 When adding a new record in a browser in the following scenario, entered data is lost or appended to the next record in the browser: - The browser is the update source to an SDO - Not all required fields have been entered in the browser row - The user has selected a different page Note: OE00088005 Type: Known Issue A single toolbar cannot switch navigation between SDOs and SBOs --------------------------------In a paged container where a SDO is the Data-source of a SBO, you cannot use a single toolbar to navigate both the SDO and the SBO. Note: OE00088184 Type: Limitation

Static browsers/browsers in static windows don't get Repository column labels --------------------------------Browsers running in static windows linked to a static SDO on an AppServer will not get the column-label from the Repository's EntityField. Instead, the browser gets the column-label from the database schema. This problem also applies to any static browser.

Note: OE00090907 Type: Behavior Change Optimistic lock works for deletetions --------------------------------The optimistic conflict check is now also done for deletions. Note that the record is refreshed from server and can be deleted on next attempt. The change was accomplished by changing fetchDBRowForUpdate (which not only fetches the record, but also performs the delete) to call compareDBrow. compareDbRow was previously called after fetchDBRowForUpdate had completed. Generally, these procedures are not intended for direct calls and local overrides, but can have general application-specific customizations, which may be affected by the change. The most important change of behavior is that compareDBRow now is called for deletes. Note: OE00094575 Type: Limitation Error 4054 (.. does not fit..) if ToolbarDrawDirection is "vertical" --------------------------------101A00009 Dynamics layout manager does not handle toolbars where the ToolbarDrawDirection is set to 'vertical'. Note: OE00097274 Type: Known Issue Using a SmartFilter to filter on a SmartBusinessObject can result in error 560 --------------------------------Using a SmartFilter to filter on a SmartBusinessObject can result in error 560 (entry out of range). If the filter is explicit style, the filter values are blank, and the combo operators are changed, then applying the filter can result in error 560. Note: OE00102889 Type: Behavior Change Changes in visual CTRL-PAGE-UP and CTRL-PAGE-DOWN processing --------------------------------The processAction, that the visual.i include defines as the target for the paging events, has been fixed to ensure that these events always reach the enclosing container that is paged. Thus, these triggers now work for SmartDataFields and objects on SmartFrames. They also work with standard ADM2 containers as the paging now is done by calling startPage directly, instead of publishing "selectPrevPage" or "selectNextPage", to which only the Progress Dynamics' folder subscribed. Note: OE00102910 Type: Behavior Change Read only SDO tables can be specified to remain NO-LOCKed during transaction --------------------------------The NoLockReadOnlyTables property can hold a comma-separated list of read-only (non-updatable) tables that should remain NO-LOCKed during the transaction. A value of 'ALL' means that all read-only tables should remain NO-LOCKed. Note that read-only tables defined by this property also are excluded from the optimistic lock check of changes.

Note: OE00104047 Type: Limitation CallerProcedure, CallerObject, and CallerWindow are not set in createObjects --------------------------------The Session Manager's launch in Progress Dynamics sets properties like CallerProcedure, CallerObject, and CallerWindow in the launched container. These properties are set before the container is initialized and can thus be used in an initializeObject override. However, they are not intended for use during the construction (the execution of the main block) of the container. The createObjects call is typically done as part of the construction. However, in previous releases, static non-window containers, like SmartFames and SmartDataViewers, did call createObjects from initializeObject allowing these properties to be used also in createObjects. Now, createObjects is called during the construction of almost all containers. If a createObject override uses these properties, it is unlikely to work. Any logic referring to these properties in createObjects should be moved to an initializeObject override instead. Moving this logic to initializeObject should not cause any change in behaviour. Note: OE00107082 Type: Behavior Change New function added to EnableRules of tableio and browsetoolbar actions --------------------------------All actions that can update data now include a new canUpdate() function in their EnableRule. The canUpdate() function was added to the datavisual class (adm2/datavis.p) to reflect whether the object can update data. The change ensures that the "Delete" action is disabled when there is no UpdateTarget. This change was added to all actions for consistency. The toolbar.p initAction was changed to add the canUpdate() to the EnableRule for "Add", "Copy", "Delete", and "Update". The actions changed in the Progress Dynamic's Repository are: Category: Tableio. Actions: "Add", "Copy", "Delete", "FolderUpdate", and "Update" Category: other (for Browse* toolbars) Actions: "Add2", "Copy2", "Delete2", and "Modify". Actions like "Save", "Reset", and "Undo" do not have the new function because they already have rules to ensure that they are never enabled until an appropriate action has been executed. Note: OE00107469 Type: Known Issue SmartFrame objects stored with .w in object name may need two translations --------------------------------The object name for Title and Page Label translations for SmartFrames or SmartWindows that are launched from a static container is resolved from the procedure:FILE-NAME without path and extension. SmartFrame objects that have the .w extension in their Repository object names may thus need two translations; One without the extension for usage in static containers and one with extension for dynamic containers. Note: OE00107568 Type: Known Issue Error messages for child SDO not returned when CLOB involved --------------------------------A detailed error message may not be returned to the client while adding a record to a SmartDataObject under the following circumstances: - the SDO is running on AppServer - the SDO contains large object fields - AutoCommit is false (commit is used to commit multiple updates at once)

The client does receive an "update cancelled" message but should have a detailed error. The detailed error is written to the AppServer log file. This situation is more likely to occur with an SDO that is part of a SmartBusinessObject. Note: OE00107583 Type: Known Issue Browser confused after add/copy when enabledfields missing in SDO --------------------------------Browser does not behave correctly with fields that have been removed from data source No error message is displayed when a dynamic browser is running against an SDO where one of the fields have been deleted after the window was built. The browse will work seemingly well until one attempts an ADD or COPY. After this the browse looses track of the current record and the toolbar will not respond to Cancel and possibly other actions. Note: OE00108903 Type: Known Issue Error message when recursively calling dynLookup maintenance window --------------------------------021b00110 Error message 'Entry 2 is outside the range' when recursively calling maintenance window This error occurs if the user accesses the maintenance window from a dynamic lookup browse that was itself accessed from the maintenance window of another dynamic lookup browse. Note: OE00109030 Type: Known Issue Windows closed while in WINDOW-MAXIMIZED are too big on next launch --------------------------------Objects that are closed while in WINDOW-MAXIMIZED state will be too big on the next launch. This might cause parts of the window to be partially or completely hidden (especially the bottom toolbar). A work around is to implement the code in containr.p/initializeObject just after RUN SUPER (or in customcontainr.p) that calls resizeWindow: ----IF hContainerHandle:WINDOW-STATE = WINDOW-MAXIMIZED THEN RUN resizeWindow IN TARGET-PROCEDURE NO-ERROR. ------Note: OE00109090 Type: Known Issue The copy action of an SDO copies values to non-updatable fields --------------------------------The copy action of an SDO copies all values to the new record, including values of non-updatable fields. This could/would confuse the end-user since the non-updatable fields obviously will not be saved. Note: OE00109275 Type: Known Issue The SmartDataBrowser sort profile is not used with SBO data-sources --------------------------------021b00127 The sort profile saved for a SmartDataBrowser with a SmartBusinessObject as its data-source is not used upon restart. Note: OE00109286 Type: Known Issue

Translation tool does not include SmartDataBrowser search field --------------------------------021b00136 The optional search field of a SmartDataBrowser doesn't show up in the translation window to allow you to add a translation. Note: OE00110402 Type: Known Issue Setting of BaseQuery in initializeObject requires synchronization of QueryWhere --------------------------------If any other query manipulation has been done before changes to the BaseQuery are made, you need to synchronize QueryWhere and possibly the QueryString. If the BaseQuery is set in an initializeObject override before SUPER, you might also need to synchronize QueryWhere in an SDO without any custom query manipulation. The only cases where BaseQuery can be set without synchronizing the QueryWhere are on the client (AsDivision = 'client') and in dynamic SDOs on the server (AsDivision = 'server'). Static SDOs calls setOpenQuery, which calls setQueryWhere, from the main block (query.i) when connected to the database. Dynamic objects that are connected to the database will call prepareQuery from createObjects. Background: The BaseQuery is the design-time, fixed part of the query. It is part of the object definition. The design philosophy is that runtime query manipulation can be done without violating the integrity of this part of the expression. Consequently, the BaseQuery should not be changed after any query manipulation has been done. However, it is quite common for applications to need to set this when an SDO instance is launched. (For example, to filter data on department or company key based on the userid.) Various examples and documentation have shown and stated that this can be done in an initializeObject override before the call to SUPER. In particular, older documentation examples showed this being done with setOpenQuery, which also synchronizes the physical query by calling QueryWhere. This was a problem on a client since setQueryWhere used to always prepare the physical query. setQueryWhere has since become more lightweight, but setOpenQuery still calls the server and should still be avoided in an AppServer session. Note: OE00110532 Type: Known Issue stripLookupfields is not used in the new lookup API --------------------------------The stripLookupfields API which is called on each display to figure out if the SmartDataFields can be resolved by the viewer's DataSource is not used in the new lookup API. Note: OE00110660 Type: Known Issue SBO delete that empties batch disables navigation --------------------------------Even when AutoCommit is "true", a row that is deleted from an SBO is not replaced with data from the server. If all records in the batch are deleted, this means that the application appears empty with disabled viewers and navigation actions. This has been reported as particularly problematic when using a very low RowsToBatch, such as 1, in the parent SDO. (Note that the non-refresh behavior is expected when AutoCommit is set to false also when using SDOs.) Note: OE00111063 Type: Known Issue MasterFile attribute to be deprecated in future --------------------------------The MasterFile attribute will be deprecated in an upcoming release. It has been replaced by the RenderingProcedure attribute and is not in use by the framework.

It is currently defined as a dynCombo attribute. Note: OE00111440 Type: Known Issue HideOnInit has been changed to work also on objects on pages --------------------------------HideOnInit has been changed to work also on objects on pages other than the start page. This allows containers dropped on a page in ADM to use DisableOnInit true as a way to postpone visualization until viewed directly. This technique is often used for SmartFilters on separate windows and the fix ensures that the filter window will remain hidden until startFilter has been executed. The container's notifyPage which manages the 'ViewObject' and 'HideObject' events of the page mechanism now checks HideOnInit when the notification is "viewObject" and does not pass the event on if the property is true. The ViewObject method has been changed to set HideOnInit off, so that the object can be viewed by paging as soon as it has been viewed. This means that an object with HideOnInit true no longer is viewed when the container changes page, until it receives a direct viewObject call. Since this property previously was ignored on pages there is a potential risk that this property has been set inadvertently and now cause objects to remain hidden when the page is initialized. Note that the property often is presented as "View" check-box in various Instance Property dialogs, so one check this on to turn HideOnInit off. Note: OE00111488 Type: Known Issue SDO Cache does not include Auditing & Comments tick-information --------------------------------The data caching and data sharing support does not always cache auditing and comment information. This information is retrieved only for certain instances and would only be cached if the actual object that did the initial server retrieval was set up to include this information. Data objects that retrieve their data from the cache may thus be unable to show the correct tick-mark in the toolbar if the initial server request did not include this information. Note: OE00112018 Type: Known Issue Sharing data object, browse and viewer out of sync showing data --------------------------------021b00152 The current support for SharedData does not actively refresh viewers or browse viewports when data is changed by another DataObject. It is currently necessary to scroll the record out of the viewport to refresh the browse and navigate to another record and back to refresh a viewer. Note that a viewer on a hidden page will not refresh itself if it is on the same record as when it was hidden, so in this case it does not help to navigate to another record and back in the browser. Note: OE00112062 Type: Limitation DynCombo support for a DataObject as datasource does not include static SDO --------------------------------021b00105 The option to define a DataSource for a DynCombo is not currently supported for static SDOs. This is mainly due to the fact that a generic proxy is used on the client. Note: OE00112320 Type: Known Issue BaseQuery must have NO-LOCK after WHERE --------------------------------Child SDOs will lose parent filter criteria if it's BaseQuery has the NO-LOCK

option before the WHERE criteria. When two SmartDataObjects are linked in a parent/child relationship with or without a SmartBusinessObject, the child SDO may lose its filtering by the parent SDO. This used to happen if the child SDO was generated by the object generator and follow joins was turned on. This generated a BaseQuery with NO-LOCKs before the join criteria and causes the ADM to add the foreignfield criteria to this query incorrectly. Opening and saving this SDO in the AppBuilder will alter the BaseQuery to put the NO-LOCKs after the join criteria as expected by the ADM. Note: OE00112600 Type: Known Issue Widgets on static SmartDataBrowser are not enabled on dynamic containers --------------------------------When a static SmartDataBrowser contains other objects on its frame, those objects are not enabled when the static SmartDataBrowser is run on a dynamic container. When that static SmartDataBrowser is run on a static container, those objects are enabled. Note: OE00112789 Type: Behavior Change Find and filter actions EnableRule have been extended to disable when no parent --------------------------------The "Find" and "Filter2" actions used on the various Browse* toolbars as well as the standard adm2 "Filter" action are extended with a check for "RecordState=RecordAvailable,NoRecordAvailable" to ensure that these actions are disabled when no parent is available as identified by the RecordState in the target being "NoRecordAvailableExt". "Find", "Filter" and "Filter2" are changed in Dynamic's Repository while the toolbar.p initAction is changed to add the rule to "Filter" for standard adm2. Note: OE00112836 Type: Behavior Change assignNewValue w/ invalid values behaves different in new lookup API --------------------------------The old and new lookup APIs behave differently when passing invalid value parameters to assignNewValue if the lookup key field is different from the lookup displayed field. With the old API (pre-2.1B/10.0B02 behavior and 2.1B/10.0B02 behavior with keep_old_api set to TRUE), passing an invalid key field value or an invalid displayed field value to assignNewValue displays blank in the lookup field when assignNewValue is invoked. If changes to the record are saved, blank is stored in the record's key field. With the new API (2.1B/10.0B02 default behavior), passing an invalid key field parameter displays blank in the lookup field when assignNewValue is invoked. If changes to the record are saved, the previous value displays in the lookup field and the value is not changed in the record's key field. Passing an invalid displayed field parameter displays the invalid value in the lookup field when assignNewValue is invoked. If changes to the record are saved, the previous value displays in the lookup field and the value is not changed in the record's key field. The behavior with both the old and new APIs is incorrect and requires investigation to determine what the correct behavior should be. Note: OE00113054 Type: Known Issue Data Cache information about NumRecords is not reliable ---------------------------------

021b00144 The Data Cache information about NumRecords is currently not reliably set for all cached objects. Note: OE00113575 Type: Behavior Change DataObjects that use caching support query manipulation --------------------------------DataObjects that use caching now support client-side query manipulation and allow Progress Dynamics filter support and adm2's filter source to be used with cached SDOs. Note that only criteria added with assignQuerySelection is applied to the cached SDO on the client. The addQueryWhere and setQueryWhere methods have no effect on the cached query. Note: OE00115074 Type: Behavior Change Changes to how decimal values are manged in dynamic combos --------------------------------101A00003 There were several problems in previous releases developing decimal dynamic combos with default flag values that contain a numeric decimal point and deploying with different numeric formats. Default flag values were always stored in the format used during development. This prevented deployment to numeric formats other than the one used for development. Either errors displayed and no data displayed in the combo or incorrect data was stored in the repository for the <None> or <All> option. With 2.1B01, 10.0B03 and 10.1A this has changed to store default flag values with American numeric format. They should be entered in the SmartDataField maintenance tool using the session's format but the tool will replace the numeric decimal point with a period in the stored value. At runtime, any stored periods in the data are replaced with the current session's numeric decimal point. A fix program runs as part of the DCU Upgrade to convert existing default flag values for decimal dynamic combos to American format. The DCU must run in the format that was used to develop dynamic combos. The fix program writes a message to the log file for each default flag value it attempts to convert. It writes a message when a value is converted successfully or writes a message if the conversion fails. Review the DCU log file after the upgrade and manually correct any failures. Any failures that are not corrected may not behave properly at runtime as the runtime has changed to attempt to convert stored American formats to the format of the running session. There are several Dynamics objects in the repository that store blank default flag value instance attributes and give messages in the log file. These are for the cbSCMTool dynamic combo on the following viewer objects: gsmsxgenviewv gsmsxotviewv gsmsxpmviewv The messages for these objects are expected and you can ignore them. Any dynamic combo instance attributes stored in static viewer code in your application must be converted manually to American numeric format.

Note: OE00116096 Type: Known Issue IndexInformation property only contains information for primary table(s) --------------------------------The IndexInformation property has been changed to only contain index information for the table(s) that are uniquely represented in one row in the SDO query. The default table(s) are the EnabledTables or the first table for read-only SDOs. The getIndexInfoTables function determines which tables' info is added to the property. This is not implemented as a property, but can be overridden if different behavior is needed. If you want the old behavior all data objects, then add a custom version that returns the value from getTables (all tables in the query). Note: OE00117794 Type: Behavior Change tvcontnr.p calcNewTreeSize, getCurrentTreeFrame, and treePackDone removed --------------------------------The following APIs are deprecated and removed from the source of the ADM2 treeview container procedure tvcontr.p: calcNewTreeSize, getCurrentTreeFrame, and treePackDone. Note: OE00118474 Type: Behavior Change data.p: updateManualForeignFields deprecated --------------------------------The updateManualForeignFields procedure is DEPRECATED and has been removed from data.p. This procedure has been empty since version 9.1D (Progress Dynamics 1.0 or 2.0). Note: OE00121218 Type: Known Issue The Export to Excel functionality removes leading zeros from character strings --------------------------------The Export to Excel functionality removes leading zeros from character strings. Note: OE00122798 Type: Known Issue Release Note Headline --------------------------------101A00173 The SmartSelect DataSourcefilter is not supported in a SmartSelect that is linked to a DataView. The reason is that this property value is added to the datasource using addQueryWhere, which is a function that is not supported in the DataView, basically because the notion of a BaseQuery really (ideally) belongs in the data access layer to which there is no direct access from the presentation layer. This is not to say that the ability to specify a default filter from UI components never will be supported, but "db-awareness" will not be supported in the presentation layer and this filter was implemented to allow the same physical datasource to provide data to logically different entities, something that now should be handled in the data access layer. Note: OE00123133 Type: Known Issue Static browser with DataView query built by AppBuilder might cause empty browse --------------------------------For a static browser that is built against a ProDataSet, the AppBuilder defines the query based on the selected fields. If the browser is linked to a Dataview at runtime, the browser renders as empty when the static query and the DataView query are not an exact match. Usually, the problem can be fixed by changing the tables in the DataView's query or by manually editing the query in the static browser so they have the exact same tables in the same order.The other

alternative is to use a dynamic browser. Note: OE00124494 Type: Behavior Change UndoChange action added to all tableio toolbars --------------------------------Beginning with version 10.1B all shipped toolbars and tableio bands contain a new UndoChange action. This action replaces the old Reset action as the default in these toolbars. This constitutes a behavior change (label and accelerator) for existing applications that use the shipped toolbars or bands, since the caption is changed to "Undo" instead of "Reset" and the accelerator is changed to "CTRL-Z" from "ALT-R". The new UndoChange action defines some of the translatable text needed for the context sensitive text in the admmsgs.i include, message number 97. Customers that use the shipped toolbars or bands and want to remove the new action and get the old one back need to customize the class or toolbar. Customers that already have specific toolbars might need changes either to be able to use the new action or to remove it. To remove (hide) the new UndoChange action and get Reset back in shipped toolbar or band: ------------------------------------------------------------------The Reset action is already present in the toolbar, so in order to make the Reset into default, the UndoChange needs to be added to the comma-separated HiddenActions property. Existing customer toolbars -------------------------Existing customer toolbars may or may not get the new UndoChange action. If the toolbar or menu is defined with the "Tableio" category or one of the tableio bands, then the action is added automatically. But, many toolbars add tableio actions specifically in initAction() or initMenu() overrides in order to control the order and add rules. The "UndoChange" will need to be added to these. customized initAction --------------------Since the getTableioUndoNew may need to load the actions if it is called from a visual object before the toolbar is initialized, the toolbar initAction has been changed to setIsActionsLoaded(true). Overrides of initAction that do not call super must add the same call, using dynamic-function or the {set~ include. Note: OE00124797 Type: Known Issue A temporary Dataview is needed to add a DynFilter in a separate window --------------------------------101A00174 The Smart Filter Instance Property Dialog ability to start the datasource directly when designing a Filter Window for pass-thru does not work for DataViews. The Dataview need to be added temporarily as a filter-target in the design window to be able to edit the Filter Instance Properties. Note: OE00127604 Type: Behavior Change Some parameters in the Service Adapter's retrieveData are CHR(1) delimited --------------------------------In Release 10.1B, the parameters passed to the Service Adapter's retrieveData changed to using CHR(1) as delimiter instead of a semi-colon as in previous releases. You should correct Service Adapter implementations to use the new delimiter. If necessary, you can use the old delimiter by controlling the

delimiter that used with a getRequestDelimiter() function, which returns the delimiter value (single character) to the Service Adapter. The RequestDelimiter applies to the following parameters: pcQueries, pcRequests, pcJoins, pcPositions, and the optional pcContext. You can also override the delimiter for the comma-delimited paramters by adding a getTableDelimiter() function that returns the delimiter value. This applies to the pcTables, pcBatchSizes, pcDatasetSources, pcPrevContext, and pcNextContext parameters. If you specify the same value for both variations, this might also avoid confusion caused by having to deal with different delimiters. Note: OE00129294 Type: Behavior Change isObjQuoted function is deprecated --------------------------------The isObjQuoted functions in the ADM2 smart.p class and the Progress Dynamics Session Manager have been DEPRECATED. These functions were only used internally by the fixQueryString, which was DEPRECATED in 10.1B. Note: OE00131600 Type: Behavior Change Progress Dynamics Relogon and Session Reset options are deprecated --------------------------------The Relogon and Session Reset menu options are deprecated. They have been removed from all shipped menus. However, the underlying APIs are still in the code for any user who has customized or extended these features. Note: OE00134992 Type: Behavior Change Service Adapter should support 'FIND' requests --------------------------------Release 10.1B introduced a new 'FIND' request type in the Service Adapter. This identifies a request for a single unique record. The corresponding pcQuery request entry will have the WHERE expression without a 'FOR EACH'. This is passed in the respective pcRequests and pcQueries table-delimited array parameters. A "FIND" request is very siimilar to a "FIRST" request and you can convert the "FIND" request to a "FIRST" request. The difference between the new 'FIND' request and a 'FIRST' request with NumRecords 1 is that the batch context output parameters are ignored and don't need to be returned. The reason why it is issued as a separate request is to allow usage of faster single record retrieval APIs in a Service Provider. The request is for one row, but may need to retrieve a single record for more than one table in order to include all tables in the view. The "FIND" request is currently not mixed with other requests, but this is expected to change in the future to support more complex requests and relations. This request is currently only issued to retrieve missing related records after a save of data that changed foreign key values to a non-reposition unique relation. It is expected to be extended to other requests, specifically the request issued from refreshRow. Note: OE00135094 Type: Limitation DynLookup limit on number of joins may vary on DataServers --------------------------------In Release 10.1C, the DynLookup supports a join with up to 18 tables instead of 10. But, this limit might not apply when using a DataServer, because there also is a limit decided by the size of the ROWIDs in the tables. The ROWIDs of the tables are added to an indexed RowIdent field and the ABL has a limit on the size of an index.

Starting with Release 10.1B, as long as -tmpbsize 4 (default) or larger is used, temp-tables use large index keys and can store up to 1970 characters. This means that, in theory, you can store and index up to 16 ROWIDs returned from MSSQL server ( 16 * ( 116 + 1 ) - 1 = 1871 characters for rowids + separators). The different DataServers will return ROWIDs with different lengths, so the limit will vary. If this limit is an issue, then you can edit the af/app/afgettemp.p procedure and remove the following index definition. ---hTT:ADD-NEW-INDEX("idxRowIdent":U,FALSE,FALSE). hTT:ADD-INDEX-FIELD("idxRowIdent":U,"RowIdent":U,"asc":U). ---The index is used in certain reposition operations on the client. Removing it has an affect on performance, but this might be unnoticeable or acceptable since the operation is done on the temp-table on the client. Note: OE00135463 Type: Behavior Change Changes to instanceOf functionality due to support in non-Dynamics sessions --------------------------------The instanceOf function has been extended to also work for non-Progress Dynamics applications. This enables class type checks to be done transparently across the two framework variants in the cases where the ObjectType does not provide sufficient separation. The ObjectType is still supported and still used throughout the ADM2 and the AppBuilder. The instanceOf in ADM2 uses the super procedure hierarchy. It considers the class name to be the super procedure name without the path and the .p extension. It is actually derived from the &ADMsuper preprocessor, which matches the super procedure name in all shipped super procedures. Progress Dynamics uses the actual class names in the Repository. The instanceOf function also allows transparent references to classes that have different names in the two models, but really are the same class. For example, both instanceOf('containr') and instanceOf('container') can be used transparently in both environments. The following names can be used interchangeably: - Smart - Base (not likely to be used as all objects are of this type) - Combo - DynCombo - Lookup - DynLookup - Datavis - DataVisual - Containr - Container Progress Dynamics has more classes than ADM2 and references to classes that do not exist in ADM2, like "dynSDO", return false in ADM2. The instanceOf function still checks the ObjectType as a last resort. This is not new behavior, but something that one should be aware of as there are classes in Progress Dynamics that have similar names to some of the ObjectTypes. InstanceOf checks with these names most likely still give the desired effect because Progress Dynamics names are based on the ADM2, but you should use some caution. In particular, avoid using instanceOf to check for classes that begins with "Smart", as these names typically are classes in Progress Dynamics and ObjectTypes in Adm2. Note: OE00146033 Type: Behavior Change Container publishes "createObjects" from createObjects ---------------------------------

The ADM2 container now publishes "createObjects" from createObjects. Contained objects can subscribe to this event to ensure that their createObjects are done before intializeObject is called. In Release 10.1C, this applies to toolbars and containers, but any ADM2 object can now implement a createObjects method and add it to its ContainerSourceEvents in order to create constructs (widgets) or read Repository data before initializeObject is called. Note that the container class has always subscribed to this event and child containers in Progress Dynamics have always relied on this behavior to ensure that all objects are created before resizing takes place. However, this constitutes a behavior change for ADM2 non-window containers, like SmartFrames and Viewers, since their static container typically did not publish the "createObjects" event beforehand and their createObjects were called from initializeObject. If customized code should rely on this late call to createObjects, there are basically two options to fix the problem: 1. Move the customization to initializeObject. This is the recommended solution. The assumption is that, if a customization fails when createObjects is called before initialization, then the customization really belongs in initializeObject. 2. Unsubscribe these containers from the "createObjects" event. You can do this by adding the following code in the main block of the object. You could also add this in containrcustom.i if it is general: RUN modifyListProperty IN TARGET-PROCEDURE (TARGET-PROCEDURE, 'Remove':U, 'ContainerSourceEvents', 'createObjects'). In environments with Progress Dynamics, this logic also needs checks to avoid that unsubscribing to the event which Progress Dynamics expects. For example, you could bypass the unsubscribe if getUseRepository is true. Note: OE00153559 Type: Behavior Change Default for DataView's SubmitParent can be set in Service Adapter --------------------------------The default value for the DataView's SubmitParent, which is applied when this property is not overridden in the Instance Property Dialog, can now be controlled by adding a getSubmitParent function in the Service Adapter. Note: OE00160896 Type: Known Issue Static SmartDataBrowse doesn't support column sorting --------------------------------The static SmartDataBrowse does not support column-sorting. The sorting of non-Progress Dynamics browsers currently has to be activated from the browse pop-up. But, even when this is enabled, the static browser only changes the display of the column headers because the static SDB template does not have a START-SEARCH trigger. To make sorting work in static SDBs, add the following in a START-SEARCH trigger: RUN startSearch IN TARGET-PROCEDURE (INPUT SELF).

You can add this trigger in the template to fix this for all future static SmartDataBrowsers. Alternately, you can define this trigger in code, for example in a browser custom super, and thus make it work for all existing static browsers. Note: OE00161453 Type: Limitation Toolbar never creates a Band more than once per toolbar instance --------------------------------The toolbar creates only a single instance of each Band for a toolbar instance. However, the Repository allows multiple instances of the same Band on a toolbar. Before Release 10.1C, the toolbar created the multiple instances of the same Band, but the second instance had no menu items. In Release 10.1C, the second instance of a Band is ignored completely. Note: OE00162048 Type: Known Issue Widget-IDs on treeviews with recursive nodes --------------------------------Support of Widget-Ids for the launched objects of recursive treeview nodes is incomplete. Only the node itself (and not its children) appears in the runtime widget-ID assignment tool. Note: OE00165123 Type: Known Issue Dynamics filter shows "none" in "index" when the SDO is not batching on server --------------------------------When the SDO is accessed through an AppServer connection and the 'Rows to batch' is OFF, the Progress Dynamics filter dialog shows "none" in the "index" column for all fields. As a result, the user gets a warning that they are trying to filter on a non-indexed field even when the query would be able to use an index. ================================================ ADE Tools and Runtime - Icons ================================================ Note: OE00016261 Type: Known Issue Record level transaction hooks must be implemented in the Data Logic Procedure --------------------------------A static SmartDataObject's record level transaction hooks; create*, write* and delete*, must be implemented in the Data Logic Procedure. They will only fire from the SDO if the SDO does not have any Data Logic Procedure. ================================================ ADE Tools and Runtime - Services ================================================ Note: OE00007067 Type: Behavior Change Simplified message alert-box --------------------------------Release 10.1C introduces a Simplified Message Dialog for Progress Dynamics. For more information, see the "Application Development Environment (ADE) Addenda" Web paper in the product documentation. Note: OE00106187 Type: Known Issue Static smartDataFields (e.g. smartSelect) cannot be translated. --------------------------------SmartSelect objects are not presented for translation in the Translation window at runtime. The work around is to enter translations of SmartSelects in the Translation

Control tool. The same naming convention as for Lookups is used. Widget Type has to be specified as 'FILL-IN' and Widget Name has to be specified as 'fiLookup' in all cases. The Object Name has to be entered as <viewer-name>:<field-name>. If the static SmartDataViewer containing the SmartSelect is used in a staticcontainer, the file name of the viewer, including the extension (.w), has to be entered in the Object Name. If the viewer is used in a dynamic container,the object name of the viewer, without any extension, has to be entered. This is an example based on a viewer for the Warehouse table using a SmartSelect for the 'State' field. The file name of the viewer is 'warehousesdv.w'. Translation for use in a static container: Object Name: warehousesdv.w:state Widget Type: Fill In Widget Name: fiLookup Translation for use in a dynamic container: Object Name: warehousesdv:state Widget Type: Fill In Widget Name: fiLookup Note: OE00108151 Type: Behavior Change Info for all users sent to client --------------------------------When a user attempts to login in a client-AppServer configuration, the entire list of users is sent from the AppServer back to the client. This may be an expensive operation when there is a large number of users in the repository. To reduce this overhead, adding the session property "abbreviatedUserTable" to all client and AppServer session types and setting its value to "YES" will result in only the user that is logging in having his data shipped across from the AppServer, thereby reducing the traffic. Note: OE00123050 Type: Known Issue Errors when adding comment for dataview --------------------------------The following error is returned when attempting to save a comment for a Dataview: BUFFER-FIELD RowUserProp was not found in buffer <dataset-buffer-name>.(7351) There is no default support for Comments and Auditing when DataViews and prodatasets are used. The necessary server code has to be part of the Server Interface implementation. This can be done in the current release, but would require that a RowUserPropfield is defined in the entity temp-table to store the information needed to trigger Auto Comment and show tick marks in the Dynamics toolbar's Auditing and Comment actions. This is similar to how this is handled by the SDO, so using this field may make it easier to use existing Reposiotry Manager APIs and reuse SDO code. But the information is stored in a proprietrary format that will make it difficult to use outside of the ADM and difficult to FILL and thus prevent optimal performance. Future release may allow this information to be stored in separate fields with appropriate names. Note: OE00125984 Type: Behavior Change Translated labels and widgets on same row but different column

--------------------------------When translating static viewers where KeepChildPositions=Yes, translated labels will now use the existing label's width only. The translation of simple (LIST-ITEMS) combo-box labels is now supported for dynamic viewers. When translating dynamic viewers with KeepChildPositions=Yes, the label moves to the bottom (back) so that it doesn't overlay any widgets to its left. The label is not truncated, unless it is longer than the space available. When translating static viewers, use the label's font rather than the widget's font to determine the width of the label. Note: OE00126836 Type: Behavior Change Static containers can use global translations for TAB and TITLE elements --------------------------------Static containers can use global translations for TAB and TITLE elements, as well as named (container-specific) translations. Note that the global translations are used on every window (for title) or every tab folder that has not been translated explicitly. Note: OE00128539 Type: Behavior Change Dynamics translated application: performance problems on login --------------------------------Support has been added for a session property called "cached_translations_only" which is set via the session definition (in the XML file and/or repository). In the absence of such a property in the session, the default is YES (the historical value). If cached_translations_only is false, then translations are not retrieved at startup, but rather on demand when an object is translated. ================================================ ADE Tools and Runtime - Tools ================================================ Note: OE00021013 Type: Known Issue scm_checks_on in Security Control is not supported --------------------------------In Security Control there is a toggle for switching checks for the use of an SCM tool on and off. The use of this setting has not yet been implemented in all the places where it is relevant to check for this setting. In this release SCM functionality will always be enabled when the SCM tool (Roundtable) is in use with Dynamics. Note: OE00024983 Type: Known Issue Fields hidden on DynView master layout in design mode if custom layout exists --------------------------------If a field on a master layout has its HIDDEN attribute set to TRUE, the field is typically displayed in the viewer in design mode. However, if a customized layout is made for the viewer, the hidden field is not displayed when the viewer is reopened. This is inconsistent with how fields are displayed when hidden in master layouts. If you need to modify a hidden field in this situation, use the ROM tool. Do not modify the hidden field by using the 'List Objects' button to bring up the property sheet as this will remove the instance. Note: OE00035615 Type: Known Issue Netscape Default HTTPS and SSL Support ---------------------------------

The AppBuilder uses two OCX controls for remote file management (RFM) for WebSpeed. One of these controls, CIHTTP v4.00.002, comes from Crescent. According to current Crescent FAQ documentation on their Web site, OCX controls do not work with a secured server. Note: OE00045969 Type: Known Issue Double Dot Path Notation Causes Failure --------------------------------When using Netscape WebServers with an NSAPI messenger, the WebServer might general protection fault if passed a .gif file location that uses a double dot path notation that goes higher than the docroot, for example, ..\msthemes\auto.gif. To avoid this problem when using an NSAPI messenger, do not specify .gif file locations using double dots if that notation goes higher than the docroot. Note: OE00054706 Type: Known Issue Specifying 20+ Fields in the Detail Wizard --------------------------------In the detail wizard, if you have chosen to display more than approximately 20 fields, you sometimes get error 42 when you press the Preview button. You can resolve this by increasing the stack size startup parameter (-s) to 63 on the Provision startup command. Note: OE00070627 Type: Known Issue Toolbar object modifications are not updated in the Toolbar --------------------------------011A90108 Toolbar data are cached on the client as soon as they have been read once from the server, so when actions, bands and/or toolbars are changed in the Toolbar and menu designer these changes will not always be reflected in new instances of toolbars. Running the Dynamic Launcher and checking the 'Destroy ADM super-procedures' option will ensure that toolbar data are refreshed. The other option is to restart the session. Note: OE00086609 Type: Known Issue HTML after WSTag not sent if WSTag runs another WebSpeed object --------------------------------If a SpeedScript file contains a WSTag tag that runs another WebSpeed object, the remaining HTML after the WSTag tag is not sent to the web browser. Note: OE00088031 Type: Known Issue DataFields cut/copied then pasted are associated with RowObject --------------------------------When cutting or copying datafields from one dynamic viewer to another (built from the same SDO), until the second viewer is saved and reopened, the AppBuilder shows the new fields as being associated with the rowobject table instead of the their actual database table. Note: OE00088087 Type: Behavior Change Column Editor adds fields at the end of the Field List. --------------------------------Before 10.1C, when you had calculated fields in the field list in the 'Column Editor', the new fields were added between the db-fields and calculated field in a random order. For browsers, the new calculated fields were added where the cursor was in the field list. Starting in 10.1C, for browsers and SmartDataObjects, all the fields are added

at the end of the list. Note: OE00093984 Type: Known Issue Copy-Paste in DynView is not keeping all the attributes of the widgets --------------------------------When copying widgets from a DynView to another DynView, some widget attribute values are missed. For example, when a fill-in is copied, the values of the ShowPopup and Label attributes are missed in the target DynView. This happens for all attributes that are read from the Repository. Note: OE00097484 Type: Known Issue Client cache viewer tool returns errors --------------------------------The client cache viewer tool no longer works when run against current version of the Repository API. Note: OE00098133 Type: Known Issue Error 560 Generating Objects From SDO --------------------------------Error 560 (Entry outside the range of list) is raised when the Object Generator is used to create dynamic objects from a prebuilt SDO when the SDO has been created by the Object Generator, and has subsequently had other tables manually added, and the product module has sublevels in the path. Note: OE00103384 Type: Known Issue RTB: Problems when dyn object and super proc in different module --------------------------------When modifying a dynamic object where the dynamic object and its super procedure were created in different product modules, the following error may occur: The product module <product-module1> and the product module <product-module2> must be the same. (AF:110) Note: OE00107793 Type: Known Issue Dynamic Lookup maintenance window does not destroy its maintenenance SDO --------------------------------Dynamic Lookup maintenance window does not destroy its SDO and associated Data Logic Procedure Whenever the maintenance window of the dynamic lookup is opened from the dynamic lookup browse, the system launches a new instance of the maintenance window's SDO and it's associated DLP, however these objects are not destroyed upon closing the maintenance window. Note: OE00107875 Type: Known Issue Cascading security allocations does not work for Data Security --------------------------------The option to cascade security allocations from a profile user does not work for Data security. Note: OE00109408 Type: Limitation Help cannot be mapped to static container run from the AppBuilder --------------------------------It is not possible to map help for a static container that has been run from the AppBuilder. The container must be run from the Dynamic Launcher to map help for it. Note: OE00112732 Type: Behavior Change ABL Generator tool: hook procedure lookup button removed ---------------------------------

The lookup button on the hook procedure button of the ABL generator tool has been removed, since a relatively pathed filename can be specified. The SYSTEM-DIALOG GET-FILE dialog cannot deal with relative paths well. The validity of the file specified is checked before generation takes place. Note: OE00125258 Type: Known Issue Modifying the label of a Dyn Lookup will override the label in its instances --------------------------------When modifying a Dynamic Lookup label in the master object, this new label is cascaded to the Dynamic Lookup instances overriding their label instances. Note: OE00126918 Type: Behavior Change Customising AppBuilder reading and writing to the Dynamics repository --------------------------------Include references to adeuib are not allowed in Progress Dynamics code, although calls to adeuib procedures can be made. Some adeuib includes were erroneously added to Dynamics source code. These have been removed as of Release 10.1C. The AppBuilder uses a procedure, ry/prc/rydynsckrp.p, to read the information that it needs to edit dynamic objects. It writes data back into the Repository using ry/prc/rygendynp.p. Prior to Release 10.1C, these procedures had references to include files in the adeuib directory. Because the adeuib source code is no longer shipped with the product, references like these made it impossible to compile these procedures as released. The adeuib source code is still available from PSDN. As a result, the working code for reading and writing dynamic objects has been moved to adeuib/_dynsckr.p and adeuib/_gendyn.p, respectively. These procedures are called from rydynsckrp.p and rygendynp.p. All of the calls that the AppBuilder makes to this functionality are still through rydynsckrp.p and rygendynp.p (and not the adeuib procedures). This allows customers who have customized rydynsckrp.p or rygendynp.p to keep their customizations. The only way to extend rydynsckrp.p or rygendynp.p is to modify the code itself; there is no defined way to extend these procedures. Note that customizing these procedures is not recommended. Customers who have existing customizations should overwrite rydynskcrp.p or rygendynp.p with their customized code. This code should be compared with the PSDN versions of _dynsckr.p or _gendyn.p to determine what has changed. Note: OE00147487 Type: Behavior Change src/adm and gui/adm directories removed from installation CD --------------------------------Starting in Release 10.1C, the adm directory, with the source code for ADM1, is removed from the installation CD. The source code can be downloaded from the Progress website. Note: OE00148338 Type: Known Issue Inactive relations in Service Provider might disable Child DataView properties --------------------------------If the ProDataSet relationship's ACTIVE property is set to false (or RELATIONS-ACTIVE is false), the properties for child DataView objects might not be enabled as expected in the AppBuilder. There is currently a requirement that the ProDataSet active relations match ADM2's data links. But, even before the links are added, design time sessions also depend on this to ensure that the appropriate properties will be enabled in the DataView instance properties sheet when defining a child DataView object. Note: OE00159564 Type: Behavior Change

Selected Field list appears blank in the Field Selector --------------------------------Before Release 10.1C, when the Field Selector is called from the Column Editor, all the selected fields in the Column Editor appear in the selected field list. This happens when building either browsers or SmartDataObjects. In Release 10.1C, the selected field list in the Field Selector appears blank, showing only the new selected fields to be added in the Coulmn Editor. Note: OE00164519 Type: Known Issue AssignList property not generated in Object Generator with 'follow joins' --------------------------------If an SDO is generated using the Object Generator, and the 'Follow joins' toggle is checked, the AssignList property is not populated. This may result in runtime errors (error 560). To work around this issue, open and save the SDO using the AppBuilder. This will create the AssignList property. Note: OE00165330 Type: Known Issue Unchecking "'Retrieve and keep data for single parent only' fails in Dynamics --------------------------------The DataView 'Retrieve and keep data for single parent only' property cannot be unchecked again if it was previously saved as checked when editing Object Properties for an instance in the Container Builder. The problem is only present when the properties are stored in the Repository and is not a problem in a static container. The problem can be fixed by deleting the underlying property from the instance using the ROM tool or by editing the value in code. Note that the actual property that stores this setting is DataIsFetched and the value of the property is opposite to the value shown in the screen. Set DataIsFetched FALSE if you want to "Retrieve and keep data for single parent only". This is shown as checked in the UI. Set DataIsFetched ? (unknown) if you want default ProDataSet retrieval and you do NOT want to "Retrieve and keep data for single parent only". This is the default value and is shown as unchecked in the UI. The property should never be set to TRUE in the Repository or in code. The reason is that this is a setting that only can be validated at runtime. Setting it to ? (unknown) is an indication that you WANT this behavior, but the final decision is done at runtime, as there are certain ADM2 configurations that cannot use the default ProDataSet retrieval. ================================================ ADE Tools and Runtime - Translation Manager ================================================ Note: OE00102201 Type: Known Issue Changing the Tranman II Language combo may cause error (132) --------------------------------Changing the selected language on the Tranman Data Tab combo does not display the correct translations after using the 'View', 'Sort' option from the pull down Menu. Double clicking on some rows may give the following error: ** This Translation already exists with Sequence number <number> Instance Number <number> Language Name "<language>". (132)

Note: OE00116013 Type: Behavior Change Improvements to TranMan and Visual Translator phrase/word calculation --------------------------------Translation Manager and Visual Translator now calculate the number of phrases and words for the statistics tab differently. Before Release 10.1C, the two tools used differing logic to handle these calculations. The improvements make this process more uniform. Refined indexing and improved logic are likely to increase the calculated number of words and unique words. Note: OE00116025 Type: Behavior Change Visual Translator's Translations browse now displays MaxLength field --------------------------------The Translations browse now contains the MaxLength field (labeled "Length"). This new column is sortable. ================================================ ADE Tools and Runtime - Web Rendering ================================================ Note: OE00040946 Type: Limitation Avoid changing Foreign Keys in Web Objects with joined queries --------------------------------When you use the Detail Wizard to create a Web object that contains a join, do not make the foreign key field updateable. If you change the value of the foreign key in a record, the next stateless request might not be able to find that record. When this happens, you get an error that the query could not reposition to that record. If your application needs the ability to update the value of the foreign key in a joined query, you must make sure that the list of ROWIDs in the "CurrentRowids" attribute contains ROWIDs of the newly joined table, instead of the originally-joined table. Note: OE00135596 Type: Known Issue Two undo/reset buttons on the Standardtoolbar --------------------------------The new UndoChange toolbar action is not supported in Dynamics Web. By default, UndoChange replaces the Reset action in shipped toolbars and Tableio bands. When these toobars and bands are realized in the Web, the Reset button and menu item remain and function correctly. However, the UndoChange action may also be realized at runtime as a non-functioning button and menu item, labeled "Undo 1 (CTRL-Z)". In order to suppress the UndoChange button and menu item, the UndoChange action can be set to Hidden, or added to the HiddenActions property, for the toolbar. For additional information, please see the note for the new UndoChange action under GUIRENDR / SmartToolbar in this document. ================================================ AppServer - Broker ================================================ Note: OE00157614 Type: Limitation

IPv6 Appserver registers IPv4 address with NameServer --------------------------------An IPv6 AppServer may register an IPv4 address with the NameServer if the AppServer is deployed on a system where the host name is only associated with an IPv4 address and the default NameServer registration mode (Register-IP)mode is used. There are two workarounds to this problem: * Reconfigure the name resolution subsystem of the host to resolve the hostname as an IPv6 address: 1. 2. IPv6 3. include address first. In the file, set jvmArgs for the AppServer to "" * Change the registrationMode property of the AppServer to use Register-Hostname, and configure the Hostname property with the desired IPv6 host name or IP address. ================================================ AppServer Internet Adapter ================================================ Note: OE00158750 Type: Workaround 64-bit AIA SSL to the AppServer use actual value for certStorepath not $DLC --------------------------------When connecting AIA to an AppServer using SSL on a 64-bit Unix platform, the certStorePath in must be set to the actual path value, not $DLC. For example, instead of: certStorePath=$DLC/certs/psccerts.jar Replace $DLC with the actual path value: certStorePath=/usr1/progress/101c/dlc If $DLC is used then you will see following error: Error on processConnectRq() : psc_b: Certificate unknown Application server connect failure. (5468) ================================================ Database - Administration ================================================ Note: OE00041071 Type: Workaround Utilities to Aid in Database Conversion --------------------------------OpenEdge Release 10 includes database utilities from previous releases to assist you in pre-conversion tasks if you have uninstalled your earlier installation. The following directories are included in your <install-dir>/bin directory: Define an IPv6 address associated with the hostname. Configure the name resolution services (DNS, NIS, etc) to return the

* 83dbutils * 91dbutils * 101dbutils The utilities in these directories allow you perform such tasks as truncating your BI file, converting a single-volume database to a multi-volume database, or performing a backup. See the readme file in each directory for details on the specific utilities available. Note: OE00156483 Type: Known Issue Use unique minport and maxport range when starting a database using -ipver ipv6 --------------------------------The OpenEdge Database servers TCP/IP implementation allows an IPv6 server and an IPv4 server to monitor the same port number. Therefore, when you start a database server for an IPv6 client/server configuration, specify a -minport and -maxport range that is different from your IPv4 database server. ================================================ Database - Database Utilities ================================================ Note: OE00070876 Type: Known Issue PROUTIL IDXFIX -silent is not silent --------------------------------Running PROUTIL IDXFIX with the -silent parameter does not suppress the display of repetitive messages or prevent repetitive messages from being written to the log file. Note: OE00153465 Type: Limitation PROUTIL DUMPSPECIFIED limitations on descending indexes --------------------------------When using PROUTIL DUMPSPECIFIED, if you specify the AND operator to bracket your dump criteria and your index is a descending index, edge conditions are not evaluated correctly. Records containing the field value equal to the GE or LE qualifier valued are not dumped when specified as follows: * <field-name> GE <low-value> AND LT <high-value> * <field-name> GT <low-value> AND LE <high-value> Note: OE00153473 Type: Limitation Negative integers are not supported by specified binary dump. --------------------------------Negative integers are not supported by the specified binary dump utility as input parameters. You can dump all negative values by specifying a value range as "LT 0" for the column, but specifying any negative integer, such as "LT -1", fails. The specified binary dump utility cannot interpret command lines with a "-" negative sign in the input parameter on command line. Note: OE00164163 Type: Limitation Online IDXCHECK key order validation requires table locks during validation --------------------------------When using the IDXCHECK qualifier online, you can only validate key order (option 4) when tables are locked (option L) during the validation. ================================================ Database - Failover Clusters ================================================

Note: OE00077124 Type: Limitation Failover clusters and multiple APWs --------------------------------Configurations where there are multiple APWs enabled may find that only one APW will restart when fail over of a database resource occurs to the same node on which the failure has occurred. Note: OE00077583 Type: Known Issue Manually stopping an APW on MS Windows Server 2003 running Clusters --------------------------------When manually stopping a pagewriter on a Windows 2003 Server cluster (after a PROCLUSTER enable and PROCLUSTER start), the cluster administrator does not properly show the updated (failed) status of the particular pagewriter. Note: OE00083648 Type: Limitation Clusters -- the hour might be incorrect in the db.Appserver.log file (AIX only) --------------------------------The hour position time value displayed in the db.Appserver.log file might be incorrect for some messages. This usually occurs when database related processes/ancillary processes that were enabled with the database are dead or killed. Note: OE00085049 Type: Known Issue Pagewriter error message on PROCLUSTER start can be ignored --------------------------------When executing a PROCLUSTER start, and no pagewriters were specified in your PROCLUSTER enable, a grep error message is displayed looking for the {db-name~Resources.cluster file. This file only exists if pagewriters are specified during the PROCLUSTER enable. This error message is harmless and can be ignored. Note: OE00085074 Type: Known Issue First PROCLUSTER enable must complete --------------------------------The first database register, i.e. PROCLUSTER enable, must be allowed to complete before issuing additional PROCLUSTER enable commands. This is to allow the proper registration of the Progress Cluster type (PRGS.clstr). Once the PRGS.clstr registration is complete, PROCLUSTER commands can be entered without any restrictions. Note: OE00147497 Type: Limitation Failover Clusters -- limited multiple login brokers support --------------------------------Clusters has limited support for multiple login brokers (_mprsrv -m3). Secondary login brokers must be started as described in the documentation, or they will not restart in the event of a failover. Note: OE00147498 Type: Migrated Failover Clusters node ordering --------------------------------The node the cluster chooses to fail over to is a default preference Clusters accepts from the cluster manager. If you want to tailor this, you must use your operating system cluster management utilities. Clusters does not alter node ordering. Note: OE00147499 Type: Migrated Failover Clusters excluding nodes from fail over --------------------------------All clustered systems provide a means for disallowing hosts from hosting a

resource. You must use your operating system cluster management utilities to do this. Clusters does not provide a means to disallow a host. Note: OE00147500 Type: Migrated Watch Dog should be enabled for Clusters --------------------------------When enabling a database for clusters using the PROCLUSTER enable command, the Watch Dog must always be enabled. For example: procluster /usr/wrk/foo enable WDOG Note: OE00147501 Type: Migrated Failover clusters helper processes that do not start on another machine --------------------------------If any of the helper (APW, BIW, or AIW) processes or the watchdog process specified to start with a particular database fails, they will not be started on another machine during a failover. They will produce an OFFLINE status. Note: OE00147507 Type: Migrated Clusters -- two databases using the same port (AIX only) --------------------------------A cluster-enabled database attempting to use a port currently in use fails to come ONLINE because the port is already in use. The database retries the attempt to come ONLINE the number of times specified by the restart count. During the period of time that the retries occur, querying PROCLUSTER <dbname> isalive/looksalive or HACMP clfindres for status of resource group returns ALIVE/UP as the status. This is correct because there are other resources in the resource group that have been brought ONLINE at that time. After the database resource has unsuccessfully retried the specified number of times, the status of the resource group is updated to DOWN. Note: OE00147509 Type: Migrated Failover Clusters Sun Cluster uses global devices --------------------------------Clusters only supports databases stored on global devices. The Sun Cluster uses global devices to provide cluster-wide, highly available access to any device in a cluster, from any node, without regard to where the device is physically attached. In general, if a node fails while providing access to a global device, the Sun Cluster software automatically discovers another path to the device and redirects the access to that path. The local disks on each server are not multi-ported, and thus are not highly available devices. Multi-ported global devices provide more than one path to a device. In the case of multi-host disks, because the disks are part of a disk device group hosted by more than one node, the multi-host disks are made highly available. Note: OE00147833 Type: Migrated Clusters -- simultaneous enable of two different databases --------------------------------If you simultaneously execute a PROCLUSTER enable command for two databases, you get the following error for one of the databases: Unable to synchronize cluster resources, Perform synchronization manually and identify error cluster REGISTER command was UNSUCCESSFUL. Though the cluster registration reported it was unsuccessful, both databases are successfully registered and automatically brought online by the cluster manager/administration tools. To avoid this error message, disallow multiple cluster administrators from having access to the cluster administration at the same time, and execute PROCLUSTER commands one at a time.

Note: OE00147834 Type: Known Issue Clusters -- startup fails when the database lock file is not removed (AIX only) --------------------------------If your database was shutdown in a way that did not remove the database lock (<dbname>.lk) file, the database may not be able to startup. Work around this issue by adding the following script fragment to the beginning of your cluster master start script, /etc/cluster/<resource_group>/MASTER.START: !/bin/ksh # Replace <DBNAME> by the full path of the database without any extension. # eg. DBNAME="/usr3/testdb" DBNAME="<DBNAME>" LKFILE="$" # a check to make sure that the database is not in use. CHECK_ALIVE=`proutil $DBNAME -C HOLDER` RETURN_CODE=$? # a return code of 0 means that the database is not in use. if [ $RETURN_CODE -eq 0 ]; then rm -f $LKFILE # continue with the body of the MASTER.START script here. Note: OE00163001 Type: Migrated Restarting on the same node -- HPUX only --------------------------------A package that fails, attempts to switch to the next node on which it is configured to run. If you wish the package to restart on the node where the failure occurred, you must use the MC/ServiceGuard cmmodpkg utility to re-enable the package to run on that node. See your MC/ServiceGuard documentation for details regarding the syntax of this utility. ================================================ Database - RDBMS ================================================ Note: OE00059552 Type: Migrated 32-bit and 64-bit Interactions on the same platform. --------------------------------The following describes the interactions between the 64-bit and 32-bit versions of OpenEdge Release 10 on the same platform (operating system and architecture). When you have both the 32-bit and 64-bit version of OpenEdge on one platform, both can access the same OpenEdge database. There is no need to convert or do a dump and load. Shared memory however, is not supported in a mixed bit mode. If a 64-bit server is started against the database, 32-bit clients cannot connect using shared memory. 32-bit clients can connect to the 64-bit server using client/server connections. The reverse is also true: if a 32-bit server is started against the database, 64-bit clients cannot connect using shared memory. The 64-bit clients will have to connect using client/server connections. Mixing of servers is also not supported. The database can only have 32-bit servers or 64-bit servers running, never some of each. This note applies to HP-UX on PA-RISC, Sun Solaris on SPARC, and IBM AIX on POWER.

Note: OE00164667 Type: Known Issue _Connect-IPAddress in the _Connect VST is not assigned a value --------------------------------The _Connect-IPAddress field of the _Connect VST is not assigned a value at this time. ================================================ DataServers ================================================ Note: OE00071427 Type: Limitation No support for IDENTITY fields --------------------------------The MS SQL Server DataServer has no specific support for MS SQL Server IDENTITY fields outside of its own use of IDENTITY fields to provide Progress RECID functionality. Note: OE00101888 Type: Limitation hpuxia64 platform is only supported with Oracle 10g --------------------------------The hpuxia64 platform is only supported with Oracle 10g. It is *not* supported with Oracle 9i or any earlier release of Oracle. When using the Oracle DataServer with an Oracle 9i instance on the hpuxia64 platform, you may run into the following error: "ORACLE failed to convert a number to a 4 bytes integer." This error does not occur on any other supported platform, and does not occur when using an Oracle 10g instance.

Note: OE00147562 Type: Known Issue Compilers tested with OEBUILD --------------------------------The following compilers were used and tested with the OEBUILD utility in OpenEdge 10. While other versions and/or patch levels may work, it is recommended that the same compiler version be used with OEBUILD where possible. Solaris (32 & 64 bit): Compiler & version: Sun Forte 6 Update 2, C version 5.3 with patch 111679-10 AIX (32 & 64 bit): Compiler & version: IBM VisualAge 6 c/C++ C++ (June 2005 PTF) HP-UX (32 & 64 bit): Compiler & version: HP C/ANSI C version 11.11.08 with patch PHSS_29484 Compaq (HP) Tru64: Compiler & version: Compaq (HP) C V6.5-011 Linux: Compiler & version: G++ version 2.96

Microsoft Windows: Compiler & version: Visual Studio .Net 2003 Unixware: Compiler & version: Optimizing C Compilation System

(CCS) 4.2

05/11/04 (uw714.bl3af)

HP Itanium: Compiler & version: HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003], with C++ Runtime Library patch PHSS_29659 Note: OE00157557 Type: Behavior Change Change in log format for 'dataserv.lg' log file --------------------------------In 10.1C for all DataServers, user will notice a change in the output format of the dataserv.lg log file. In versions prior to 10.1C, the dataserv.lg was logged directly from the DataServer code layer and was essentially free format as follows: 11:21:28 : Login to dataserver db as user nmanchal. (2689) 11:21:28 : Completed connection startup; 5 secondary connections requested all good. 11:21:28 : MSS version: Microsoft SQL Server 08.00.0194 (4203) The new output format is derived from changes in the DataServer layer that integrate the "Enhanced Logger" architecture which was first introduced in the OpenEdge product in 10.1A to standardize OpenEdge logging and log formats. The new format looks like the following: [08/01/22@11:30:38.985+2300] P-006908 T-011492 = 2 [08/01/22@11:30:38.985+2300] P-006908 T-011492 activated: DS.DEBUG [08/01/22@11:30:38.985+2300] P-006908 T-011492 db as user nmanchal. (2689) [08/01/22@11:30:39.048+2300] P-006908 T-011492 startup; 5 secondary connections requested all [08/01/22@11:30:39.048+2300] P-006908 T-011492 Microsoft SQL Server 08.00.0194 (4203) 1 MSS 1 MSS 1 MSS 1 MSS good. 1 MSS -- Logging level set to -- Log entry types -- Login to dataserver -- Completed connection -- MSS version:

NOTE: New Enhanced Logger features are not fully implemented for DataServers in 10.1C. The only noticeable difference customers should encounter are the prefix format of written log messages as described above. All existing -Dsrv parameters available in earlier releases for setting log attributes continue to be available in 10.1C and are not affected by the new logging infrastructure. ================================================ DataServers - DB2 ================================================ Note: OE00164205 Type: Known Issue Function sequence error with DB2 UDB v9.1 on Windows --------------------------------While pushing a Progress db to DB2 UDB v9.1 on Windows using the OpenEdge 10.1C

ODBC Wire Protocol driver for DB2, the following error messages are generated. HY090: [Microsoft][ODBC Driver Manager] Invalid string or buffer length HY010: [Microsoft][ODBC Driver Manager] Function sequence error

================================================ DataServers - MS-SQL ================================================ Note: OE00146405 Type: Behavior Change Changes as part of Certifying SQL Server 2005 --------------------------------Microsoft has done changes to the Query Optimizer in SQL Server 2005 to generate better and more appropriate query plans automatically when compared to earlier versions of SQL Server. However, a change in behavior is noticed in SQL Server 2005 when compared to SQL Server 2000 for some lock contention scenarios under default server-side settings. Changes have been incorporated in DataServer for MS SQL Server, as part of an effort to provide consistent behavior to an application when used with a newer version of SQL Server (SQL Server 2005). For the current release (10.1B02), this feature is leveraged only when used with SQL Server 2005. Note: OE00151726 Type: Behavior Change SQL Server DataServers will now insert NULL value ("?") on creating new records --------------------------------SQL Server DataServers will now insert the NULL value if the ABL assigns the unknown value ("?") while creating new records. Previously the DataServer for MS SQL Server stored the default value from the schema holder into the column instead of NULL when the ABL assigned the only unknown value and all other column assignments came from default values. This was incorrect since the unknown value in the ABL should always be equated to a SQL NULL in the DataServer products when the user deliberately assigns such value. For example, A customer table with 3 fields - name, city and state. In the schema holder, the city and state columns have default values of 'Bedford' and 'MA', respectively. Based on the following ABL code CREATE customer. ASSIGN name = "john". state = ?. The above would previously have created a new customer record with (name,city,state) set to: ('john', 'Bedford', 'MA') where "Bedford" and "MA" are default values in the schema image for "city" "state" fields, respectively.. and

Now it takes the unknown value ('?') assigned to the "state" field and properly

translates it into a NULL column. record would now be created as: ('john', 'Bedford', NULL)

Therefore in the example provided, the new

Note: OE00163021 Type: Limitation Compatibility issues between 32-bit and 64-bit RECIDs --------------------------------As part of the effort to introduce 64-bit data addresses into the OpenEdge database for Release 10.1B, the default implementation of PROGRESS_RECID in the DataServers for MS SQL Server and ODBC were changed to a 64-bit value. In releases prior to 10.1B, PROGRESS_RECID was a 32-bit value. This produced some PROGRESS_RECID incompatibilities for schema holders created or maintained in OpenEdge 10.1B using the 10.1B Dictionary utilities. These incompatibilities also affect schema holders that were created and maintained prior to 10.1B but are used in a 10.1B application environment or a schema holder created or maintained by the 10.1B Dictionary that is now used in a 10.1C application environment. The incompatibilities are resolved in Release 10.1C and by a hot fix to patch level 10.1B03 by simply performing a schema pull from the Dictionary utilities. Therefore, if you are using or maintaining a schema holder from the OE 10.1B Dictionary (prior to Release 10.1C and prior to the 10.1B hot fix) you will need to re-pull your server definitions into that schema holder using the 10.1B03 hot fix patch or 10.1C Dictionary utilities to avoid application conflicts with the PROGRESS_RECID. After re-pulling definitions into your schema holder using the 10.1B hot fix or using 10.1C, you should encounter no further problems with PROGRESS_RECID. Note: OE00163062 Type: Limitation No support for IDENTITY fields --------------------------------The MS SQL Server DataServer does not have any specific support for MS SQL Server IDENTITY fields outside of its own use of IDENTITY fields to provide Progress RECID functionality. Note: OE00163063 Type: Behavior Change Avoid using SHARELOCK if possible --------------------------------The transaction isolation levels define the type of locks acquired on read operations. The default isolation level for MS SQL Server is ReadCommitted. This isolation level typically puts some form of database dependent SHARE LOCK on records, pages, and/or tables that it reads. Under this isolation level, only committed changes can be read from existing data. For simplicity and DataServer efficiency, Progress Software Corporation recommends that you avoid using the SHARELOCK if possible. The DataServer for MS SQL Server can support the NO-LOCK condition in Progress with the help of -Dsrv connection parameter to set the isolation level to ReadUncommitted as follows: "-Dsrv TXN_ISOLATION,1". This is a connection-level switch only. SHARE-LOCK is treated like NO-LOCK at this isolation level. Therefore if you set Read-Uncommitted for your session, all non-EXCLUSIVE-LOCK statements (statements w/SHARE-LOCK, NO-LOCK, or unspecified statements) will perform as NOLOCK. In OpenEdge DataServer for MS SQL Server 2005, Read-Uncommitted is set as default isolation level for the DataServer applications. This change would come into effect in the service pack 10.1B01. Currently for using SQL Server 2005 with DataServer release 10.1B, it is required to explicitly set the isolation level to 1 (Read-Uncommitted) with the -Dsrv connection parameter, to

ensure compatibility with prior releases of MS SQL Server. SQL Server 2005 SNAPSHOT Isolation & OpenEdge --------------------------------------------The OpenEdge ABL is pessimistic and transactional (OLTP) in nature and for the OpenEdge DataServer technology to emulate the NO-LOCK/EXCLUSIVE-LOCK lock types of the OpenEdge database; it uses the READ UNCOMMITTED isolation level to provide the best and most efficient match. SQL Server 2005 SNAPSHOT ISOLATION (row versioning) provides an optimistic locking environment for read-intensive operations (OLAP). However, READ UNCOMMITTED isolation is still recommended for transaction-intensive (OLTP) applications due to the added load imposed on the server running update transactions with snapshot isolation. The OpenEdge DataServer for MSS will function against a SNAPSHOT ISOLATION (row versioned) enabled MSS database but any OpenEdge ABL logic that relies on pessimistic lock management (for instance, conditions where the OpenEdge client might issue a "<table.field> is in use by USER ABC" message will be affected and therefore alter application behavior. Conflict resolution is also handled differently between pessimistic and optimistic locking models and so data integrity issues will also be of concern if SNAPSHOT ISOLATION is used with the OpenEdge Dataserver technology. To obtain the best concurrency control and inter-transactional protection in your ABL applications, progress recommends not using SNAPSHOT isolation. SNAPSHOT isolation, in effect, provides alternate implementations of SERIALIZABLE and READ COMMITTED levels of isolation that use optimistic locking to control concurrent access rather than pessimistic locking. Unless your OpenEdge ABL application requires one of these two isolation levels, Progress recommends that customers consider neither transaction-level nor statement-level SNAPSHOT isolation for their applications using the DataServer for MS SQL Server. While SNAPSHOT isolation can be used to emulate SERIALIZABLE and READ COMMITTED isolation levels, progress also recommends not using SNAPSHOT isolation to acheive them. ================================================ DataServers - MS-SQL/ODBC ================================================ Note: OE00147564 Type: Limitation DataServers for MSS and ODBC data type support --------------------------------The DataServers for MSS and ODBC do not support any of the data types that are new in OpenEdge Release 10 except for the INT64 data type which the OpenEdge DataServers began supporting in OpenEdge Version 10.1B.

================================================ DataServers - ORACLE ================================================ Note: OE00147570 Type: Workaround Change to ORACLE genclntsh required for ORACLE 9.0.2 on Linux --------------------------------The ORACLE genclntsh file must be modified for proper operation of the ORACLE DataServer with ORACLE 9.0.2. Change the definition of LD to use gcc shared as follows: Sample of original content:

--------------------------LD="ld -i -G -z text -L${ORACLE_HOME~/lib" shared library link command LD="ld -shared -L${ORACLE_HOME~/lib" shared library link command LD_RUNTIME="-R${ORACLE_HOME~/lib" LD_OPT="-Map ${MAPFILE~ -h ${CLNT_LIB~" name inserted into library LD_SELF_CONTAINED="-z defs" Change to: ---------LD="gcc -shared -L${ORACLE_HOME~/lib" shared library link command LD_RUNTIME="-Xlinker -R${ORACLE_HOME~/lib" LD_OPT="-Xlinker -Map -Xlinker ${MAPFILE~ -Xlinker -h -Xlinker ${CLNT_LIB~" name inserted into library LD_OUT="-o ${LIB_DIR~/${CLNT_LIB~" output specification LD_SELF_CONTAINED="-Xlinker -z -Xlinker defs" Note: OE00147572 Type: Known Issue Building Oracle DataServer Executables --------------------------------For most UNIX platforms, the default client and DataServer executables are able to locate and load Oracle's shared library. On the platforms where this is not the case, you must build executables using the scripts in the <install-dir>/oebuild/make directory. For OpenEdge Release 10, executables must be built on AIX, and may need to be built on 32-bit HPUX. Note: OE00147573 Type: Known Issue Symbolic link required for 32-bit AIX --------------------------------Proper functioning of the Oracle DataServer on 32-bit AIX requires a symbolic link for the Oracle client library as follows: ln -s $ORACLE_HOME/lib/libclntsh.a /usr/lib/libclntsh.a Note: OE00147574 Type: Known Issue Error loading the Oracle DataServer on 32-bit HPUX --------------------------------For 32-bit HPUX, you may encounter the following error when starting the Oracle DataServer: /usr/lib/ Cant shl_load() a library containing Thread Local Storage:

If you encounter this error, you must rebuild the DataServer executables using the scripts provided in the <install-dir>/oebuild/make directory. Note: OE00147576 Type: Known Issue Symbolic link required for 64-bit AIX ---------------------------------

Proper functioning of the Oracle DataServer on 64-bit AIX requires a symbolic link for the Oracle client library as follows: On AIX64: ln s $ORACLE_HOME/lib/libclntsh.a /usr/lib/libclntsh.a Note: OE00150026 Type: Limitation Oracle support with HP 32-bit product is dropped --------------------------------The last Oracle client that supports HP 32-bit is Oracle 8 which no longer works with OpenEdge starting with 10.1C. Any customer that needs to use Oracle on HP must migrate to the HP 64-bit product. The HP 64-bit product works on all modern HP PA-RISC hardware. Please contact your sale represntative if you need to make this platform version change. Note: OE00162745 Type: Behavior Change CLOB support in Oracle DataServers --------------------------------Support for Unicode for the DataServer for Oracle begins in OpenEdge Version 10.1C. The CLOB data type is also introduced in Release 10.1C for the specific purpose of supporting the character widening that is possible in a Unicode implementation. Previously, data that exceeded the maximum size of a VARCHAR2 data type (4000 bytes) was converted to a LONG data type when migrated to an Oracle server. Since only one LONG data type is allowed per Oracle table, it was anticipated that CLOB support would be needed in its place to handle large amounts of character data in a Unicode database implementation. The dictionary utility has been updated to migrate OpenEdge database CLOB data types to Oracle CLOB data types and to migrate OpenEdge CHARACTER data types that exceed Oracle's VARCHAR2 4000-byte maximum size into ORACLE CLOB data types. Oracle CLOBs are also pulled from the server into the Oracle DataServer's Schema Image as CLOB types. As there are code pages associated with OpenEdge CLOB data types, they will be set to match the code page defined to the Oracle schema holder. The column-level CLOB code pages in an Oracle schema image are not modifiable and will always be set to match the schema holder code page even if the schema holder code page is changed after the database is created. Not all features of the CLOB data type made it into the 10.1C FCS Release. In particular the following two CLOB features are not supported in 10.1C: 1. Support for Oracle's Unicode CLOB data type (NCLOB) will be unavailable. NOTES: Other Oracle Unicode character data types are supported in the Unicode implementation for the ORACLE DataServer. Oracle implementations that define a Unicode database code page and define their Unicode data to CLOB data types are supported in the 10.1C release. 2. Support for CLOB and LONGCHAR data types with stored procedures. deficiency includes the following subcategories: This

A. Support for LONGCHAR data types as parameters to stored procedures. B. Support for a CLOB result set value in the "PROC-TEXT-BUFFER" record upon return from "SEND-SQL-STATEMENT" stored procedure execution. C. Support for CLOBs in result sets into a VIEW record format.

D. Support for CLOBs in result sets using LOAD-RESULTS-INTO temp table record formats. E: Support for CLOBs in result sets using LOAD-RESULTS-INTO with indeterminate temp table handles and dynamic server type evaluation. ================================================ DataServers - Sybase ================================================ Note: OE00146413 Type: Limitation -Dsrv connection parameter set to AUTOCOMMIT,1 for OE 10.1C Sybase drivers --------------------------------OpenEdge 10.1C requires the -Drsv connection parameter set to AUTOCOMMIT,1 for all migration operations to and from the Sybase ASE v15.0 databases using the OpenEdge 10.1C Wire Protocol driver for Sybase. ================================================ Diagnostics - GUI Debugger ================================================ Note: OE00084657 Type: Known Issue Window option leaves pointer in the wrong place --------------------------------The Debugger may not display the execution pointer in the correct location if you switch between source files by selecting a file from the Window menu. The Progress client does, however, remember the correct execution pointer and continues application execution from the proper line. Note: OE00084874 Type: Known Issue Changing the NAME attribute for a widget makes its attributes unavailable --------------------------------Changing the value of the NAME attribute for a widget (either programmatically or directly in the Debugger window) renders the widget unavailable for both setting a watch on the widget in the Watches pane and viewing the widget in the Dataview dialog box. Note: OE00085140 Type: Known Issue Progress process does not go away after leaving Debugger idle --------------------------------Running the Progress GUI (prowin32.exe) client on Windows 2000 / XP, you may experience a problem using the Debugger from the Procedure Editor. If you start the Debugger and leave it for 5 minutes or more with no activity, the session may remain running when you close the Procedure Editor. The window will no longer be visible on the screen, but the process will appear in the Task Manager's process list. You can end the process from the Task Manager at this point. Note: OE00085933 Type: Known Issue Temp-table variable appears twice in Temp Tables tab --------------------------------The Debugger may display a temp-table variable twice in the Temp Tables tab of the Variables pane. You may select either entry and use the Dataview option to examine the temp-table variable data. Note: OE00086290 Type: Known Issue Same variable name in more than one procedure does not edit correctly --------------------------------If you have two variables with the same name in two different procedures in the

same call stack, the Debugger may confuse one with another when editing them. Note: OE00087531 Type: Known Issue Temp-table name is not recognized as a watch in the Debugger --------------------------------The Debugger does not recognize static temp-table names as watches. A static temp-table will display a value of "** Unavailable **" in the Watches pane. You may view a static temp-table in the Dataview by selecting "Dataview" from the Debug menu; enter the temp-table's name in the edit box and click the Fields tab. You may also right-click on the temp-table in the Temp-tables tab of the Variables pane and select Dataview from the pop-up menu. Note: OE00087682 Type: Known Issue Cannot debug super procedures of SmartObjects --------------------------------If you open the Debugger in stand-alone mode, open a super-procedure, and set breakpoints in the super-procedure, your breakpoints may no longer be set when you run the super-procedure from a calling program. Note: OE00088433 Type: Known Issue Interrupt command does not work with AppServer --------------------------------While using the Debugger to debug a procedure running on an AppServer, if you use the Interrupt command to try to get control back to the Debugger the AppServer will not notice the interrupt. Note: OE00092523 Type: Known Issue Limits to walking a widget tree --------------------------------If you use the Debugger to repeatedly access the chaining attributes of chained objects (for example, NEXT-SIBLING), the resulting attribute chain may exceed the maximum length that the Debugger can parse; approximately 400 characters. At this point the Debugger may report inaccurate or unusual attribute values. Note: OE00096378 Type: Known Issue Debugger cannot display Chinese characters --------------------------------The Debugger cannot display Chinese characters in ABL source code or in the values of program variables, parameters, buffer fields, and so on. ================================================ Diagnostics - OpenEdge Studio Debugger ================================================ Note: OE00147578 Type: Known Issue Run proDebugEnable from within Proenv to enable debugging --------------------------------To enable Progress for debugging, run proDebugEnable -enable -all from the Proenv window. If you double-click on the proDebugEnable file within <install-dir>\bin, a window will open and flash, but debugging will not be enabled. ================================================ Documentation ================================================ Note: OE00146970 Type: Known Issue Microsoft Security Update may affect remote access of Online Help

--------------------------------If you receive the following error when accessing the help remotely: "Action cancelled Internet Explorer was unable to link the web page you requested. The page might be temporarily unavailable", see the Microsoft Knowledge Base article titled: "Certain Web sites and HTML Help features may not work after you install security update 896358 or security update 890175" located at The article describes the reasons for the issue and provides workarounds. Note: OE00146971 Type: Known Issue Online Help unavailable for editor's dialog boxes --------------------------------Online help for dialog boxes in the Procedure Editor is not available. The Help buttons on the dialog boxes do not work because the color-coding editor control only supports MicrosoftRTM WinHelp (.hlp) files and not MicrosoftRTM HTML (.chm) files. ================================================ Documentation - ABL ================================================ Note: OE00082677 Type: Behavior Change Performance of SETUSERID not completely documented --------------------------------In releases prior to 10.0A, when the permission fields in the schema were changed, the database schema "time stamp" (which is a sequence) was not incremented. This value is what is stored in a local binary schema file and is what is used during connection to ascertain whether the local binary schema file is up to date. Starting with 10.0A, the time-stamp is incremented when the permission fields are changed (_File._Can-read, etc.) and thus invalidate existing local binary schema files. So the developer needs to re-create them. (See the SAVE-CACHE statement in the ABL Reference.) This information is not thoroughly documented in the OpenEdge documentation. Note: OE00112122 Type: Known Issue Browse event documentation causing confusion --------------------------------In the "BROWSE widget" entry of the "ABL Reference" manual, the "Events" table lists event categories that apply to different browse components, such as a column, cell, or the entire browse widget. For example, it indicates that "General direct manipulation events" apply to both the entire browse and a single column of the browse. To identify the specific events that apply to each component, see the section in the "Events Reference" named for each event category listed in this "Events" table (e.g., the "General direct manipulation events" section). Note: OE00116884 Type: Known Issue Default locking for dynamic query methods not specified in documentation --------------------------------The default lock type for the QUERY-PREPARE( ) method and GET-*( ) methods (e.g., GET-FIRST( )) of the query handle is NO-LOCK. Note: OE00129242 Type: Known Issue GET-STRING function description of <numbytes> is incorrect --------------------------------In the "GET-STRING( ) function" reference entry of the "ABL Reference" manual, the following statement appears in error as part of the description of the <numbytes> parameter:

"If <position> plus <numbytes> is greater than the length of <source>, the AVM returns the Unknown value (?)." The statement is incorrect and should be ignored. Note: OE00129717 Type: Known Issue Inputs to the INTEGER and DECIMAL functions incorrectly specified --------------------------------In the "ABL Reference," the reference entries for the INTEGER and DECIMAL functions state that they convert an expression of any data type to an integer or decimal, respectively. This is not true. For many data types (e.g., RAW, MEMPTR, LONGCHAR, or HANDLE), the conversion fails and raises a data-type compatibility error. Note: OE00131819 Type: Known Issue Use of database aliases with sequence operations not documented --------------------------------If you execute a basic ABL sequence function or statement (e.g., CURRENT-VALUE) for a database alias that you redefined for multiple databases, the alias will refer to the first database associated with that alias. To invoke a sequence function or statement using an alias that you redefine for more than one database, use the dynamic version of that sequence function or statement instead (e.g., DYNAMIC-CURRENT-VALUE). Note: OE00146513 Type: Known Issue USING statement does not validate package at compile time --------------------------------In the "ABL Reference" manual, a note in the "USING statement" reference entry states the following: "During USING statement compilation, ABL validates that a file exists on PROPATH for a specified <object-type-name>, and that a directory exists on PROPATH for a specified <package>." Beginning with 10.1C, ABL does compile-time validation of an object type name only when it is first referenced, after all USING statements have been defined. USING statements are not validated at compile time. Note: OE00164030 Type: Known Issue "COMPILE statement" reference entry incorrectly specifies class files --------------------------------The "COMPILE statement" entry in the "ABL Reference" manual indicates that you specify a class file for compilation by giving the object type name of the class or interface that the class file defines. This is incorrect. You must specify a class file in the same way as a procedure file, using its operating system pathname. ================================================ Documentation - Database ================================================ Note: OE00164381 Type: Known Issue Online help version of Database Administration Guide does not include IDXCHECK --------------------------------The Database Administration Utilities online help system does not include information about using the IDXCHECK qualifier online. For information on extending the functionality of IDXCHECK by executing it when the database is online, see the PDF version of "OpenEdge Data Management: Database Administration," available on the Documentation and Samples CD or on PSDN. ================================================

Documentation - Electronic Documentation ================================================ Note: OE00146978 Type: Known Issue Search of PDF files for UNIX Platforms --------------------------------On UNIX platforms, the search index is not automatically attached to the documentation PDF files. To attach the index file so that you will have search capabilities, follow these steps: 1. From the Adobe Acrobat Reader, click on the Search icon. The Adobe Acrobat Search dialog box appears. 2. In the Adobe Acrobat Search dialog box, click on the Index button and choose Add. 3. From the drop down list of files, select the oeidx.pdx file and choose OK. ================================================ Documentation - Help ================================================ Note: OE00146973 Type: Known Issue Accessing online help for CSSPIN ActiveX Control --------------------------------If you press F1 to get help on the CSSPIN ActiveX Control, you will get an error indicating it cannot find the help file. To access the help for the CSSPIN ActiveX Control, do the following: 1. Select Start->Program->OpenEdge->Help. The OpenEdge Online Help file appears. 2. In the left pane, double-click the ActiveX Control Help folder to expand it. Then, select the CSSpin Control help topic. Note: OE00146975 Type: Known Issue Accessing online help for CSCOMBO ActiveX Control --------------------------------If you press F1 to get help on the CSCOMBO ActiveX Control, you will get an error indicating it cannot find the help file. To access the help for the CSCOMBO ActiveX Control, do the following: 1. Select Start->Program->OpenEdge->Help. The OpenEdge Online Help file appears. 2. In the left pane, double-click the ActiveX Control Help folder to expand it. Then, select the CSCombo Control help topic. Note: OE00146976 Type: Known Issue Non-existing examples mentioned in online help for CSSPIN --------------------------------The CSSpin Active X Control Help file mentions the following example: Example Location Project File Form/Basic File SPINDEMO.VBP SPINDEMO.FRM These example files do not exist. ================================================ Documentation - Installation ================================================ Note: OE00164844 Type: Known Issue Updated ODBC Driver Info for Installation Guide --------------------------------The following information is relevant for the ODBC Driver for DataServers in

Release 10.1C. This information supersedes information contained on pages 1-9 through 1-10 of OpenEdge Getting Started: Installation and Configuration. To use the DataServer for ODBC, Progress Software Corporation recommends that you use DataDirect branded Version 5.3. Use the DataDirect branded ODBC Driver when connecting to all ODBC data sources, the DB2 UDB Common Server, MS SQL Server Version 6.5 and earlier, and Sybase data sources. The following driver files are used for Windows operating systems with OpenEdge DataServer for ODBC: All ODBC data sources: P1ASE23.DLL P1ASE23R.DLL P1DB223.DLL P1DB223R.DLL P1ICU23.DLL P1MSS23.DLL P1MSS21R.DLL P1CRYPTO23.dll. P1SSL23.dll IVP1.LIC DB2 UDB Common Server: P1DB223.dll P1DB223R.dll IVP1.LIC MS SQL Server 2000 Version 6.5 or earlier: P1MSSS23.dll P1MSSS23R.dll IVP1.LIC Sybase: P1ASE23.dll P1ASE23R.dll IVP1.LIC To use the DataServer for MS SQL Server, Progress Software Corporation recommends that you use DataDirect branded Version 5.3. The following driver files are used for Windows operating systems with OpenEdge DataServer for MS SQL Server: Microsoft SQL Server 2000 and later: P1MSSS23.dll P1MSSS23R.dll IVP1.LIC Note: OE00164846 Type: Known Issue Configuration Data to enable Unicode for MS SQL Server and Oracle DataServers --------------------------------The following configuration information is needed to enable Unicode for DataServer for MS SQL Server and DataServer for Oracle: DataServer for MS SQL Server Enabling Unicode in the DataServer for MS SQL Server: Support for Unicode data types is available in the 10.1C DataServer for MS SQL Server with the following minimum requirements:

Configuration requirements - Microsoft SQL Server 2005 or later - DataDirect DirectConnect ODBC driver for MS SQL Server, Version 5.1 or later - OpenEdge ABL client, Release 10.1C or later - OpenEdge DataServer for MS SQL Server, Release 10.1C or later DataServer for Oracle Enabling Unicode in the DataServer for Oracle: Support for Unicode data types is available in the 10.1C DataServer for Oracle with the following minimum requirements: Configuration requirements: - Oracle Database 9i or later - OCI Client Libraries for ORACLE 9i or later - OpenEdge ABL client, Release 10.1C or later - OpenEdge DataServer for Oracle, Release 10.1C or later Note: OE00165450 Type: Limitation No 64-bit Windows --------------------------------In the Installation and Configuration manual, Chapter 7, "Working in the OpenEdge Environment in Windows", incorrectly states support for 64-bit Windows applications. 64-bit Windows is not supported by OpenEdge in this release. In addition, the architectural description of OpenEdge support for 64-bit Windows describes a prototype; when supported in a future release, the final implementation will look different from the architecture described. ================================================ Documentation - Internationalization ================================================ Note: OE00157360 Type: Known Issue Simplified Chinese CP936 code pages supported --------------------------------All OpenEdge 10 releases support simplified Chinese CP936 code page even though it is not listed as a supported multi-byte code page in the "OpenEdge Development: Internationalization Guide" manual. ================================================ Documentation - WebClient ================================================ Note: OE00147867 Type: Known Issue Updates to the Sample Application Instructions --------------------------------Both Appendix A and B of the "OpenEdge Deployment: Managing WebClient Applications" book direct you to edit certain .htm files and also to update the Application Assembler project file (.wcp) by using the Assembler tool. Since these files are all copied from the CD, they will be read-only. Edit each file's properties to make it read/write before trying to edit it. In addition, do not use Notepad to edit any .htm file. When the file is saved in Notepad, the tool changes the line terminator characters and may make the file work improperly in the browser. The instructions for setting up the AppServer Machine in section B.2 are described for a Windows AppServer machine. If you are using Unix for the AppServer, you must do the equivalent operations. For example, you cannot run

PRO*Tools but you can choose the Application Compiler from the Procedure Editors Tools menu. In section B.3, step 4a directs you to edit the bootstrap.htm file from the sports2000 subdirectory of the web servers document root directory. This file is not in the sports2000 subdirectory but can be found in the WebClient subdirectory instead. Similarly section B.4, step 2, incorrectly points to the bootstrap.htm file in the sports2000 subdirectory. The directions for this step should read: Open a Web browser (Internet Explorer or Netscape Version 4 or newer) and go to the following URL: http://%MYWEBSERVER%/webclient/bootstrap.htm For example: http://pctest/webclient/bootstrap.htm ================================================ Graphical User Interface - ActiveX ================================================ Note: OE00106808 Type: Known Issue Passing a CHARACTER array to a COM Object may fail with error 42 --------------------------------The limit on the size of an array element that can be passed to a COM Object is incorrect. You may receive the following error message even if the size of the CHARACTER element is valid: bfx: Field too large for a data item. Try to increase -s (42). The workaround is to increase -s. Note: OE00165099 Type: Known Issue COM Events processing before first I/O blocking statement --------------------------------Prior to 10.1B02, any COM events that were firing before the first I/O blocking statement (for example, WAIT-FOR) were being ignored. As of 10.1B02, these COM events are now being processed. This means COM Event Procedures can execute during the setup of a window that uses an ActiveX control, when previously they did not execute. You should make sure any COM Event Procedures do not call RELEASE OBJECT on any COM-HANDLES that may still be in use during this setup. Not doing so will mean that a COM-HANDLE that is still in use will be released, and any subsequent reference to it will return a (5884) error. The correct use of COM-HANDLES and when to call RELEASE OBJECT is documented in "OpenEdge Development: Programming Interfaces," available on the Documentation and Samples CD and on PSDN. ================================================ Installation ================================================ Note: OE00121569 Type: Limitation OpenEdge installation may install Sonic client and container code --------------------------------RN#: 101A-00291

=============== The OpenEdge installation program may install Sonic Software client and container code depending on which products get installed. Because the installation program requires it run as ROOT on Unix, the Sonic Software code gets installed with those permission set. The OpenEdge installation program attempts to set the correct permissions for the Sonic code, but this fails on the HPUX operating system. This will cause the Sonic ESB Container created by OpenEdge to fail when started unless it is started as ROOT. To resolve this, run the command 'chmod -R o+w *' from $DLC/sonic as ROOT. Note: OE00146967 Type: Known Issue Shared Network install issue --------------------------------RN#: 101A-00239 This is a Shared Network install (netsetup) issue only. If AnswerWorks 4.0 is already installed on a server system prior to installing OpenEdge, the answerworks install folder is not copied into the %DLC%\bin\3party to be available for a shared network install, and AnswerWorks 4.0 is not installed on a shared network client system. To ensure that the %DLC%\bin\3party\answerworks install folder exists for a shared network install, a user can either: 1. Prior to installing OpenEdge, delete the "C:\Program Files\Common Files\AnswerWorks 4.0" folder (if it exists), OR 2. After installing OpenEdge and the %DLC%\bin\3party\answerworks install folder does not exist, copy the 3party\answerworks folder from the CDROM into the %DLC%\bin\3party folder. Note: OE00160856 Type: Workaround WebClient install on Vista requires elevated privileges --------------------------------To install WebClient on a Vista machine, you must start the OpenEdge installation using the "Run-As Administrator" option. For example, if you want to install WebClient by clicking a link from within Internet Explorer, then you must first start Internet Explorer by right-clicking on the IE icon or Start menu item and choosing the "Run-As Administrator" menu option. Note: OE00163769 Type: Workaround Unknown Publisher message with a Netsetup Install --------------------------------After performing a Netsetup install on Windows the user may see an Unknown Publisher message when running any OpenEdge .EXE files from a network drive. To resolve this issue, add the network drive share to the client's trusted zone. To add the network drive to your trusted zone: 1. Open the Internet Options Dialog Box from an Internet Explorer session. 2. Select the Security Tab. 3. Select the Local Intranet icon from the zones shown. 4. Click the Sites command button, which opens a Local Intranet Dialog Box. 5. Click the Advanced command button, which opens a dialog box where you add and remove websites from your intranet. 6. Add \\servername\ to the list of websites. Click Close, then OK to return to the main Internet Options Dialog Box. You may have to reboot the client for this to take effect. ================================================

Installation - Install ================================================ Note: OE00147494 Type: Known Issue Installation of Failover Clusters -- Windows --------------------------------You must ensure there are no active instances of the Cluster Administrator utility prior to installation. To do this, use the Windows Task Manager to check for processes running the cluadmin.exe image. If a user associated with an instance of the Cluster Administrator is not readily identifiable, these processes can be forcefully terminated as follows: 1. Within Task Manager, select the cluadmin.exe process and press the End Process button. 2. Answer yes to the popup dialog asking if you really want to terminate the process. Failure to shut down all instances of the Cluster Administrator tool results in a partial installation and fails to properly register the resource and administrator extension DLLs, causing cluster management to fail. Note: OE00163889 Type: Known Issue .Net Framework not installed with unknown default language --------------------------------The OpenEdge Installer supplies the English version of .NET Framework only. you are installing OpenEdge on a non-English language machine and .NET is required, you must download and install the .NET Framework version for the specific Operating System. Note: OE00165220 Type: Limitation Windows 2003 Support requires Service Pack 2 --------------------------------Due to a bug in the Windows Installer Program provided by Microsoft, base support for the Windows 2003 platform is Service Pack 2 for OpenEdge Release 10.1C. ================================================ Installation - Uninstall ================================================ Note: OE00136088 Type: Known Issue 10.0B uninstaller incorrectly removes PSC registry keys --------------------------------The 10.0B uninstaller removes registry keys needed by other OpenEdge installations. This problem occurs when other versions of OpenEdge are installed in addition to 10.0B. The registry entries for HKLM\Software\PSC\Progress\<version> are removed; as a result, the AdminServer does not start. To resolve this issue, export the remaining keys before uninstalling. ================================================ Open Client - Proxygen ================================================ Note: OE00099231 Type: Known Issue .NET Proxy and Client application must use same .NET version ---------------------------------


RN#: 100A-20901 ============== The .NET Framework requires that the .NET proxy and .NET client application are built using the same version of the .NET Framework. ProxyGen determines the version of the .NET Framework to use by examining the Windows registry. It selects the latest version of the framework installed on the system running ProxyGen. You can determine the version of the framework used by looking at the bottom of the log file output by ProxyGen during generation. You will see an entry similar to the following: Compiling .NET proxies and creating .dll ... \\server\i_100b_nt\dlc\bin\PathFinder /csc C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc /t:library "/r:\C:\Progress\OpenEdge\dotnet\Progress.o4glrt.dll" /out:C:\DynTTest\AppServerCode\DynTTest\proxy\nsDynTT\DynTTAO.dll C:\DynTTest\AppServerCode\DynTTest\proxy\nsDynTT\DynTTAO.cs C:\ DynTTest\AppServerCode\DynTTest\proxy\nsDynTT\AssemblyInfo.cs The text "v1.1.4322" above shows the version of the .NET framework used to build the proxy. In this case it was version 1.1. If you have more than one version of .NET installed on your system, you need to make sure that the client application is built using the same version of the framework that was used to generate the proxy. In the above example, you must build your client application using version 1.1. If you had wanted to build your client application using version 1.0, you would need to customize the version of the framework used by ProxyGen. You can do this by specifying the full path to the 1.0 version of the C# compiler (csc.exe) and the XSD generator (xsd.exe) on your system on the .NET tab of the Generate dialog in ProxyGen. Select the Custom Compiler radio button and enter the required information. For example, enter the following Compiler Command: C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe You need to use the path specific to the 1.0 installation on your machine. The text above shows the version of the .NET framework for 1.0. You need to change this value to match the installation on your machine. You can determine the correct value by looking for the path in the File Explorer or by looking in the Windows registry at: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0 and enter the following XSD Generator: C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\xsd.exe For version 1.0, you can determine the correct value for the path by looking in the Windows registry at: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot For version 1.1, you need to look on the Windows registry at: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1 In both cases, you would append the value found in the Windows registry with "Bin\xsd.exe" to get the full path to the XSD Generator required by ProxyGen. Caution: If you try to run using a proxy built with one version of the framework and a client built using another version of the framework, you will get runtime errors including "Specified cast is not valid." Note: OE00147594 Type: Known Issue

Supporting localized messages for .NET client interfaces --------------------------------RN#: 100B-00137 =============== When ProxyGen builds a .NET proxy, it copies the required .NET runtime assemblies to the proxy generation output directory, but it does not copy any Progress.Messages.resources.dll files. By default, Progress.Messages.dll provides English as the default language resource. If you need to support a different language resource, you must manually copy the desired language resource file from: <OpenEdge_install_directory>\dotnet\deploy\strongnamed-signed <OpenEdge_install_directory>\dotnet\deploy\signed depending upon your generation option. For example, if you want to support a French deployment for a signed-only environment, copy the fr directory from <OpenEdge_install_directory>\dotnet\deploy\signed to your proxy generation output directory. or

Note: OE00151239 Type: Behavior Change R-code header versioned when ProDataSets or temp-tables have NAMESPACE-URI --------------------------------OpenEdge Release 10.1C made changes to the r-code header to better support XML features, including support for the ProDataSet and temp-table NAMESPACE-URI attribute as well as support for the XML-NODE-TYPE attribute on temp-table fields. To accommodate the new attributes, Release 10.1C adds a new element to the r-code header, a header version number, that is independent of the r-code version. The AVM adds this new element to the r-code header only if the file contains a ProDataSet or temp-table with the NAMESPACE-URI attribute. When this new element is present, you cannot use the r-code file with ProxyGen from a previous release. Previous versions of ProxyGen will return an error. ================================================ Open Client - Web Services Provider ================================================ Note: OE00161041 Type: Limitation Multiple Dataset parameters and RPC Encoded Web Services with Axis java clients --------------------------------When defining multiple INPUT DATASET parameters for an OpenEdge web service that uses RPC/Encoded SOAP messages, do not use the NAMESPACE-URI option in the DEFINE DATASET statements. The Apache Axis Java client does not properly handle namepsace declarations when it sends a SOAP request for an RPC/Encoded SOAP message. As a result, an incorrect message will be sent and the data will not be loaded into the ProDataSet. Axis may have similar issues with OUTPUT DATASET parameters. SOAP responses from OpenEdge may not be properly deserialized.

If the NAMESPACE-URI option is required, then either define the OpenEdge Web service to use Document/Literal or RPC/Literal SOAP messages. Alternatively, avoid the issue by passing only one dataset in the Web service call. ================================================ OpenEdge Architect ================================================ Note: OE00153136 Type: Known Issue Adding a large number of linked resources to a project causes long delays --------------------------------If you add a linked folder with a large number of files to an existing project, the build process takes a long time to complete, even when no files are being compiled. To workaround this issue, deselect Build Automatically on the Project menu. Turning off automatic building prevents the build process from looking for changes to resources. Note: OE00163016 Type: Known Issue Running Check Syntax can start a build --------------------------------The Check Syntax command (Source->Check Syntax) can modify markers that appear in the Problems view. Since a change to a marker is considered a resource change, a build will be initiated. Any other resource change (such as saving the file or performing another syntax check) must wait until the build completes. ================================================ OpenEdge Architect - AppBuilder Support ================================================ Note: OE00115709 Type: Known Issue AppBuilder not closed properly --------------------------------In OpenEdge Architect, when the AppBuilder is closed with open files, the files are closed but the AppBuilder window remains as though only the files were closed. Note: OE00160741 Type: Behavior Change Removal of -noudfreturnerror parameter in OpenEdge Architect --------------------------------The -noudfreturnerror parameter is being removed since it is no longer required in the 10.1C release of OpenEdge Architect. In the 10.1C Beta1 release, the -noudfreturnerror parameter was added automatically to the startup parameters of Dynamics projects. It was introduced to avoid errors with the new TRY and CATCH error handling.

================================================ OpenEdge Architect - DB Navigator ================================================ Note: OE00121639 Type: Known Issue Syntax error when creating Java trigger

--------------------------------When you create a Java trigger in the SQL editor, you must add an additional space before the carriage return after each semicolon. Otherwise, a syntax error may be displayed: 'syntax Error in SQL statement at or about "End". (10713) Note: OE00163095 Type: Behavior Change Database connections available for import/export only after clicking OK --------------------------------After adding or modifying a database connection, you must click OK on the preference page to make the connection available for import or export. Since clicking OK closes the preference page, you must return to the Database Connections preference page to import or export the new or modified connection. Note: OE00163896 Type: Known Issue Max Size value for CLOB/BLOB columns displays as 1 Gigabyte --------------------------------The Max Size value for CLOB/BLOB columns always displays as 1 Gigabyte in the Edit Column and Add Column wizards. The column is created with the correct size; the display is incorrect. ================================================ OpenEdge Architect - Editing ================================================ Note: OE00158584 Type: Known Issue Enablement rules ineffective on custom commands from earlier releases --------------------------------In earlier releases of OpenEdge Architect, menu or toolbar commands created with the Customization Editor appear enabled even when the context is not valid. In the 10.1C release of OpenEdge Architect, enablement rules disable custom commands until a valid object is selected in the workbench window. However, the enablement rules do not work for commands defined by the Customization Editor in an earlier release. Such commands continue to appear enabled even though the context is invalid. To correct this behavior, open the Customization Editor in the 10.1C release. Make a minor change to a custom command that was defined in an earlier release. (If necessary, you can undo the change later.) Save the command. Re-start OpenEdge Architect using the -clean parameter (Start>OpenEdge>OpenEdge Architect Clean). The custom command now conforms to the enablement rules. Note: OE00158843 Type: Limitation Save automatically before build does not work for include files --------------------------------Changes to an include file are not automatically recognized when you run the .p file that calls it, even if the Eclipse preferences "Save automatically before build" and "Build (if required) before launching" are enabled. They will be be recognized if the calling .p file is changed. Note: OE00160674 Type: Known Issue ESB Annotation - Detail selection lost for nodes with no internal procedures --------------------------------When using the second page of the Add Annotation wizard to add ESB Detail annotations to selected files, checking the "Show Selected" option deselects those nodes that have no internal procedures or functions. Note: OE00161179 Type: Workaround

Smart indent does not work on insertion of CATCH/FINALLY block --------------------------------When you use Source> Surround With to insert a CATCH or FINALLY block, inserted lines and the surrounded lines are not indented properly. Use Source>Correct Indentation or CTRL+I to apply the correct formatting.


Note: OE00161873 Type: Limitation Preprocessor and Include Reference statements are not indented --------------------------------The Correct Indentation command (Source> Correct Indentation or CTRL +I) does not adjust the indentation of Preprocessor statements, Include Reference statements, and their associated comments. Note: OE00161889 Type: Known Issue Help appears for preprocessor instead of keyword --------------------------------In many cases, the wrong help displays when a keyword name matches a preprocessor name. Help for the preprocessor appears. For example, if you select MESSAGE and press SHIFT+F2, you see help for the &MESSAGE preprocessor directive. The same issue affects hover help and code-completion assistance. Note: OE00162499 Type: Workaround Keyword-casing warning causes automatic build to start --------------------------------If the Eclipse Build Automatically option is enabled, a casing warning (caused by typing a keyword in a format that does not conform to your casing preference) inappropriately triggers a project build. This can be an inconvenience if the build process is lengthy. To avoid the problem, turn off the Build Automatically option on the Project menu. Note: OE00162967 Type: Known Issue Procedures and functions not sorted when added to structured .p or .w file --------------------------------In structured procedure files and .w files, code segments that you create by using the Add Procedure and Add Function wizards are added at the beginning of the applicable section rather than being alphabetically sorted. Note: OE00163088 Type: Known Issue Editing default annotation names causes problems --------------------------------Although the OpenEdge Architect Editor Annotations page allows you to edit the default annotations, changing their names can cause failures when you subsequently try to add annotations. Default annotation names should not be edited. Note: OE00163091 Type: Known Issue Text between annotation and procedure name causes ESBOE generation to fail --------------------------------If a preprocessor directive, comment, or other text occurs between an ESB annotation and the procedure name, no ESBOE file is generated for that procedure. This condition results when you add ESB annotations to .w files. Note: OE00163724 Type: Known Issue Casing preference is not applied to all events and methods --------------------------------OpenEdge Architect does not convert the case of all methods and events according to the user's selected casing preference. It does convert the case of all

keywords. Note: OE00163887 Type: Known Issue Variable names expand to table names --------------------------------With the preference to expand database tables and fields enabled, if a variable name matches the initial string of a table name in a connected database, the ABL Editor improperly expands the variable name to the table name. Note: OE00163992 Type: Known Issue Using Delete from Outline view may delete wrong code --------------------------------Using the Delete command from the Outline view context menu can result in deletion of the wrong code. The issue occurs when you perform a deletion immediately after making another code change. For example, deleting two elements in quick succession, or deleting an element immediately after making changes in the ABL Editor, can cause the problem. Note: OE00163995 Type: Known Issue Hover help for some keywords is wrong or missing --------------------------------For certain keywords, the ABL Editor displays the wrong hover help or no help. Note: OE00164065 Type: Known Issue Add Procedure and Add Function commands add indented code blocks --------------------------------When you use the Add Procedure or Add Function command, the code block that the ABL Editor generates is tab-indented. You can correct the indentation by selecting Source>Correct Indentation or by pressing CTRL+I. Note: OE00164097 Type: Known Issue Check Syntax may cause system editor to open --------------------------------If you open an ABL source file via Open With>System Editor, then perform a syntax check, and the file contains a compilation error, Eclipse attempts to open a second instance of the file in the system editor instead of repositioning to the current open editor. Note: OE00164104 Type: Workaround Auto-indent on paste sometimes gives undesirable results --------------------------------With the "Enable auto-indent on paste" option turned on, pasting code in the ABL Editor can result in erratic indentation. After pasting, you can select Source>Correct Indentation or press Ctrl +I to fix the problem. Note: OE00164340 Type: Known Issue Open declaration might navigate to wrong declaration --------------------------------In a .p file that contains both a temp table field declaration and a function of the same name, the Open Declaration command on a reference to that name in an index navigates to the function declaration instead of to the field declaration. Note: OE00164876 Type: Known Issue Add Annotation wizard fails when include files are not in PROPATH --------------------------------If an ABL source file references include files that are not in a project's PROPATH, the Add Annotation wizard fails and generates a NullException errror. Modify the project's PROPATH to avoid the error.

================================================ OpenEdge Architect - Project ================================================ Note: OE00149365 Type: Known Issue Build All and Build Project functionality --------------------------------The OpenEdge Architect builder does not track cross-file dependencies. Therefore, Build All and Build Project cause r-code to be recompiled only when the original source file is modified. These commands are available from the Project menu. Note: OE00154761 Type: Limitation Not possible to cancel the run of a procedure from within OpenEdge Architect --------------------------------When you use the "Run" button to run an ABL procedure, the Progress view shows the name of the running program with a red Cancel Operation button. Clicking this button does not stop the program. Note: OE00161854 Type: Behavior Change is no longer in default PROPATH --------------------------------The procedure library was removed from the standard PROPATH libraries group and placed into its own group called Translation Manager Paths. If your OpenEdge Architect project relies on , you must manually add it to the project's PROPATH. Note: OE00163251 Type: Known Issue Exception errors caused by nonfunctioning database connections --------------------------------If you have a project with a nonfunctioning database connection, an exception message may be displayed when OpenEdge Architect starts and fails to connect. To workaround the issue, delete any file ending in .txt in the .metadata/.plugin/com.openedge.pdt.text directory in your workspace. ================================================ OpenEdge Architect - Template Engine ================================================ Note: OE00159114 Type: Known Issue Enabling JET templates for OpenEdge Projects empties the bin directory --------------------------------When you add the Java and JET builders to an existing OpenEdge project using the JET Enablement for OpenEdge Project wizard, the Java builder clears the bin directory of all contents when the wizard is finished. If your OpenEdge project uses the bin directory in your project as a target for its builds, any r-code in this directory will be deleted. To workaround this issue, change the r-code build destination directory for your OpenEdge project to a directory other than bin. ================================================ OpenEdge Architect - Tools for Business Logic ================================================

Note: OE00159266 Type: Known Issue Tools for Business Logic diagrams are not displayed properly if moved --------------------------------If a Tools for Business Logic diagram (.dgm) file is moved from the directory in which it was originally created, the diagram appears as a grey box when opened in the Component Designer, and the Outline view may not display any data. To correct this issue, open the .dgm file in an XML editor or a text editor and correct the path information to the appModel.t4bl file that contains the model information for the diagram. The paths can be relative to the .dgm file location (for example, "../appModel.t4bl"), or can be absolute Eclipse workspace paths (for example, "/<project name>/appModel.t4bl"). In some cases the .t4bl file contains references to the diagram file itself; these paths to the .dgm file must be corrected as well. ================================================ OpenEdge Replication ================================================ Note: OE00124758 Type: Migrated AdminServer is started before Replication is configured --------------------------------RN#101A-00351 =============== When installing OpenEdge Replication, the AdminServer starts before OpenEdge Replication is added to the AdminServer property file. As a result, OpenEdge Replication is not enabled until the next time the AdminServer is started. To enable OpenEdge Replication, stop, then restart the AdminServer. Note: OE00146535 Type: Known Issue PROUTIL DBRPR -f Is Not Supported in OpenEdge Replication --------------------------------PROUTIL DBRPR -f is not supported in OpenEdge Replication. Do not use this command. If you do, unpredictable results may occur. ================================================ OpenEdge Replication - Agent ================================================ Note: OE00146527 Type: Known Issue Processing if OpenEdge Replication Agent Failure Occurs --------------------------------If an OpenEdge Replication agent failure occurs (for example, if the rpagent process ends abnormally), the only way to restart the agent is to restart the target database. Under normal circumstances, the broker or watchdog process dynamically backs out active transactions for a process after that process unexpectedly ends. The dynamic backout process cannot be performed on behalf of the OpenEdge Replication agent because target database updates must always be driven from the source database. Dynamic backout does, however, update the database. In the event of an unexpected OpenEdge Replication agent failure, dynamic transaction backout does not occur and the target database is left in an inconsistent state. This could cause ABL or SQL processes accessing the database to end abnormally. After the target database is restarted and synchronization is performed, all target database access should proceed normally.

Note: OE00146536 Type: Known Issue If First Agent Terminates While Two Agents Connect the Server Shuts Down --------------------------------In a two-agent scenario, if one Replication agent connects to the Replication server and then terminates while the server is connecting to the second Replication agent, the Replication server terminates with an error-1. Note: OE00164999 Type: Known Issue Do not perform an online backup of a target database undergoing transition --------------------------------Do not perform an online backup of a target database while it is being transitioned. The two activities can interfere with each other. The end result depends on which action finishes first, and cannot be precisely predicted, but you could have a target database that is partially transitioned and unsable. ================================================ OpenEdge Replication - Installation ================================================ Note: OE00146525 Type: Known Issue Restart AdminServer to Enable OpenEdge Replication --------------------------------When you install OpenEdge Replication, the AdminServer is started before OpenEdge Replication is added to the AdminServer property files. This means that OpenEdge Replication will not be enabled until the next time the AdminServer is started. To enable OpenEdge Replication, simply stop the AdminServer and restart it. ================================================ OpenEdge Replication - Replication ================================================ Note: OE00146529 Type: Known Issue Startup Parameter -DBService is Case-Sensitive --------------------------------The -DBService startup parameter is case-sensitive. If you do not enter the parameter in the correct case, an error appears and indicates that the -S parameter is missing. Note: OE00146532 Type: Known Issue Do Not Enable a Quiet Point before Restart of the Replication Server --------------------------------If the Replication server crashes and you plan to restart it using the following command: DSRUTIL sdb -C restart server where sdb is the name of your source database, do not enable a quiet point on the source database before you restart the Replication server. ================================================ Porting ================================================ Note: OE00133982 Type: Known Issue Progress Explorer must "Run As Administrator" on Windows Vista ---------------------------------

On Windows Vista platforms, Progress Explorer fails to start when UAC is enabled (by default, UAC is enabled). To start Progress Explorer, select the Progress Explorer shortcut, right-click and choose "Run As Administrator." Use this procedure when logged in as a normal user or as an administrator. Note: OE00135242 Type: Known Issue fmconfig must be run as an elevated process on Vista --------------------------------FMCONFIG does not run properly on Windows Vista platforms unless it is started as a "Run as Administrator" process. To run FMCONFIG with the correct permissions, right click the shortcut and select "Run As Administrator." Or, from a command prompt window, right click and select "Run As Administrator." Note: OE00152423 Type: Workaround Ubroker cannot connect via shared memory to an unmanaged database --------------------------------When implementing session IDs on Windows Vista platforms, a ubroker may be unable to connect via shared memory to a served database; on Windows Vista platforms these session IDs are 0, the OpenEdge AdminServer also sets the session ID to 0. When a user serves an unmanaged database (for example, from the command line and not through Progress Explorer) the process has a session ID of 1. To resolve this issue: -ensure that the database is started with Progress Explorer -or, restart the AdminServer with a user account Note: OE00152834 Type: Known Issue On Windows Vista platforms, sqlexp only works with a numeric port number --------------------------------On Windows Vista platforms, sqlexp can only connect to the database server if the port is numeric. For example, specify the port number as 4050 rather than using a service name like "mydbservice". ================================================ Progress Explorer ================================================ Note: OE00054808 Type: Migrated Specifying Conversion Map in Progress Explorer Can Cause Database Startup Error --------------------------------RN#: 091A-00526 =============== When configuring a database in Progress Explorer use a fully qualified file specification if setting the Conversion Map property. Failure to use a fully qualified name for the Conversion Map property can result in errors when starting the database. Note: OE00055523 Type: Migrated Rapid Stop/Start of DB Gives Start Fail --------------------------------RN#: 091A-00507 =============== Using Progress Explorer, if you stop a running database and then immediately attempt to restart it, the database may fail to start. When a database is stopping Progress Explorer disables the ability to start the database. The problem is that there is a small timing window in which the Progress Explorer believes that a database has completely shutdown when it actually has not. In

this timing window it is possible to attempt to restart the database before it has completely shutdown. Hitting this window cause the database start to fail. If you encounter this problem a second attempt to start the database should succeed. Note: OE00056474 Type: Migrated Not Enough License Information --------------------------------RN#: 091B-00215 =============== The Progress Explorer "License Summary" dialog in some instances only displays a subset of the licensed Progress products available on the host where the AdminServer is running. Note: OE00057063 Type: Limitation Error 9173 Connecting Progress Explorer to AdminServer --------------------------------If you do not use NIS, and md5 passwords are enabled, Progress Explorer is unable to connect to an AdminServer running on Linux, even when the correct username and password are provided. In this instance, the Progress Explorer returns the following error: Invalid username and/or password specification (9173). Please see KnowledgeBase 19728 for the solution to this problem. ================================================ Security - SSL ================================================ Note: OE00105976 Type: Known Issue When 4GL client runs SSL AppServer, ignore the following log messages --------------------------------RN#: 100B-00101 =============== When a 4GL client is running an SSL AppServer request, and if the user has the logging level at extend, ignore the following log messages: * On Windows: Socket Failed: connection reset * On UNIX: socket closed prematurely They do not highlight any negative behavior and will be present for all successful (and probably unsuccessful) requests.

================================================ Security - Tools ================================================ Note: OE00147103 Type: Behavior Change Behavior change recording auditing events during index rebuild --------------------------------This bug fix changes the behavior of recording audit events during an index rebuild.

During index rebuild, the _index records for the indexes to be rebuilt are first changed to "inactive". After the rebuild is complete, they are changed to "active". Before this fix, if there was a audit policy defined to record updates on _index records for the indexes to be rebuilt, auditing recorded the change. After this fix, the events are not recorded. The reason is, if the indexes are in a rebuild state, the indexes used to get auditing policies might be invalid and we can not get the schema and policy records needed to record the event.

================================================ SQL ================================================ Note: OE00046234 Type: Migrated Stored procedure call must add {} to adhere to specification --------------------------------RN#: 101A-00342 ================= With the new JDBC driver in 10.1a, it is necessary to call stored procedures according to the JDBC specification, by surrounding the call with { and ~. In the previous type2 driver, we allowed a non-spec compliant method of calling a stored procedure. In the type 2 driver, cst = con.prepareCall("call myproc()"); In the type 4 driver in 10.1a, this call as is will produce the error "No ResultSet set was produced." To follow the JDBC specification in the 10.1a driver, and avoid this error, the proper escape sequence must be used. cst = con.prepareCall("{call myproc()~"); Note: OE00051287 Type: Migrated Setting the Year Offset for SQL --------------------------------RN#: 091A-00563 =============== In order to set the year offset (-yy parameter) you must use a property file in starting up the server. Note: OE00056164 Type: Migrated Queries with LIKE predicate through ESQL --------------------------------RN#: 091A-00669 =============== If you are doing queries with a LIKE predicate through ESQL/C for SQL, the generated code is possibly incorrect. However, there is a simple fix. If your existing code looks like: EXEC SQL BEGIN DECLARE SECTION

char searchfield[33]; EXEC SQL END DECLARE SECTION strncpy(searchfield, "sys%", sizeof(searchfield)); EXEC SQL DECLARE c2 cursor for select systables.tbl from sysprogress.systables where systables.tbl like :searchfield; You will get the wrong rows (if any) returned. To fix this, change the first section to read: EXEC SQL BEGIN DECLARE SECTION VARCHAR searchfield[33]; EXEC SQL END DECLARE SECTION This change in behavior is the result of a change to the product to make it more closely conform to the ANSI SQL Standard with regards to the LIKE operator and its different behavior with CHAR and VARCHAR data. Note: OE00058715 Type: Migrated SQL - UPDATE STATISTICS --------------------------------RN#: 091B-00231 =============== When running UPDATE STATISTICS against Progress 4GL databases, the whole transaction will not be terminated with the fatal error "Column [column name] in table [table name] has value exceeding its max length or precision" any more if there is a longer-than-defined 4GL character field data value. Instead, those records which have oversized values will be skipped and a related message will be generated and logged into the database's *.lg file as a reference. The message format looks like: 18:49:18 Progress/SQL Update Statistics:Table PUB."test" at Rowid 0000003747 has Column custid whose value exceeding its max length or precision Note: OE00098617 Type: Migrated SQLExplorer will not output BLOB data --------------------------------RN#: 100A-20190 =============== SQLExplorer will not output BLOB data, since it is a simple ASCII output tool. If BLOB data is attempted to be retrieved via SQLExplorer, you may get an error like: "java.lang.OutOfMemoryError" in attempting to display BLOB data. Note: OE00099948 Type: Migrated No native support for TIMESTAMP WITH TIME ZONE in ODBC --------------------------------There is no native support for the TIMESTAMP WITH TIME ZONE data type in the ODBC specification. Therefore, this data type is returned as a character string. Note: OE00124601 Type: Migrated Stored procedure must register output parameters

--------------------------------RN#: 101A-00343 ======================== In the type 4 JDBC driver in 10.1a, it is necessary to register OUT or INOUT parameters of a stored procedure call in accordance with the JDBC specification. Failure to do so will result in the following error: NULL PointerException You can register the output parameters with the registerOutParameter call: //Preparing CallableStatement to call the procedure CallableStatement call = con.prepareCall ("{CALL proc0b(?)~"); // Registering the OUT parameter call.registerOutParameter(1, Types.TINYINT); Note: OE00124603 Type: Migrated ODBC servicename cannot be used in DSN --------------------------------When connecting via ODBC in Release 10.1, it is necessary to use the port number in the connect DSN. Previously, OpenEdge allowed servicename and port in the 4.2 driver for the 'port' of the connection DSN, however this is non-standard for the DataDirect Wire Protocol drivers. Note: OE00124605 Type: Migrated SQLExplorer only has character mode for Release 10.1A and later --------------------------------As of Release 10.1A, SQLExplorer can only be run in character mode. The GUI mode of SQLExplorer is not delivered due to JDBC3 specification changes. You can use the IDE DBNavigator or other GUI tools that conform to the JDBC3 specification in the JDBC type 4 driver in 10.1A. Character mode can be run from a 'proenv' window sqlexp -S <port> <databasename> Note: OE00124607 Type: Migrated Leading '(' paranthesis causes error --------------------------------RN#: 101A-00346 ======================== In 10.1a, there exist a limitation in using the type4 JDBC driver. The statement with a leading parenthesis, "(select * from table1)", will produce a no result set error. Merely removing the parenthesis will allow this to operate properly select * from table1 will work. Note: OE00145579 Type: Behavior Change Change in behavior regarding usage of select list "aliases" in SQL Statements --------------------------------For some time, OESQL has supported an exetension to the ANSI standard that allows the user to reference aliases defined in the SELECT list of a query in other places in the statement. Example:

SELECT custnum, customer.state custstate, region FROM pub.customer, pub.state WHERE pub.state = custstate; The usage of "custstate" in the WHERE clause of the above statement is an example of how this extension may be used. The behavior change that is being introduced to 10.1B01 and 10.1C is related to OESQL's behavior when there is a conflict between a select list alias and an actual database column. When this happens, OESQL will always interpret the reference as the database column. Example: SELECT substring (state, 1, 2) state, sum (balance) FROM pub.customer GROUP BY state; In the above query, "state" is apparently ambiguous because it can refer to either the DB column pub.customer.state, or the result of the substring scalar function in the select list. However, correct interpretation of the ANSI standard (as well as compatability with other vendors and reporting tools) requires that "state" refers unambiguously to the database column. The above query will group the result by the database column. This is a change in behavior from 10.1A and earlier, which would have grouped by the output of the substring function. The same principle holds for apparently ambiguous references that appear in WHERE, ON, and HAVING clauses. The only exception to this rule is for the ORDER BY clause. SELECT substring (state, 1, 2) state, custname FROM pub.customer ORDER BY state; In this example, the result would be ordered by the result of the substring function, since the ORDER BY should be thought of as occuring outside of the query itself. There is no behavior change for the this example, since this is already ANSI standard behavior. Example:

Note: OE00147850 Type: Behavior Change Large Address-Space Model is used for _sqlsrv2 image -- AIX only --------------------------------RN#: 091D-00278 =============== On AIX, the SQL Server executable image, _sqlsrv2, is now built using a Large Address-Space Model. This allows the _sqlsrv2 process to allocate more than 256MB of data memory, the limit for processes not built with the Large Data Model. This increase in the allowed memory allocation is needed to allow each _sqlsrv2 image to execute up to 100 connections, each of which uses a default allocation of over 1MB for stack space, plus additional data allocated from heap storage. System Administrators should be aware of this change as soft and hard memory limits, if set in the process environment, may prevent such Large Data Model processes from running. If the SQL Server process should fail to run, examination of the process environment should be done, and the values adjusted

accordingly to allow Large Data Model processes to run. Detailed information on Large Program Support and adjusting process memory limits may be found in the AIX Large Program Support chapter of the General Programming Concepts document. Note: OE00147852 Type: Known Issue datetime_TZ with extents and ASCII dump and load --------------------------------RN#:101A-00376 =============== When defining a TIMESTAMP_TZ datatype AND the datatype has an extent value ( an array of TIMESTAMP_TZ) via SQL, and dumping a .df file via the Data Dictionary, you will notice that the _Decimal value is 3, which is different than the _decimal value if defined through the 4GL. Workaround is to edit the .df, changing the 3 to 0, before loading the .df into another database.

Note: OE00147853 Type: Known Issue CLOB collation and ASCII dump and load --------------------------------RN#: 101A-00377 =============== When defining a CLOB and using the default collation through SQL, and dumping the schema definition via the Data Dictionary, the default collation of the CLOB will be BASIC_S. and CLOB-TYPE 3. This will fail on the .df load. Workaround is to edit the .df from BASIC_S to BASIC. If CLOB-TYPE is 3, modify to CLOB-TYPE 2. Note: OE00147854 Type: Known Issue Multi-DB Query Properties File --------------------------------RN#: 101B-00097 =============== On Windows, if you notice an error connecting to the auxiliary databases, even though the format of the properties files is correct, it may be necessary to add an extra blank line at the end of the properties file, or add a carriage return after the last entry (tag-value pair). This issue does not apply to the Unix systems. Note: OE00147855 Type: Known Issue Multi-DB Query - Codepage restriction --------------------------------RN#: 101B-00098 =============== All of the databases, primary and auxiliaries, need to have the same character set codepage. Otherwise, no connection is established to the auxiliaries. Note: OE00147857 Type: Known Issue Importing Data to MicroSoft Excel --------------------------------RN#: 101B-00128 =============== If you using Excel to import from OpenEdge10.1b and using the multi-db connect feature via ODBC, it is recommended to use the menus "Data", "Import External

Data", "Import Data". This path will allow you to choose from the multiple databases/catalogs in the multi-db connect setup. The alternate import path via menus "Data","Import External Data","New Database Query" can only deal with one database at a time.

================================================ SQL - ESQL92 ================================================ Note: OE00156806 Type: Behavior Change SQL Utilities and ESQLC clients should enclose IPv6 addresses in brackets --------------------------------The SQLDump, SQLLOad, SQLSchema utilities and ESQLC clients should enclose IPv6 addresses in brackets when they are specified on a connection URL. For example, when specifying the IPv6 address of localhost: progress:T:[::1]:2800:mydb Note: OE00159192 Type: Limitation ESQLC clients can specify an IP protocol version using a parameter --------------------------------ESQLC clients will default to using the IPv4 protocol. The use of the IPv6 protocol can be selected by using the -ipv6 parameter on the connection URL. The following is an example of a connection URL where the use the of IPv6 protocol is desired: progress:T:myhost:5000:mydb:[-ipv6] The parameter is also available to use with connection URLs for the SQLDump, SQLoad, and SQLSChema utilities. ================================================ SQL - JDBC Drivers ================================================ Note: OE00164407 Type: Known Issue 10.1C JDBC driver has problem with LOBs in 10.1B server --------------------------------The 10.1C JDBC driver causes failures with LOB columns when communicating to a 10.1B server. The same 10.1C JDBC driver works correctly with a 10.1C server.

================================================ SQL - ODBC Drivers ================================================ Note: OE00147185 Type: Workaround Error creating new data source from VS 2005 --------------------------------You may encounter the following error when creating a new Data Source for an OpenEdge database created in the 64 bit environment using the .NET 2005 DB assistant or other similar client: ERROR [HY000][DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]procedure not found (7678)

To resolve this error, issue the following command: proutil <dbname> -C enablestoredproc ================================================ SQL - Server ================================================ Note: OE00119681 Type: Known Issue Fetch Array size should not exceed 32K --------------------------------The value used when setting the ODBC and JDBC fetch array size should not exceed 32K. Note: OE00157404 Type: Behavior Change Database name specified by client must match the database name of the server --------------------------------The database name specified by a client must be the same database name that was used to start the database server. ================================================ SQL - SQL ================================================ Note: OE00153600 Type: Known Issue SQL uses the Java compiler to compile the Java code for a CREATE --------------------------------RN#: 101A-00034 ================ TRIGGER or CREATE PROCEDURE statement. If the Java compiler finds errors in this Java source code, it outputs diagnostic information describing the errors. A subset of the diagnostics is appended to the SQL-92 error message which is returned to the client. The entire set of diagnostics is stored on the server, in the SQL server's WRKDIR (working directory). If the owner of the stored procedure/trigger is OWNER, and the procedure/trigger name is XX, then all the diagnostics are in the file named OWNER.XX.LST in the SQL server's WRKDIR (working directory). The WRKDIR is identified by either the environment variable $WRKDIR, or on NT by the registry entry WRKDIR under the registry key for the Progress software installation.

================================================ TTY - ABL ================================================ Note: OE00159276 Type: Known Issue Dynamic browse scrolls when adding columns --------------------------------When using the character client _progres.exe, the data in a dynamic browse which is visible and populated will scroll up one row when a column is added.

================================================ Web Services Client ================================================ Note: OE00098708 Type: Known Issue STOP attribute not set for Asynchronous Web Service invocation --------------------------------RN#100A-20194 ============= When the CANCEL-REQUESTS () method is invoked on a SERVER handle, all non-complete asynchronous Web Server requests are cancelled. If an asynchronous request is currently running on a Web Server when CANCEL-REQUESTS () is invoked, the STOP attribute of the corresponding asynchronous request object should be set to TRUE. However, currently the CANCELLED attribute is set to TRUE. Note: OE00100789 Type: Known Issue Time zone information lost for XML data types gMonth, gYear, gDay, gYearMonth, --------------------------------RN# 100B-00162 ============== The XML Schema data types gYearMonth, gYear, gMonthDay, gDay and gMonth may include (optionally) time zone information. OpenEdge does not handle time zone information correctly for these datatypes. Any time zone input from the ABL is lost, as is any time zone information returned from a Web service for these datatypes. For example, "1953-10-4:00" becomes "1953-10". The one exception is that Z, indicating Universal Time (UTC), will be retained (e.g., 1953-10Z will remain 1953-10Z). Note: OE00102372 Type: Known Issue The RESPONSE-HEADER callback in effect on an async call may be overwritten. --------------------------------RN# 100B-00163 =============== The following sequence of events will cause the wrong Response Header callback procedure to run: 1. Call SET-CALLBACK-PROCEDURE() to associate a response header callback procedure with a web service procedure handle 2. Call an operation asynchronously via the procedure handle, 3. Call SET-CALLBACK-PROCEDURE() again to associate a different response header callback with the procedure handle before the response has been processed. OpenEdge will invoke the 2nd response handler rather than the one that was in effect when the operation was invoked. The correct behavior would be to invoke the response handler that was in effect when the operation was called. (A slight variation on this is that clearing the response handler before the call returns causes NO response handler to run.) Note: OE00103414 Type: Known Issue Data types defined in imported schemas are not seen by the WSDL Analyzer --------------------------------RN# 100B-00168 ============== When a WSDL document contains an XML Schema import element, the type and element definitions of the imported schema are not seen by the analyzer. A message indicating that a type or element definition could not be found will appear in

the generated documentation. To work around the problem, copy the xsd:schema elements (and their contents) from the imported schema document and paste them as children of the wsdl:types element of the WSDL document. Also comment out the xsd:import element in the xsd:schema element. Double check namespace prefix definitions to ensure the prefixes in the copied XML are properly defined and can be referenced by other parts of the WSDL document. Note: OE00106200 Type: Behavior Change Services hyperlink in data types document can be wrong --------------------------------RN# 100B-00169 ============== If a WSDL document describes more than one service, the Service hyperlink in the generated data types document will load a single service document, rather than the index document which will list all services described by the WSDL. This problem does not occur if only one service is described in the WSDL. Note: OE00123804 Type: Known Issue Memory violation when connecting to a Web Service on AIX 5.3 --------------------------------RN# 101A-00354 ====================================== In order to use WebServices on AIX 5.3 the minimum Operating System requirement is AIX 5.3.04. You can find the version of AIX you are running using the oslevel -r command. ================================================ WebClient ================================================ Note: OE00066810 Type: Migrated Additional Setup is Required on End-User Machine to Connect to AppServer --------------------------------This applies to SSL Web Servers that are secured using internally generated certificates. The <WebClient Install-Dir>/certs directory contains a readme file that provides instructions for running the mkhashfile.bat script to configure certificates on the end-users machine. The $DLC environment variable must be set to <WebClient Install-Dir> before running this script. If you are using internally generated certificates, you must provide instructions to your end-users on how to do this. In contrast, the Progress installation includes a set of publicly available and well-known CA certificates, such as Verisign, in the <WebClient Install-Dir>/certs directory. These certificates do not require any additional configuration. Note: OE00146960 Type: Known Issue The WebClient install does not accurately calculate disk space required --------------------------------RN#: 101A-00041 The WebClient install does not accurately calculate the amount of disk space required on the client side to do the install. Prior to the install the user

should probably have around 25 meg of available disk space. Some of this is for temporary storage of installation files. Note: OE00147866 Type: Known Issue Upgrading Windows Security package to run a WebClient application with SSL --------------------------------This note applies to an end-user installing and running a WebClient application over an SSL (https) connection. If the user gets the error "can't find requested security package," that user may need to update the Microsoft Windows Security package on that workstation. To determine if the user needs to update the Security package, have the user follow this procedure: 1) Run Microsoft Internet Explorer. 2) Select the Help -> About Internet Explorer menu item. 3) Locate the Cipher Strenght field under the Version field. If the Cipher Strength field displays zero (0), then the Security package for that workstation needs to be updated. 4) Record the information shown in the Version field. You'll need it to get the right download from Microsoft. To perform a Security package update, instruct the user to follow this procedure: 1) Go to the Microsoft Web site for Windows Internet Explorer Downloads: 2) At the site, follow the instructions for downloading and installing the "High Encryption Package". You can be do this from either Microsoft Internet Explorer or Netscape Navigator. 3) Select the Security package that corresponds to the version of Windows installed on your computer: * Select "Windows 2000 High Encryption Pack" for a Windows 2000 Professional or Server machine. * Select "Internet Explorer High Encryption Pack" for all other Windows versions. 4) After selecting one of these links, you go to the download page. Use the Version information you recorded earlier to select the correct Security package and then click the Download button. 5) Be sure to read and follow the "download and install instructions.". NOTE: International users must go to the Internet Explorer Home web page and activate the "International Sites" link. This allows a choice for the correct language version of the Security package. From here, follow the links to the "High Encryption Pack" downloads. Note: OE00147868 Type: Known Issue Do Not Use Notepad to Edit .htm Files --------------------------------Do not use Notepad to edit the webclient.htm file or bootstrap.htm file for customizing your application install. When Notepad saves the file, it changes the line terminator characters and may make the file work improperly in the browser.

Note: OE00147869 Type: Known Issue DLLs and EXEs That You May Have to Package with Your Application --------------------------------Be aware that there may be Progress-supplied DLLs or EXEs that are used by your application that are not included in the end-user WebClient install. Strictly speaking, these DLLs and EXEs are not a part of ABL. For example, there are some DLLS or EXEs only used during application installation. Other DLLS may be required if the application uses procedures in the adecomm or adeshar directories that indirectly use DLLs. Progress excludes them from the install to keep WebClient as small as possible and keep install time over the Internet as fast as possible. If you need any of these files to install or run your application, include them in your application installation. Examples of these files are listed below by category. DLLs used by some procedures in adecomm/adeshar: dirsrch.dll fileinfo.dll proprint.dll EXEs that could be used by your install: * ini2reg.exe * regsvr32.exe (A Microsoft tool usually, but not always, installed on a typical PC) Note: OE00148079 Type: Known Issue Codepage Issues with Strings Entered into the WebClient Assembler --------------------------------There are several strings entered into the WebClient Assembler that may be shown to the end-user when the application is installed. Notably, these are the Vendor Name, Application Name, and End-User Description strings as well as the names of application shortcuts. WebClient Assembler saves these strings in the application configuration file using the default codepage of the development machine. If the application is installed on an end-user machine that has a different default codepage, some of these strings may contain strange or unreadable characters. Note: OE00163255 Type: Known Issue MD5 Encryption Library Product Notice --------------------------------This product includes the RSA Data Security, Inc. MD5 Message-Digest Algorithm. Copyright (c)1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. ================================================ WebSpeed - SpeedScript ================================================ Note: OE00063189 Type: Known Issue WebSpeed does not use cpstream for input --------------------------------The WebSpeed Agent must be run with cpinternal = cpstream. This value must match the setting of the Content-Type charset parameter in the HTML. If there is a mismatch, data corruption could occur. The actual name of the charset used in the HTML should be the IANA charset name, which may differ from the Progress codepage name. See this webpage for a listing: The getmimecodepage() function can be used to get the IANA codepage name that

corresponds to a Progress codepage name. It is found in $DLC/prolang/getmimecodepage.p, which includes usage information. ================================================ WebSpeed - Tools ================================================ Note: OE00096070 Type: Known Issue The compileAll option in WebTools has a limitation of URL length of 4096 chars --------------------------------The compileAll option on AppManager in WebTools has a limitation of URL length being more than 4096 chars, depending of what web browser is being used. Try to limit the size of the compiles, number of files if you run into this problem. Note: OE00120838 Type: Known Issue The HTML Report and Detail wizards column format doesn't work --------------------------------The HTML Report and Detail wizards column editor displays blank format values and changing a format does not generate logic in the HTML to assignColumnFormat for the column. Note: OE00160917 Type: Known Issue Syntax check of HTMLfile larger than 18KB hangs WebSpeed Workshop --------------------------------The web browser-based WebSpeed Workshop hangs when checking the syntax of an HTML file larger than 18KB using the Editor tool. Saving and compiling of the same file works without a problem. ================================================ DB Navigator ================================================ Note: UNUM00000244 Type: Migrated Driver Class Name not automatically listed for OpenEdge driver --------------------------------If you open the Edit Driver dialog for the Progress OpenEdge JDBC Driver, select the Extra Class Path tab, and click List Drivers, the Driver Class Name field is not refreshed with the correct name. If this occurs and you accidentally change or remove the name, you must retype the correct Driver Class Name in the field (case-sensitive): com.ddtek.jdbc.openedge.OpenEdgeDriver

LIST OF ISSUES ADDRESSED IN THIS RELEASE: ================================================ Adapter for SonicESB Other ================================================ Issue Number: OE00148723 Incorrect code page conversions for non-ASCII characters The OpenEdge Adapter for Sonic ESB would incorrectly encode some non-ascii characters based on code-page settings of the Sonic container it was running in. This would produce incorrect character variables passed to an OpenEdge AppServer. ================================================ Adapter for SonicESB Tools

================================================ Issue Number: OE00162011 jms/impl/session.p compiled under incompatible display env When running session.p from the character client in windows the following error is returned: Program c:\dlc101c\jms\impl\session.r was compiled under another incompatible display environment. Cannot run without recompile. (4438) If the same file is run from GUI the error does not appear. ================================================ Adapter for SonicMQ Client Connect ================================================ Issue Number: OE00152157 getMessagePartByID not getting TempTable part from multipart msg getMessagePartByID does not get TempTable part from multipart msg Issue Number: OE00162513 getSession function does not return the handle to the session The getSession function does not return the handle to the session. ================================================ Adapter for SonicMQ Other ================================================ Issue Number: OE00148161 ABL-JMS API: setConnectionFile fails with secure broker The ABL-JMS setConnecitonFile does not read the username and password from the serialized java object (.sjo file). This results in conneciton failure if the broker is secure. To workaround the issue call the setUSer() and setPassword() ABL-JMS methods Issue Number: OE00152724 OE Adapter 10.1B: Startup parameter '-ttmarshal 5' causes (7181) The 4GL-JMS publish() or sendToQueue() methods will fail with the following error if the 'ttmarshall 5' client startup parameter is used: com.progress.open4gl.ProSQLException: Attempt to access data in incorrect order, or without calling next() (at column 5). ================================================ ADE Tools and Runtime ADE Common Tools ================================================ Issue Number: OE00111352 CANCEL button of the SAVE-AS closes Editor Window Clicking on the CANCEL button of the SAVE-AS dialog-box in the standalone Editor closes the window. This behavior is wrong, the CANCEL button in the SAVE-AS dialog should only close the dialog, and leave the Progress Editor opened. Issue Number: OE00148170 User defined function '<function>' already defined (S/E 2676)

A procedure which compiles/syntax checks successfully, fails with error 2676 when run: User defined function '<function>' already defined. Syntax checking the same procedure in the Procedure Editor does not result in errors. Issue Number: OE00163760 adeuib/_adm-row.p not found (293) in 10.1C In an effort to streamline the install some files were removed which were thought to be no longer referenced. ================================================ ADE Tools and Runtime Data Dictionary ================================================ Issue Number: OE00112332 Data Admin Tool loads seq .df with equal Initial & Upper values The Data Dictionary Administration Tool allows loading sequence from a .df files even if the Initial Value and the Upper Limit are the same which is not allowed with direct user interaction with Data Dictionary tool. Issue Number: OE00125796 Replication Toolkit should not create triggers for SQL92 tables. The Replication Toolkit Sample code was previously attempting to create 4GL trigger code for SQL92 tables. It should not create triggers for SQL92 tables. Issue Number: OE00126947 Mandatory fields are not marked as NOT NULL during protoodbc After running protoodbc to create database objects in UDB/400 using ODBC DataServer, the mandatory fields are not marked as NOT NULL in the generated SQL script. The result is that Progress mandatory fields are null capable in UDB/400. Issue Number: OE00135025 Connection parameters are truncated when edit using TTY clients When you run a character client to edit DataServer connection parameters that have been previously saved by a GUI client containing more than 4 lines, the parameters are truncated at the end of the 4th line when saved by the character client. Issue Number: OE00136202 incrdump.e already has a conflicting use. (99) When trying to create an incremental df for a database containing clobs and the clobs are in different areas, .e file is created but the message "incrdump.e already has a conflicting use. (99) " is displayed. Issue Number: OE00147106 Invalid incremental df after field rename and creation The incremental df may contain an invalid instruction after a field has been renamed and a new field has been added with the same name as the initial first field name. Issue Number: OE00154917

Dumping df needs POSITION awareness for binary load in Admn Tool When dumping a df file from the Administration Tool, there is a field that mentions that POSITION is needed for .r Compatibility, but it is also needed for Binary Load compatibility and should state so. Issue Number: OE00160201 oebuild _progres (orarx) causes error 560 accessing dictionary If you try to run the Data Dictionary with an oebuild _progres (orarx), you will see instances of error 560. Issue Number: OE00161408 Errors 12371 and 142 trying to load data for several tables Errors 12371 and 142 trying to dump data or definitions, or load data if you selected many tables (not all). Issue Number: OE00164229 MSS DS Delta SQL utility converts logical to int data type MSS DataServer Delta SQL utility converts OE logical data type to "integer" data type in both .df and .sql file. The FOREIGN-TYPE in the .df should be "TINYINT" instead of "INTEGER". Also the .sql should have "tinyint" instead of "integer". ================================================ ADE Tools and Runtime Deployment ================================================ Issue Number: OE00074425 Dataset Import gives already exists error Dynamics dataset import gives 'record already exists' errors when you try to remove a selected file after modifying the input directory to be one logical level higher than it was followed by refetching the file list. Issue Number: OE00094085 .edo errors generated while importing datasets are not displayed The .edo errors if an error occurs while importing a dataset should be displayed rather than having to examine db/icf/dump subdirectory to see if such errors occured. Issue Number: OE00117388 Dataset Export does not work with new defined datasets. If you try to use an entity created for a deployment and select "Select Modified", the correct records are not selected because the obtainDataVersionRec function looks for data version records for the primary entity. ================================================ ADE Tools and Runtime GUI Rendering ================================================ Issue Number: OE00073126 Foreign values not applied to joined SDOs when OpenOnInit is off If an open query is run in a child SDO immediately after it has been initialized with OpenOnInit false the query opens all records. If the parent is repositioned then the correct records is seen in the child query.

Issue Number: OE00075043 Duplicated Submenu Band items not displayed The toolbar creates an empty submenu items for Bands that are defined more than once on the toolbar in the Repository. The submenu should either not be created or the actions should be added. Issue Number: OE00082344 fieldcustom.p is missing fieldcustom.p is missing from the src/adm2/custom diretory. Issue Number: OE00088233 DataField Selection-list in Dynamic Viewer renders with HEIGHT 3 A DataField selection-list placed on a Dynamic Viewer renders with HEIGHT 3 at runtime. Issue Number: OE00089121 The toolbar checks the rules for all cached actions for a link The toolbar evaluates the rules for all cached actions for a particular link, not only those available in that particular toolbar instance. This behavior constitutes unnecesarry processing and serves no purpose at runtime. It does indirectly ensure that the linked target implements the expected link interface, but this check should in any case not be done at runtime. There are also cases where it would be simpler to only define the functions and/or properties referenced in the rules where they are needed. Issue Number: OE00090907 SDO deletes using stale data SDO's data used in delete*TransValidate can be stale - the data may have been changed by another user, but the delete will proceed. No error message or warning given and stale data will be used by the business logic, resulting in data corruption. Issue Number: OE00091281 Gray space shown when toolbar is disabled When the toolbar is disabled ('Use toolbar' option set to false) the toolbar's frame is still visualized showing a gray space in the window. The toolbar frame should not be visible at runtime when 'Use toolbar' is set to false. Issue Number: OE00093073 SDB changes are saved without confirmation on close of window If you close a window by clicking the X button and have unsaved changes in a SmartDataBrowser row, the changes are saved without any confirmation message. Issue Number: OE00093265 Dynamic SDB:searchField label no changed Whan changing the SearchField in a Dynamic SmartDataBrowser, the label of the SearchField fill-in is not changed.

Issue Number: OE00096181 Dynamic lookup join has an artificial limit of 10 tables When creating a dynamic lookup, the query that defines the lookup can only include up to 10 tables. It should be able to allow 18 tables, which is the physical limitation of the ABL query. Issue Number: OE00102142 Formatting incorrect when CR in Excel Export Carriage Return in character data is incorrectly formatted when exported to Excel. Issue Number: OE00102567 RETURN trigger defined only for FILL-IN Widget in Dyn Prop sheet RETURN trigger defined only for FILL-IN Widget in Dynamic Property sheet Issue Number: OE00102889 CTRL-PAGE-UP / CTRL-PAGE-DOWN events not firing in lookup CTRL-PAGE-UP / CTRL-PAGE-DOWN triggers does not change tabs when focus is in a dynamic lookup. Issue Number: OE00103082 A child SDO is not notified when the parent saves data An SDO does not notify child SDOs when data has been saved. This can cause visual objects attached to the child SDO to display incorrect data (and thus accept incorrect data as input) when the data accessed via the child SDO is updated by the parent SDO. Issue Number: OE00104066 Dynamic SBO fails with multiple concurrent updates When using a dynamic SBO to perform simultaneous updates to the SDO's that the SBO contains, changes to some of the fields can be lost because displayFields overwrites the changed values with the current values. Issue Number: OE00105660 The removeLink API can only remove the last created custom link When multiple similar custom links are added between smartObjects, the removeLink API can only remove the last one created. Issue Number: OE00108044 Containers can get scrollbars when page is changed Changing pages may cause scrollbars to appear in a container. This will happen if the container is resized to something smaller than it's original size as a result of the automatic resizing on page change. Issue Number: OE00109086 Dynamics reports Field(s) have been changed when they haven't Dynamics reports that "Field(s) have been changed by another user" when they have not. This is seen when character fields with arrays have data stored in the database with trailing spaces in them.

Issue Number: OE00110402 setBaseQuery before SUPER in initializeObject has no effect Changing the BaseQuery property before SUPER in initializeObject is fine to apply a filter to a dynamic SDO for a thin client. However, there are configurations where this has no effect, like when an SDO is used in a db-Bound session type. In this case it is necessary to push the changes to the QueryWhere or QueryString also. Issue Number: OE00110522 assignWidgetValue of lookup blanks LookupComplete parameter Calling assignWidgetValue to change the value of a lookup will fire LookupComplete, but the value of the parameter pcNewScreenValue is empty. Issue Number: OE00111760 enable/disableWidget() should work with READ-ONLY for Editors For all widget types except the EDITOR, enabling or disabling a widget should be a matter of setting the SENSITIVE attribute to respectively YES or NO. For the EDITOR widget however, enabling or disabling the widget should be a matter of setting the READ-ONLY attribute to respectively NO or YES, and it should always remain sensitive for scrolling. Issue Number: OE00112093 afcalcpopd.w does not handle error 74 properly afcalcpopd.w should handle error 74 with a Dynamics message Issue Number: OE00112772 READ-ONLY editor widget on SmartWindow is editable at runtime A simple READ-ONLY editor widget placed directly in a SmartWindow appears as editable when the window is initialized. Issue Number: OE00113302 Focus not applied correctly with disabled smartDataFields When the first field in a SmartDataViewer is a disabled dynamic Lookup then focus is applied to the next enabled field that is NOT a dynamic lookup (or SmartDataField). Issue Number: OE00113437 SmartSelect with wide SearchField causes error message 6941 A SmartSelect (browse type), using a large character field (i.e "x(250)") a SearchField will give error: **Fill-in widget does not fit in parent <parent widget id>. (6491) An attempt to select and save a record after this error causes a cancel of the update. Issue Number: OE00117666 The SDO does not return DB trigger errors from secondary tables If data is saved with an SDO built on multiple updatable DB tables and an error is returned from a DB trigger for the first table in the query then

DB trigger errors from the secondary tables will not be returned to the client. Issue Number: OE00118016 Failed commit of SBO with error in child empties child query If the commit of an SBO with changes on both parent and child SDO's fails due to errors in the child data, the child query is emptied. Issue Number: OE00119672 user-defined function 'setbuildsequence' not found PGEN code - BuildSequence and DescSubstitute attributes for dynamic lookups causes error 5639 for setBuildSequence and setDescSubstitute. Issue Number: OE00119892 Error 6491 using right-aligned toolbar band Error 6491 (widget does not fit in frame) occures if a toolbar contains a right-aligned band that hides and displays buttons depending on panel state. This happens if the container is resized to a smaller size before the panel state changed. Issue Number: OE00120170 The dynFrame does not support all containertoolbar actions The dynFrame does not support the okObject and cancelObject containertoolbar actions. Trying to invoke them results in an error. Issue Number: OE00120758 Window flashes running static code generated by 4GL Generator Window flashes when running the static code of a TreeView window generated with the 4GL Generator Issue Number: OE00123851 SmartSelect does not resize the Browse Window to fit the browse The SmartSelect, when viewed as a browse, no longer resizes the Window to fit the contents. Instead, you would get a small window with horizontal and vertical scroll bars. Issue Number: OE00124528 Consecutive PGEN of same object yield different source Running PGEN multiple times against the same object can yield different output source files Issue Number: OE00125459 Ghost plip records in ttPersistentProc in Session manager Dynamics Session manager uses the ttPersistentProc temp-table to store records for each running plip procedure, which should be removed when the plip terminates. However, after plip is terminated, ttPersistentProc still contains the record referencing that procedure. Issue Number: OE00125525

Dynlaunch.i does not return a RETURN-VALUE with thin client. When using dynlaunch.i to execute a procedure on the AppServer side, the RETURN-VALUE value of that procedure is not being returned to the client side, therefore the RETURN-VALUE will always be shown as blank. Issue Number: OE00127575 launch.i and dynlaunch.i not prepared for STOP condition in PLIP When using dynlaunch.i or launch.i to call a PLIP, if for some reason in the PLIP a STOP condition appears, the PLIP remains running. Issue Number: OE00132366 Export to Excel fails if a field contains XML If a field contains XML, exporting to Excel via the Smart Toolbar feature fails with 5890 and 5884 errors. Issue Number: OE00132406 Print Preview errors with some characters in field label Print Preview errors when you have a certain characters in the Field label Issue Number: OE00135291 Adding record in One to One SBO gives One to Zero relation error Adding records in SDO in a One to One SBO sometimes gives a meaningless error message: No Record Available. Table IO operations not supported on One-to-Zero. Issue Number: OE00135404 initializeVisualContainer's type check should use instanceOf() InitializeVisualContainer procedure in containr.p should use the instanceOf function instead of getObjectType to check for visual containers in order to not ignore any customized classes. Issue Number: OE00135542 ForeignValues are not propagated to second sibling on commit When creating new records in several child SDOs in one SBO, the ForeignValues are only propagated to the new record in the first child and not to subsequent siblings. Issue Number: OE00135760 Call to findRow inside unitialized SBO locks AppServer Using findrow on an SDO within a SBO that hasn't been initialized will lock up a stateless appserver Issue Number: OE00136081 Entering data in a Dynamic Lookup date field gives ABL errors You will get ABL error messages about invalid date format as soon as you enter data into a Dynamic lookup on a date field. Issue Number: OE00136113 Pressing F5 to refresh SDB loses the currently selected row Pressing "F5" to refresh a SmartDataBrowse loses the currently selected

row. Issue Number: OE00145546 assignTableContext signature mismatch error on save with context There is a parameter missing in the call to assignTableContext in dataContainer.p on save of data in a DataView. This will result in an error indicating that the function and call signatures do not mach if the save returns data in the optional context parameter. Issue Number: OE00145576 SmartToolbar on hidden page is displayed at initialization SmartToolbar on hidden page is displayed at startup page at initialization of the container. Issue Number: OE00145869 DataView does not refresh tables only in the "view" on Add. A table that is defined to be in the "View", but not in the "Join," is not refreshed on Add. Issue Number: OE00145874 Cannot Save or Cancel new record that has returned ERROR on Save The DataView cannot Save or Cancel a newly added record that returned error on previous Save Issue Number: OE00147021 Error in resizing frames when changing pages on a SmartWindow A SmartWindow that has been changed so that the preprocessor &frame-name points to another frame than the one created automatically by the AppBuilder might resize the frame when the user changes pages. Issue Number: OE00147157 InitPages does not initialize objects in initialized container InitPages does not initialize the objects on the nominated page if the container has already been initialized Issue Number: OE00147231 addForeignKey in dataquery.p uses comma as separator, not chr(1) addForeignKey in dataquery.p (for DataView) separates foreign values by comma and not by chr(1) as expected. This could cause problems with the foreign key assignment in add and save operations of child DataViews if the ProDataSet relation has multiple fields. Issue Number: OE00147418 Translating Static SDV fill-in in rectangle causes them to shift Translating Static SDV fill-in labels when the fill-ins are inside in rectangle causes them to shift position as expected; however, the rectangle doesn't change position or sie correctly. Issue Number: OE00148080 Entry trigger fires before displayRecord in Viewer A SmartDataViewer entry trigger defined for the first field on the screen

fires before displayRecord. Issue Number: OE00148378 getCurrentPage is 0 in initializeObject called from initPages The function getCurrentPage has changed to return 0 in initializeObject when a paged object is called from initPages. Issue Number: OE00148385 DataView does not report server message on single delete Error messages from Delete triggers or from business logic for deletes don't show up in the adm2 when the DataView tried to perform a single delete. The only message shown is the standard adm message 23. Issue Number: OE00149821 Container might start with all initted Pages visible A container that uses initPages to initialize objects before itself is initialized will start with all the initted pages visible. Issue Number: OE00150167 Pass of expression to super in setQueryWhere override fails Overriding the setQueryWhere function of a SmartDataObject so that it passes a query expression to its super gives error message about "Unknown or ambiguous buffer reference". Issue Number: OE00152424 Window is reinitialized when Multiple Windows option is off A Window is reinitialized on each launch when the option to launch Multiple Windows is unchecked. Issue Number: OE00152509 Message not displayed in the message box when first come up The standard message boxes (afmessaged.w and afmessagew.w) show a blank message summary page when they are first opened. This is due to the line {set HideOnInit yes~ in the initializeObject procedure, which is no longer required due to other code changes. Issue Number: OE00153093 Inconsistent SDB and SDV state with multi level dyndataviews When an application has 3 dyndataviews linked as parent - child grandchild with accompanying visual components. The SDBs and/or SDV linked to the 3rd might get enabled when the second SDO has no records Issue Number: OE00153412 highlightWidget in rowDisplay colors fields outside of DynSDB Calls to highlightWidget in a DynSDB rowDisplay procedure end up highlighting fields in other objects. Issue Number: OE00154161 Error "Duplicate DEFS.." on launch of child container instance You get an error message about "Duplicate DEFS request for <BusinessEntity>

<DataTable>" if you try to launch a second instance of a child container with Dataview instances when the parent container also has DataViews. Issue Number: OE00154939 The Dynamic call wrapper does not support DATETIME The Dynamic call wrapper launch.i does not support DATETIME and DATETIME-TZ data types. This results in error 223 when trying to call a plipp passing such data types as parameters. Issue Number: OE00155143 The deleteTree API defined in src/adm2/treeview.p can't work The deleteTree API defined in src/adm2/treeview.p can't work as it uses the wrong field name to refer to the tTreeData temp-table. The function is not used by the framework, but should still be correct. Issue Number: OE00155687 initPages hides child SmartObjects on pages not viewed If InitPages is used to initialize objects on a page that is hidden at startup, then child SmartObjects, like SmartSelects on Viewers or SmartObjects on a SmartFrame, will remain hidden when the page is viewed. Issue Number: OE00156052 repositionRowObject in dataquery.p fails to find correct record The function repositionRowObject in dataquery.p is not finding the correct record. It uses the statement hRowObject:FIND-BY-ROWID(TO-ROWID(pcRowident)) NO-ERROR. This will fail with SDO instances where the input parameter pcRowident can be a comma separated list. Issue Number: OE00157706 assignQuerySelection and addQueryWhere fail with "BY" in operand When using addQueryWhere and/or assignQuerySelection multiple times to append query predicates in an SDO and the word " BY " is used in the value being compared, then a second, or subsequent usage of these query methods will cause errors at runtime. Issue Number: OE00158721 Order of AddLink may disable SmartToolBar actions on cancel The order in which the RUN AddLInk statements are generated may cause the Add, Delete, Copy, Save and Undo buttons of the SmartToolBar to de disabled if the user clicks the Update Record button then the Cancel Button. Issue Number: OE00159477 SmartDataViewer goes blank after user updates & saves a record A SmartDataViewer can become empty after the user updates and saves a record when running on a local connection and the SDO's RowObjectValidate hook is traversing the RowObject table with a for each block. Issue Number: OE00161379 DynLookup renders folder over of initial page when using PGEN When running Generated Code for the DynLookup (dynlookw object), any DynLookup SmartDataField will not be displayed properly when first opened.

The Lookup browse will not be visible until the window is resized or the pages are changed. ================================================ ADE Tools and Runtime Services ================================================ Issue Number: OE00090106 Dynamics error and message handling displaying incorrect message Using the error and message handling facility of Dynamics results in incorrect message to be displayed. Issue Number: OE00099105 aferrortxt.i displays user name and password information When using aferrortxt.i the ADM2Message 'Appserver Information' folder displays the User name and User password database connection parameters and values. Issue Number: OE00100384 Dynamics DataFields data type can be saved with the wrong format Dynamics Entity Maintenance for the DataFields allows saving the datafield's data type with the wrong format, which might cause errors 22 and 9052. Issue Number: OE00126836 Dynamics Global translations do not work with static objects Dynamics Global translations of TAB and TITLE elements static objects do not work with

Issue Number: OE00149607 session_time_source in Dynamic XML file gives error 1021 When setting the property session_time_source in a Dynamics XML file, it gives error 1021 (database not connected) at startup, even though the session time will be set correctly. Issue Number: OE00150869 getEntityDisplayField should use Quoter function getEntityDisplayField does not report any auditing details in dynamics when used with European decimal separator. ================================================ ADE Tools and Runtime Tools ================================================ Issue Number: OE00070929 F1 brings up generic Help file if PRO*Tools is running When running a window, hitting F1 should bring up the custom application-specific Help file. However, if PRO*Tools is running, the generic OpenEdge Help file comes up instead. Issue Number: OE00073381 Dynamic Browse columns not wide enough for DATE fields Dynamic Browse does not make columns wide enough to support DATE fields

Issue Number: OE00088087 Calculated field order is changed in SDO column editor When using calculated fields with a static SmartDataObject, if the order of the calculated fields is modified in the SDO properties Column Editor, adding new fields to the SDO will change the order of the fields. Issue Number: OE00090022 Labels disappear on SmartDataField Maint The labels for the Maintenance SDO and Maintenance Object lookups on the second tab (Other) for a DynLookup disappear when switching to DynCombo and then back to DynLookup again. Issue Number: OE00092104 The Y position set in pixels for a FRAME is lost when reopening Setting Y coordinate of frame's property via AppBuilder GUI does not update the source code. This causes the change in the Y pixel-scaled value to be lost after saving and reopening the window. Issue Number: OE00095499 Error 4060 in Dynamics SmartFolder object properties Accessing the Dynamics SmartFolder object properties and changing the 'Index' combo-box value on the second tab folder, yields the error 4060. **Attribute <attribute> for the <widget id> has an invalid value. (4060) Issue Number: OE00101082 Dynamic SmartDataField names with spaces result in error 560 If a dynamic Lookup or dynamic Combo is named with a name that includes a space, then when a viewer is openend that includes such a smartDatafield, this will result in an error: Entry 2 is outside the range of list ... . (560)

Issue Number: OE00103545 Object Attribute Reference Protool is missing objects The Object Attribute Reference Protool is missing support for a number of new core objects that were added in the later releases. These objects include: dataset data-source soap-fault soap-fault-detail soap-fault-header soap-header sax-reader soap-header-entryref call Issue Number: OE00103780 Images do not load in AppBuilder if using a relative path When linking an image widget to a file using a relative path, the

AppBuilder would fail to load the image and report an error. Issue Number: OE00104049 Query Builder in SDF Maintenance Drops 'OF' from Query Build a query in the SmartDataField Maintenance tool using the Query Builder that includes the keyword 'OF' option in the query (eg. EACH table OF table), saves the query correctly. On reopening the instance properties of the SDF maintenance and starting the Query Builder, the 'OF' is removed from the query Issue Number: OE00104050 Dynamics with European format- problem with numeric fill-ins Using a Dynamics with session_numeric_format = 'European', and changing the format for decimal or integer fill-ins in the AppBuilder Property Sheet gives errors 22 ** Character number 5 of format ->>.>>9,99 is invalid. (22) Issue Number: OE00110737 Tooltip containing ? when blanked in classic property sheet When a tooltip is cleared in the classic property sheet, then it leaves a ryc_attribute_value record with ? (seen in the Dynamic Property Sheet), which leads to an unexpected tooltip with .?. at runtime. Issue Number: OE00119954 PGEN: container with apstrophe in translated title won't compile If a window title translation contains apostrophes and the container is generated with translations, the .pgen file fails to compile. Issue Number: OE00120583 TTY Editor Save As Can Cause File To Be Saved To Wrong Directory Doing a File/Save As from the Character Mode Procedure Editor and selecting a different directory than the current directory to save the file into will cause the file to be written to the original directory. Issue Number: OE00126918 Dynamics or ADM2 cannot be compiled Some Dynamics or ADM2 source files have references to adeuib. Adeuib is not longer shipped thus these source files cannot be compiled. Issue Number: OE00127130 Dynamics tools can't handle more than +/-250 product modules Dynamics development tools can not safely handle more than approximately 250 product modules. When this limit is reached, a number of the product modules will not be available in the product module DynCombo fields used throughout the tools. Issue Number: OE00127632 SmartDataObject property sheet truncates Appserver name The Service Parameter Maintenance tool allows a partition name of 25 characters while the SmartDataObject property sheet defines it with a format of "X(23)" and truncates partition names longer than 23 characters.

Issue Number: OE00132500 Dynamics Export to Excel now exports trailing spaces When exporting data to Excel using Dynamics, trailing spaces are included in the Excel data. Issue Number: OE00133628 Appbuilder doesn't save smartDataBrowse column string attributes When adding string attributes to a smartDataBrowse column, if the browse is saved and re-opened, the attributes do not appear to have been saved. Issue Number: OE00134118 Changing data type of widget in AppBuilder causes errors Double clicking on a FILL-IN widget in the AppBuilder and changing its data type from DATE to INTEGER causes errors 22 and 4058. Issue Number: OE00134646 PGEN fails with SE 560 for dynSDO with translated entities PGEN fails with error 560 when generating a file for dynSDO for which entity translations exist. The error is raised for dynSDo with a join of two tables (SDO must have more than one table) and entity translations for some fields. Issue Number: OE00136196 Cannot add widget to frame in dialog window in AppBuilder When adding a widget to a frame inside dialog using the AppBuilder, the widget would get parented to the dialog window instead. Issue Number: OE00149261 Can't choose StaticSDO changing Data Source Name In the Repository Maintenance Tool, you can't choose a static SDO for the Data Source Name due to incorrect query Issue Number: OE00149651 Syntax Error compiling afgenenimv.w - double byte code page CP93 Syntax Error compiling afgenenimv.w under double byte code page CP936. Issue Number: OE00152607 Focus not set in dialog when using the Widget List in AppBuilder The "Widget List" tool dialog cannot be used to select widgets inside of a dialog. When the OK button is pressed in the "Widget List" tool, the widget focus is lost. Issue Number: OE00153336 Browse query definition does not qualify table names Browser query definitions in AppBuilder does not qualify database names, even if the option "Qualify database name" is enabled. Issue Number: OE00153909 SmartBrowser converted to Freeform change FIELDS-IN-QUERY list

SmartBrowser converted to Freeform change FIELDS-IN-QUERY list by adding the VIEW-AS option, causing errors in compile time. Issue Number: OE00157946 AppBuilder generate errors 76, 74 & 4078 Opening a Window AppBulider errors 76, 74, 76, 74 & 4078 when open a window that has an INT64 FILL-IN with its VIEW-AS-TEXT attribute checked. Issue Number: OE00159379 AppBuilder generates warning for initial value of radio set When defining the initial value of a radio set, AppBuilder would display an error although the initial value is acceptable. Issue Number: OE00159804 Closing Excel during export in Security tool gives errors If the Excel application is shutdown during Export to Excel from Dynamics Admin > Security > Security Control > Security Enquiry you will get several error messages. Afterwards, the Security Enquiry Screen will hang until the "Refresh" button is pressed. ================================================ ADE Tools and Runtime Webspeed ================================================ Issue Number: OE00113011 The delete button in the Workshop record browse does not work The delete button in the browse based WebSpeed Workshop (Data Browser -> Table list -> Record browse -> Record Detail) does not work. Only add and update work. ================================================ ADE Tools and Runtime WebTools ================================================ Issue Number: OE00135373 Webspeed text File Upload is not working on some files Webspeed ASCII File Upload feature is not uploading files to the intended directory if the file has a registered extension ================================================ AdminServer AdminServer ================================================ Issue Number: OE00158607 Wrong classpath in replcp_env file The replcp_env script file has a wrong path reference to jars directory instead java directory ================================================ AppServer Agent ================================================ Issue Number: OE00145600 Unable to start appserver agents in specific port range on Linux The bug results in running out of available ports in the specified range for intended number of agents. Errors during AppServer initialization.

Issue Number: OE00151000 SESSION:EXPORT ignores wildcards Specifying a wildcard (i.e. someprogram*.p) as a parameter to the SESSION:EXPORT method is ignored. Issue Number: OE00154279 The Single-run AppServer verbose logging is inadequate The Single-run AppServer verbose logging is inadequate and should provide more detailed information. Issue Number: OE00155737 AppServer crashes with large SESSION:SERVER-CONNECTION-CONTEXT The AppServer agent (_proapsv) can crash when the value of the SESSION:SERVER-CONNECTION-CONTEXT attribute exceeds 450 characters and the srvrLoggingLevel is VERBOSE or higher. The problem does not happen if the srvrLoggingLevel is BASIC. Issue Number: OE00159976 AppServer agent may crash after resync When an error condition causes the AppServer to resync itself, it may crash later if persistent procedures that have database or temp-table references are still around. Issue Number: OE00160855 PURG locks get left in the database lock table after undo If an ABL sub-transaction containing row creates gets undone this will leave PURG locks in the database lock table after the transaction ends. If enough of these accumulate over time then this could cause the database to abnormally shutdown with a lock table overflow condition. ================================================ AppServer Broker ================================================ Issue Number: OE00125534 When trimming AS/WS agents, the broker might hang on shutdown WebSpeed/AppServer broker might hang on shutdown when -trim has been used before. Issue Number: OE00126494 Quotes not removed from -param parameter When the value passed to -param contains quotes and spaces, the value may be handled differently depending on the platform. Issue Number: OE00153438 Appserver agent appears to hangs when exiting. Appserver might appear to hang when terminating or being trimmed under a very specific situation. ================================================ Auditing Tools ================================================

Issue Number: OE00157350 Cannot deactivate auditing table indexes after activation Once you run an idxbuild all & the indexes are activated, you cannot deactivate the indexes in the auditing tables through the Data Dictionary or proutil. ================================================ DATASERVER DataServer ================================================ Issue Number: OE00152614 DataServer generates wrong SQL when WHERE contains logical DataServer generates wrong SQL when WHERE contains logical resulting in wrong results being returned Issue Number: OE00152711 MSS/ODBC DS broker err and terminate editor if -U or -P is wrong MSS/ODBC DataServer broker causes errors 6179, 28000 and 6142 and terminates the procedure editor when user-id and/or password is wrong for the foreign database. ================================================ DATASERVER DB2 ================================================ Issue Number: OE00145625 ILLEGAL SYMBOL error on FIND statement with DATE field On running a FIND statement with a where condition on DATE field (against a DB2 schema holder) gives ILLEGAL SYMBOL error. ================================================ DATASERVER MSSQLSRV ================================================ Issue Number: OE00127261 Error 83 when the default value for the varchar field is 0 Error 83 occurs when the default value for a varchar field is set to numeric 0 (zero) in the SQL Server Issue Number: OE00128875 Connection parameters ignored when extra -Dsrv parameter in .pf Connection parameters ignored when specifying extra -Dsrv parameter in .pf file Issue Number: OE00135889 Supporting LONGCHAR parameters to SEND-SQL-STATEMENT SQL strings passed into the SEND-SQL-STATEMENT buffer of the RUN STORED-PROCEDURE statement were previously limited by the size of an OpenEdge record buffer. Issue Number: OE00147201 Error 8812 during the creation of record onMS SQL Server Lock timeout error 8812 is seen in the AppServer log file during the creation of the record on the SQL Server through 4GL write trigger.

Issue Number: OE00147514 S/E 6175 when running a SQL-89 style query against MS SQL Server S/E 6175 is generated when running a SQL-89 style query against MS SQL Server Dataserver. Issue Number: OE00149489 MSS DataServer generates error modifying data after VALIDATE MSS DataServer generates incorrect SQL syntax when new record is created, validated and then modified again. The record is not added to the SQL database Issue Number: OE00151726 Null values "?" not sent from Progress on creating new records Null values "?" not sent from Progress on creating new records

Issue Number: OE00155226 String rowid comparison doesn't work with MS SQL DS When used STRING ROWID comparison on the WHERE clause of FOR EACH Statement, the query does not work. Issue Number: OE00155843 Query w/exclusiive-lock causes error 444 with MSS DS w/utf-8 For Each query with EXCLUSIVE-LOCK causes error 444 with MSS DataServer with utf-8 data type Issue Number: OE00158841 SQL Large ntext field displayed as garbage using find statement In SQL server unicode environment, large SQL ntext field is displayed as garbage when using find statement Issue Number: OE00159429 Missing right bracket in the Dataserver SQL statement A joint condition with a 'matches' or 'begin' in the ABL query results in a corrupted SQL query with a missing right bracket. Issue Number: OE00159449 Left bracket in where clause does not work correctly Square brackets are used in (Microsoft's) SQL to indicate a possible set of characters. For instance: select * from item where item.itemname like 'ab[cde]' fetches items which begin with string 'ab' and end with 'c', 'd' or 'e' so possible matches are 'abc', 'abd' and 'abe'. Now it seems that Dataserver passes the brackets intact. It should add some escape sequence with the left bracket sign. Issue Number: OE00160094 MS SQL Data Server generates 12370 7636 and resyncs client When error 12370 and 7636 are encountered, the data server will attempt to resync the client, causing the client not to recover gracefully

Issue Number: OE00160250 Query w/extent field variable >9 doesn't work w/MSS DS 4GL Query with extent field variable greater than 9 does not work with MS SQL Server DataServer Issue Number: OE00160255 SQL srv communication links error causing app server not usable Once SQL srv communication links error is encountered for various reasons, the app server could become not usable even agents report being available Issue Number: OE00162713 14K sz rcd written to sql db then read back with find error out When records that is close to 14K in unicode environment get written to database, then read back with "find", is read with larger size, thus generating errors 5196 and 138 Record returned from fdfnd is too large; size= 32628 (5196) ** Customer record not on file. (138) Issue Number: OE00163021 prowin32 gpf during the reposition on the browser GUI Client (prowin32.exe) gpf during the reposition of the record on the data browse ================================================ DATASERVER ORACLE ================================================ Issue Number: OE00093884 Bulk insert with null values causes logical corruption in Oracle Bulk insert on records with null values will insert unpredictable records in Oracle database, causing logical data corruption. No errors reported. Issue Number: OE00102528 Format for NUMERIC fields too short for negative values The format used to exchange field data with Oracle would be too short to allow negative values, resulting in error 74. Issue Number: OE00106411 QUERY-TUNING gives errors 48 or 49 when using memory mapped .pl Statemet with QUERY-TUNING executed against Oracle DSRV gives errors 48 or 49 when memory mapped .pl are used. Issue Number: OE00108257 Error ora-1840 using date in the where clause Error 'ORA-01840: input value not long enough for date format' when using multiple date field into where clause. Issue Number: OE00115370 Error 1455 when retrieving data from Oracle database When running a query (FOR EACH, FIND) with a character field X(1024) in a WHERE clause, and the value of the character field in the WHERE clause

contains more than 998 characters, the error 1455 appears: WHERE clause buffer overflow. (1455) Issue Number: OE00122016 Cursor based output into the proc-text-buffer not working Cursor based output into the proc-text-buffer not working Issue Number: OE00133238 DSV: WHERE clause is ommitted when it contains IF,THEN condition Oracle DataServer: The WHERE clause is ommitted when it contains a IF..THEN... condition. This can cause a full table scan. Issue Number: OE00134924 Oracle DataServer client crashes due to violated constraint Using deferred constraint, when the constraint is violated the Progress client displays the "SYSTEM ERROR: ORACLE Commit err 0 (1476)" error message, and then crashes. Issue Number: OE00136072 Error 1461 when Oracle view contains Oracle ROWID data type Error 1461 appears when an ORACLE view contains the ORACLE ROWID data type as column: Schema holder does not match database schema -- file field . (1461)

Issue Number: OE00148606 Upper function generated for a shadow column on Oracle DS Upper function generated for a shadow column on Oracle DS Issue Number: OE00150562 GPF when connecting to a Oracle schema holder with _PROGRES GPF occurs when connecting with _PROGRES to a Oracle schema holder running in multi-user mode. If using self-service connection then _PROGRES crashes; if using client-server connection then database server (not broker) crashes. Issue Number: OE00151489 Error 3782 with dynamic BY clause against Oracle DSV If query contains 2 tables and the field used for the BY clause is in the linked table, then error 3782 is generated for each record returned. The data is returned correctly though. Issue Number: OE00151516 Error 196 compiling a program against Oracle Error 196 compiling a procedure against Oracle and not against Progress Issue Number: OE00153250 -c parameter not applied if -H -S used with Oracle DataServer

The -c parameter is not applied if -H -S used with Oracle DataServer; -c defaults to 84 instead. Issue Number: OE00154845 Char field display the field info plus the next field when inserting records in a particular table, one specific character field after inserting and displaying, it displays the inserted information plus the char from the next field Issue Number: OE00156304 ORA-01008 and memory violation with CAN-FIND against Oracle DSRV 4GL code using CAN-FIND causes a memory violation when running on SUN Solaris 10, with 10.1B and Oracle 10g R2 database. Dataserv.lg contains Oracle error: ORA-01008: not all variables bound Issue Number: OE00161147 Fnding same record in 2 dynamic buffers returns 2 ROWIDs Using the DataServer for ORACLE, when finding the same record in two dynamic buffers results in two different ROWIDs. The second ROWID contain extra information. ================================================ DATASERVER PODBC ================================================ Issue Number: OE00148873 Carriage return and the line feeds displays as garbage char The records are being displayed with garbage characters when there is a carriage return and line feed in the database records with OE 10 ODBC DataServer. The Progress/400 client shows the record correctly. Issue Number: OE00151335 Descriptor mismatch error during the data insert through ODBC DS The following errors are apparent when inserting data through the ODBC DataServerto DB2/400: [DataDirect][ODBC DB2 Wire Protocol driver]Optional feature not implemented. (0) [DataDirect][ODBC DB2 Wire Protocol driver]Descriptor received does not match associated data. ================================================ DB bk ================================================ Issue Number: OE00158161 Error messages in log show dashes in place of error number Repeated error messages in the database log show dashes (-----) of the error number when using multiple databases. ================================================ DB cx ================================================ Issue Number: OE00117786 in place

IDXFIX online causes memory violation A memory violation may occur if IDX corruption is detected when running idxfix online. Issue Number: OE00135869 errors 8780 and 8779 upon upgrading to 10.1A Errors 8780, 8779 occuring in databases Issue Number: OE00151024 Add DB name to promsgs error (40) Add DB name to promsgs error (40) Issue Number: OE00160922 Database hangs during an AI roll forward The database hangs when performing an After Image roll forward. ================================================ DB db ================================================ Issue Number: OE00128089 Prolog command always returns a return code of 2. Prolog command, either offline or -online, returns a return code of 2 even if successful. Issue Number: OE00133699 Cannot spawn secondary login brokers/proc via AdminServer. Intermittently cannot spawn secondary login brokers and background processes like APW, BIW or WDOG against a database started via the AdminServer when ran as a Service. Same processes start successfully when initiated from command like or bat/script file. Issue Number: OE00134973 Unable to use UNC pathing AI Extents cannot be archived to a Windows UNC path. Issue Number: OE00147103 Audit enable corrupts utf-8 database - errors 1106, 23, 11206 After enabling auditing on database with ICU collation (converted from 10.0B), adding table, idxbuild gpfs. Issue Number: OE00147816 CPU leak with _mprosrv -m1 processes CPU leak occurs by _mprosrv -m1 processes over time when database is started with the -H and -S parameters. Issue Number: OE00148573 Space Allocation and RM space usage with Type II storage areas Excessive disk usage to store records within a type II storage area.

Issue Number: OE00150765 Database crashed: rmdoins 1: pbk->free went negative dbkey Running code to change records in a 10.1B database results in system error:rmdoins 1: pbk->free went negative dbkey (822). This is followed by a (439) error and a user died with 1 buffers locked bringing the database down. Issue Number: OE00151320 Add database name to bkioread error (9451) Database name added to error message 9451. Issue Number: OE00151322 Include Database name with System Error 210 Include database name with the following error: SYSTEM ERROR: Attempt to read block 32 which does not exist. (210) Issue Number: OE00153678 OpenEdge does not scale as expected when adding CPUs OpenEdge read operations do not scale when adding more CPUs (16+) to the machine. Issue Number: OE00154853 Memory leak in 10.1B _mprosrv when accessed by pre-10.1B client Memory leak in 10.1B _mprosrv when accessed by pre-10.1B client. Disconnect of client results in: (1149) SYSTEM ERROR: ncsbuf/nssbuf rmallocdll out of memory for message buffers. Issue Number: OE00159156 _mprosrv runaway with CPU due to _poll call _mprosrv process pegs CPU at 100% on HP-UX 11.3 due to poll call ================================================ DB DBTLS ================================================ Issue Number: OE00146435 Audting event error handling causes client disconnection Auditing event error when shared schema and table lock are not obtained. Error handling messages causes client disconnect. Issue Number: OE00148117 Bulkload into Type II area generates memory violation. Bulkload into Type II area generates memory violation. Issue Number: OE00160609 DBTOOL record validation scan incorrectly reporting errors The DBTOOL Record Validation scan option incorrectly reports errors for records that are valid and do not have inconsistencies. The errors that you may see are: Number of fields mismatch. Expected <literal><</literal>num>, got <literal><</literal>num> There were 1 error(s) found in <literal><</literal>num> of

<literal><</literal>tab>(198). ================================================ DB dbutil ================================================ Issue Number: OE00131733 prostrct addonline -validate prostrct addonline -validate with new areas defined states errors when there aren't any. Issue Number: OE00150262 dumpspecified fails with met criteria and descending indexes Proutil -C dumpspecified does not dump records from table when the condition is met but the index is defined as descending. Issue Number: OE00156493 AI Archiver isn't disabled when restoring a database backup AI Archiver isn't disabled when restoring a database backup using prorest Issue Number: OE00157359 CURRENT-VALUE function incorrect after enableseq64 proutil -C enableseq64 may not be able to convert an existing sequence with current value of "0" correctly into 64 bit. The CURRENT-VALUE function may return wrong results after using 10.1B proutil to enable 64 bit sequences on a database that was created prior to 10.1B. Issue Number: OE00157526 Cannot delete auditing record with idxfix Idxfix option 6 will not delete an auditing record. ================================================ DB dsm ================================================ Issue Number: OE00150142 Extend quiet point nolock messages to include ai sequence number Quiet point nolock message changed to include ai sequence number. ================================================ DB lk ================================================ Issue Number: OE00135298 _Lock table is not populated when -L > or EQ to 74704. _Lock table is not populated when the database has a -L > or EQ to 74704. Issue Number: OE00151942 lkcncl: invalid call (432) error causes database shutdown Database shuts down abnormally with error 5292 after disconnecting dead user with errors 432 and 5142. This occurs during dead user cleanup when the cleanup of a dead user's locks also releases any other locks in the same lock chain. Later, one of the other users goes to release its locks only to discover that they're no longer there. This bug only occurred if the user held a lock outside a transaction. It was introduced with the

performance enhancement of user lock queues in 10.1B. Issue Number: OE00157714 Server shuts with error (11697) Server shuts with error (11697) SYSTEM ERROR: lkTableLockUpdate:.. ================================================ DB NET ================================================ Issue Number: OE00110769 Error 49 in client when remote server terminates abnormally When a remote database server terminates abnormally, some clients terminate abnormally with error 49 or 794 instead of reporting that the connection was terminated. Issue Number: OE00148917 Error 793 when starting database on Linux with high -Ma A Linux limitation prevents the database server from using more than 1024 sockets in a single database server, causing error 793 when -Ma is set higher than 1022. ================================================ DB Other ================================================ Issue Number: OE00111981 Performance with WG database license on Xeon CPUs Performance of the Workgroup Database decreases when adding CPUs on Xeon systems. The more processors in the system, the greater the effect on overall efficiency and response time. Issue Number: OE00118761 Remote client servers dying randomly with SYSTEM ERROR (2710). Remote client servers dying randomly with SYSTEM ERROR (2710). Issue Number: OE00126926 Idxfix failing with memory error (49) yet IDXBUILD succeeds. Idxfix failing with memory error (49) yet IDXBUILD succeeds. Issue Number: OE00146462 _UserLock VST table does not report locks if -L set too high If the -L startup parameter of the database is set above 75000, the _Userlock VST table will not report Issue Number: OE00148128 Server Heap Overflow Vulnerability _mprosrv crashes due to a heap overflow Issue Number: OE00156247 Enabling auditing with ICU-UCA collation causes corruption Auditing table indexes become corrupt when auditing is enabled while the database is using ICU-UCA

Issue Number: OE00163101 _SQLSRV2 processes die when multiple users are connecting _SQLSRV2 processes die when multiple users are connecting, causing servers to be respawned and/or bringing down the database. ================================================ DB probkup ================================================ Issue Number: OE00148944 Prorest verify fails with CRC error Prorest verify fails with CRC error if more than 128 volumes are used for the backup Issue Number: OE00149204 Restoring 64-bit probkup with 32-bit binaries fails on linux Restore of 64-bit offline probkup file with 32-bit binaries (and vice-versa) fails with error (11056). ================================================ DB promon ================================================ Issue Number: OE00161059 promon Lock Table maxes out CPU 100 and can lead to no connects promon -> R&D -> Status Display -> Lock Table -> Display all entries will max out the CPU to 100% when executed and on some systems can lead to no more connections possible to a database when still executed (the Lock Table query). ================================================ DB PROSTRCT ================================================ Issue Number: OE00149698 Prostrct reorder ai fails with (12196) if all AI extents LOCKED If all AI files become LOCKED and the database shuts down, if you add additional AI areas and run prostrct reorder ai, prostrct will produce error 12196 and fail. Issue Number: OE00149699 addonline hangs if all AI extents LOCKED If all AI extents are locked and the database has stalled due to -aistall, if you attempt to add additional AI extents online using prostrct addonline, prostrct will hang. Issue Number: OE00156282 prostrct addonline -validate gives floating point exception. Doing a prostrct addonline with -validate terminates with SYSTEM ERROR: Floating point exception (50). Issue Number: OE00158630 prostrct repair fails -Shared mem access permission denied(1136) When running a prostrct repair on a database, the command may fail with a

Shared memory access permission denied (1136). ================================================ DB proutil ================================================ Issue Number: OE00115846 Active proshut session locks shared memory when db is stopped On Windows, if a proshut session is started on a database, and another proshut session shuts the database down, the proshut session which is still opened causes shared memory to stay in use. Any subsequent attempt to start the database up or access it will fail with error 1260. Shared memory in use by another process. (1260) Issue Number: OE00120677 Idxfix 'Build indexes from existing indexes' Prompts Clarified Prompts should make it clear to the user when asking for the source index and the index being built. Issue Number: OE00125376 idxfix, option 6 may remove records unexpectedly. proutil -C idxfix, option 6 "Delete one record and it's index entries". If an invalid area number is entered at the prompt: "Type the area for the recid(s)", then idxfix will delete the records with the specified RECID from ALL areas. Issue Number: OE00129030 idxfix activates an index when a recid range is specified idxfix activates an index when a recid range is specified when only some of its entries are valid, resulting in 1422 errors on the invalid ones Issue Number: OE00129164 Bulkload fails to load records with datetime-tz fields Bulkload does not support datetime-tz fields Issue Number: OE00130065 Idxbuild might fail when opening sort file, errno is 13 on Win Running "proutil db -C Idxbuild" might fail with an error on Windows: Unable to open sort file, errno is 13 Issue Number: OE00135661 Binary dump fails using multi threads. Binary dump fails using multi threads on some platforms. Issue Number: OE00136163 proutil.bat only accepts 9 input parameters on Windows DLC/bin/protuil.bat has been enhanced to be able to accept more then 9 parameters. New limit now is 27. Issue Number: OE00145593 Codepage mismatch when loading binary dump proutil -C load would report that the codepage of the dump file would not

match the database codepage although the codepages are the same. Issue Number: OE00146713 Tablemove fails with Internal error in dbtableMove, errno 10 Tablemove of one table out of many fails with Internal error in dbTableMove, errno 10. (11158) ERROR - moving table, item [53]. (8605)

Issue Number: OE00150923 IDXFIX scan option ignores the type Q to quit prior to scan IDXFIX scan option proceeds with scan even after users enters Type Q to quit. Have to ctlr+c out of scan. Issue Number: OE00154022 proutil idxactivate online won't run if remote server present idxactivate online will not run while a remote server process is connected to the database, even if there is no active remote user. Issue Number: OE00157245 idxbuild Unable to open sort file in directory errno is 2 or 13 Threaded idxbuild fails in 10.1A and 10.1B with message (11476) Unable to open sort file in directory Issue Number: OE00160448 Unable to perform index compaction due to SYSTEM ERROR Unable to perform index compaction: SYSTEM ERROR: User 11 died during microtransaction. Issue Number: OE00162096 idxfix generated memory violation but dbtool runs without error idxfix generated memory violation but dbtool runs without error Issue Number: OE00162676 Partial records returned from FIND/FOR EACH NO-LOCK It is possible that if a client is writing a large record that has to be split to another database block, another client trying to read that same record at the same time will retrieve only the first part of the record. This can lead to invalid data being retrieved from the record, or the client crashing. This has also been seen when running online index check as ERROR: The length of key exceeds the maximum size. (11494) caused by running online idxcheck -NL leading to Memory violation Issue Number: OE00163920 Records missing from tables after running proutil revert utility <literal> After running the revert option of the proutil utility to revert a 10.1B database back to 10.0B, records from a table or tables may no longer by accessible. A proutil dbanalysis of the database before and after the

revert utility may show a difference in the number of records (fewer) for some tables after the revert. If you try to access records in a table after running the revert utility (e.g. for each <table>: display table), you may get the following error: SYSTEM ERROR: Record continuation not found, fragment recid -2147483648 area <num> <num>. (10831) </literal> ================================================ DB rfutil ================================================ Issue Number: OE00132546 Replication failure during normal activity Malformed AI Block causes Replication failure during normal activity. Issue Number: OE00133712 ai sequence GE 65536 fails roll forward error 8019 When ai sequence GE 65536 on production database, it fails to roll forward against hotspare with: Expected ai file number 1 but file specified is 65536 in sequence. (8019) necessitating re-enabling after-imaging on the live database. Issue Number: OE00134964 AI archiver reports insufficient space to archive ai extents AI archiver utility reports insufficient space to archive ai extents even though there is plenty of space available Issue Number: OE00135882 Error 873 during a roll forward of After Image file Overflow of the block update counter of the sequence block caused error 873, error error ocurred during the redo phase of the warmstart of the database. Issue Number: OE00148288 Rfutil roll forward physical redo phase takes longer and longer Rfutil roll forward physical redo phase takes longer and longer Issue Number: OE00150657 Roll forward with -IndexCheck continues with incorrect value Rfutil roll forward proceeds even if the -IndexCheck option was supplied with an incorrect value. Issue Number: OE00160725 Process generates error 3714 and crashes database Process generates error 3714 and crashes database Issue Number: OE00161630 rfutil throwing success return code despite errors rfutil is sending a return code of zero despite errors causing an incomplete write of an ai file. ================================================

DB rl ================================================ Issue Number: OE00109006 AI sequence number overflow In some specific circumstances related to the max value of the AI sequence number data type, the AI sequence number can overflow and cause an error during restoration or roll forward. Issue Number: OE00114335 Full value of the 64-bit counters in error messages bi counters were made 64-bit in Progress 8.3E, 9.1D09 and 9.1E, promsgs were still 32-bit. ================================================ DB rm ================================================ Issue Number: OE00136016 Source Database hangs due to deadlock condition on Target A SQL client accessing a Replication Plus target database while performing a table scan in a Type II area can result in a deadlock condition between the SQLClient and the Replication Agent. This creates a hang condition on the Replication Source database. Issue Number: OE00147276 dbtool reports record fragment warnings for an auditing area If you have an auditing data area defined for a database and option 3. Record Validation of the dbtool utility is run, you may see warning messages about record fragment size like the following: Warning - first record fragment of 66560 area 45 is only 9 bytes, LOB 0. These messages are benign and can be ignored. ================================================ DB shm ================================================ Issue Number: OE00159402 Database fails to start if sharedmemoryoverflowsize defined. A database will fail to start if sharedmemoryoverflowsize is defined in the Progress Explorer and / or the file using newer file entry sharedmemoryoverflowsize. Issue Number: OE00162399 Client doesn't release all shared memory segments. Client doesn't release all shared memory segments when disconnecting and eventually gets a "Cannot connect to Shared memory segment" error. ================================================ Diagnostics 4GL Debugger ================================================ Issue Number: OE00135058 Debugger shows OUTPUT LONGCHAR parameter as memory leak The debugger is incorrectly showing an OUTPUT LONGCHAR parameter as being a memory leak. This can cause the session to crash if there are many leaks

reported. Issue Number: OE00145837 Security issue in Debugger prevents operation with Windows Vista When running the ProDebugEnable command on Windows Vista the following error occurs: Cannot open registry key HKEY_LOCAL_MACHINE\SOFTWARE\Secure\, errno 2. ================================================ Diagnostics 4GL Trace ================================================ Issue Number: OE00153712 Crashes when 4GLTrace Return is turned on Client may crash when 4GLTrace return (level 3) is turned on and the procedure/function/method retured has output table parameters, or when it raised an error or stop condition. Issue Number: OE00161420 Getting error 51 when using 4GLTrace,DynObject.UI When using 4GLtracing with 4GLTrace level 3 or higher (4GL return) you may generate error 51. ================================================ Diagnostics Attachable Debugger ================================================ Issue Number: OE00097843 Can't attach Debugger to process on UnixWare Trying to attach the Debugger to a PVM process running on a UnixWare machine gives the following error on the PVM screen: "An error occured when trying to establish communications for using the Debugger; Error code is: 71. (11628)" ================================================ Diagnostics GUI Debugger ================================================ Issue Number: OE00136251 Cannot attach Debugger to session connected to db (many extents) You may not be able to attach the Debugger to a session connected to a database that contains lots of extents depending on the platform (not in client/server mode). ================================================ Diagnostics Other ================================================ Issue Number: OE00148179 Client crash with QryInfo 3 or higher and transaction backout Client session may crash after a transaction backout when QryInfo logging is turned on with level 3 or higher, if a dynamic query gets deleted inside the transaction. Issue Number: OE00153455

Proevents may crash when processing end of ocx event procedure Proevents may crash when processing end of ocx event procedure Issue Number: OE00158226 Errno=24. (98) with many rolled over -clientlog files on Windows Errno=24. (98) after you have many rolled over client log files on Windows. ================================================ Doc ABL ================================================ Issue Number: OE00061282 Documentation for the CREATE BUFFER statement is now correct In the online ABL reference help and in the "ABL Reference", the documentation for the CREATE BUFFER statement leads one to believe that they can create a buffer for a temp-table handle when in fact you could not. Due to changes in the product you can now do this so the documentation is in fact correct. Issue Number: OE00079131 TEMP-TABLE passed as TABLE-HANDLE OUTPUT in widget-pool The DEFINE PARAMETER statement should mention that a TEMP-TABLE passed as TABLE-HANDLE OUTPUT parameter is created in the default widget-pool of the Progress session. Issue Number: OE00085130 DEFINE OUTPUT PARAM TABLE-HANDLE FOR h causes error 9080 "DEFINE OUTPUT PARAM TABLE-HANDLE FOR h causes error 9080" because the FOR keyword is not part of the syntax for defining OUTPUT TABLE-HANDLE parameters. The ABL Reference incorrectly lists the FOR keyword as an optional part of this syntax. Issue Number: OE00085132 Wrong definition statement for INPUT and INPUT-OUTPUT Documentation wrongly says that the definition goes over for INPUT and INPUT-OUTPUT but not OUTPUT table handles. But the OUTPUT table handle is just like any other OUTPUT variable; it cannot change its caller. So in the DEFINE PARAMETER statement, we removed the notes saying: "If the parameter is OUTPUT TABLE-HANDLE, the handle plus the definition behind the handle are sent from the caller to the called routine. The called routine might have either the dynamic OUTPUT TABLE-HANDLE or the static OUTPUT TABLE as matching parameter."

Issue Number: OE00087185 Example code for SET-POINTER-VALUE is wrong The example code for the SET-POINTER-VALUE function has invalid syntax, will not run, and will leak memory. Issue Number: OE00098692 KEEP-MESSAGES option doesn't work for ALERT-BOX

The documentation is incorrect; the KEEP-MESSAGES option doesn't work when a MESSAGE is used with the VIEW-AS ALERT-BOX option. The MESSAGE ... VIEW-AS ALERT-BOX in the OUTPUT TO statement is a exception to the types of messages which are sent only to the specified output stream. Issue Number: OE00105803 Error in MATCHES operator documentation The ABL Reference entry for the MATCHES opertaor: "For example, the result of "*a.b" MATCHES "~*a.~.b" is TRUE." But it should report: "For example, the result of "*a.b" MATCHES "~*a~.b" is TRUE. " Issue Number: OE00110594 The new maximum streams limit is not documented The maximum number of streams that you can define in OpenEdge is 50 per procedure. This limit is not documented. Issue Number: OE00112918 ADD-LIKE-FIELD, ADD-NEW-FIELD, ADD-FIELDS-FROM limits raised The ADD-LIKE-FIELD, ADD-NEW-FIELD and ADD-FIELDS-FROM methods documentation has been changed to reflect that we have raised the limit of fields in a temp-table from 500 to approximately 1,000. Issue Number: OE00114059 Documentation error for CAN-FIND in WHERE clause The documentation says that using CAN-FIND in a WHERE clause should raise a compiler error. It should say that this only applies for OPEN QUERY. Issue Number: OE00114927 DOCS: OUTPUT TO opsys-file does not specify default directory DOCS: The opsys-file option associated with the OUTPUT TO statement does not specify the default directory like that in the INPUT FROM statement. Issue Number: OE00117195 MATCHES does not work as described in doc MATCHES doesn't work as described in the Help if the "." (period) is used (with or without tilde). Issue Number: OE00118609 ProDataSets code example error in fetchOrder procedure The fetchOrder internal procedure example code on pages 10-10 and 11-18 of the ProDataSets book is missing calls to the attachDataSet and detachDataSet functions. Issue Number: OE00124990 SET-REPOSITIONED-ROW doesn't work as described with ALWAYS SET-REPOSITIONED-ROW doesn't work as described with the ALWAYS option browse view-port is not full. Issue Number: OE00126795 when

COPY-DATASET() method allows before-table data in source dataset Documentation for the COPY-DATASET() method should state that existence of before-image data for the source ProDataSet is allowed. The ABL does not generate a run time error. Issue Number: OE00128615 ProDataSet manual contains wrong values in MERGE-BY-FIELD column The Change Conflict Settings table on page 6-28 of the ProDataSets manual contains the wrong values in the MERGE-BY-FIELD setting column. Issue Number: OE00128644 Icon does not show when using ALT-TAB LOAD-ICON() and LOAD-SMALL-ICON() methods no longer show the icon for a window in the Alt-Tab task-switching window.

Issue Number: OE00129412 ABL Reference now clearly states meaning of ERROR-STATUS ABL Reference now has a clear definition of the meaning of ERROR-STATUS. It is now clear which types of errors can be caught and which types cannot. Issue Number: OE00132939 SCREEN-VALUE reference needs update regarding SELECTION-LIST The SCREEN-VALUE entry in the ABL Reference is incorrect for two points:

1. The line "If a selection list is not already realized and you reference its SCREEN-VALUE attribute, Progress realizes the widget." should be removed as in the current releases this is not true. 2. Setting the SCREEN-VALUE for a multiple-selection selection-list does NOT clear out the existing selection, instead it appends the new value to the existing selection. Issue Number: OE00133117 Clarify how the WRITE-XML method works on a buffer handle WRITE-XML is a method of ProDataSet, temp-table, and temp-table buffer object handle. In all cases, the method writes all the records in a temp-table to an XML document. The documentation was not clear enough, seeming to suggest that the method only writes the current record to the XML document when called from a buffer handle. The documentation has been clarified. WRITE-XML was implemented for the BUFFER-OBJECT-HANDLE only for convenience, so the current behavior is the expected one.

Issue Number: OE00135979 DEFINE DATASET REPOSITION ignored with child data-source query If a ProDataSet is defined with the REPOSITION or SELECTION option, then the default query is overridden if a query is defined for a child relation data-source.

Issue Number: OE00147225 DBTaskID supports v8 and v9 db only in documentation ABL Reference does not include OpenEdge R10 as a supported database for DBTaskID. Issue Number: OE00157698 Doc incorrectly uses table handle with ADD-RELATION() method The "Creating data-relation objects" section on page 4-5 of the ProDataSets manual incorrectly states that it is acceptable to use a TEMP-TABLE handle for both the 'parent-buffer-handle' and 'child-buffer-handle' parameters of the ADD-RELATION() method. Issue Number: OE00161110 Obsolete statement in "OpenEdge Development: ProDataSets" book Page 1-15 of the "OpenEdge Development: ProDataSets" manual contains the obsolete statement: "Using a ProDataSet in place of a temp-table even within a single session, simply to take advantage of the fact that they can be passed by reference." Issue Number: OE00161372 "SO-REUSEADDR" option is misspelled in the documentation The "SO-REUSEADDR" option of the GET-SOCKET-OPTION( ) method in the online keyword help and in the "ABL Reference." Issue Number: OE00162200 ProDataSets manual example has QUERY-OFF-END attribute error A code example on page 5-33 of the OpenEdge Development: ProDataSets manual contains a typographical error, incorrectly showing the QUERY-OFF-END attribute with parentheses. Issue Number: OE00162335 Documentation incorrectly states FILL-WHERE-STRING is read-only The "OpenEdge Development: ProDataSets" manual incorrectly states that the FILL-WHERE-STRING attribute of the data-source object handle is read-only. Issue Number: OE00162440 TRACKING-CHANGES in ProDataSets manual is misleading The "OpenEdge Development: ProDataSets" manual incorrectly states the following on page 6-3: "You set TRACKING-CHANGES back to false for a temp-table only after you have executed the ACCEPT-CHANGES method". TRACKING-CHANGES can be set back to false at any time. ================================================ Doc ADE Tools ================================================ Issue Number: OE00148832 Requirements for attachable Debugger need better documentation Two requirements for the attachable Debugger to function correctly are not clearly documented in the Debugging and Troubleshooting guide: 1.The r-code must not be compiled with the MIN-SIZE option. is misspelled

2. The r-code must be compiled with the DEBUG-LISTING option, and the debug lists generated must be stored in a location that the Debugger itself has access to. ================================================ Doc Database ================================================ Issue Number: OE00116054 Formula for calculating -Mxs does not address mandatory fields Approximate memory requirements when using mandatory fields are calculated as follows: 480 bytes overhead 48 bytes for each table that contains mandatory field(s) 12 bytes for each mandatory field These numbers are approximations and have been rounded up to account for the 32 bit and 64 bit datatype sizing differences. In addition, the sizes may change from release to release. The total number of bytes calculated must be added to the existing default -Mxs. The new value should be specified for -Mxs. For example, if the total memory required for the mandatory field array is 80K, the new -Mxs must be (80K + 16K + 4k (100 users)) or 100. Issue Number: OE00147165 Documentation fails to differentiate between_UserLock vs _Lock Descriptions for _UserLock and _Lock are similar, and do not provide information about the differences between the two tables. _UserLock reports the first 512 lock entries for a particular user with "one request" to the lock subsystem (meaning it is a snapshot per user per _user-lock record and not a changing snapshot as each _lock is per lock). The following restriction applies: if a single user has more than 512 locks, they will be missing in the _userlock array. Issue Number: OE00155078 _UserLock effects on system resouces The virtual system table summary for the record locking table file (_UserLock) uses considerable system resources. Access _UserLock through database monitoring tools written in ABL while limiting usage in frequently used applications. Issue Number: OE00158550 Disk requirements when recovering the BI file from a full disk During database recovery, ensure that you have sufficient disk space. The maximum amount of additional BI space you require to recover the database is variable, and may exceed the current size of the database. Issue Number: OE00161149 Documentation did not list Type I storage area limitations The 'OpenEdge Data Management: Database Administration' guide did not provide information on Type 1 storage area limits.

================================================ Doc DataServers ================================================ Issue Number: OE00145575 Not correct Oracle version in Oracle DataServer Documentation The DataServer for Oracle documentation mentions that 10g could be a possible value for the Oracle version. This is not correct. ================================================ Doc DB Util ================================================ Issue Number: OE00154312 Documentation shows incorrect syntaxfor archive line In the 'OpenEdge Data Management: Database Administration' guide, the syntax for an archival log startup line incorrectly showed that the "buseq" value was before "aibegin-date"; the correct syntax is: extent archive indicator,database,date,time,aibegin-date,aibegin-time,buseq,aiseq,extent-n ame,target-directory,target-extent-name

Issue Number: OE00154323 Documentation shows incorrect syntax for backup line In the 'OpenEdge Data Management: Database Administration' guide, the syntax for a backup line in the archive log file is incorrect; the correct syntax is: Backup indicator,database,date,time,online indicator,buseq,backup-date,backup-time,incr-seq,aigennbr,target-count,back up-targets,backupset-name ================================================ Doc Installation ================================================ Issue Number: OE00129131 Netsetup instructions say use _r instead of -r Netsetup instructions incorrectly state to use an underscore with the letter r (_r), instead of dash r (-r). Issue Number: OE00160544 Topic listed twice for "OpenEdge Installation Prerequisites" In the "OpenEdge Getting Started: Installation and Configuration" manual's chapter on OpenEdge Installation Prerequisites, "Determining the type of installation" appears twice in the list of topics. ================================================ Doc Other ================================================ Issue Number: OE00074185 Wrong behavior description for FIND NEXT and FIND PREV in Doc

In the "ABL Reference," it states: If no record is found, FIND NEXT behaves like FIND FIRST, and FIND PREV behaves like FIND LAST. In fact, both FIND NEXT after FIND LAST, and FIND PREV after FIND FIRST, do not return any record. If no record is found for either a FIND NEXT or a FIND PREV, the buffer contents are unknown, with a ROWID equal to the Unknown value (?). Issue Number: OE00105236 Code example for NODE-VALUE-TO-MEMPTR() method is incorrect The code example for the NODE-VALUE-TO-MEMPTR() method includes an invalid LENGTH attribute on the X-NODEREF object handle. The example does not compile. Issue Number: OE00111921 Discrepancy between the value used and value reported for -Mn Documentation does not clarify why the value reported for -Mn in the database .lg file is incremented by one from the value used in startup parameters. This has been corrected in the 10.1C Database Administration Guide. Issue Number: OE00127651 Bad link to EXCLUSIVE-ID in the ABL Reference online help Bad link to EXCLUSIVE-ID attribute for the WEB-CONTEXT system handle in the ABL Reference online help system. Issue Number: OE00129089 Documentation of permission enforcement for sequences is unclear Permission settings for the_Sequence metaschema table (CAN-READ, CAN-WRITE, etc.) are enforced both at compile time and at run time. ABL documentation does not clearly state that these settings apply in both cases. Issue Number: OE00159203 Requirement to recompile for 10.1B 64-bit is not documented When using the 64-bit version of OpenEdge 10.1B or later, you cannot run r-code compiled in an any OpenEdge version earlier than 10.1B. An attempt to do so results in error 2888. You must recompile the r-code in the current OpenEdge version. This requirement is not documented. ================================================ Doc SQL ================================================ Issue Number: OE00147619 Errors in SQL CASE function examples In OpenEdge Data Management: SQL Reference, the code examples for the CASE function contain minor errors. Issue Number: OE00155697 Sample code in SQL development guide returns a syntax error Code Example 5-11 in OpenEdge Data Management: SQL Development contains a

syntax error. Issue Number: OE00155771 CREATE TRIGGER syntax in SQL development manual is incomplete In OpenEdge Data Management: SQL Development, syntax for the CREATE TRIGGER statement in Chapter 11 does not contain the optional REFERENCING clause. Issue Number: OE00157792 SQL COUNT function returns BIGINT data-type not INT SQL Reference guide states that the SQL COUNT function returns a data-type of INTEGER but this is not true from 10.1B. From 10.1B and later, the SQL COUNT function returns a SQL BIGINT data-type. ================================================ Doc Startup Parameters ================================================ Issue Number: OE00126078 Redirect messages when starting in batch mode The documentation should mention that messages needs to be redirected when running in batch mode (-b) Issue Number: OE00155807 -Mn maximum value in Documentation is wrong.

-Mn maximum value for the number of servers that may be started for a database is limited by available resources of the OS, not OpenEdge coding. ================================================ GUI 4GL ================================================ Issue Number: OE00049966 TranMan: Text segment grow option does not apply for formats The text segment grow option does not apply for formats, such as the format string "yes/no". The error below occurs when translating in TranMan: compilation error Translation of format '<format>' in language '<language>' to '<translated-format>' exceeds expanded length of original format. (3542) Issue Number: OE00131654 Browse cell partially selected on entry if format was changed If the format for a browse cell is changed in the ROW-DISPLAY trigger, when the browse cell receives focus only part of the content is selected instead of the complete displayed value. Issue Number: OE00132950 Application crashes when window or frame is partly off screen Session crashes running a procedure when window is partly off-screen. Issue Number: OE00133552 INDEX attribute for dynamic browse columns has incorrect value The INDEX attribute of the browse cell shows incorrect information for the browse columns dynamically created. Issue Number: OE00134518

Browse widget does not keep selected row in Magnifier window Browse widget does not keep the selected row in the Windows Magnifier window. Issue Number: OE00134815 NO-FOCUS buttons get stuck displaying the down image NO-FOCUS buttons may get stuck in the down position after being clicked by the user Issue Number: OE00134818 Background color is not entirely removed from fill-ins When a fill-in field's background color is changed a small outline of the previous color remains around the fill-in. Issue Number: OE00136045 Error 4052 with the LIST-QUERY-ATTRS function When using the LIST-QUERY-ATTRS function with a browse column, this results in: **INSERT is not a queryable attribute for FILL-IN Region. (4052) **DELIMITER is not a queryable attribute for FILL-IN Region. (4052) Issue Number: OE00136147 Color inheritance problems with widgets and frames Field-level widgets inherit the background and foreground colors of their containing frames if colors are not set explicitly on the widgets. Issue Number: OE00136177 SYSTEM-DIALOG GET-FILE USE-FILENAME fails silently SYSTEM-DIALOG GET-FILE USE-FILENAME fails silently if the initial file name is an invalid file name. Issue Number: OE00150587 WIDGET-IDs not handled properly for nested frames in dialog box When using WIDGET-IDs and the -usewidgetid startup parameter, automatic generation of widget-ids fails when the UI is using nested frames in a dialog box Issue Number: OE00158600 App Hangs & Crashes when Screen Doesn't Paint Under extremely rare circumstances a window may fail to paint completely and the application will appear to hang. ================================================ GUI ActiveX ================================================ Issue Number: OE00149655 Window with slider or radio-set crashes when using CodeJock OCX A window containing the CodeJock Skinframework control (10.4.2 version) may cause a session crash when run, if that window also contains a radio-set or slider widget.

Issue Number: OE00149695 OCX not publishing events when run from standalone session When running a thrid party OCX from a prowin32 session, it does not publish events. Works with in the Procedure editor or AppBuilder Issue Number: OE00153966 COM Attribute returning array of VT_VARIANTs may cause a GPF An OpenEdge client may GPF when accessing a COM object attribute that returns an array of VT_VARIANTs. Issue Number: OE00154424 MOUSE-MOVE-CLICK fired calling dialog-box from Sheridan button When calling a dialog-box containing the MS Calendar OCX control from a Sheridan SSCommand in a window with a browse, and double-clicking on the MS Calendar OCX in order to close the dialog-box, the MOUSE-MOVE-CLICK trigger of the browse fires. ================================================ GUI ALL OTHER WIDGETS ================================================ Issue Number: OE00146280 Changing the screen-value of a slider crashes the client The OpenEdge GUI client crashes if you try to change the screen-value of a slider to a string which represents a decimal instead of an integer. Issue Number: OE00150552 Buttons keep orange "mouse-over" highlight when using XP themes When using XP Look and Feel (themes & manifests), non-flat buttons get a highlight when the mouse is moved over them (orange in default XP theme). In some cases this highlight remains in place after the mouse has moved off the button again. Issue Number: OE00150555 Flat buttons stay in "raised" state if used to launch new window Under specific circumstances, flat buttons will stay in "raised" state after being clicked. The button border remains visible after the mouse cursor is moved off of the button. Issue Number: OE00154179 Inner-lines attribute set to 0 causes infinite loop Running the following code will cause the junk.txt file to be created with carriage return or line feed written infinitely until file system is full or application process is killed. OUTPUT TO junk.txt. def var foo as char. form foo view-as editor size 19 by 5 with frame x down no-labels no-box.

foo:inner-lines in frame x = 0. FRAME x:height = 1. disp foo with frame x. Issue Number: OE00154233 Client crash when hiding a FRAME Under very specific circumstances, the prowin32 process may crash when the application hides a FRAME. Issue Number: OE00154624 Blank Tooltips may not display correctly Under certain conditions, blank Tooltips may not display correctly. Issue Number: OE00154723 64K CLIPBOARD limit incorrectly set for MULTIPLE attribute When the MULTIPLE attribute is used with the CLIPBOARD handle, the total size of the clipboard is limited to 64K. Issue Number: OE00155081 Memory leak due to repeatedly querying the TOOLTIP attribute Querying the TOOLTIP attribute for widgets may cause a memory leak Issue Number: OE00157049 Error 516 with streams and keep-messages Error 516 may be raised when working with streams and the keep-messages option ================================================ GUI BROWSE ================================================ Issue Number: OE00136254 Client may crash after setting FORMAT of a browse cell The client may crash when the application code sets the SCREEN-VALUE and the FORMAT of a browse cell inside the ROW-DISPLAY trigger. Issue Number: OE00146018 Crash when changing item-list of combo-box inside browse cell If you have a browse cell defined as view-as combo-box and programmatically attempt to change the item-list of the combo-box, the OpenEdge client may cause a general protection fault. Issue Number: OE00147687 ADD-LIKE-COLUMN and ADD-COLUMNS-FROM crash with short data type ADD-LIKE-COLUMN and ADD-COLUMNS-FROM crash with unsupported short data type. Issue Number: OE00150556 MAX-CHARS is queryable with CAN-QUERY but gives 4052 MAX-CHARS is queryable for a non combo browse column with CAN-QUERY but gives 4052 if the a attribute is referenced.

Issue Number: OE00151653 Browse VIEW-AS COMBO-BOX fails for non-character datatypes A browse column with VIEW-AS COMBO-BOX LIST-ITEM-PAIRS will trigger a series of "** Invalid character in numeric input <character>. (76)" errors when the browse is realized and when a value is selected from the combo-box. This happens when the datatype of the field displayed is something other than CHARACTER. Issue Number: OE00151971 Scrolling updateable SDB loses track of row being updated If an updateable SmartDataBrowser is being scrolled in a way that moves the currently updated row outside of the viewport, it will lose track of the row being updated. After this occurs, the SDB and linked objects will show unpredictable behavior resulting in various error messages Issue Number: OE00152948 browse ADD-LIKE-COLUMN ignores buffer-field VIEW-AS According to the documentation, if a buffer-field object has a VIEW-AS phrase specified then the ADD-LIKE-COLUMN method should use this widget-type to create the column. It does not. Issue Number: OE00152951 ADD-LIKE-COLUMN raises incorrect error if second parameter is ? Trying to compile a method call to ADD-LIKE-COLUMN where the position parameter is unknown ("?") results in a compile-time error: "Invalid datatype for argument to method 'ADD-LIKE-COLUMN'. Expecting 'character' (5442)" The error message is wrong as the expected datatype is in fact INTEGER. Issue Number: OE00153153 Buffer-field:VIEW-AS raises wrong error message for invalid valu Specifying an invalid value for the buffer-field:VIEW-AS attribute raises the wrong error message "**VIEW-AS is not a setable attribute for BUFFER-FIELD widget. (4052)" It should raise error "**Attribute VIEW-AS for the BUFFER-FIELD widget has an invalid value of <string>. (4058)" Issue Number: OE00153581 Browse cell with VIEW-AS TOGGLE-BOX changes value When the column of a browse is set to "view-as toggle-box", the checked state of a manually checked or unchecked toggle-box will toggle between checked and unchecked when passing over the row with the keyboard arrows keys. Issue Number: OE00155410 Hang, Error and Corruption when using browse cell VIEW-AS COMBO

When using a browse cell formatted with VIEW-AS COMBO-BOX, when changing the value and leaving the row, depending upon the circumstances, you could see a hang, garbage characters in the data, or error 5731 (depending on the data type of the field). Issue Number: OE00157335 Changing Format of Browse Column = Crash Changing the format of a browse column in a ROW-DISPLAY trigger before focus has been placed on the browse may cause a crash. Issue Number: OE00157451 Browse has blank column if locked columns & column visible=false If a browse contains a column that is visible=false and that column is within the range of num-locked-columns, then a blank column will be displayed. Issue Number: OE00158583 Static browse column with both @ and VIEW-AS fails to compile In a static browse definition, a column that has both an "@ phrase" and a "VIEW-AS" phrase will fail to compile, and throw error "** Only WHEN and FORMAT allowed before @ phrase. (579)" Issue Number: OE00159453 ADD-CALC-COLUMN method should accept VIEW-AS COMBO-BOX The ADD-CALC-COLUMN method of the browse widget does not accept any of the comb-box related options for the new VIEW-AS parameter. Since columns added this way can be made updateable, it should be possible to use the view-as combo-box in order to remain consistent with other updateable columns. Issue Number: OE00160074 Unicode client displays garbage characters in browse A client running with -cpinternal UTF-8 can display garbage characters after the data in a browse cell. This can happen if the SCREEN-VALUE is set in a ROW-DISPLAY trigger, and the column has a datatype other than CHARACTER, RAW or ROWID. In some circumstances, this can also cause a GPF. Issue Number: OE00161618 Browse with VIEW-AS TOGGLE-BOX crashes when type "y" or "n" The Progress session crashes when typing "y", "n", "Y" or "N" when a browse cell using VIEW-AS TOGGLE-BOX has focus. ================================================ GUI GUI ================================================ Issue Number: OE00133177 Random crash when moving focus to another window In certain rare situations, a crash can occur on Windows when windows are being locked or unlocked programatically and focus is changed.

================================================ Install Core Install ================================================ Issue Number: OE00146004 OE Arch fails to start "An error has occurred. See the log file" OE Architect fails to start with error "An error has occurred. See the log file" OE Architect does not start if the OpenEdge install directory name includes spaces. Issue Number: OE00157752 License Update and Add Component display blank dialog The License Update and Add Component features are not functional because two files are missing in the installation directory (DLC). The missing files are issetup.dll and _setup.dll. ================================================ Install Install ================================================ Issue Number: OE00161438 Scripts not being tailored during install Some OpenEdge scripts don't get tailored to the environment during install. ================================================ Install NetSetup ================================================ Issue Number: OE00146923 OpenEdge Architect available via NetSetup OpenEdge Architect can be made available via NetSetup, but this has not been sufficiently tested and can not be guaranteed to work Issue Number: OE00149956 ODBC DRIVER for SQL not available from NetSetup Install ODBC driver is not available through the ODBC Data Source Administrator Interface on Windows after NetSetUp installation. The NetSetup was not properly programmed to install the ODBC driver files and setup the registry of the system where NetSetup was invoked. ================================================ Install Other ================================================ Issue Number: OE00147452 WebClient 10.1B install fails if WebClient 10.1A is present WebClient 10.1B install fails if WebClient 10.1A is present. Instead of the full installation, the Modify/Repair/Remove dialog is displayed. Issue Number: OE00148724 Folder missing in WebClient installer WebClient installer does not ship the folder DLC/Properties/Schemas. This can prevent the use of WebServices within a WebClient application. ================================================ Install Uninstall

================================================ Issue Number: OE00154765 OE uninstall removes prox.dll used by another OE version Uninstalling 10.1A with 10.1B already installed removes registry information of shared library prox.dll located in C:\Program Files\Common Files\Progress Software\10. This causes several errors including: The automation server for PROX.PROIDE is not registered properly. Please reinstall this server or try registering it again. (5893) ================================================ LANG 4GL ================================================ Issue Number: OE00067909 DELETE trigger not disabled with ALLOW-REPLICATION DISABLE TRIGGERS using the ALLOW-REPLICATION clause was disabling only CREATE, ASSIGN, and WRITE triggers, and not DELETE triggers. Issue Number: OE00091840 When OS-CREATE-DIR fails OS-ERROR function returns zero The OS-ERROR function is returning zero when the OS-CREATE-DIR statement fails to create directory due to there being an existing file with the same name. Issue Number: OE00093132 Performance optimization for msgfnd function Multiple Reads of PROMSGS file causes a drop in performance Issue Number: OE00133099 Client crashes with Bus Error (48) during CAN-FIND A client might crash with Bus Error (48) during execution of a CAN-FIND statement. This error requires the following circumstances: - the client has reached the -mmax threshold, and has to swap existing program segments out of memory to make room for loading other program segments. - the program being executed has multiple expression segments. - the CAN-FIND statement is part of a very long expression, such as the concatenation of multiple character expressions. Issue Number: OE00133485 ADD-FIRST and DELETE methods of a SELECTION-BOX fail Using the "INPUT" keyword in the parameter list for ADD-FIRST or DELETE methods of a SELECTION-BOX does not work in 10.1A and 10.1B; empty entries are added to the SELECTION-BOX. Issue Number: OE00133492 GENERATE-MD5 can ignore database schema changes The r-code md5 will now change change when any of the referenced file crc values change or any of the file's index crc values change Issue Number: OE00133636 r-code md5's value does not change between progress/oe versions

r-code md5's value does not get changed when compiled same source code using different progress/oe versions. This is causing problems when migrating application used by WebClient which relies on the MD5 value in order to distribute new r-code. Issue Number: OE00133716 warning message from compiler always on last line Warning message from compiler always on last line. The line number will now be set to UNKNOWN value for all the warning messages. Issue Number: OE00134600 OUTPUT TABLE-HANDLE BY-REF parameter can return unkown handle An OUTPUT TABLE-HANDLE BY-REFERENCE parameter can return an unknown value if in the calling procedure the handle does not already point to a valid (prepared) temp-table object. Issue Number: OE00134632 COMPILE XREF-XML may be very slow COMPILE XREF-XML is 10 times slower than COMPILE XREF. Issue Number: OE00135228 R-code compiled w/ LANGUAGES and TEXT-SEG-GROWTH option crashes Running r-code which is compiled with LANGUAGES and TEXT-SEG-GROWTH option crashes. Issue Number: OE00135288 Client crash when passing temp-tables as input-output parameters Passing shared temp-tables as input-output parameters between 2 procedures leads to client session crash. Issue Number: OE00135436 Do not edit. Do not edit. Issue Number: OE00135676 Crash returning from procedure - OUTPUT TABLE/DATASET parameter An ABL client or AppServer/WebSpeed agent might crash when returning from a procedure with INPUT-OUTPUT or OUTPUT TABLE/DATASET parameter(s) Issue Number: OE00135814 Compiling pgm with init values < format can cause crash Compilation might cause session to crash if source file contains character variables with initial values smaller than the number of characters in the format (without counting the insertion characters). Issue Number: OE00135946 Compile error using frame <fn> + element as function parameter Compile error 247/198 using frame <fn> + element as function parameter on 10.1A Issue Number: OE00136110

Crash can occur setting the VISIBLE attribute of a FRAME to TRUE Application can crash while setting the VISIBLE attribute of a FRAME to TRUE. This is limited to those cases where dynamic code attempts to make visible a FRAME that was declared in a program that now is no longer in the call stack. Issue Number: OE00136191 unexpected CHR(13) added to string with EXPORT IMPORT When running certain code which adds spaces to a string, a CHR(13) is added to the export file. When importing this file the result may be an extra CHR(10)CHR(13) combination. Issue Number: OE00136204 Compile error 12740 on table buffer It is possible to get erroneous error messages for BUFFER parameters in ABL OO class methods. Issue Number: OE00145528 Error 1410 in AppServer when passing tables as output parameters When a table handle is passed as input-output parameter to an AppServer procedure, the AppServer agent may fail with the following error message: Error code -20011 returned from fdfnd. (1410) Issue Number: OE00145648 -plm causes memory leak and progressive slow-down. -plm causes memory leak and progressive slow-down of the RUN statement. Issue Number: OE00145666 The 2GB limit for files in INPUT FROM and OUTPUT TO is lifted. The files mentioned in the ABL statements INPUT FROM and OUTPUT TO are no longer limited to 2 gigabytes in length. Also the lbi and srt temporary files for local before-imaging and sorting/result-listing are no longer subject to the 2 gigabyte limit. Issue Number: OE00146255 Assign LOB = ? works if record not locked It's possible to assign the UNKNOWN value to a BLOB field in a database record, without locking that record. Issue Number: OE00146559 An appserver session will not release the opened file Files with KEEP-MESSAGES option not release properly on an AppServer when using Output Close. Issue Number: OE00146645 Buffer parameter for reference-only temp-table causes crash Attempting to pass a BUFFER PARAMETER for a temp-table that is defined REFERENCE-ONLY in the called procedure causes a crash if the temp-table

reference is not bound to an actual temp-table at the time of the procedure call. Using a REFERENCE-ONLY buffer as a BUFFER PARAMETER is now illegal, since there is no internal support for this at all. Issue Number: OE00146727 Getting "Error starting a database transaction" in client/server Client GPFs after error: "Error starting a database transaction. The client cannot continue." in some specific situation after the current sub-transaction is rolled back, when connected in client/server mode to the database Issue Number: OE00146877 SYSTEM-HELP MULTIPLE-KEY doesn't work in OpenEdge SYSTEM-HELP MULTIPLE-KEY option doesn't work in OpenEdge. Trying to use the MULTIPLE-KEY option in OpenEdge will result in the following error message: "An error exists in this help file. Contact your application vendor for an updated Help file" Issue Number: OE00147287 Compiler warning message 10603 reported as error Compiler warning message 10603 is reported as an error although the compilation succeeds. The COMPILER:WARNING attribute is returning a value of FALSE when it should return a value of TRUE. Issue Number: OE00147439 UTF-8 Session crashes using memory-mapped procedure library Displaying a logical variable from a memory-mapped procedure library when -cpinternal is UTF-8 will cause a GPF. Issue Number: OE00147818 ABL procedure crashes on async AppServer call An asynchronous AppServer call involving temp-tables in an ABL procedure may result in error 565 ( FIND FIRST/LAST failed for table queue-table), followed by a crash. Issue Number: OE00148157 Memory Leak with RCODE-INFO The RCODE-INFO system handle may cause a small memory leak if used to get information on a .r file that contains no static references to databases. Issue Number: OE00148230 Compile with preprocess breaks comments When compiling code with the preprocess option, in some cases, the first slash of an added comment may be removed. This will cause the preprocessed code to return errors when compiled and run again. Issue Number: OE00148590 Database fails to load delta df if connected via TCP/IP Trying to apply a delta df from a 10.1B client to a 10.1B server when connected remotely via client/server may raise errors 450 or 16

Issue Number: OE00148897 Client crash if disconnected from database during compilation If a client is disconnected from a database while a compilation is ongoing, the session would crash under specific circumstances. ================================================ LANG 4gl ================================================ Issue Number: OE00148960 Client can only connect to 127 databases The client can only connect to 127 databases even if -h is set higher than that. Connecting to more than 127 databases causes the client to crash with a core file. ================================================ LANG 4GL ================================================ Issue Number: OE00149138 Client can report 1422 on inactive index during idxactivate Client can report 1422 on inactive index while that index being activated during idxactivate online Issue Number: OE00149262 BUFFER-COPY with udf in assign-phrase may corrupt index When using BUFFER-COPY with an assign-phrase that assigns the return value from a user-defined function (udf) to an indexed field of the table, and if the called udf assigns values to an indexed field of the same or different table as is being copied, index corruption can occur for the table that is the target of the BUFFER-COPY. Issue Number: OE00149439 CREATE SOAP-HEADER may cause memory leak and core dump Repeatedly calling CREATE SOAP-HEADER may result in a memory leak and core dump Issue Number: OE00149466 Dynamic change to vt220 wide terminal may cause session hang When TERM is dynamically changed from 80 columns to 132 (vt220) and an input file is used containing lines longer than 80 chars, the session may hang and needs to be killed manually. Issue Number: OE00149556 COMPILE XREF fails with with long string literals in source Compile XREF failed to correctly truncate lines when the source code contains long string literals. Depending on exact release and platform this sometimes caused the session to crash with a memory violation/access violation Issue Number: OE00149613 Error 141 description contains typo Error 141 description contains typo that mentions massage instead of

message. Issue Number: OE00149833 RCODE-INFO with low -mmax can crash client A client, AppServer or WebSpeed agent with a relatively low -mmax value can crash when using the RCODE-INFO system handle. Most typical occurrences of the crash happen when assigning the RCODE-INFO:FILE-NAME in an ASSIGN statement followed by other assignments e.g. ASSIGN RCODE-INFO:FILE-NAME = cDotRFile cDBList = RCODE-INFO:DB-REFERENCES. Issue Number: OE00150433 Error 1410 with temp-table as output parameter Error 1410 may result when using a temp-table as an output parameter and the temp table is defined as NEW SHARED in the called procedure: Error code -20011 returned from fdfnd. (1410) Issue Number: OE00150474 The LOAD() method may crash session under certain cirumstances The X-DOCUMENT handle LOAD() method may crash the 4GL session if the file being loaded happen to be opened by Microsoft Word or some other Windows applications. Issue Number: OE00150588 LENGTH function returns 0 for variable with value " " LENGTH function returns 0 for variable with an initial value of spaces (" ") and a specified format (e.g. "X") in OpenEdge 10.1. Issue Number: OE00150797 BUFER-COPY and FIND CURRENT causing S/E 5367 When a database has Runtime Permissions Checking enabled, a procedure which uses BUFFER-COPY and FIND CURRENT will cause the client session to end with S/E 5367: Could not extract field '<field-name>' from source in a BUFFER-COPY statement. (5367) This only happens when running compiled (.R) code Issue Number: OE00151020 Entry function does not work with longchar datatype The ENTRY function does not function with the longchar datatype. If a single entry being retrieved is longer than 31991 characters, one of the following errors will occur: "Entry <entry#> is outside the range of list <list-string>. (560)", "** SUBSTRING/OVERLAY assignment too long -increase -s parameter. (657)" or "'Incompatible datatypes found during runtime conversion (5729)" Issue Number: OE00151228 String manipulation functions on LONGCHARs can be slow

Using ENTRY, SUBSTRING, INDEX and related string manipulation functions on LONGCHARS can become very slow depending on the size of the LONGCHAR variable being processed. Issue Number: OE00151324 Error (13) does not contain a database name Error message (13) does not contain a database name: SYSTEM ERROR: fmget: bad record or unknown value. (13) If multiple databases are connected, there is no way to know which database caused this error, as the error will be written to all connected databases. Issue Number: OE00151479 Error 1006 with Function BUFFER parameter Passing a BUFFER parameter with a function call can result in error 1006: <program name> Database <dbname> not connected. (1006) Issue Number: OE00151559 Crash when using REPLACE with wrong number of arguments When the REPLACE function is used as part of a WHERE clause in a query (or FIND statement, or FOR EACH) and an incorrect number of arguments is supplied, the compiler crashes when trying to compile the code. Issue Number: OE00151823 KEEP-MESSAGES in Internal Procedures may cause error 99. If an internal procedure containing the OUTPUT STREAM statement with KEEP-MESSAGES option is invoked more than once, error 99 may result: "** <file-name> already has a conflicting use. (99)" ================================================ LANG 4gl ================================================ Issue Number: OE00151838 Session crash when using triggers and multiple field assignments The client process would crash if running a multiple field assignment using the "::" syntax and triggers are defined for the table. ================================================ LANG 4GL ================================================ Issue Number: OE00152295 RUN STORED-PROC does not appear in the XREF listing RUN STORED-PROC does not appear in the XREF listing Issue Number: OE00152392 Loading non-OpenEdge XML schema is not allowed into Temp Tables Loading non-OpenEdge XML schema is not allowed into Temp Tables, it is only allowed into ProDataSets. Issue Number: OE00152500 BUFFER-COPY tt w/ before-tbl and track-changes may corrupt index

If you run the BUFFER-COPY statement or function and the target table is a temp-table with no indexes and with a before-table and the TRACKING-CHANGES attribute is turned on for the target temp-table, that can cause index corruption in other temp-tables or database tables, if they are changed after the buffer-copy. Issue Number: OE00152608 Runaway agent when db disconnected while running CREATE BUFFER Runaway agent when database gets disconnected while application is running a CREATE BUFFER statement. Issue Number: OE00152748 AppServer/client hang stopping query without INDEXED-REPOSITION If a query has a condition that causes it to make poor use of indices, and INDEX-REPOSITION is not defined, and the application tries REPOSITION within this query, the REPOSITION can potentially take a long time, depending on the number of rows in the table. When using the GUI client (prowin32.exe), if the user tries to use CTRL-C or CTRL-BREAK to stop the query, prowin32.exe will hang and start consuming large amounts of memory and CPU time. The prowin32 process must be killed through system utilities. If the query is executing on an AppServer, and the user kills the client session as it appears to hang, the AppServer will also hang, remaining in CONNECTED or BUSY state. The _proapsv process will also consume large amounts of memory and CPU time. The _proapsv process will not respond to shutdown requests from the broker, and must be killed with system utilities. Issue Number: OE00152882 QUERY-PREPARE for static query raises error 4938 in 10.1B Before 10.1B a QUERY-PREPARE method call for a static query that was defined without the SCROLLING option would succesfully complete if there are MAX-ROWS, INDEXED-REPOSITION and other such options in the WHERE clause. The query would also respect the options provided and behave accordingly. In 10.1B, the same QUERY-PREPARE method call will raise the error "MAX-ROWS, INDEXED-REPOSITION, etc. require query <queryname> to be defined with SCROLLING. (4938)" Issue Number: OE00153417 GUI client may crash when leaving field after PROCESS EVENTS The GUI client may crash when the user leaves a field after a PROCESS EVENTS has been processed. Issue Number: OE00154474 FIRST-OF & REPEAT PRESELECT Failing on Unix Using the FIRST-OF function inside of a REPEAT PRESELECT block may return true even when the first-of condition not true. Issue Number: OE00154758 Index Corruption/GPF using -cpinternal UTF-8 with non-UTF-8 db It is possible to corrupt an index or crash the client if using -cpinternal UTF-8 with a non-UTF-8 database. This bug has the potential to crash the

client or corrupt both normal indices and word indices in 10.1B. Prior to large key support in 10.1B, the potential for index corruption was limited to word indices when the value of the field exceeded 200 bytes. All of the following conditions must be true to cause the corruption/crash in 10.1B: - Client using -cpinternal UTF-8 against a database that is not UTF-8 (Typically this affects a windows client; however it could affect UNIX AppServer, Webspeed and batch clients). - Database with large key support enabled, which is the default for a new 10.1B database and an option for a database being converted to 10.1B. - An index (normal or word index) on a character field - A value in the character field that, when converted to the database codepage, exceeds 200 bytes. The defect does not exist in SQL; it is a problem for ABL clients only. The existing IDXCHECK, IDXBUILD and IDXFIX utilities will correctly identify and fix any index corruption caused by this bug, for both normal and word indices. If users continue to use -cpinternal UTF-8 after the indices have been repaired, they will corrupt the indices again. Issue Number: OE00155617 Performance improvements to 10.1 ABL client Under certain circumstances, the observed performance of the client ABL code in 10.1 compared to 9.1 can be slower. Issue Number: OE00155664 4GL client gpf with MSS and ODBC DataServer sorting queries When the 4gl client needs to sort a query result because of the use of a by clause on the query and if the only unique index on the table is a character field containing a long string or a composite key containing a long string; then the client will gpf trying to sort the query result. Issue Number: OE00155887 FIND statement with USING INPUT options crashes session A FIND statement containing the USING and INPUT options crashes the ABL session if the INDEX used to retrieve the record is an ABBREVIATED INDEX with an INTEGER field as its leading component. Issue Number: OE00156238 Crash during DELETE of SUBSCRIBEd procedure It is possible for a client to crash when deleting a persistent procedure, if the persistent procedure had SUBSCRIBEd to another procedure that has already been deleted. Issue Number: OE00156503 AppServer may hang running persistent proc with shared variable In some specific situations, the AppServer process may hang when trying to run a persistent procedure that has shared variables that are not defined yet.

Issue Number: OE00156662 Errors 48 or 49 when compiling code with DEBUG-LIST Compiling code using the DEBUG-LIST and SAVE options may randomly crash. Issue Number: OE00156836 WHERE custnum = NO-LOCK doesn't error FOR each customer where custnum = NO-LOCK: fails to produce a compiler error when it used to in version 8, and after version 9.1B. The reason is that NO-LOCK, NO-WAIT, SHARE-LOCK and EXCLUSIVE-LOCK etc are now expressions. This is a regression bug that made it into all of the OpenEdge 10.x versions. Issue Number: OE00157488 Error 444 when current field's value is unknown If by assigning a value to a field which has the unknown value as the current value, the record exceeds the 32K limit, the client generates the 444 error and terminates the process. Issue Number: OE00158648 Unable to perform RAW-TRANSFER in 10.1B After converting database from 10.1A 01 to 10.1B 01, and opening database in 10.1B 01, unable to perfom RAW-TRANSFER, getting error message: RAW-TRANSFER statement failed due to stale schema for table (11425). Issue Number: OE00159083 System Error when undoing subtransaction with record creation "SYSTEM ERROR: failed to get lock after undoing an icb disconnect" may be raised when undoing a sub-transaction that created a record, downgraded its lock and released it. Issue Number: OE00159143 Memory Leak when calling UDF that returns Longchar and errors Retruning a longchar result from a function causes a memory leak if the return value is not assigned to a variable, or the return value is assigned to a variable of a different data type. Issue Number: OE00159578 Inconsistent behaviour assigning CLOB to CHAR When assigning to a CHAR variable from a CLOB the CHAR variable may contain additional invalid character data at the end of the character string transfered from the clob. Issue Number: OE00159895 Display Date field with strange format '@' crashes session Trying to DISPLAY a date field in a frame while at the same time applying a strange format like "A 99/99/99" can crash the client session. Issue Number: OE00160516 Methods that take stream don't take stream-handle

Methods that take stream don't take stream-handle Issue Number: OE00160522 DISPLAY STREAM-HANDLE shows empty procedure window If you have a display stream-handle handle statement in your code, it will cause an empty procedure window to show up when nothing else would. If the same program had a DISPLAY STREAM, it would not display the window. Issue Number: OE00160782 Crash when setting screen-value of field on MESSAGE UPDATE Client session crashes when setting screen-value of field on a MESSAGE UPDATE statment Issue Number: OE00160943 READ-XML w/var in schema location parameter returns error Using a variable to specify a blank value for the schema location parameter in the READ-XML method causes error 293 to occur. ** "" was not found. (293) To workaround this issue simply replace the variable with a literal "" value or set the value of the variable to unknown (?). Issue Number: OE00161117 PUBLISH statement with no ending period causes error 1450 Compiling a program with the XREF option which has a PUBLISH statement with no ending period will cause error 1450. Issue Number: OE00162570 Thrown error in callback procedure doesn't stop SAX-PARSE Thrown errors are not properly passed back to calling code when incurred in a callback procedure of the SAX-PARSE method. The problem is that, when the error is thrown, the parser should then return the thrown error to the block which called it but doesn't. In fact the parser continues to read the SAX document until completion and, unless the error is thrown from the last iteration of the callback procedure, it is never returned to the calling block. Issue Number: OE00163268 ENTRY statement corrupts data if assigned a LONGCHAR value The ENTRY statement returns corrupted data if the value on the right-hand side of the assignment is a LONGCHAR value (from a variable or function). Issue Number: OE00163315 Client crash/hang in 10.1B03 after UNSUBSCRIBE IN <hdl> Client may crash or hang when deleting a procedure (or returning from a procedure) after the program has executed a UNSUBSCRIBE IN <hdl> statement. ================================================ LANG COMPSRV ================================================ Issue Number: OE00135692

Decreased performance of calls to AppServer from v9 to v10 Calls to AppServer procedures may be between 1 and 2 times slower with version 10 than they were with version 9. ================================================ LANG DATASET ================================================ Issue Number: OE00135119 LAST-BATCH attribute stays true after EMPTY-DATASET() After the EMPTY-DATASET() method is called for a dataset, the LAST-BATCH attribute for the temp-tables accessed in the dataset is not reset to FALSE as it should be. Issue Number: OE00135780 Memory violation with OUTPUT BY-REFERENCE ProDataSet An application passing an OUTPUT BY-REFERENCE ProDataSet from an internal procedure can cause a memory violation, if the internal procedure defines a buffer for use in the ProDataSet. Issue Number: OE00135904 Before-image of ProDataSets is not saved unless tracking changes The before-image of ProDataSets is not be saved unless tracking changes is used. Fixed by having MARK-ROW-STATE buffer method which creates before-images from a passed buffer. Issue Number: OE00135968 COPY-DATASET fails when applied with out-of-order LOB field If a temp-table in a dataset contains a column that is not in straigt POSITION order, it will cause a copy of the table to fail. This happens when using DEFINE .. LIKE. Issue Number: OE00136128 AppServer crashes with REFERENCE-ONLY TEMP-TABLE's and DATASET's Use of BIND and BY-REFERENCE dataset parameters with REFERENCE-ONLY datasets are normally for local calls, which work fine. But the same calls used remotely with an Appserver can gpf if the parameter is OUTPUT or INPUT-OUTPUT. Issue Number: OE00145658 parm passing or copy of table while tracking-changes on gpfs. If a temp-table has tracking-changes on during parameter passing or copying, it may gpf. Issue Number: OE00146463 TABLE-HANDLE param mismatch with DEFINE LIKE out-of-order source -A TABLE-HANDLE parameter receiving a table from appserver/client network connection where the sending table was DEFINE... LIKE database-table, and that database-table does not have _order and _field-rpos in the same order, would cause by-reference parameter mismatches later with local DEFINE .. LIKE database-tables. Issue Number: OE00146584

Before-tables of appserver parameters are not deleted Under circumstances involving ProDataSets, the AppServer agent does not release the before-table associated with an input-output temp-table parameter. Issue Number: OE00147446 RELATIONS-ACTIVE for dataset with 3 relations hangs session modifying the RELATIONS-ACTIVE to TRUE for a dataset with more than 2 relations hangs the client session. Issue Number: OE00147524 RELATIONS-ACTIVE False sets parent-relation to ? There is a change in behaviour between 10.1A02 and 10.1B with regard to RELATIONS-ACTIVE. In 10.1A02 when the dataset RELATIONS-ACTIVE attribute is set to FALSE this sets the relations ACTIVE attribute to FALSE and nothing else. In 10.1B in addition to the above behaviour, the relation buffer PARENT-RELATION handle is set to ?, and the NUM-CHILD-RELATIONS is set to 0. This was a fix required in 10.1B because it is possible to have multiple paths through the same dataset by activating and deactivating relations. If the parent-relation handle is not nulled when the relation is deactivated, the inconsistency then causes problems when a different relation is activated with the same parent. So it is expected behavior to have the PARENT-RELATION handle become ?. Issue Number: OE00151209 Passing mismatched TEMP-TABLES BY-REFERENCE throws no error Passing mismatched TEMP-TABLES BY-REFERENCE does not throw an error. the mismatch causes an error message. Issue Number: OE00153544 FILL() crashes for a ProDATASET on a large number of tables. Crash during FILL() for a dynamic ProDATASET on a large number of tables (around 200). Issue Number: OE00157501 Open Query in buffer OFF-END event causes fatal error Opening the query for a buffer while in the OFF-END event is not supported and should never be done. This bug fix addresses a crash that occurs when attempting to do this. Issue Number: OE00161182 qrNext called with a closed query. (2732) Now

Filling prodataset causes qrNext called with a closed query. (2732) This has been fixed by ensuring that all queries are closed during all types of error conditions during a FILL. ================================================ LANG DATATYPE

================================================ Issue Number: OE00130120 Error 223 with LONGCHAR and DYNAMIC-FUNCTION Type checking in combination with DYNAMIC-FUNCTION fails with some operations. Issue Number: OE00130252 longchar not properly converted assigning to SCREEN-VALUE longchar not properly converted assigning to SCREEN-VALUE Issue Number: OE00135669 TZ variable does not work on Windows platform If the TZ environment variable is set to something other the the system timezone on the Windows platform, the NOW and TIMEZONE functions will return incorrect results. Issue Number: OE00149218 Formatting datetimes incorrectly rounds milliseconds portion Displaying a datetime or datetime-tz with a format that does not include milliseconds will cause the milliseconds portion to be rounded to the nearest second. This is inconsistent with seconds and minutes, which are always rounded down Issue Number: OE00154520 Resource leak when concatinating SUBSTRING(longchar) to longchar There is a resource leak when concatinating the result of a SUBSTRING function a LONGCHAR to another LONGCHAR variable, for example when executing: Longchar1 = longchar1 + SUBSTRING(longchar2,1,3). This results in a memory leak and will eventually trigger errors such as "Could not obtain memory for LONGCHAR variable. (11677)" , "**Unable to realize <widget name>. (4025)" or similar errors. Issue Number: OE00157224 1 day too many substracted from datetime if time portion becomes When substracting a number of milliseconds or another datetime from a datetime variable, we substract one day too many if the interval is 24 hours or more and the substraction causes the time portion to become 0 (midnight). ================================================ LANG I18N ================================================ Issue Number: OE00129463 Error loading ICU collation rules into a UTF-8 database The following error occurs when loading collations rules for ICU collations ICU-nn, ICU-nb and ICU-cs into a database: ** Error during MODIFY DATABASE **

Errors occurred loading collation rules. Verify that definition file is not corrupted. The collation will not be loaded into the database. Issue Number: OE00129764 Overlay statement works incorrectly with COLUMN using UTF-8 The behaviour of the OVERLAY statement with COLUMN can return incorrect results when using -cpinternal UTF-8. This occurs when: - the specified length for the expression to overlay is longer than the expression itself. e.g. OVERLAY(ctext,1,20,"COLUMN") = "Hello". - the position given is longer than the target variable e.g. ctext = "X". OVERLAY(ctext,5,20,5,"COLUMN") = "Hello"). The returned value in these cases is not consistent with what is returned with a -cpinternal of a single-byte codepage. Issue Number: OE00130711 READKEY and APPLY LASTKEY returns double-byte chars in reverse Using READKEY and APPLY LASTKEY in an EDITING block of a fill-in will insert the new character at the start of the fill-in, causing the entered text to be reversed. Issue Number: OE00145554 File /dlc/prolang/utf/ contains incorrect comment The comment in file DLC/prolang/utf/ states that the settings contained there should not be used with a GUI client. This is not true in OpenEdge 10; this file can be used with the GUI client. Issue Number: OE00155606 Header frame w/- UTF-8 not displayed if CHARACTER field is blank A client using -cpstream UTF-8 can display a header frame incorrectly if a CHARACTER field in the frame contains a blank value (""). This can also happen with a LOGICAL field in the frame, if the FORMAT of the LOGICAL field contains a non-ASCII character. ================================================ LANG OO4GL ================================================ Issue Number: OE00135490 Subclass compile fails if code XCODEd with non-default key Compiling a .cls file fails under the following conditions: - The defined class being compiled inherits another class - The compilation triggers a compile of the inherited class - The .cls files have been encrypted with the XCODE utility, specifying a non-default encryption key. Issue Number: OE00136019 FIND, FOR & OPEN QUERY fail with INTEGER method in WHERE clause ABL: The error "Incompatible data types in expression or assignment. (223)"

is generated when a FIND, FOR or OPEN QUERY statement references INTEGER method in the WHERE clause. Issue Number: OE00136207 Class with cast function crashes compiled w/ XREF or XREF-XML


Class with cast function crashes when compiled w/ XREF or XREF-XML Issue Number: OE00147901 Include file outside class causes Architect to crash Plassing an Include file outside a class definition in some situations can cause Architect to crash. Issue Number: OE00148567 Class files in memory-mapped PL cause crash with error 290 Attempting to NEW() a class will crash the session with error "SYSTEM ERROR: I/O error 9 in readit, ret =-1, file 32767 addr 0 (290)", if the r-code for the class is loaded from a memory-mapped procedure library. Using a non-mapped library instead works without issues. Issue Number: OE00150276 Crash when property name is same as temp-table field When a class property has the same name as a temp-table field in the same class, the compiler crashes upon compiling the class. Issue Number: OE00157115 Session crashes when instantiating high number of classes Session crashes at runtime when instantiating high number of different classes. This can happen whether or not there are rcode files for the classes. Issue Number: OE00159975 Possible compiler crash when source refers to many classes It's possible that the compiler will crash if it is compiling a source code file that uses a large number of different classes (on the order of hundreds). A known case is when a source file instantiates 600+ classes and the compiler cannot find one of the classes. Issue Number: OE00160400 Overridden method as callback fails with error 13452 Using a method as a dataset callback handler fails if that method is an override on a superclass method. This will trigger error "Method '<methodname>' for callback must be valid public method. (13452)" even if the method is public on all levels of the class hierarchy. Issue Number: OE00160401 RETURN ERROR crashes in method used as ROW-UPDATE callback If a method is used as a callback for the ROW-UPDATE dataset event, the session crashes when the method returns ERROR, NO-APPLY or a return value.

Issue Number: OE00160982 Defining a static buffer in a class method crashes the compiler. Defining a static buffer in a class method crashes the compiler. Issue Number: OE00162132 3273 error with CAN-FIND in class on REFERENCE-ONLY tt When running a class which inherits a class that defines a temp-table and prodataset as REFERENCE-ONLY and there is a usage of CAN-FIND on the temp-table in the class (even though it is never used) the following error is incurred. Issue Number: OE00163672 Using OOABL Class in browsercustom.p = Crash Instantiating an instance of an OOABL class (even a class that does nothing) in browsercustom.p will cause a crash. ================================================ LANG Other ================================================ Issue Number: OE00134538 CONNECT can take up to 50 sec to report failed connection CONNECT statement can take up to approximately 50 seconds to return from a failed connection. Issue Number: OE00146601 Application Compiler may produce r-code with extra languages When compiling a procedure through the Application compiler, the rcode may contain extra text segments for invalid languages when the LANGUAGES option is left blank. Issue Number: OE00151650 Batch-mode WAIT-FOR event of THIS-PROCEDURE fails Attempting to run a WAIT-FOR CLOSE OF THIS-PROCEDURE PAUSE statement in a client running in batch-mode (using -b startup parameter) fails with error "None of the widgets used in the WAIT-FOR statement are in a state (such as SENSITIVE) such that the specified event can occur. WAIT-FOR terminated. (4123)" Issue Number: OE00154506 Errors after loading collation page while AI enabled OpenEdge database rebuild, If ai is does not prevent a new collation table from being loaded into a when after-imaging is enabled. A new collation requires an index but after-imaging must be disabled before index rebuild can run. not disabled, that will leave the database unusuable.

================================================ LANG PRINTER ================================================ Issue Number: OE00147094 _osprint.p with UTF-8 flag doesn't print documents correctly

When using the UTF-8 flag (512 in the p_PrintFlags paramater) with _osprint.p (proprint.dll), documents can fail to print characters and may truncate the output beyond the first line(s). Issue Number: OE00147137 SYSTEM-DIALOG PRINTER-SETUP does not retain property settings When using SYSTEM-DIALOG PRINTER-SETUP to select a printer, a change to the printer properties may not be retained the next time the same command is used. Issue Number: OE00149769 Error 4110 with large number of printers When many printers are defined on a Windows system, printing may fail with error 4110. Issue Number: OE00156751 Unable to print with control codes in 10.1B02 Printing with control codes in 10.1B02 results in the actual control codes being printed instead of the expected control-code behavior. ================================================ LANG Procedure Library ================================================ Issue Number: OE00136106 prolib fails when .pl contains .r file with no r-code When a .pl contains a file with a .r extension but not containing r-code, then prolib fails to create a shared library (-makeshared) with no error message. ================================================ LANG Web Services Client ================================================ Issue Number: OE00128256 bprowsdldoc generates incorrect example for SOAP encoded arrays Examples for SOAP encoded arrays generated by bprowsdldoc are incorrect. Issue Number: OE00133132 Memory not released during connect/disconnect of web services Memory is not released properly during connect/disconnect of web services connections. Issue Number: OE00135636 The ABL Web Service client uses too much CPU The ABL Web Service client uses too much CPU and causes performance issues while waiting for a SOAP Response. Issue Number: OE00136036 Uninitialized Table-Handle parameter crashes prowin32 Use of an uninitialized handle as an INPUT TABLE HANDLE parameter will cause the OpenEdge runtime to crash. Uninitialied handle means, a variable has been defined as a handle, but no CREATE TEMP-TABLE statement has been

executed. Issue Number: OE00148706 Outer element of XML passed as text string is disappearing Under certain conditions, when an XML string was passed as an argument for an INPUT parameter, the outer element of that XML string would disappear. Sending an INPUT parameter with a value of value such as "<value>text</value>" would result in only "text" being sent to the web service provider. Issue Number: OE00148716 DLL files (libwww.dll) missing in WebClient installation A 3rd-party component of OpenEdge (libwww.dll) used for WebServices does not depend on the same version of some system DLLs as the rest of the OpenEdge installation. These extra dependency would not be available in the WebClient installer, resulting in some missing DLL when running code using WebServices inside a WebClient application. Issue Number: OE00149804 Unable to connect to Web Service via HTTPS via authentic proxy Connectiong with OpenEdge WebServices client fails using https if the proxy server requires authentication. Issue Number: OE00151839 SOAP header and SOAP fault detail not always returned correctly For SOAP headers and SOAP fault details, OpenEdge clients might not correctly return these values if they contain complex data that matches a specific criteria. The failure in processing SOAP headers may be in a SOAP response received by the client, or when the client sets a SOAP-header-entryref using the SOAP-header-entryref:SET-SERIALIZED method. The specific criteria for this are: 1) A SOAP header of SOAP Fault detail has a child A. If A has a child C, and C has a child that is a leaf element, and C has more than one child, then all of C's children after the leaf element will become siblings of C, instead of children. If A has a sibling B, then B will be lost. 2) A SOAP header of SOAP Fault detail has a child A. If A has a child C, and C has a child that is an empty element, and C has more than one child, then all of C's children after the empty element will become siblings of C, instead of children. If A has a sibling B, then B will be lost. Issue Number: OE00159210 Special chars in attribute values in WSO responses cause error If an OpenEdge Web Services client receives an OUTPUT LONGCHAR parameter that contains XML, the special characters < and & should be escaped -they should appear as &lt; and &amp;. However, the AVM may fail to correctly escape these two special characters if the WSDL indicates that the parameter is "anytype".

Issue Number: OE00159818 OpenEdge Web Service client fails to parse SOAP Fault The OpenEdge Web Service client returns the following error when receiving a SOAP Fault: Error receiving Web Service Response: Wrong XML token encountered during primitive type deserialization (11773) A workaround to this problem is to remove the definition of the SOAP fault from the web service definition language (WSDL) document provided by the web service. ================================================ LANG XML ================================================ Issue Number: OE00134063 Error 60 followed by session crash using READ-XML When an XML file is loaded into a dynamic temp-table and the override-default-mapping parameter is set to true error 60 might happen and the session is terminated. This happens due to to override-default-mapping causing the data type of character fields to be changed to CLOB and then trying to have a word index created for the CLOB field. Issue Number: OE00134483 Question mark character becomes unknown with READ-XML READ-XML interprets a literal quesion mark for a character temp-table field in an XML document as the unknown value. Issue Number: OE00134648 Data relations lost when saving DataSet definitions to XML DATA-RELATIONs defined in a dataset might be lost when saving the dataset definition to an XML Schema using WRITE-XML or WRITE-XMLSHCEMA with the min-schema parameter set to TRUE. Issue Number: OE00147273 READ-XML() method generates (13143) and (13032) Errors: Unable to set initial value 'USA' from XML Schema for field 'Country'. (13143) Unable to create Temp-Table or dataset schema from XML Schema. (13032). Errors similar to the above are generated calling the READ-XML() method if the XML Schema for a field that maps to a CLOB contains an inital value definition that is not unknown. Issue Number: OE00152553 WRITE-XML method does not recognize DECIMALS for the output The WRITE-XML Method does not recognize DECIMALS option defined for a decimal field in a TEMP-TABLE. For example, a TEMP-TABLE field with DECIMALS 0 will be written to the XML document with 1 decimal place for the decimal field. Issue Number: OE00152831 READ-XMLSCHEMA results in errors 13138 and 13032

The READ-XMLSCHEMA method results in errors 13138 and 13032 when reading a 3rd party XSD file into a prodataset. Issue Number: OE00153152 READ-XML fails with error 76 and 13052 when field name is id When a TempTable has a field called id and there is also an attribute "id" in the XML record that is not the field, READ-XML might assume the id attribute is the field and try to update the id field with the value of the id attribute. Issue Number: OE00153666 Insert Records via DiffGram = No Records Inserted Passing DataSets to the AppServer via XML using Microsoft DiffGram format can cause the AppServer to think there are no newly inserted records in the DataSet even though newly inserted records do exist. This only happens if there are only inserted records, meaning no <before> section in the DiffGram. Issue Number: OE00157392 Wrong schema-location when XML file outside working directory When the source location for READ-XML is an XML file outside of the working directory, and that file contains a schemaLocation attribute, READ-XML tries to find the XML Schema in the working directory, and not the directory containg the XML file. Issue Number: OE00158649 XML Parser does not check CDATA section for closing sequence Client does not check if the closing sequence is present in the NODE-VALUE of a CDATA-SECTION node and generates an invalid XML document. Issue Number: OE00160328 INITIALIZE-DOCUMENT-TYPE adds invalid blank identifiers to XML If an empty character string is passed as public-id or system-id to the INITIALIZE-DOCUMENT-TYPE() method, this will add an invalid blank reference to the XML file when it's saved using the SAVE() method. Issue Number: OE00161135 WRITE-XML always generate negative time zone When writing a Temp-table containing DateTime-TZ field to an XML Document with the WRITE-XML statement, the time zone is always negative. Issue Number: OE00162466 <restriction> in XML Schema results in (13115) error If an XML schema contains a <simpleContent> element with <restriction> instead of <extension>, READ-XML or READ-XMLSCHEMA will fail to load the schema with the the following error: Using the READ-XML method on a 3rd party XML file can result in: Error while parsing the XML Document: Unexpected expression. (13115) Unable to create Temp-Table or dataset schema from XML schema. (13032) ================================================ Management CONTROLS

================================================ Issue Number: OE00130322 Transition Properties in PE converted to lowercase Parameters in Progress Explorer -> Transition Properties are being lowered cases when written to ================================================ Management Management ================================================ Issue Number: OE00151369 Adminserver crashing with java core on RH 4.0 Adminserver crashes with java core on RH 4.0. adminserver log file appears to just stop. Large core file dumped when cores enabled. ================================================ Management Other ================================================ Issue Number: OE00090986 Remote log file monitor is not available in Fathom/OEM Remote log file monitor is not available in Fathom/OEM Issue Number: OE00151256 AdminServer can hang after proadsv -stop AdminServer might hang after proadsv -stop has been issued and will get stuck in Shutdown process initiated. (7387) indefinitely. ================================================ Management SysMet ================================================ Issue Number: OE00129560 TBD Add to OpenEdge Management disk activity monitoring to support Linux software RAID usage. ================================================ OEIDE Catalog ================================================ Issue Number: OE00133360 Performance issue when creating catalog content A large number of record reads is observed when creating catalog content. ================================================ OEIDE DB Navigator ================================================ Issue Number: OE00135251 The size field in the Add Column wizard does not accept input The size field in the Add Column wizard does not accept numeric input from a Belgian/French (AZERTY) keyboard. Issue Number: OE00135519 Unable to cancel a SQL connection job

When waiting for a connection to be established, the dialog displayed contains a Cancel button, but it is disabled and it is impossible to cancel the process. If the client cannot connect, the user must wait for the process to time-out. ================================================ OEIDE DEBUGGER ================================================ Issue Number: OE00133404 No message when attempting to set breakpoint in some .i files A message is not displayed when trying to set a breakpoint on an include file that is not in a project. A message should be displayed indicating that breakpoints should be set in the procedure file referring to it.

Issue Number: OE00156754 An internal error occurred during: "Launching" of the Debugger Launching the debugger with a linked resource in OpenEdge Architect causes an internal error. The following message is displayed: An internal error occurred during: "Launching" of the Debugger ================================================ OEIDE Editing ================================================ Issue Number: OE00123144 CTRL+space assistance doesn't handle buffers properly After defining a buffer for a table, and later writing code to use it, the CTRL+SPACE to invoke auto-completion does not always recognise the buffer. The auto-completion may not respond or it may show an incorrect list of matches that includes an entry for the buffer variable itself. Issue Number: OE00132798 Text highlight and replace with quote " marks When using the OpenEdge Architect, if a word is highlighted and then the quotation mark is typed, the highlighted word is not replaced by a quotation mark. The word is preceded ba the quote mark. Issue Number: OE00133245 Wrong coloring of database tables The OpeneEdge Architect editor will not properly color database table references if the table name (ie Order) is the first part of another table (ie OrderLine). Issue Number: OE00133325 Ctrl+Space only works for global params & variables The content assist (ctrl+space) does not recognise parameters or variables defined in an internal procedure or function and thus does not provide content assistance for them. Issue Number: OE00133340

Case-sensitive wizards Some code creation wizards, such as New ABL Class/Interface, may unnecessarily apply case-sensitivity matching rules to user-entered data, such as file names and directory paths. Issue Number: OE00133490 Multi line colorization syntax not correct for preprocessors Syntax Coloring does not work properly for a preprocessor which continues on the next line. Issue Number: OE00134296 Ctrl+Space Doesn't Show Public Properties Context assistance in the OpenEdge editor does not show public properties for user defined types. Issue Number: OE00134767 Commenting with CTRL+/ removes other comments The toggle comment action is working on a line basis instead of on the selected block. Issue Number: OE00135083 Quoted strings cannot contain line break characters Quoted strings that span multiple lines may cause the Outline view to stop displaying any code element after the quoted string. Issue Number: OE00135377 Outline view fails to show variables when using &IF When syntax similar to "&IF "{&th"" is found in the source code, adding a simple define variable statement causes the outline view to disappear Issue Number: OE00135478 Incorrect word selection on double-click Double clicking on an ABL keyword that contains a dash results in a partial selection of the keyword Issue Number: OE00135540 Methods/attributes of system handles are not cased properly Attributes and Methods of ABL system handles referenced directly against the system handle (I.e., FILE-INFO:FILE-NAME) are not properly cased when Source/Format is invoked. Issue Number: OE00136200 Double Clicking on a procedure name give unpredictable behaviour Double Clicking sometimes highlights the word while other times it goes to the procedure name Issue Number: OE00136225 Syntax highlighting fails when extensions are capitalized When using the Editor in OpenEdge Architect, syntax highlighting is

disabled if the extension of the file name is in capitals, i.e. .W .P .I or .CLS. Issue Number: OE00145569 The Outline View breaks when procedures begin with numbers The Outline View in the OE Architect breaks when there are internal procedures that have names begining with numbers. Issue Number: OE00146650 Context assist for DEFINE VARIABLE missing VARIABLE keyword The context assist tooltip for the DEFINE VARIABLE statement is missing the VARIABLE keyword Issue Number: OE00146885 CTRL+space auto-completion doesn't list methods and attributes OpenEdge Architect CTRL+space auto-completion doesn't list methods and attributes for system handles like THIS-PROCEDURE. Issue Number: OE00147625 Opening an include via doubleclick sometimes does not open it Opening an include via doubleclick sometimes does not open it Issue Number: OE00147647 Incorrect message for unknown procedures in Editor When a procedure is unknown in the Architect editor the tooltip reports "File not found" instead of "Procedure not found during compile". Issue Number: OE00147649 Context tooltip does not report unknown variables There is no context tooltip displayed when the mouse cursor hovers an unknown variable. Issue Number: OE00148684 Architect does not show all internal-procedures in outline view Architect does not show all internal-procedures in outline view. Issue Number: OE00149469 Outline tree does not display multiple includes of same file If the same file is included at multiple levels by a compilation unit, it would be displayed only once in the outline view. Issue Number: OE00150179 Editor corruption when using multi cpu machine Editing a file in the OpenEdge Architect ABL editor may cause the editor to stop responding to keyboard input or display error messages about failed operations when using a multi-cpu computer. Issue Number: OE00151249 Preprocessor in procedure name breaks outline view If a procedure is defined and uses a preprocessor for all or part of the

procedure name, then the outline view stops working. Issue Number: OE00151400 Architect format command changes case on include file names Pressing Ctrl-Shit-F to format a procedure in Architect may change the names of include files to uppercase. Issue Number: OE00153919 Random Out of memory error while editing in OpenEdge Architect Session crash with Out of memory error while editing in OpenEdge Architect Issue Number: OE00154254 Wrong colors used for multi-level includes Wrong color for includes is used in the Outline View after pressing the "Expand include files contents within the outline of the current file" button when multi-level includes are involved. Issue Number: OE00155678 Small delay in editor pane after adding a comment In OpenEdge Architect, for larger source code files, adding and removing comments or preprocessor references can cause a short, but noticable delay in keyboard response. Issue Number: OE00158259 OpenEdge Editor snaps back to beginning of line on pause When typing on a line of text that extends beyond the visible biewport then pausing for a second or two the viewport snaps back to the beginning of the line, leaving the cursor where it belongs but showing only the beginning of the line up to the end of the viewport. Resuming typing causes the viewport to snap back to where you're typing but as soon as you stop the viewport snaps back to the beginning of the line again. Issue Number: OE00158584 Refresh Customization Options leaves actions enabled incorrectly Adding customization options in OpenEdge Architect will prompt for a reset of the perspective. However, the refresh does not take effect properly until OE Architect is restarted. Issue Number: OE00158672 "Correct case" feature does not fix message box casing properly Some keywords associated with MESSAGE statement such as VIEW-AS and ALERT-BOX are insensitive to the correct case functionality when invoking Source/Format from the OpenEdge editor's context menu. Issue Number: OE00159389 Outline view doesnt display all internal procedures or functions Having an internal procedure or function that contains a FOR statement with the descending sort option spelled as "DESC" will break the Outline view and cause it not to display any succeeding internal procedures or functions.

Issue Number: OE00159751 Architect compiler cannot read UTF-8 characters corrently If source code is written using the UTF-8 code page and this code is opened in the OpeEdge Architect, provided -cpstream is set correctly, the code will compile and run. However, if check syntax is performed on the code, the compile will issue the error 133. Issue Number: OE00159760 Incomplete outline view when using "DO TRANS" in Editor When using "DO TRANS" instead of "DO TRANSACTION" in a class method, the outline view would become incomplete. Issue Number: OE00161084 Double click on trigger doesn't open include Double clicking on a trigger that is defined in an include file, does not open the include when a preprocessor reference is used in the trigger Issue Number: OE00161384 Preprocessor used in class name causes syntax error in Architect When editing a file in OpenEdge Architect, if a preprocessor is used as a part, or all of the class name, then syntax errors are reported when doing a syntax check. Checking syntax in the Procedure Editor returns that syntax is correct and the class can be compiled without errors. Issue Number: OE00163377 Correct Case capitalizes variable names Selecting the 'Correct Case' feature from the 'Source' menu or choosing 'CTRL-SHIFT-F' to make a case correction will capitalize some variable names, Issue Number: OE00164351 OutofMemory error editing in Architect A preprocessor reference within a name (ie DEFINE QUERY {&TABLE-NAME~-query ...) may cause the Architet session to become slow and unresponsive before eventually crashing with an OutOfMemry error. ================================================ OEIDE OE Support ================================================ Issue Number: OE00118611 AppBuilder should start automatically in AppBuilder perspective Under some circumstances the AppBuilder would not start automatically when opening the AppBuilder perspective in Architect. Issue Number: OE00129200 Updating RoundTable for plugin for OE Architect via web fails Updating RoundTable plugin for OE Architect via the built-in web update (" Help > Software Updates > Find and Install ") can fail if the operating system language is not set to English-US. Issue Number: OE00146035

Architect does not report the progress of a project compilation The progress bar does not display the progress of the compilation process. Issue Number: OE00146490 Console view switches automatically to foreground in Architect The console view switches automatically to the foreground in OpenEdge Architect during compilation for each message that is printed to the console. Issue Number: OE00148666 AppBuilder inside Architect cannot add trigger to tty widget It is not possible to add triggers to widgets in TTY windows when using the AppBuilder inside OpenEdge Architect. The Edit->Insert->Trigger menu option is disabled for most widgets in a TTY window. Issue Number: OE00154469 Appbuilder is not linked to Editor in OpenEdge Architect Appbuilder is not linked to Editor in OpenEdge Architect for linked resources. File synchronization between the AppBuilder and the OpenEdge Architect Editor does not occur. Issue Number: OE00159551 Error 474 Opening File in Proc Editor Selecting a file in the Resources view then selecting OpenEdge -> Tools -> Procedure Editor from the menu bar causes a Progress runtime window to pop up with error 474. Issue Number: OE00162360 CTRL+Click does not work, if file name starts with get/set In OE Architect, if the include file name starts by get/set, the include file is not displayed in the Outline View. ================================================ OEIDE OEIDE ================================================ Issue Number: OE00133859 The PROPATH entries for Progress Dynamics can be added twice The PROPATH entries for Progress Dynamics can be added twice to the PROPATH. Issue Number: OE00145797 Run Configuration on Architect not working properly for -Wa -wpp Creating and running a Run Configuration on Architect with the startup parameter -Wa -wpp will generate error 11996. Issue Number: OE00146647 Context assist popup for DEFINE VARIABLE statement is incorrect The information presented by the context assist pop up for the DEFINE VARIABLE statement is incorrect.

Issue Number: OE00148540 Cannot create a new ABL include with an extension other than .i Template to create a new ABL include file cannot use an extension other than .i. The following message is displayed: File extension must be "i" Issue Number: OE00155457 Outline View does not display all procedures Certain IF-THEN-ELSE syntax variation may cause a corrupted outline view. This is an example of the offending syntax: IF lOk THEN DO: IF RETURN-VALUE <> "" THEN /* missing period here causes outline issue - code compiles and runs fine */ END. ELSE . Issue Number: OE00158154 Dot "." in internal procedure name causes error. The add procedure wizard in OpenEdge Architect does not put quotes around procedure names when needed. Issue Number: OE00161245 Content Assist causes java.lang.NullPointerException Under certain conditions, "Content Assist" may not complete normally and may cause a java.lang.NullPointerException. Issue Number: OE00161826 Architect AppBuilder cannot save windows with ibm850 chars Architect AppBuilder cannot save windows with ibm850 chars. ================================================ OEIDE Project IDE ================================================ Issue Number: OE00120111 Database connections are not always shown The database structure view in the OpenEdge Editor perspective does not show database connections unless a file in the project is open and has focus, and database connections have been created and assigned to the project. Issue Number: OE00127499 Line separator wrong when leaving a line just after a keyword In the OpenEdge Architect editors, when automatic keyword casing is switched ON and a new line is added immediately after a keyword an incorrect linebreak character is written to the source code file. This can make the file unreadable from other tools such as AppBuilder. Issue Number: OE00134040 Build only works if folders are physically located in project Build operations for a project do not build linked files and folders that

are not physically located under the Project folder. Issue Number: OE00134904 Outline view does not display multiline .i references properly If an include file reference covers multiple lines because it has several parameters, then the Outline view displays this as one line, including any unreadable characters. Issue Number: OE00135359 Generating file from custom template can show empty alert-box When generating new files using a template from the OpenEdge Customization options, if the template file cannot be found an empty alert box is displayed. Issue Number: OE00135458 Warnings in the OpenEdge Architect are shown as errors Warnings are shown as errors in the OpenEdge Architect editor and Problems view. Issue Number: OE00146456 Internal error while building project Internal error displayed while building project in OEA if the AVM compiler returns an unexpected message during the compile. Issue Number: OE00147684 New file dialog fails to close if project build is ongoing When a project build is ongoing it is not possible to add new resources to the project correctly. Issue Number: OE00147827 Linked Resources do not work with Propath In the propath settings window, adding a linked resource with "Add directory..." option will not allow procedures to compile that reference files in that directory. Issue Number: OE00148905 Architect fails to create directories for XREF-XML When the build output directory is not the same as the project source directory, and source files are in more than one subdirectory deep, then creation of XREF-XML files would fail because the corresponding directories do not exist. Issue Number: OE00159971 Architect in Editor perspective loses focus after code execution When running a program from the editor in OpenEdge Architect, the focus is not returned to the editor after execution. The mouse has to be used to return focus to the editor. Issue Number: OE00162671 Class IMPLEMENTS generates methods in random order in the

When creating a class that IMPLEMENTS another class, OpenEdge Architect generates the method definitions in what appears to be a random sequence. ================================================ OEIDE T4BL ================================================ Issue Number: OE00134605 Indexes are not deleted properly in Tools for Business Logic When indexes are deleted in the diagram editor of the Tools for Business Logic, they would not be deleted from the generated code. Issue Number: OE00134758 Code generator for a temp-table adds quotes for before-table When the code is generated for a temp-table thas has a BEFORE-TABLE name specified, the BEFORE-TABLE names contains double quoutes around it, causing a compiling error. Issue Number: OE00161393 Tools for business logic creates corrupted include files Tools for business logic creates corrupted include files by setting RCODE-INFORMATION property to true. ================================================ Open Client .NET ================================================ Issue Number: OE00147962 .NET DataTable TableName property isn't always Temp-Table name When passing a DataSet as output parameter, if one of its temp-table's name contains a hyphen (or any other character not valid for C# method names), then the TableName property of the corresponding DataTable will contain an hyphen. However, when instantiating a new DataSet, the TableName property of the DataTable does not contain any hyphen. Issue Number: OE00150121 DataSet contains before-table value; fields set DBNull from .NET When a DataTable field is set to DBNull from a .NET client, and the DataSet is passed to an AppServer as INPUT-OUTPUT, when the DataSet is returned to the .NET Open Client the value of the field may not be not correct. It may contain the value of the before-table instead. ================================================ Open Client Bridge ================================================ Issue Number: OE00147688 .NET Open Client application that uses SSL to connect will fail A .NET Open Client application that uses SSL to connect to the AppServer will fail with a class cast exception Issue Number: OE00159063 Java Open Client Much Slower in 10.1B02 Running Java code against a remote AppServer is much slower in 10.1B02.

================================================ Open Client Dynamic API ================================================ Issue Number: OE00127277 Data mismatch issue using .NET open client in multi-threaded env Data mismatch problem using .NET open client in multi-threaded environment Issue Number: OE00135196 Wrong error message 8821 connecting to an inexistant AppServer When connecting to an inexistant AppServer via AIA from a .NET open client the error below appears: CONNECT FAILURE: Unable to resolve hostname <host name> (8821) instead of: Connect Failure: Application Service <Application Service> Unknown at NameServer at Host <Host> Port <Port>. (8234) ================================================ Open Client Java ================================================ Issue Number: OE00145556 'EJavaObject' exception when calling Java getChanges() method If a ProDataGraph contains a GregorianCalendar datatype (mapped to a date, datetime, and datetime-tz fields), and the value of this field is null then the "The datatype 'EJavaObject' is not a valid classifier" Java exception appears when saving changes or getting changes on this field. Issue Number: OE00150414 Java Open Client using DataSet Sometimes Send Back No Data When using the Java Open Client to call programs on the AppServer that contain a mix of input-output and output DataSets as parameters, it is possible that the output DataSets may not return all data. Issue Number: OE00152043 Non-Unique Values in Extent Fields removed in Java ProDataObject When setting the value of an extent field in a ProDataObject in a Java Open Client application, if any of the values are not unique within the field, they are removed from the field. This results in incorrect values in extent fields.This happens when setting the extent field values in the Java Open Client application, or when receiving such values in a ProDataGraph from the appserver. Issue Number: OE00152062 Java schema mismatch with extent fields in ProDataGraph Tables with extent fields that are not the last field in the table will cause a schema mismatch exception when sent in a ProDataGraph from a Java Open Client Application to an AppServer. The exception is: Input result set error: <exception> There might be a mismatch between an input result set and the schema in the proxy. (7228) (7176) An example of such a table is: DEFINE TEMP-TABLE tt1 NO-UNDO FIELD fld1 AS INTEGER FIELD fld2 AS CHAR EXTENT 3

FIELD balance AS DECIMAL. Issue Number: OE00152168 ProDataRelationMetaData relation info incorrect in Java DataSet When creating a ProDataRelationMetaData object in a Java Open Client application, a user might get unexpected return values or exceptions if using a relation created with the following constructor: ProDataRelationMetaData(String linkname, int parentIx, int childIx, int numPairs, String pairsList) Such symptoms include: - getParentTable() and getChildTable() returning null instead of the table names. - getParentColumns() or getChildColumns() throws the following ProDataException: com.progress.open4gl.ProDataException: Invalid use of ProDataRelationMetaData method: <method>. Parent or child table is not set. (12577) - java.lang.NullPointerException when calling setChildTableReferences() on a ProDataGraph to which this relation has been added. Issue Number: OE00152316 ProDataRelationMetaData invalid field pairs with setColumns() When creating a ProDataRelationMetaData object in a Java Open Client, calling the method setColumns(int[],int[]) causes the field pairs string in the relation to be incorrect. The setColumns(int[],int[]) method is called after the ProDataRelationMetaData is created with the following construction: ProDataRelationMetaData(String name,ProDataObjectMetaData parent, ProDataObjectMetaData child) This bug manifests itself when sending a ProDataGraph to an AppServer, when the relation has been added to the ProDataGraph. For example, this can be seen when the AppServer calls WRITE-XMLSCHEMA() on the received ProDataSet. The relation displayed in the XML will look like this: <prodata:relation ... prodata:relationFields="nullfield1,field1field2,field2"/> Issue Number: OE00154230 Temp-Table W/Decimal Field = Corrupt Value on AppServer Passing a decimal value of .0000000001 through .0000009999 to the AppServer using a temp-table via Java Open Client will cause the value to become corrupt on the AppServer side. ================================================ Open Client PROXYGEN ================================================ Issue Number: OE00135800 Generated .Net proxies now use the temp-table name Generated .Net proxies now use the temp-table name instead of the defined buffer name. Issue Number: OE00135944 Large .NET proxies sometimes fail to be generated. .NET Proxies that include an extremely large number of procedures and temp tables sometimes fail to be generated.

Issue Number: OE00149388 WSDL generated with non-utf chars in portuguese intallation WSDL generated with non-utf chars using Portuguese OpenClient intallation. This causes an error when you attempt to generate classes using the WSDL file. ================================================ Open Client Web Services Provider ================================================ Issue Number: OE00157983 The WSA does not support 4 digit milliseconds The WSA returns a SOAP Fault when receiving a DataTime value with a fractional millisecond of 4 digits. ================================================ Porting Dev ================================================ Issue Number: OE00133019 Protraces on Linux and Unixware contain invalid information. Protraces generated by some executables on Linux and Unixware contain no useful information, only references to _fini+Hexaddress. Issue Number: OE00160971 Remote Server dies on execution of specific WHERE clause Remote Server dies on execution of specific WHERE clause in the 4GL/ABL code. ================================================ PROMSGS Translation ================================================ Issue Number: OE00148958 Dutch translation for error (915) is incorrect. The error message "Lock table overflow, increase -L on server (915)" is incorrectly translated as "Lock tabel te groot, verhoog -L op de server (915)" in the Dutch promsgs file ================================================ QPE PID ================================================ Issue Number: OE00125760 Errors 724 & 492 running code with only SQL Dataserver license Errors 724 & 492 are generated when trying to run code with only SQL Dataserver license installed. Issue Number: OE00161021 WSAMAN is missing with the WSA deployment license The WSAMAN utility is missing after installing the WSA license which is provided as part of the Deployment Components. ================================================ Replication AGENT ================================================

Issue Number: OE00135402 Clear error message if control agent name longer than 16 chars If the control-agent entry in the <dbname> file specifies a name longer than 15 characters, a clear error message is issued describing the problem; in previous versions, Replication would fail without messages pointing to the excessive length of the control agent name. Issue Number: OE00155828 Automatic failover and transition to normal database fails Automatic failover and transition to normal database fails ================================================ Replication SERVER ================================================ Issue Number: OE00135511 Fathom Replication Server cannot connect to a SQL-ONLY target Fathom Replication Server is unable to connect to a Target Database when the target database is started as SQL-ONLY. ================================================ Replication UTIL ================================================ Issue Number: OE00147281 dsrutil applyextent causes replication agent to crash. Applying an AI extent to an OpenEdge Replication target database using dsrutil applyextent will cause a memory violation in the replication agent. This only occurs if the dsrutil command is run from a directory other than the directory where the database was started from. Issue Number: OE00149697 Can't disable replication offline if all AI files are LOCKED If all AI extents became LOCKED and the database shutdown, you cannot disable replication. ================================================ Security SSL ================================================ Issue Number: OE00148394 SSL Socket Communication Can Return Spaces Instead of Real Data When communicating over the web using SSL it is possible that the data returned may be translated into spaces. ================================================ Server Technology Other ================================================ Issue Number: OE00087300 No content length in HTTP header when listing WSDLs There is no content-length in the HTTP header when returning the WSDL listing page. Issue Number: OE00110611 The -proxyhost parameter does not work with HTTPS

The OpenEdge client ignores the -proxyhost parameter when connecting to the WSA or AIA via HTTPS. Issue Number: OE00111621 New parameter (brkrSpinInterval) added to A new parameter named brkrSpinInterval has been added to the [Ubroker] group in the file. This property specifies how often a broker (AppServer, WebSpeed, etc) checks its socket for incoming messages. The property is specified in milliseconds. The default value is 3000 (i.e. 3 seconds) and it may not be set lower than 250 (ms); the broker will enforce this minimum value. Please note that values lower than the default may result in increased CPU usage. Issue Number: OE00129140 Appserver Message Compression may be less effective in 10.1B There are some siutations when Appserver Message Compression is less effective in 10.1B compared to earlier releases. Issue Number: OE00131491 Problem with State-free mode connecting to ESB broker Problem with State-free mode connecting to ESB broker ESB broker needs to be re-started after AppServer re-starts or clients will get a communication error. The same problem exhibits in Java open clients and WSA clients as well after AppServer re-starts. Issue Number: OE00136021 Client Connect feature fails with mbpro.bat The Sonic Adapter's Client Connect feature will not work with mbpro.bat. The reason for this is that the java environment is not set by the mbpro.bat file. To workaround the problem, set the java environment in the mbpro.bat similar to the way mpro.bat does: # Set Java environment for Java-based Debugger if [ ! -n "$JREHOME" ] then # Make sure that the script exists if [ -f $DLC/bin/java_env ] then . $DLC/bin/java_env PATH=$JREHOME/bin:$PATH fi fi Issue Number: OE00145537 Memory leak in .NET Open Client Each time a connection and disconnection is done, the "Progress.UBroker.Client.TcpClientMsgInputStream" object is left in memory which generates a memory leak on the .NET client side.

Issue Number: OE00160952 Client may crash canceling async request if started with -mc Client may crash when canceling an asynchronous request if the AppServer has compression turned on and the client was started with the -mc startup parameter. Issue Number: OE00162931 Client might hang receiving incoming SERVER-SOCKET connection While performing CPU-intensive operations, a client might hang when receiving a new connection on a SERVER-SOCKET. This is most likely to occur if the client is doing intensive processing, periodically checking for events using PROCESS EVENTS, rather than waiting for incoming connections using WAIT-FOR. The client will hang until another new connection is made to the SERVER-SOCKET, at which point it will accept the connection, but then hang again. ================================================ SQL ESQL92 ================================================ Issue Number: OE00114572 A query containing the LIKE predicate causes a SQL server crash A SQL query against a VIEW will cause the SQL server to crash when the LIKE predicate is used within the WHERE clause. Furthermore the VIEW uses the DECODE function. Issue Number: OE00133750 TIMESTAMP parameter format crashes the ODBC driver. ODBC driver crashes executing a OpenEdge SQL SELECT statement involving a parameter marker of type TIMESTAMP formated as {ts 'yyyy-mm-dd hh:mm:ss.fff'~. ================================================ SQL JDBC Drivers ================================================ Issue Number: OE00129045 Error 7498 when using ROUND function on some negative numbers Using "Select Round (-9.5) from <table>" gives error 7498. Issue Number: OE00134050 Insufficient Memory. Memory allocation failed at 1712 Using column alias from select list in an ON clause throws "Insufficient memory" error Issue Number: OE00135322 Creating a table with a keyword as column name fails Trying to create a table with a column name containing the keyword status fails when using the SQL engine. The same works fine using the DataDictionary tool if the prowin32 session is started with the -k startup parameter and the keyword status added to the file specified after the -k. Issue Number: OE00162739

"Edit Table Data" in DBNav fails on rows containg zero values When using DBNavigator, "Edit Table Data" fails to update any field of a record if there is one or decimal or integer field with a value of 0 in that record. ================================================ SQL ODBC Drivers ================================================ Issue Number: OE00092495 Cannot set DefaultSchema in ODBC.INI file on Unix When setting the DefaultSchema in the odbc.ini file on Unix, the following error occurs : )STATUS - - TPL error 0 errno 9 : PANIC - TPEUTIL sql_env_t::get_connection_handle acquire coninfo_mutex_lock failed PID 6270 Issue Number: OE00129645 ODBC connection fails with 5 digit numbers in -minport -maxport ODBC connection fails with following error message when using 5 digit numbers in -minport -maxport values. SQL Error State: 08S01, Native Error Code: 0, ODBC Error: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Connection refused. Cerify Host Name and Port Number. SQL Error State 08S01, Native Error Code: 1D4F, ODBC Error: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Socket closed. SQL Error State: 01000, Native Error Code: 0, ODBC Error: Issue Number: OE00133510 ODBC Client session GPF when freeing up statements Client using ODBC API opens 3 statements simultaneously. The coredump occurs when freeing up statements. Issue Number: OE00134255 Images stored in BLOBs not display in Crystal via ODBC Images stored in BLOBs not display in Crystal Reports via an ODBC connection. Display just shows a generic icon. Problem does not affect JDBC connections. Issue Number: OE00135737 Array field last row values populate subsequent result sets. SQL-92: The last row values of array columns populate all rows of the same columns of the result set after the first run of the query. Issue Number: OE00135809 ODBC driver returns wrong DAYOFWEEK() function values ODBC driver returns wrong DAYOFWEEK() function values.

Issue Number: OE00136250 SQL statement crashes 10.1x ODBC driver on Windows Server 2003 SQL statement that returns a large amount of data can crash the 10.1x ODBC driver when executed on Windows 2003. ODBC trace appears to show a server

crash but _sqlsrv2.exe remains alive. Issue Number: OE00148910 Errors Inserting or Retrieving RAW datatype using OpenEdge SQL When inserting data into a RAW field using OpenEdge SQL an error will be returned indicating that string data was right truncated and when retrieving stored RAW data the ODBC driver will hang. Issue Number: OE00154877 SELECT * or/and INSERT INTO ibm866 database crashes SQL SELECT * or/and INSERT INTO ibm866 database crashes SQL server Issue Number: OE00156468 Itanium 64-bit ODBC driver Itanium 64-bit ODBC driver: support for Hp Itanium in 10.1b Issue Number: OE00162598 SQL92 server process abruptly terminates reaching memory limit The _sqlsrv2 server process allocates high amount of memory and doesn't release or reuse it for the duration of a particular connection. ================================================ SQL QA ================================================ Issue Number: OE00151649 internal error when executing query with LIKE predicate When executing a particular SQL query with LIKE predicate, the following error occurs: Encountered internal error in SQL ENGINE at 1929 in X:/vobs_sql/sql/src/rds/opt_sort.cxx. Contact Progress Technical Support ================================================ SQL Server ================================================ Issue Number: OE00096285 internal Internal. This was fixed in a 10.1a service pack. ALTER TABLE table ADD CONSTRAINT <name> (column name);

Issue Number: OE00113091 Complex query return err 7481 when assigning integer parameters When a complex query involving view definitions returns Error 7481 when an integer parameter gets assigned using setInt function Issue Number: OE00118173 Some queries are slow when migrated from SQL-89 to SQL-92.

Some queries are slow when migrated from SQL-89 to SQL-92. Issue Number: OE00125285 SQL-92 CONVERT function fails with error 7481 SQL-92 CONVERT function fails with error 7481 - Inconsistent types. Problem only affects JDBC connections; function executes correctly using ODBC. Issue Number: OE00125356 _sqlsrv2 memory leak when using OpenEdge Management Memory leak in _sqlsrv2 causing OpenEdge AdminServer to die Issue Number: OE00126449 TBD To Make 'Alter Table add column' feature work appropriately. Issue Number: OE00128986 Use of NO REORDER has better performance than default join order In a particular complex query, {NO REORDER~ had better performance than using the default join order provided by the optimizer. Issue Number: OE00129442 Stored procedure grant privileges not exported GRANT privileges for stored procedures not exported by sqlschema Issue Number: OE00133311 The SQL-92 CREATE VIEW statement sometimes fails. The CREATE VIEW statement fails when using the AS key word and two fields have the same name even if these two fields are not from the same table. Issue Number: OE00134779 JDBC/ODBC clients cannot display some characters in array fields Array columns which contain extended characters cause a "Transliteration failed" error message when queried from a JDBC client. With ODBC clients the characters are not displayed properly. Issue Number: OE00135053 Complex SQL query with UNION phrases cores OpenEdge SQL Complex SQL query containing UNION phrase causes core dump on _sqlsrv2. Issue Number: OE00135558 INSERT statement generates "Value can not be converted" error. SQL-92: INSERT statement generates a "Value can not be converted" error executed as a preparedStatement involving array columns. Issue Number: OE00135936 Unable to insert two polish characters into a character field Unable to insert two polish characters into a character field via SQL client Issue Number: OE00135981

OESQL does not accept an array element in the GROUP BY clause Unable to specify an element of an array in a GROUP BY clause by using the SQL99 array notation. Issue Number: OE00136001 OESQL crashes when using SQL99 arrays in a query with GROUP BY The _sqlsrv2 process crashes when running a query which contains an array element in the column list and which also contains a GROUP BY clause. Issue Number: OE00136005 Error 7498 when converting an element of an array When running a query which converts an element of an array (using PRO_ELEMENT) to a numeric value and which also contains a GROUP BY clause, then a "Invalid number string (7498)" error is thrown. Issue Number: OE00136140 Concatenation result of string character literals is too long SQL-92: Concatenation of string character literals expressions using or "||" string operators causes the result to be too long. Issue Number: OE00136184 "Internal error -" executing a complex SQL-92 query OESQL: OpenEdge JDBC Driver error "Internal error -1" executing a complex query. Issue Number: OE00145525 Prepared Statements cause a memory leak in the OESQL engine Prepared Statements are not closed properly, causing a memory leak in the OESQL engine Issue Number: OE00146188 Trace the occurrences of table-scan for OESQL users This feature will log with greater granularity when a OESQL user is executing a tablescan agains a table. Issue Number: OE00147628 Scalar functions on array fields fail with error 7481 Scalar functions on array fields fail with error 7481 Issue Number: OE00149071 SQL result set is different when using or not ORDER BY When running a query with ORDER BY, the result set is lower than when not using the ORDER BY clause. Issue Number: OE00149694 OESQL engine can't handle > 2 array elements in GROUP BY clause The OESQL engine can't handle more than 2 array elements in the GROUP By clause. It either crashes or returns error -10920. "+"

Issue Number: OE00152172 OESQL crash executing a prepared stmt assigning value to array OESQL server crashes when executing a prepare statement which assigns a value to an SQL99 array element. Issue Number: OE00156749 Grant audit_admin generates server crash likely error When granting audit_admin priviledges to a user, the sql engine crashes. Issue Number: OE00157171 _sqlsrv2 process crashes when running within Solaris container The SQL server crashes with Memory Violation when the database is started within a Solaris container. Issue Number: OE00159057 _sqlsrv2 process pegs CPU at 100% due to poll call. _sqlsrv2 process pegs CPU at 100% on HPUX 11.31 due to poll call. Issue Number: OE00159365 OESQL queries intermittently return Access Denied OESQL queries intermittently return Access Denied when run by the default PUB user; no GRANT/REVOKE statements were issued. DBA user can still execute queries normally. Issue Number: OE00160593 SQL queries fail with ODBC error 0 or JDBC error -211023 SQL queries fail with ODBC error 0 or JDBC error -211023 after upgrade to 10.1x running on IBM AIX 64-bit Issue Number: OE00162662 SQL server crashes when querying a view with a CAST function A complex query against auditing tables in OE 10.1B03, which uses a view definition with CAST function fails due to _sqlsrv2 process crashing. Issue Number: OE00163709 OESQL server crashes when running a specific query OESQL server process crashes when running a complex query that contains EXIST function. ================================================ SQL SQL ================================================ Issue Number: OE00145579 Column reference "xx.yy" is ambiguous. (13852) Error occurs when using aliased fields within an SQL query Issue Number: OE00146369 UPDATE ALL COLUMN STATISTICS generates errors Executing UPDATE ALL COLUMN STATISTICS on a large database generates errors

Issue Number: OE00146681 SQL server crashes when executing complex query SQL server crashes executing a specific query Issue Number: OE00147229 Error 7597 if insert German characters in table with constraint Error "Constraint violation (7597)" appears when German characters are inserted via SQL in a table with a constraint. Issue Number: OE00147629 SELECT DISTINCT does not work on array fields SELECT DISTINCT does not work on array fields. It will return all rows, instead of removing duplicate records. Issue Number: OE00148050 Non prepared statement destroys the prepared statement. When a prepared statement is executed as prepared then as unprepared and again as prepared, the application fails. Issue Number: OE00148093 SQL-92 UPDATE statement generates "Internal error -2" error SQL-92 UPDATE statement generates "Internal error -2" error if the UPDATE target is a CHARACTER array field that is a component of one or more WORD indexes. Issue Number: OE00148162 SQL server crash due to numeric set method call for CHAR param JDBC Driver - Invoking a called a numeric set method, like setInt, for a character parameter caused the server to crash. Issue Number: OE00148715 UPDATE ALL COLUMN STATISTICS generates errors for some tables The SQL statement UPDATE ALL COLUMN STATISTICS generates errors for some tables. Errors generated are: Character string is too long (8184) for some tables and Tuple not found for the specified TID. for others. Issue Number: OE00149235 UPDATE COLUMN STATISTICS makes bi file grow heavily UPDATE COLUMN Statistics makes bi file grow heavily Issue Number: OE00150865 Error when inserting date < 1750 with a prepared statement Error with "Invalid data" when inserting date < 1750 into a field with a prepared statement Issue Number: OE00150911 ErrorCode=-211022 executing an SQL-92 Query timestamp

The error "Encountered internal error in SQL ENGINE at 1929 in E:/vobs_sql/sql/src/rds/opt_sort.cxx. Contact Progress Technical Support" may be generated executing certain SQL-92 queries using the ORDER BY option and involving a range date comparison. Issue Number: OE00151223 SQL query throws "No Params allowed in select list" error Executing an SQL query via a JDBC PreparedStatement generates the error: [DataDirect][OpenEdge JDBC Driver][OpenEdge] No Params allowed in select list Issue Number: OE00151610 CAST(NULL as VARCHAR) cause subsequent column values to be blank Using CAST(NULL as VARCHAR) or CAST(NULL as VARCHAR(50)) cause subsequent column values of a UNION to be blank. Issue Number: OE00151626 CAST(NULL as NUMBER) throws Overflow error (7485) Using CAST(NULL as NUMBER) or CAST(NULL as NUMBER(20,10)) in an SQL-92 query generates the error: === SQL Exception 1 === SQLState=HY000 ErrorCode=-20052 [DataDirect][OpenEdge JDBC Driver][OpenEdge] Overflow error (7485) Issue Number: OE00151683 Memory leak in OESQL engine Memory leak in OESQL Engine when adding rows Issue Number: OE00151690 SQL-92 index scan causes server crash under certain conditions If SQL-92 uses an index scan, and all needed values are fetched from key itself, and some leading keys are not referenced, and one of the omitted keys is decimal, then the server may crash. Issue Number: OE00151709 A SQL query returns no rows unless {NO REORDER} is used. A SQL query that used to return a non empty result set in 9.1x, now returns an empty result set unless the {NO REORDER~ option is used. Issue Number: OE00152709 SQL Update fails on table with array field and trigger SQL Update fails on table with array field if a trigger referencing old or newrow is defined on that table Issue Number: OE00153197 Memory Allocation Failure in SQL on NVL or CASE on array SQL queries which use the NVL or CASE functions against an array field cause memory allocation failures

Issue Number: OE00153907 Server crash is likely error w SUM() and DECODE() in query. A ''server crash is likely'' error is generated when an SQL Query invoking the SUM() and DECODE() functions is executed as a JDBC PreparedStatement object. Issue Number: OE00154633 setMaxRows() method returns wrong result set if set < 50 Setting the JDBC statement method setMaxRows() to a value between 1 and 50 causes the Result Set to return wrong results. Issue Number: OE00154844 A "server crash is likely." error joining to dual constants. A "server crash is likely." error when joining to dual constants and there's an inner select statement within the query and the query accesses the dual constant within the inner select. ================================================ SQL sql ================================================ Issue Number: OE00155132 Bad parameter specification for the statement (7613) Error: Bad parameter specification for the statement (7613) SQL query via a PreparedStatement. executing an

================================================ SQL SQL ================================================ Issue Number: OE00156765 Error (8184) when there is a foreign key constraint betw. 2 tabl Error Character string is too long (8184) when there is a foreign key constraint between two tables when inserting records. Issue Number: OE00156944 Certain UNION queries causes 'A server crash is likely.' error Bug causes some UNION queries to fail and to generate 'A server crash is likely.' error. Issue Number: OE00161756 READ UNCOMMITTED multidb connections cannot query catalogs When connecting to multiple databases using an ODBC connection with a default isolation level of READ UNCOMMITTED, a "SELECT CATALOGS ALL" statement will fail with "Error: Statement not allowed in readonly isolation level (7671) Issue Number: OE00161992 CONNECT .... AS CATALOG statement fails with error 7671 Attempting to connect to multiple databases using the "CONNECT <path do database> AS CATALOG <catalog name>" statement will fail with

Error: Statement not allowed in readonly isolation level (7671) when the ODBC DSN's Default Isolation Level is set to READ UNCOMMITTED. Issue Number: OE00162612 Complex SELECT DISTINCT query returns internal error Complex SELECT DISTINCT query returns internal error, err. at 1985 in /vobs_sql/sql/src/rds/opt_sort.cxx Issue Number: OE00162867 OESQL: Error (7597) generated by ALTER TABLE ADD CONSTRAINT Executing ADD CONSTRAINT w FOREIGN KEY after executing DROP CONSTRAINT for the same table and CONSTRAINT generates a 'Constraint violation (7597)' error. Issue Number: OE00164525 Nested parenthesis cause some queries to fail with error (10713) Consecutive left parenthesis cause some OESQL queries to fail and return a (10713) Syntax error.

================================================ Web Services Adapter Other ================================================ Issue Number: OE00150494 RETURN ERROR causes Active Clients to increase The AppServer's Active Clients will increase whenever a session-free Web Service is used against an AppServer code that ends with RETURN ERROR. ================================================ WebClient Other ================================================ Issue Number: OE00132941 Unable to install WebClient application using IE7. IE7 returns a sharing error when trying to run the .prowcapc file to install a WebClient application. ================================================ WebSpeed Agent ================================================ Issue Number: OE00148895 Agent with failed terminate msg does not process next request If a WebSpeed agent fails when sending its "terminate" message to the messenger, the agent will immediately terminate the next request it receives, then continue handling subsequent requests normally. This can happen when users stop their web requests in the browser. ================================================ WebSpeed Messenger ================================================ Issue Number: OE00115848 Unecessary information msg in msgr.log when logging level 1

When the logging level is set higher than zero (Error Only) for the Webspeed Messenger an informational message is written to the log file for each transaction. The message simply states the logging level; e.g. "Logging level set to = 1". For CGIIP, this is written for every request even if there are no other messages to be logged and that can cause the log file to get very big. Issue Number: OE00145584 CGIIP messenger may fail when logging is enabled CGIIP messenger may fail when the MsgrTrace logging is turned on and the QUERY_STRING value is very long. Issue Number: OE00161256 Random 5805 error when messenger can't get info from Name Server The WebSpeed messengers (except cgiip) may randomly generate error 5805 when it fails to send a request to the Name Server, instead of generating error 5825. ================================================ WebSpeed WebSpeed 4GL ================================================ Issue Number: OE00150081 WebSpeed about.r exposes OS and Progress version info Calling about.r in a WebSpeed installation reports information about the server OS and Progress version, even when the srvrAppMode is Production. This can be considered a security leak. Issue Number: OE00150162 Potential DoS vulnerability with WebSpeed's _edit.r It is possible for users to craft a URL which will cause WebSpeed agents to execute the Procedure Editor program _edit.r. Such a request will cause the WebSpeed agent to remain in BUSY state. Making this request enough times will cause all WebSpeed agents to become BUSY, and no longer be able to serve requests. This is considered as a security vulnerability. Issue Number: OE00150624 Potential DoS calling administration programs with WebSpeed It is possible for users to craft a URL which will cause WebSpeed agents to execute some of the Character Client's administration programs, such as _admin.r. Such a request causes the WebSpeed agent to remain in the BUSY state. Making this request enough times can cause all WebSpeed agents to become BUSY, making them no longer able to serve requests. This is considered a security vulnerability. Issue Number: OE00151311 WEB_RUN_PATH ignored w/ srvrDebug Disable or Default The WEB_RUN_PATH environment variable in WebSpeed is ignored when the srvrDebug property is set to anything other than Enable. This means even when srvrAppmode = Production, users can craft URLs to execute code outside of the WEB_RUN_PATH directories. ================================================ DBNav Other ================================================

Issue Number: UNUM00000442 DB Navigator breaks on BLOB field if max size =

Using Data Dictionary, it's possible to specify the maximum size for a BLOB (or CLOB) field to be unknown. The database engine handles this correctly by defaulting to the hard-coded limit of 1GB. The DB navigator in OE Architect trips over this. Changing the BLOB's properties becomes impossible and it will fail to display all fields correctly at all times.