DXP24.10.0001 Changelog

December 13, 2024

General

Syntax error in /NEPTUNE/CL_MIME_REPO_L E_PHIO_ID does not exist (6-22416)

When using a system with a too low SP you would have gotten a syntax error stating Formal parameter E_PHIO_ID does not exist after importing the initial DXP 24 release transport. This is related to the field E_PHIO_ID in method IF_MR_API~GET_BY_IO that has been downported by SAP to all SAP_BASIS versions from 700 - 751. It is present in 731 SP30 (minimum SAP Basis Release for Neptune DXP - SAP Edition 24) however not in 740 SP11. We now avoid using this field, thus not relying on decently patched SAP_BASIS versions.

/NEPTUNE/ABAP_REPORT busy indicator & variant size limit (10-22415)

When using the tile open action "ABAP Report (Beta)", it might have happened that the result table was shown when the report is executed but the busy indicator would be kept active. This could have happened when the resulting ALV list has colored cells. In addition to that there was a size limit of 100 variants that would have shown in the "Variants" dialog. This has now been increased to 1000.

/NEPTUNE/ABAP_REPORT running a SAP Query limits result list to 100 (10-22445)

When using an SAP Query with the tile open action "ABAP Report (Beta)", the resulting list would only contain 100 entries even though the query should select a bigger result list.

App Designer

Hash-based navigation

The Neptune Launchpad will now use the browser back button window.history.back function. You can take advantage of this and implement hash-based navigation inside your own applications. Register to listen for the hash change event. In your event listener, make sure to only handle hash navigation from your own app using a custom hash nav ID scheme.

Global script in your app:

const navPrefix = (typeof localViewID !== "undefined") ? `${localViewID}--` : "";

window.addEventListener("hashchange", () => {
    if (location.hash.startsWith("#prom")) {
        App.to(neptune.byId(`${navPrefix}${location.hash.slice(1)}`));
    } else {
        App.to(promHome);
    }
});

neptune.Shell.attachInit((data, navObj, fromSplitView)=>{
    if (location.hash.startsWith("#prom")) {
        App.to(neptune.byId(`${navPrefix}${location.hash.slice(1)}`));
    }
});

Button click event or something similar:

location.hash = "promOne";
I18n conversion tool on the Language Translations page (3)

Fixed issue where the same existing language would be listed multiple times per object. Adjusted suggested i18n attribute name to include object and object attribute names. Fixed issue where it was possible to add duplicate i18n attribute names. Fixed the translation transfer. So, the correct text for translation was always created. Making the formatter script available after attribute conversion.

When using Custom UI5 Controls (5-22402)

When using a custom UI5 control within an app, an error occurred and showed up in the console with message Missing initializer in const declaration.

Custom UI5 Control object naming (10)

When adding a new custom control object to the UI tree, the default object name will not include any dots found in the component name and an attempt at converting the dot notation into a camel case name will be done. For example, a my.custom.input custom component will be named myCustomInput.

Short dump when mixing custom and standard UI5 controls (10)

Corrected an issue where short dumps occurred in the back-end system when loading an app that had a mix of both standard UI5 controls and the same components as custom controls.

Custom UI5 Control

Dot notation naming scheme enforced (10)

When creating a new custom UI5 control, a check has been implemented to verify that the name of it includes a dot and is written in dot notation, like my.custom.control, for example.

GUI Designer

Custom UI5 Control object naming (10)

When adding a new custom control object to the UI tree, the default object name will not include any dots found in the component name, and an attempt at converting the dot notation into a camel case name will be done. For example, a my.custom.input custom component will be named myCustomInput.

Cockpit

Tool widgets

When displaying the Cockpit tools as widgets, you’ll now be able to assign a color to the widget area, as well as maintain the favorites from the widget. The favorites tool will be marked with the widget area color in the dedicated favorite widget.

Content aware help

Many of the tool attributes will have a help icon attached to the attribute label. A click on the help icon will open a text area or a pop-up that displays attribute relevant help information. Sometimes the help information will include interactive graphics reflecting the attribute settings.

Import / Export (14)

Fixed a bug on the export/import for the layouts of Launchpad, Tile and Tile Group where not all tables were being exported/imported. Fixed a bug on the Export tool, where the names and descriptions would show the i18n binding path instead of the actual text.

Tile Group Sidebar

A standard Neptune launchpad will show all content in one main column. You can now add a sidebar to create a 2-column layout in your launchpad.

In the Tile Group tool, there is a new sidebar section. You configure the sidebar in the same way you add sections (sub tile groups) to the screen (top tile group). If one or more tile groups are added in the sidebar section, they will be rendered in a dedicated sidebar area in the launchpad.

If any of the added sidebar groups have sub tile groups added in their configuration, those sub tile groups will not be rendered in the launchpad sidebar.

Sidebar groups will only be rendered if they are added to the screen (top tile group). Sidebars are not yet supported in sections (sub tile group).

Tile Layout

The tile layout configuration options have been deprecated and moved to the Tile Layout tool. All the settings in the tile will still work, but Neptune recommends that tile layout settings are now configured in the dedicated Tile Layout tool.

Tile layout settings like colors, font size, borders, etc. are inherited from the Neptune Layout through the applied UI5 Theme. With a tile layout you can manipulate the tile look and feel beyond the settings coming from the UI5 Theme.

Depending on your use case, tile layouts can be added to individual tiles, tile groups, or to a Neptune Layout.

Tile Group Layout

A lot of new settings for the tile group layout have been added. This is configured in the new Tile Group Layout tool. Existing tile group color configurations have been migrated to the new tool.

Tile group layout settings like text colors, font size, borders, etc. are inherited from the Neptune Layout through the applied UI5 Theme. With a tile group layout you can manipulate the tile group look and feel beyond the settings coming from the UI5 Theme. Depending on your use case, tile group layouts can be added to tile groups and to launchpad layouts.

  • Tile groups: A tile group layout added to a tile group will influence the tile group header for that tile group and any added sub tile group section.

  • Launchpad layout: A tile group layout added to a launchpad layout will influence all tile groups in the launchpad.

Licensing

Performance improvement (4)

Some improvements were done regarding the performance of the licensing logic.

Launchpad

Launchpad Back Button

All navigation in the Neptune Launchpad is hash-based, every screen, section, and tile will have its own hash navigation ID. We are now taking full advantage of that and enable the usages of the built-in back functionality from any device. The back button in the Neptune Launchpad will now act exactly the same as the browser back button using the window.history.back function.

Tile Action (8-22414)

If a "Live Application" tile was set to fill the entire card, the tile action was not built resulting in an error.

Tile Layout

New configuration settings for tile layout have been added, with even more low-code configuration options to manipulate the tile look and feel.

Tile Group Layout

A new tool for tile group layout configuration has been added, with lots of low-code configuration options to manipulate the tile group look and feel.

Launchpad Sidebar

A standard Neptune launchpad will show all content in one main column. You can now add a sidebar to create a 2-column layout in your launchpad. This is implemented in the tile group configuration.

Support for Vietnamese Language (9-22452)

Added support in the launchpad for Vietnamese language.

API Designer

Create Dialog not checking for path conflicts (12-22454)

The Create Dialog of an API was not verifying if the provided path is already used in a different API. Thus, the API was created syntactically incorrect. This is now prevented and a corresponding error message is shown in the Create Dialog.

API Copy feature (12-22454)

An API created with the Neptune API Designer can now be copied. You just need to open the corresponding API you want to copy in display mode and press the "Copy" button.

Packages Overview

Old names were displayed for some artifacts (15)

The names displayed will always be the most recent for each artifact.

Icons were missing in light mode (15)

Icons are available in both light and dark mode.

SAP UI5 Themes

Changing package assignment

It’s possible to change the package assignment of an already existing theme.