Click here for a list of known issues.

The following table lists issues fixed in this release:

Component Issue Number Description
ABLTOOLS OCTA-46953

The class OpenEdge.Net.URI was unable to parse (hold) multiple values for a query parameter which appears more than once in a URI. The changes adds a new GetQueryValues() to supplement the existing GetQueryValue() method, returning an extent of character values. A count of values for a query parameter may be discovered by calling the new GetQueryValueCount(). A new structure was needed to store the multiple values, and may be returned by either GetQueryParams() or GetQueryValueList(), returning a StringKeyedMap or List(String) objects respectively. When utilizing the DataObjectHandler approach for mapping query parameters to method or procedure parameters, specifying the ABL datatype as a CHARACTER EXTENT or LONGCHAR EXTENT will allow passing of multiple values to an input parameter with a similar datatype.

ABLTOOLS OCTA-46622

Business Entity fails to update database records when using the WEB transport and the ProDataSet is updated within the Business Entity.

ABLTOOLS OCTA-42994

Incorrect results are returned from OpenEdge.Core.Util.MathUtil:IntToHex

ABLTOOLS OCTA-36435

OpenEdge.Net.HTTP.Lib.ABLSockets.ABLSocketLibraryBuilder class assumes that the set CSCP object is complete and does not add security parameters into the connection string.

ABLTOOLS OCTA-21034

Business Entities generated by PDS OE provide no direct method for mapping field lists in the DATA-SOURCE.

There is a AttachDataSource overload that provides this capability in an indeterminate array parameters, however this is overload not called by any of the Business Entity code used for reading data.

ABLTOOLS OCTA-11986

When a server returns a payload with the Content-Type of  application/x-www-form-urlencoded to a program using the ABL HTTP  Client, the client has no handler for a response of that  type.

The fix for OCTA-21031 includes an encoder for form data that should be used for this purpose.

ADE OCTA-48091

The standard output generates Error:  No _Field record is available. (91) raised when generating delta.df file between two databases using prodict/dump_inc.p

ADE OCTA-41766

Strict compile options are unusable when the code is generated by OpenEdge tools

ADE OCTA-39192

Load delta df through chui when the field name contains "psc" it will fail with Array subscript 11 is out of range. (26)

DB OCTA-41724

Version files in dbutils have default 660 permissions on installation in oe12, different to permissions in oe11.

DB OCTA-34797

Index rebuild performance degradation with ICU-UCA collations in 11.7.6+

DB OCTA-47793

When attempting  to perform a roll forward on an OEAG enabled database where the [startup.pf|http://startup.pf] contains a non-basic -cpcoll, the DB connection attempt returns error:
   “RFUTIL   : (18436) Error finding record for table _Db-options in finding STS URL return code is -1215”
in the .lg file and reports the following to the screen output:
   ”Cannot find the record with the configuration for the OpenEdge Authentication Gateway.”

DB OCTA-46556

Rolling forward AI files to a hot standby target database can fail with duplicate transaction table slot for two different transactions.

DB OCTA-43767

Error 17459 when trying to add new areas online on a replication target database after using prostrct add -validate operation.

DB OCTA-42968

The conv1012 utility option does not accept or pass on any parameter input.  During database conversion of 10.2 utf-8 databases this will result in errors (8557) (1285) since the required -cpinternal utf-8 parameter provided on the command line is not honored by the utility.

DB OCTA-41559

*Question / Problem Description*
When running SQL queries on sysprogress.syssynonyms and sysprogress.syscolumns to retrieve catalog type information for columns on an audit enabled OpenEdge Database, the user may get the permissions denied error described below if they are not an Audit Administrator.

Errors:
SQLState=HY000
ErrorCode=-20121
\[DataDirect]\[OpenEdge JDBC Driver]\[OpenEdge] permission denied (7677)

DB OCTA-3237

Allow a record to be deleted after experiencing either of the 2 following error conditions.

Cannot delete a record due to clob delete failure:
SYSTEM ERROR: unexpected return code from dsmRecordDelete -11

or after receiving error

Failure in large object operation, error = -34 (16683)
Could not retrieve large object segment for copying. (11319)
** Unable to update  Field. (142)

when trying to assign the clob to a longchar.

DB OCTA-47985

Replication server crashed with error 49 when encountering network disconnection during schema changes.

DB OCTA-47579

Allocating space from database storage areas may cause error (19489) SYSTEM ERROR: Attempt to read block 0 which does not exist area…

DB OCTA-43099

Unable to disable ai archiver online when only a replication license is installed (no replication plus license installed)

DB OCTA-43066

AI Writer thread ending and causing RSB Cache to fill and RPLA to hang

DataServers OCTA-46221

MS SQL Server can create system-versioned temporal table and need to enhance DataServer to support the same and this is going to impact the customers who creates schema with temporal tables at MSS SQL DB server and pulls back the same to OpenEdge.

DataServers OCTA-45842

For  join query having FIRST or LAST statement, there is change in behavior between oe 11 and oe 12 in fetching the record when ABL query is having BY clause and there is mismatch between ordered columns order and chosen index order.

Lang OCTA-48075

The SAX-writer WRITE-CHARACTERS method throws error (4065) when passed an UNKNOWN value.

Lang OCTA-47842

A Progress Application Server for OpenEdge session crashes when adding a zero-length LONGCHAR value to a JsonObject that was returned by Progress.Web.WebRequest:GetContextValue().

Lang OCTA-45871

OpenEdge Web Service requests will leak sockets when HTTP redirection occurs, leading to error 11773.

Lang OCTA-45820

bprowsdldoc fails to load a WSDL when the schema elements do not define a targetNamespace.

Lang OCTA-44926

The value returned by either the MINIMUM ( ) or MAXIMUM ( ) functions is rounded to an INTEGER value if the first parameter is an integer value, and the second parameter is a dynamic buffer field expression that resolves to a decimal value.

Lang OCTA-43775

Memory leak in ABL client making continuous ASYNC requests when the request has a Longchar parameter.

Lang OCTA-37481

The client crashes when using the DYNAMIC-INVOKE ( ) function passing a reference to a .NET object instance as a parameter while using a memory-mapped procedure library.

Lang OCTA-17073

Calling the DETACH-DATA-SOURCE ( ) method before closing the associated query results in error “qrNext called with a closed query. (2732)” when executing a query or FOR  EACH statements

Lang OCTA-3790

The ABL Compiler erroneously requires the OVERRIDE option to be specified when defining ToString ( ) or Equals in an interface.

Lang OCTA-3344

An ABL client generates error 11790 “The 4GL value may not be UNKNOWN” when invoking a SOAP Web Service operation when passing the UNKNOWN value to the operation.

Lang OCTA-2837

bprowsdldoc generates invalid ABL  code. The generated code contains dataset with temp-tables having the same name as input/output parameters.

Lang OCTA-47984

The ABL client on Linux cannot process file names with special characters when the session is running with the UTF-8 codepage. This affects SEARCH(), and the FILE-INFO system handle, where the information for the file is not available after you set the FILE-INFO:FILE-NAME attribute.

Lang OCTA-47803

The IsFlagSet method always returns TRUE when invoked on an instance of the Progress.Reflect.ParameterMode enumeration.

Lang OCTA-47574

If error 15747 is generated from a source procedure longer than 32767 lines a negative line number will be shown in the error message. For example:

Value 7766800007 too large to fit in INTEGER. Line -20466 in example.p. (15747)

Lang OCTA-47546

The WINDOW-RESIZED event is incorrectly generated when an ABL window embedded in a .NET form is realized.

Lang OCTA-47136

Using the SEARCH() method with the FIND-PREV-OCCURRENCE option to search for an empty string in an editor widget causes the GUI client (prowin/prowin32) to crash.

Lang OCTA-47123

Using the COPY-LOB STATEMENT to copy data from a MEMPTR to a LONGCHAR fails with error "Large object assign or copy failed. (11395)" when the endianness of the target codepage (big endian or little endian) does not match the endianness of the operating system.

Lang OCTA-46903

The CODEPAGE-CONVERT function converts an invalid four-byte UTF-8 character to a question mark instead of returning the unknown value and generating an error to indicate that the LONGCHAR value could not be converted. CODEPAGE-CONVERT correctly returns the unknown value and generates an error when the LONGCHAR value being converted contains an invalid two- or three-byte UTF-8 character.

Lang OCTA-46778

Connecting to a database which contains thousands of tables may exhaust the AVM’s internal stack memory, resulting in message “WARNING: -s stack exceeded. Raising STOP condition and attempting to write stack trace to procore file. Consider increasing -s startup parameter.”

Lang OCTA-46164

The startup parameter -scrvalmode with a value of 4 causes error 4058 with an empty selection list widget.

Lang OCTA-45867

If a wait state is set with SESSION:SET-WAIT-STATE(“GENERAL”) before a .NET form is displayed with ShowDialog() and is canceled when the form is displayed (in the OnShown event hander, for example), the form which displayed the dialog box will be disabled when the dialog box is dismissed.

Lang OCTA-45366

The Dynamic objects logging for MEMPTRs may log different sizes for Allocation and Deallocation lines when working with the Progress.IO.MemoryOutputStream and/or OpenEdge.Core.ByteBucket classes.

Lang OCTA-44962

The charscan option of the proutil utility may not detect a corrupted multi-byte character which is the final character in a field in a UTF-8 database.

Lang OCTA-44951

Serializing an enum to JSON may result in corrupted a JSON file when the size of the serialized file exceeds 64K.

Lang OCTA-44688

When using the -yx parameter, the proc.mon file generated has entries for classes but the package name is reported without the class name.

Lang OCTA-44417

The DISPLAY statement corrupts CLOB data when applying a format string.

Lang OCTA-44003

The AVM crashes if the ACCELERATOR attribute is set on a menu-item in a popup menu which has been realized.

Lang OCTA-43487

Displaying an ABL window which contains many widgets is noticeably slower in OpenEdge 11.7 than in earlier releases.

Lang OCTA-43071

The OpenEdge AVM may crash when the length of the string passed to the DECIMAL function exceeds 255 characters.

Lang OCTA-42110

The AppBuilder’s Section Editor does not display code sections, such as the enable_UI and disabled_UI procedures, which are marked as read-only.

Lang OCTA-41331

The Progress.Database.TempTableInfo:TempTableCount property may display the wrong value after reusable OOABL objects that instantiated temp-tables get deleted.

Lang OCTA-41132

The AVM crashes when exporting data from a record which has a corrupted DECIMAL field.

Lang OCTA-39517

COLUMN-READ-ONLY Browse Cells with VIEW-AS COMBO-BOX or TOGGLE-BOX still can be changed.

Lang OCTA-34500

Reading an XML schema might fail with error “XML Schema does not map to a dataset definition. (13106)” when temp-table names are reserved keywords.

Lang OCTA-19665

The WRITE-XML method generates error 13515 (“Invalid encoding for WRITE-XML“) when it’s unable to write the XML file because the destination directory is read-only. The error message is misleading because it doesn’t mention the case where the destination directory can’t be written to.

Lang OCTA-13355

In a session with -cpinternal and -cpstream set to UTF-8, the CODE and LABEL attributes of the LAST-EVENT system handle incorrectly identify the last keypress if the associated character is a multi-byte character.

Lang OCTA-3908

The error 4705 is too generic, which causes confusion when it is  displayed with LENGTH(), SUBSTRING() and OVERLY.

Lang OCTA-3777

The DYNAMIC-NEW() statement fails with a runtime error when the class being instantiated implements a .NET interface and one or more parameters are passed to the constructor.

Lang OCTA-3533

If the first or last entry on the line is blank, quoter.exe does not replace it with a dash (”-”) as it does with other blank fields.

Lang OCTA-3475

A combo box with a format defined greater than 256 displays blank values and a 4058 error when opening in the  AppBuilder:

**Attribute SCREEN-VALUE for the  COMBO-BOX has an invalid value of yes. (4058)

Lang OCTA-3361

The READ-JSON method expects Unicode escaped characters in lower case, for example “\\u00d6”. Error 15363 (“Unable to convert JSON to native data type for field “field-name” in temp-table “table-name” . (15363)”) is generated if the hex values are in upper case.

Lang OCTA-3304

In some cases, the 4GLTrace log entry type logs the end of a procedure but not the start of the procedure. Examples include the startup procedure specified by the -p parameter, database schema triggers, and the main procedure of an Appserver request, among others.

Lang OCTA-3086

When XML representing a dataset is nested, and the nested child’s foreign key field is hidden, READ-XML will issue the following error if the parent field’s value in the XML is the empty string:  “READ-XML encountered an error while parsing the XML Document: Invalid  child index. (13064)” .

Lang OCTA-3023

Assigning the result of the GET-BYTES function to a MEMPTR using the PUT-BYTES statement fails with error 9190 “Attempt to exceed maximum size of a RAW variable” when the number of bytes returned by GET-BYTES exceeds 32K.

Lang OCTA-44614

Checking the interface developed in C# with the IsA() method  returns inconsistent results.

Lang OCTA-47578

XREF no longer showed the correct amount of SEARCH/ACCESS entries when an index is used multiple times in a where statement.

Lang OCTA-46135

.NET Open Client does not preserve all inner exceptions and stack traces for system level exceptions.

Lang OCTA-46075

OUTPUT table parameter with BLOB field that exceeds the maximum available 32 bit system memory causes System.OverflowException: Array dimensions exceeded supported range. with .NET Open Client.

Lang OCTA-45939

Assigning an invalid value to the Connection:SessionModel property for .NET Open Client returns error 7260 when an AppServer request is made.

Lang OCTA-45341

Error “No record is available (91)” gets suppressed and you may only get “Error attempting to push run time parameters onto the stack. (984)” if a WHERE clause has a user-defined function call where a field not in scope is passed as a parameter to the user-defined function.

Lang OCTA-44566

Crash when using RadGrid bound to OpenEdge proBindingSource and the query is re-opened.

Lang OCTA-43986

The error 15607 lacks detail why it happens and how to resolve it.

Lang OCTA-40995

It is possible to get error: “Field <fieldname> from file <filename> record <RECID> was missing from FIELDS phrase (8826)” when using a query with a client/server database connection or a query with a cache, even though that query did not specify FIELDS.  For this to happen, the FIELDS phrase must have been used in a different query.

Lang OCTA-22752

ProDataGraph performed a case sensitive string comparisons when trying to find matching data relations between parent and child records which is not the same behavior as ProDataSets in the ABL.

Lang OCTA-22601

Value returned by GET-POINTER-VALUE() causes a System.OverflowException .NET error on 64-bit systems.

Lang OCTA-3985

While running a dynamic query on a case-sensitive temp-table field, the query treats the field as if it is case insensitive.

Lang OCTA-3969

Without assemblies.xml, any class that inherits from a base class and is  instantiated with DYNAMIC-NEW, can fail with errors 12932 and  14284:

Found class but could not find or  generate one of its super-classes. (12932)
DYNAMIC-NEW  could not find class . (14284)

But it only  fails with these errors the first time. If the DYNAMIC-NEW statement  is called again it works without error.

Lang OCTA-3887

The 8812 error message does not contain any information that can help pinpoint why a lock conflict might have occurred after the fact.  Useful information such as ROWID, table name and user name are not included in the message.

Lang OCTA-3880

Application reports error 3159 “Cannot Get on query which is not opened”  after updating to OpenEdge 11.7.2.

Lang OCTA-3479

OS-GETENV corrupts extended characters in a UTF-8 session (-cpinternal  utf-8).

Lang OCTA-3278

Browse cell incorrectly updated when out of viewport if preceding cell value is changed via a COMBO-BOX (VIEW-AS COMBO-BOX).

Lang OCTA-22508

Audit admin requires to be given rights _Can-Create, _Can-Write _Can-Delete,  on system tables _sec-granted-role, _sec-granted-role-condition, _sec-role, to manage the Audit admin roles.

Lang OCTA-3247

When the HINT option is marked as :U (untranslatable) in the QUERY-TUNING phrase the code does not compile.

Lang OCTA-43727

Profiler report missing some module identifications (.p, .cls, internal procedure, method, triggers, etc.). When this happens, it is because there are triggers present in a .p or .cls. This results in missing data, which causes the Profiler Tool to fail.

Lang OCTA-33631

No compile-time error when same temp-table is used in different dataset buffers.

Lang OCTA-10015

Progress.Windows.WindowContainer inherits from System.Windows.Forms.UserControl, rather than Progress.Windows.UserControl.

Lang OCTA-3529

The Window widget status-area attribute is limited to 63 bytes.

OEM OCTA-47690

OpenEdge Management 12.2.x release not showing Database startup parameter values in Information Views related to the Database Configuration

OEM OCTA-36622

The settings for 4GL or SQL for the servergroups are being lost in OpenEdge Management after the Server restart.

PASOE OCTA-46511

Under 12.5 PAS for OpenEdge the MSAgent fails to create the log or any error message if the startup pf file was not accessible.

PASOE OCTA-46475

There are intermittent \[00/00/00@00:00:00.000+0000] datetime stamps appearing in the PAS for OpenEdge Agent log files since OpenEdge 12.2.8 release.

PASOE OCTA-44203

The addAgent REST API shows “GET ABL OBJECTS REPORT” as the operation when the response is returned.

PASOE OCTA-43426

It is not documented that the minimum value for the minAvailableABLSessions property in openedge.property is 1.

PASOE OCTA-28369

The PAS for OpenEdge binaryUploadMaxSize does not limit uploads based on size

PASOE OCTA-44337

Class not found error when configuring domain in _oeusertable due to incorrect value for realmClass specified in sts.properties.

PASOE OCTA-46186

Java.lang.NullPointerException thrown by OpenEdge 12.2 PASOE SOAP Web Service when SOAP request contains the xsi:nil=”true” attribute

PASOE OCTA-44315

Support for using email addresses for user ids was coded, but the Spring XML and property files were never updated to allow customers to take advantage of the feature. There is a kbase for manually updating earlier versions to take advantage of this feature.

PASOE OCTA-43223

PASOE cannot deploy a web service .wsm file if it contain a SubAppObject

PASOE OCTA-40800

Error 15472 when calling SOAP operation with indeterminate extent

PASOE OCTA-40445

The OpenEdge release 12.4+ OESSO Login Model is incorrectly creating HTTP Sessions that are unused at run-time and increase the use of memory and request processing overhead.    The OESSO Login Model configuration prevents disabling the creation of HTTP Sessions.

PASOE /Security OCTA-41571

The CCID is not being returned when using the OERealm Authentication-Provider in a FORM login model.

PDSOE OCTA-46542

The PDSOE class browser does not display class details when the number of required assemblies exceeds an internal limit when loading assemblies from the assemblies directory.

PDSOE OCTA-47857

Initialize OpenEdge Tooling is not finishing for some users because of memory usage. This prevents some developers from opening the Design View.

PDSOE OCTA-45319

In some cases when profiling code running on PAS instances, the .prof files generated by the PAS instance cannot be read by the Developer Studio Profiler tool.  When trying to open such files the following message is displayed:

“Error reading Operator section, section end not found - null”

PDSOE OCTA-44294

The content Assist feature in PDSOE doesn’t work when the project name is different from the name of the project directory on the file system.

SQL OCTA-43988

Multiple threads competing on a resource being initialized while using a database with ICU 4.8 collation was leading to OE SQL Server crash.