Neptune DXP 23.10.0007 Changelog

July 10, 2024

Cockpit

Apps With Deleted Controls (01-21435)

The tool "Apps With Deleted Controls" will list all apps that include deprecated/deleted UI5 controls. Some of the applications might have been originally delivered by Neptune. Some of the old Neptune apps were included in the installation, some might have been downloaded from the Neptune DXP Marketplace. Some of the apps in the Neptune namespace will now be filtered out so that the list is not polluted by these apps.

System settings Disable Frontend Client Application Cache(03-21466)

In the system settings in the Cockpit, the "Disable Frontend Client Application Cache" setting was not being taken into account.

System settings Prevent license key from being cleared unintentionally(07-21305)

Some improvements have been implemented to prevent the license from being cleared unintentionally. The "SAVE" button is now disabled until a license is introduced in the text area, and a confirmation pop-up is now displayed before saving the license.

Custom UI5 Controls: Setting a default value for a property leads to duplicated Values(24)

When setting a default value for a property in a custom UI5 control in the Custom UI5 Controls tool, the values could get duplicated.

Debug formatting of views

When the Cockpit is opened in debug mode, the views for individual tiles will now also be loaded in debug mode.

General

SAP Edition Neptune App doesn’t open in Open Edition Cockpit (21287)

With Neptune DXP - SAP Edition version 23.10.0005 there was a bug introduced (AppSync Dialog Translations (21287)) that led to a JavaScript error when a Neptune DXP - SAP Edition app was opened in a Neptune DXP - Open Edition launchpad.

neptune.Shell (10-21535)

The neptune.Shell.getAppsObject function would throw an error in rare cases where an app ID was not found.

Azure AppProxy Mobile Client Relog might fail (11-21419)

When you use a Microsoft Azure application proxy, and you have a mobile client that uses the "Azure" authentication mechanism, a pin-code-initiated re-authentication might have failed, leading to a splash screen that would not get hidden. The users would need to restart the app.

Javascript replaceAll (14-21535)

The Javascript function replaceAll was introduced in Chrome 85 (2020), causing old Android devices to crash. The replaceAll function calls have been exchanged with the replace function and some regular expressions are now taking care of the replace all functionality.

/NEPTUNE/IF_NAD_SERVER~HANDLE_ON_SYNC_IN method has access to more parameters (21412)

You can now access the full structure of /NEPTUNE/SYNC_H within /NEPTUNE/IF_NAD_SERVER~HANDLE_ON_SYNC_IN by using our Environment and Context Framework.

Example:

  data: lo_context_sync type ref to /neptune/if_nad_context_sync,
        ls_sync_h       type /neptune/sync_h.`
        `
  lo_context_sync ?= /neptune/cl_nad_environment=>instance->get_context( ).
  ls_sync_h = lo_context_sync->get_context_data( ).
Integration Card Framework does not send boolean false values (22-21407)

The Neptune DXP Integration Card framework will serialize the final manifest JSON with a COMPRESS flag set to true. Due to this, the target JSON will not include fields that are evaluated positively with the ABAP statement IS INITIAL. For boolean fields, this means that abap_true ('X') will end up as true inside the JSON. Additionally, abap_false ('') will NOT end up as false in the target JSON, but it will be omitted because it IS INITIAL.

Some Integration Card properties have a default value of true. Meaning, if you don’t provide false explicitly, the default value will be used.

Examples of default = true properties would be the following:

  • AnalyitcalIntgrationCard.Legend.visible

  • AnalyitcalIntgration Card.AxisText.visible

  • AnalyitcalIntgration Card.Title.visible

    So, to send actual true and false values, please use the following constants that are provided inside /NEPTUNE/IF_MAN_SAP_CONSTANTS:

  • /NEPTUNE/IF_MAN_SAP_CONSTANTS⇒TRUE (explicit true)

  • /NEPTUNE/IF_MAN_SAP_CONSTANTS⇒FALSE (explicit false)

  • /NEPTUNE/IF_MAN_SAP_CONSTANTS⇒UNDEFINED (not really needed. Same as a space in ABAP. Will not be sent → default value will be used)

Licensee recovery mechanism

As part of our ongoing efforts to minimize operations and to automate DevOps, Neptune has now improved and automated the licensee recovery mechanism. Licenses will now be automatically recovered after 4 months of being unused. This streamlines the process and makes it simpler for customers to manage end user licenses.

OAuth

Splash screen gets hidden after 1 minute if re-authentication flow fails (02-21373)

When a user was doing a re-authentication (entering PIN Code) of a PWA-enabled launchpad or mobile client that uses the OAuth authentication mechanism and the flow failed, due to expired or deleted refresh token. The splash screen was idling for a full minute, leading to a bad user experience. If the re-authentication fails the splash screen will now be hidden immediately.

Untranslated dialog texts (02-21373)

A PWA-enabled launchpad or mobile client that is using the OAuth authentication mechanism had untranslated texts in dialogs and message toasts. These messages are now all translated.

App Designer

Ajax Timeout in iOS Mobile Client after 1 minute(15-21512)

Using the Timeout property in Ajax calls within the App Designer would not be properly considered, when running the application in an iOS mobile client. Now, the timeout after 1 minute is no longer applied.

SAP GUI App Designer Monaco Editor fixes and improvements (04-21469)

With Neptune DXP 23 we introduced the new Monaco Editor in the SAP GUI App Designer. There have been some issues with this new code editor that we addressed:

  • Switching from edit to display mode reopened sometimes previously opened tabs after some delay

  • Switching from an editable code (extension "add" or "change") to a previously opened non-editable code view (coming from the base app) in an extension app would make that code editable.

  • Leaving the App Designer open for a longer period led to a missing session cookie. Thus, the editor was unusable. For this issue, we introduced a keep alive ping every 3 minutes.

  • Closing a Neptune app and opening another app without leaving transaction /NEPTUNE/DESIGNER, might have re-opened previous code tabs that don’t belong to the newly opened app.

  • Code views might have gotten empty.

  • The Monaco IntelliSense didn’t work for base app elements when you opened a code view of an extension app.

In addition to these fixes, we introduced a console that you can activate by setting a value from 1(verbose) to 4 (error) to the user parameter /NEPTUNE/MON_LOGLVL. When a proper value is set, you get a new option in the context menu of the Monaco Editor to toggle the console dialog. This will show log messages in the new Monaco Editor, which can help to identify potential issues that happen behind the scenes.

23.10.0007 monaco toggle console
23.10.0007 monaco console
Security enhancement for sap.m.PDFViewer (27)

The behavior of sap.m.PDFViewer has been enhanced by adding the property isTrustedSource. With this patch, the property has been added to the App Designer to set the desired display behavior for the PDFViewer:

  • If isTrustedSource is set to true, the PDFViewer opens with the displayType set to "Embedded" on desktop devices. This means that the PDF content is directly shown within the PDFViewer. Only set this property to true, when the PDF is generated by the application or the PDF is scanned for viruses.

  • If isTrustedSource is set to false, the PDFViewer opens with the displayType set to "Link" on desktop devices. This means that any configuration that has been provided by the application for the property displayType is overridden. In this case, the user would need to download the PDF to view its content.

    Using the new property requires to import the latest patches of relevant UI5 versions for your applications. The property was introduced with the following patch versions of UI5: 1.71.68, 1.84.45, 1.96.32, 1.108.31.

    For more details, see SAP Note 3446076.

Ref. Data Element binding in binding dialog (19-21622)

A few issues with the reference to data element binding were addressed:

  • Instead of the data element, the domain of the data element was displayed and selected

  • The ~ was not automatically added to the reference binding

  • When changing from a direct binding to a reference binding, the old binding was not completely removed

Extension Apps show binding syntax error when Base App is using Rest APIs or OData (20-21661)

When an extension app has performed a syntax check and the base app was using Rest APIs or OData elements in the application hierarchy, you would have gotten invalid syntax error messages. The issue was related to the fact that no additional binding origins other than the application class itself was considered in the extension app and also not shown in the binding browser.

RFC Mapping not considered in App Designer (06-21476)

The RFC Mapping was not considered in all places when you were working in the App Designer.

Too high session memory consumption in SAP GUI App Designer (21-20836)

When working inside the SAP GUI App Designer in very huge apps you might get issues due to high session memory. This is related to the "Undo" functionality that saves the whole state of the app after a change. To avoid the Undo Stack growing too big, we introduced a personal setting in the SAP GUI App Designer that allows you to define the Undo Stack size.

Web App Designer not considering "RFC Dest Exit Class" syntax check (23)

"The RFC Dest Exit Class" syntax check was not implemented like in the SAP GUI App Designer.

ObjectPageHeaderLayoutData

The sap.uxap.ObjectPageHeaderLayoutData UI5 control now has the correct name in the App Designer.

UploadSetToolbarPlaceholder

The sap.m.upload.UploadSetToolbarPlaceholder has been added to the App Designer control list.

Support for empty apps (31-21752)

Empty apps with no UI5 controls in the control tree are now supported.

OData Bindings for Smart Controls not selectable(33-21775)

Bindings of smart controls like sap.ui.comp.smarttable.SmartTable or sap.ui.comp.smartfilterbar.SmartFilterBar was not selectable in the binding pop-up (both SAP GUI Designer and Web App Designer).

Mobile Client

Cordova Android 13(12)

Cordova Android 13 has been released and is now an option in the Cockpit. The option can be found in Mobile Client > Device > Preferences > Android > Cordova engine version. For more details about this release, refer to the Cordova blog: https://cordova.apache.org/announcements/2024/05/23/cordova-android-13.0.0.html

Library sap.ndc for Barcode scanning(30)

The Cockpit has been prepared for exporting sap.ndc to mobile clients provided that this library is available for the selected UI5 version. The sap.ndc library is currently not included in the UI5 transports provided by Neptune but is planned to be included in the next patches. This means that you will need a patch number that is higher than these: 1.71.68, 1.84.45, 1.96.32 and 1.108.31 to use sap.ndc.

Launchpad

Tile Action Type "Transaction" does not work with SAP GUI 8(16-21595)

When clicking on a tile that has Action Type "Transaction" in a Launchpad that is started with SAP GUI Transaction /NEPTUNE/LAUNCHPAD, the transaction could not be opened in SAP GUI 8.0 using the new EdgeControl HTML Viewer.

User List Not Scrollable (29-21676,21729)

The list that shows logged-on users on mobile clients and PWAs was not scrollable.