Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SCL-2819 Resolved issues in CommitTransaction: RepositonToRowId may fail after ValidationError on backend

Description:

In cases where Business Entities have multiple tables and not all tables are provided by the Business Entity Adapter, the repositioning to the record that caused validation errors might have failed.
Those errors are resolved now.

SCL-2885 Fixed compile error in TableModel.cls on OpenEdge 11.6

Description:

We've fixed an compile error that occurred on OpenEdge 11.6 since recent SmartComponent Library builds. As the code looked kosher we've worked around what we believe is a bug in the OpenEdge 11.6 compiler.

SCL-2887 Fixed an issue in the scl-pasoe-trim command

Description:

The scl-pasoe-command was failing since the previous release of the SmartComponent Library with this error:
scl-pasoe-trim: (3135): Invalid handle. Not initialized or points to a deleted object. (3135)
This issue is now fixed.

Improvement

SCL-2476 Business Entity Designer now allows to generate Data Access with BufferDataSource instead of DATA-SOURCE

Description:

The Business Entity Designer now offers to option to generate the Data Access class based on BufferDataSource object instances instead of DATA-SOURCE object handles. The option is part of the Business Entity properties and the default for new Business Entity designs can be defined in the Business Entity Designer options.
Defining the Data Access class with BufferDataSource's simplifies to implement conditional data-source's, e.g. when switching the query data-source etc., see https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094648/New+API+for+dynamic+DATA-SOURCE+objects for details.

SCL-2773 Implemented ability of passing of the request entity to RESTful methods

Description:

We've added support to pass the Web Request instance to methods of Business Entities or Business Tasks invoked through the RESTful service interface.
When the parameter class name is defined as "OpenEdge.Web.IWebRequest" or "IWebRequest" then the web request instance will be passed as the argument to the method. This allows full access to the web request in the invoked method.

Code Block
languageabl
     @RestMethod (address="/TestSCL2773", requestMethod="post",
                 parameterClassName="OpenEdge.Web.IWebRequest",
                 response="return").
    METHOD PUBLIC RestMethodResponse BusinessTaskMethod (poParameter AS OpenEdge.Web.IWebRequest):

...

SCL-2874 The PING request now verifies that on the default AppServer handle, there are no pending asynchronous AppServer requests

Description:

The PING request of the KeepAliveService implementation of the SmartComponent Library does not check for pending asynchronous AppServer requests before executing the PING request.

SCL-2889 Disabled the "Copy" option in the Ribbon for the Object Master in the Object Master Designer

Description:

To copy an Object Master, the "Save as" tool of the Object Master Designer should be used. To avoid confusion we have now disabled the "Copy" button in the Ribbon on the Object Master tab.

SCL-2890 Now Providing a generic hook to disable calls to BusinessEntity:ReceiveData

Description:

The RetrieveData method of the Business Entity is intended to implement calculated fields. As for some Business Entities calculated fields may be an expensive operation not required in every case, customers have implemented various ways to conditionally disable calculated fields in ReceiveData.
Previously it was not supported to generalize this code as the invocation of the abstract method ReceiveData in the Business Entity was not overridable. We have not implemented the method InvokeReceiveData which can be overridden to control in a generalized way if or if not ReceiveData should be executed. When developers implementing an override to InvokeReceiveData decide to not call SUPER:InvokeReceiveData () then ReceiveData will not be executed.