DXP21.10.0003 Changelog

November 06, 2021

Expression binding field length. neptune.valueHelpField Dump. Binding not working on neptune.valueHelpField. Syntax check for duplicated binding in AJAX. Format data settings have not been considered. neptune.ValueHelpField uppercase Search Parameters. WEBSQL cacheInitLoadFinished event not triggered. Enhance launchpad with footer. Responsive Launchpad Header Area. Event script in Cockpit app designer. Script not saved in SAP GUI App designer. Form Based authentication with Domain user. Launchpad favorite & most used section rebuild. Maximum displayed most used tiles. OData Binding Entity Type Field mismatch. OData IndexedDB Cache. Dynamic Page Model not available in Send/Receive dialog. Error while copying app with sap.ui.model.odata.v2.ODataModel. App Designer field length. Responsive F4 Help. Height setting in tile favorites. Cockpit event listeners. Fiori tile height. Mixing different bind object types in table model sources. System default CDN UI5 & Mobile Client build. System default CDN UI5 version not used in launchpads. AppCache.RemoveAllCache in standalone apps. Cockpit dialog close buttons in Firefox. Value Format defaults. Code beautifier scripts updated. SM02 system messages in Launchpad. Possible to disable all launchpad layouts. Launchpad back button not hidden. Filter in Cockpit Theme Import. UI5 objects with JSONH conversion. Active app title in mobile client. Theme CSS variables in standalone app. New UI5 Controls in the App Designer.


Expression binding field length in GUI App Designer (16459)

The expression Binding input field inside the Binding Popup was only capable to hold 118 characters. However the database field /NEPTUNE/_OBJ_AT-VALUE can hold 255 characters. The Input Field Length in the Dynpro has been increased to 255 now.

Dump for neptune.valueHelpField when F4Key is integer (16467)

When you were using a neptune.valueHelp Field and assigned a search help that had an integer as a Export Parameter you would get a dump OBJECTS_NOT_CHARLIKE when the search has been performed. This is now resolved by first moving all values to a STRING and afterwards concatenating the values together.

Binding not working on neptune.valueHelpField (12056)

Finally we resolved a long open Problem that you were not able to bind properties to neptune.valueHelpField (like "placeholder" or "editable"). The reason for this was the based on the fact that you need to assign a binding wich is typed with /NEPTUNE/RANGE_TAB. We changed now the way how we set this model to the field by assigning it as a "named" model with the static name "rangeModel".

If you are using myValueHelpField.getModel() to access the range data of the valueHelp and not use the model directly modelmyValueHelpField you will either need to change the call to myValueHelpField.getModel('rangeModel') or directly access the Range Model Data by the model object directly with modelmyValueHelpField.
Syntax check for duplicated binding in AJAX send (16398)

If you do send the same Public Attribute to the SAP System it has not been clear which model is actually received in the SAP System. We now added a Syntax Check to highlight if the same binding is sent to SAP multiple times.

"Format data" settings (Conversion, Prefix, Suffix) have not been considered (16470)

In the SAP GUI Designer you have the possibility to influence the way the JSON is serialized for structures and tables with the "Format data" option. Settings you applied there (Conversion Exits, Prefix, Suffix) have not been considered since DXP 21. The conversion is now applied again if corresponding settings are defined.

neptune.ValueHelpField uppercase Search Parameters (16485) - Hotfix 16

If a charlike search parameter was being used to perform the search help and this parameter doesn’t allow lowercase inputs its value has not been converted to upper case. Thus the search did only work when you pass the value in uppercase letters and not lowercase letters. This issue has been freshly introduced in DXP 21.10.0000 but is now resolved.

WEBSQL cacheInitLoadFinished event not triggered (16434)

When cache was set on a model with cache type WEBSQL, tha cacheInitLoadFinished event was not fired.

Enhance launchpad with custom footer (16424)

You can now add custom footer controls to the Neptune Standard Launchpad. Create a Neptune application with an sap.m.HBox as the root control and add buttons and other suitable footer controls to the HBox. When done, add the application to the launchpad/mobile client configuration.

The application is loaded using AppCache.Load, so you can use regular bindings from the backend ABAP class and run custom code in the onInit event.

Responsive Launchpad Header Area (14577)

The Standard Neptune Launchpad header can hold a lot of different elements. If every header element is enabled, you will have all these elements visible on bigger screens:

21 10 3 patch main 0

The logo is responsive, on smaller screens the mobile logo will be used. Username will be hidden automatically on smaller screens. Responsiveness for the customer areas must be handled by the developer. The areas for menus (tilegroups) and open applications will be the most variables in size and have until now not been responsive enough. Content would just be hidden on smaller screens. In the header area in the Standard Neptune Launchpad, an overflow button will now be shown if there is not enough room for menus and icons for open applications. The menus will he hidden keeping the icons for open applications visible as long as possible. Menus can be accessed clicking the overflow button:

21 10 3 patch main 1

When the screen gets small enough, the icons for open applications will begin to overflow and show together with any menus in the overflow popup list. On mobile devices the popup will be fullscreen.

21 10 3 patch main 2
Event script in Cockpit app designer (16428)

During the creation process of an app, there was an issue if adding event script before the app was saved or activated the first time. In that case, the script code would not be saved.

Script not saved in SAP GUI App designer (16256 and 16317)

In the App Designer in SAP GUI (however not with the setting "Old editor"), script code changes would not be saved in certain scenarios. One example is if browser control in SAP GUI was set as chromium based Edge, and one would close the script tab directly, before pressing "Save", "Activate" or any other place outside the script window.

Form Based authentication with Domain user (16044)

It is now possible to use form based authentication also for usernames that contain backslash. So username with the following format is now also supported: domain\user.

Deprecated events in App Designer (16399)

A few deprecated events, like the tap event on the sap.m.Button, are missing in table /NEPTUNE/LIB_AT. If an application have an existing implementations of these events, the App Designer will not display the event in the attribute list.

Cockpit action buttons placement

The action button placement in the Neptune cockpit is placed to the right to follow the Fiori Action Placement Design Guidelines. With a big screen the action buttons can be a bit hard to reach. Now you can set the placement of the action buttons to the left in the Cockpit user settings.

21 10 3 patch main 3

This functionality will replace the previous action buttons width setting.

Launchpad favorite & most used section rebuild (14136,14313)

It’s possible to enable favorite tiles in the cockpit tilegroup configuration. When the end user adds a tile/application to favorites, tilegroups that have favorites enabled, will have the new tile added. In this process, the whole launchpad page was reloaded, interrupting the user interaction flow. Now, only the favorite areas are redrawn and no scrolling is done. The same goes for the favorite removal process and redrawing most used tiles.

Tilegroups which are configured to show most used tiles, will have the most used tiles sorted by …​ most used, surprise ;) Display of the most used tiles will now be updated live with new positioning when tiles are accessed.

Launchpad favorites & most used menu rebuild (14479)

Favorites and most used tiles are now displayed at the top of the menu, so that the position correspond with the position in the tilegroup. The menu is also rebuild each time a tile is added or removed from favorites.

Maximum displayed most used tiles (14479)

The maximum displayed tiles set on most used tiles in the Cockpit tilegroup configuration, is now being used when adding most used tiles to a tilegroup.

OData Binding Entity Type Field mismatch (7524)

The binding wizard for OData services now shows correct texts corresponding to the field names.

OData IndexedDB Cache (13860)

Settings cache type to IndexedDB on OData models had no effect, cache type would fallback to local storage.

Dynamic Page Model not available in Send/Receive dialog (5999)

The "Additional Model Send/Receive" dialog now shows models for all fields which can be bound to a Model Source.

Error while copying app with sap.ui.model.odata.v2.ODataModel (13871)

Applications will now be copied from App Designer into state "New" and are opened for editing. The user can decide now about the right point in time for activation of the copied app.

App Designer field length (13942)

The attribute value field in the Cockpit App Designer was limited to 128 characters. Now it’s set to 255 characters following the limit in the ABAP structure field /NEPTUNE/OBJ_AT-VALUE.

Responsive F4 Help (6350)

The Neptune F4 Search Help control is now more responsive, making it easier to use on mobile devices.

21 10 3 patch main 4
Height setting in tile favorites

In addition to changing the width of favorite tile, you can now also change the height.

Cockpit event listeners

The Neptune Cockpit defines a few event listeners to handle click, keypress and mouse over events. These events are now created using proper control/browser events and destroyed in the element.exit method (same procedure as for the launchpad in DXP 21 Patch 2 ;)

Fiori tile height

A Fiori tile type should always be one unit tall. If a tile was set to either tall (2x), Tower (3x) or Skyscraper (4x), the Neptune Launchpad CSS grid would make room for the tile height. The result would be 1,2 or 3 empty grid rows. Now a Fiori tile will always be standard (1x) height, no matter what is set in the tile configuration.

Mixing different bind object types in table model sources (14926)

The bind object type can be "data" or "source". Adding the same ABAP structure to an Ajax call caused the backend ABAP server to choose wrong data. Now the bind object is included in the select for attributes returning two different structures to the frontend.

System default CDN UI5 & Mobile Client build (16411)

If a CDN version was set as default UI5 version in the Cockpit System Settings service, the mobile client build process would try to use the CDN files to build. UI5 must be added from a locally installed UI5 version, so the process would result in a server dump with a a 500 Server Error response. Now the default UI5 version is ignored in the build process, if the default UI5 version is a CDN version.

System default CDN UI5 version not used in launchpads (16411)

Setting a system wide CDN UI5 version in the Cockpit System Settings service would not be used in Neptune desktop launchpads and PWA’s.

AppCache.RemoveAllCache in standalone apps (16434)

Calling AppCache.RemoveAllCache in an application not running in the Neptune Standard Launchpad, would result in this error: "Uncaught ReferenceError: modelAppCacheUsers is not defined".

Cockpit dialog close buttons in Firefox (16442)

When running the Neptune Cockpit in Firefox, dialog close buttons would be centered instead of placed correctly in the top right corner of the dialog.

Value Format defaults (16435)

Default values for valueFormat on Date & Time Pickers in the App Designer has been removed, so that default UI5 behaviour is restored.

Code beautifier scripts updated (16453)

Beautifying async functions was not handled correctly. The beautifier scripts used to beautify Javascript, CSS and HTML code has been updated to v.1.14.0. The editor used in the SAP GUI App Designer will still use the old version because SAP GUI use Internet Explorer as the Javascript engine in most Neptune developers SAP GUI installation. We have fixed the specific async function problem reported in the old sAP GUI version though.

SM02 system messages in Launchpad (16297)

Sorting and grouping of SM02 system messages in the Neptune Launchpad will now be done for messages created on multiple lines within the same minute.

Possible to disable all launchpad layouts

It was possible to disable all assigned layouts in mobile client and launchpad configuration.

Launchpad back button not hidden (16478)

When closing an open app using the close button in the left menu active apps section, the back button would no be hidden.

Filter in Cockpit Theme Import

The filter function in the cockpit theme import service did not work.

UI5 objects with JSONH conversion (16481)

All array data send from the ABAP server to the frontend in an Ajax call, will be sent in JSONH compressed format. On a few UI5 objects, like the TNT Navigation List, the JSONH conversion was not handled in the Ajax success handler.

Active app title in mobile client (11549)

Setting for active app title in launchpad header has been added to the mobile client configuration.

Theme CSS variables in standalone app

Neptune recommends that you use the UI5 Theme Variables when you design your applications with CSS. Now you can also use the UI5 Theme variables in standalone applications. You’ll find more than 500 :root CSS variables you can use in the Elements tab in the browser debugger.

21 10 3 patch main 5
New UI5 Controls in the App Designer
  • sap.m.DateTimePicker (16324)


  • Ricardo Ferreira

  • Dharma Subramanian

  • Peter Nigg

  • Gary O’Neill

  • Daniela Louis

  • Oliver Hütköper

  • Maximilian Schaufler

  • Erik Jeffreys

  • Michael Opoczynski

  • Astrid Dingmann

  • Sushant Ranade

  • Deborah Rusch

  • Robert Bitschnau

  • Mpumzi Mlotywa

  • Miquel Marin

  • Søren Bæk

  • Enrique Gonzalez

  • Francesco Puglisi

  • Lukasz Marciniak

  • Steve Campbell

  • Matt Harding