Post #11538

Neptune DXP Planet 8 v.5.3.1 Released

We are pleased to announce that Planet 8 v.5.3.1 is now available in our Download section. If you already have installed Planet 8, you will get a download link in the Cockpit.

This release contains a lot of new features and bug fixes for v.5.2.1.


This release would not have been possible without your feedback and contributions.  A special thanks goes out to all of you!

  • Nagaraj Appavoo
  • Mathieu Chailloux
  • Carlos Daniel Silva Reis Pires
  • Nick Pennington
  • Timothy Bovaird
  • Maximilian Schaufler
  • Bernd Hammermeister
  • Omer greenfeld
  • Mauro Fregonas
  • Nicolay Wildhagen
  • Philippe Giuge
  • Duncan James Aird

New Features

  • New Launchpad
  • Launchpad Enhancement Framework
  • Login Screen translated to device language
  • Cockpit Documentation
  • Sync Inbound Monitor
  • Attach Before Display event
  • Attach Cache Loaded event
  • New Application in App Designer
  • Global Translation Tool
  • App Designer: Expression binding without backend model
  • Policy

Bug fixes

  • Cockpit Store: No apps listed
  • Chinese translation in SAPUI5 core components
  • App Designer: sap.f library added
  • App Designer: Search ABAP Class
  • App Designer: Version Management
  • App Designer: Subscreen for CalendarAppointment
  • App Designer: sap.m.HeaderContainer not added to sap.m.ObjectHeader
  • Cockpit: App Designer Link
  • Core Server: Sorting extension objects
  • Cockpit: Mobile Client Build
  • App Designer: sap.m.ViewSettingsFilterItem added to model list
  • Media Library
  • REST API Binding on sap.m.SelectDialog
  • REST API destination on mobile clients

Release Details

Cockpit: New Launchpad

The old launchpad framework was a bit fragmented, it was getting difficult to maintain, because of all the different parts that this has evolved into over the years. Everything has now been merged into one single launchpad application. It is no longer needed to add menu and pincode app, we’ve even managed to merge the mobile and desktop version into one! This new launchpad will new be know as:


When you upgrade, everything will work as before the upgrade. Every mobile client and every desktop launchpad run as before. You can now slowly begin to migrate to the new launchpad. There’s not a lot to do, the only new thing is that we’ve added a new navigation layer. Before you added tiles directly to your launchpads & mobile clients, in the new launchpad you add tiles to tile groups. These tile groups can then be added to multiple launchpads and mobile clients.

By adding the tile group concept, it has become a lot easier to design applications with many applications. Each application can exist in multiple tiles, so that you can give the tiles different design and start the applications with different start parameters.

We have made sure that you notice the change:

It is very easy to choose the standard launchpad though:

Pretty much everything can be customized in the new launchpad! Here a tile group with a blueish theme has been created, default 5 tiles in each row

The same tile group in a mobile client, notice the 3. tile is set to full width on a mobile device.

Read all about the new launchpad in the online documentation: https://community.neptune-software.com/documentation

Launchpad Enhancement Framework

From Neptune DXP Planet 8 v.5.3.1, you can enhance the Standard Neptune Launchpad. Implement one or several enhancement spots, to fulfill the requirements in your organisation.

We encourage you to use the standard NEPTUNE_LAUNCHPAD_STANDARD application. Both in Launchpads and Mobile Clients. If you have special requirements, that previously forced you to modify the standard launchpad. Then you can now create an enhancement, implement one or more enhancement spots and add your special requirements there.

When you have implemented one or more enhancements, you can use them in your launchpads and mobile clients.

Read all about the new Enhancement Framework in the online documentation

Mobile Client: Login Screen translated to device language

The desktop launchpad and the mobile client has been translated into more languages, we are planning to translate them into all languages supported by SAP. The desktop login page has been updated to follow the Neptune UXP design Guidelines.

You can add your design, GDPR links and translation to the login page in the new enhancement framework.

On mobile, the launchpad the language on the first screen, where you type in username and password, is translated into the device language. If you only have a few languages in SAP, the user will still see the login screen in a familiar language. Once a SAP language has been chosen, the rest of the screens and applications will be shown in that language.

Here the device language is German, French is chosen and voila :)

Cockpit Documentation

The Cockpit Documentation app, where you create documentation for your applications has been updated. The documentation can now be grouped in a tree structure, making it a lot easier to maintain and read. The old guide tour section has been deprecated. Instead you can now add truly content aware help documents to a specific element in you app.

The document can be detach and resized

At the moment you can choose between these two placements for the content aware help. We’ll add more controls in the future. The content aware help can also be detached and resized.

  • Label in a form.
  • Object Header

Sync Inbound Monitor

The Inbound Sync Framework is made to make it easy to send data from the frontend client back into SAP for processing in an offline scenario. If you have multiple Apps working offline, this framework can help you with the sync into SAP.  It can also decouple the update process from the client process.

Records that are sent and processed can be monitored in the Neptune Cockpit:

The records are grouped according to status:

Outbox component: Prerequisite: New standard Launchpad(NEPTUNE_LAUNCHPAD_STANDARD).

When running an App inside the new Launchpad you will have the Outbox framework available.


This is a model that can hold data you change in all your apps running inside the same Launchpad.

To add data to the outbox you have to provide some javascript code.

First you define the data that you have changed and would like to store in your OutBox.

dataPage is an object of a model that you have changed.

Then you need to provide the Model Source of this model, in this case WA_CUSTOMER.

var dataSync = {  “WA_CUSTOMER”: dataPage  }

dataSync will then be added to the OutBox along with some parameters, using the update() function of the sap.n.Outbox:

var status = sap.n.Outbox.update({ key: dataPage.KUNNR, //Key field of your data row  immediate: true,   //Process immediate (true/false)  syncid: “SAVE_CUSTOMER”, // SyncID – this is similar to Ajax_id (Explained later)  data: dataSync, // data to sync  })

When the immediate flag is set to true, the sync will automatically be triggered. If you set it to false you can manually trigger it with sap.n.Outbox.send() whenever you want at a later point. In the ABAP class of the app that you are adding to the Outbox from, you have to implement logic in the HANDLE_ON_SYNC_IN method to handle the update of the data in SAP.

The sync_id  will correspond to the value you assign in the update() function above, and the data should be automatically assigned to the attribute you defined above. Then it is important to always return a ex_status value of either OK or ERROR as demonstrated below:

method /neptune/if_nad_server~handle_on_sync_in. case sync_id.    when ‘SAVE_CUSTOMER’.      modify zrm_account from wa_customer.      if sy-subrc eq 0.       ex_status-status  = ‘OK’.       concatenate ‘Customer’ wa_customer-kunnr ‘updated’ into ex_status-message separated by space.      else.       ex_status-status  = ‘ERROR’.       concatenate ‘Customer’ wa_customer-kunnr ‘ERROR’ into ex_status-message separated by space.      endif. endcase. endmethod.

App Designer: Attach Before Display event:

AppCache Load options is now parsed into the Before Display event. This way you can query the option data and do different tasks on before display based on the calling environment.

if (sap.n) {     sap.n.Shell.attachBeforeDisplay(function(data) {         console.log(“beforeDisplay…”);     }); }

App Designer: Attach Cache Loaded event:

Do stuff when all cache is loaded. Mobile Client must be rebuild to use this event. The event is activated in the standard launchpad, old launchpad only has an empty handler for this event, but no code behind the implementation.

try {     sap.n.Shell.attachCacheLoaded(function(data) {         console.log(“CacheLoaded…”);     }); } catch (e) {     console.warn(e); }

App Designer: New Application

The start view in the App Designer is now the settings view instead of the designer view, when creating a new application.

Cockpit: Global Translation Tool

You can now export translatable fields to a TAB separated .txt file, do you translation and upload the translated file to the cockpit. You can also choose to translate fields using Google Translate. These features are available both in the App Designer and in the Cockpit where you can translate Launchpad, Mobile Client, Tile & Tile Group field in one place.

App Designer: Expression binding without backend model

It is now possible to add & edit expression binding, even though there are no backend models bound.

Cockpit: Policy

The GUID has been added as an import parameter to the function call. Giving you more control over the result.

Hash navigation has been added to the policy link in the Tile app.

Cockpit Store: No apps listed

In new Planet 8 installations, the app list in the Cockpit Store is sometimes empty. This has been fixed.

Chinese translation in SAPUI5 core components

Some core components load translation files from the Common Locale Data Repository .json file. The cldr file for the two Chinese languages was not loaded correct. Now you can enjoy all your components in Chinese

App Designer: sap.f library added

When saving an application in the Cockpit App Designer, the sap.f library is now added automatically.

App Designer: Search ABAP Class

Application class can now be searched and selected for different systems using specified RFC destination.

App Designer: Version Management

Version management correction for automatic versions from transports.

App Designer: Subscreen for CalendarAppointment

sap.ui.unified.CalendarAppointment subscreen added. So that it is now possible to maintain model source and parent field.

App Designer: sap.m.HeaderContainer not added to sap.m.ObjectHeader

Using a header container in the object header was not possible. It will now be added correctly, remember to set the object header to responsive.

Cockpit: App Designer Link

When pop-up is blocked opening the App Designer,  the user is now given more information, so that turning pop-ups blocking off should be easier.

Core Server: Sorting extension objects

Extension objects would sometimes show up in wrong order, this is now fixed with a sorting before repositioning the objects in:


Cockpit: Mobile Client Build

In rare cases plugin information was lost when saving a build version. If the application was closed without clicking the save button in the main screen, plugins was deleted from the mobile client.

App Designer: sap.m.ViewSettingsFilterItem added to model list

sap.m.ViewSettingsFilterItem was missing from the list over additional models.

Media Library

Clicking a table row in the Media Library would deselect the row. Uploaded media files would be added to the root folder, instead of the intended folder. This has been fixed with a little query to the selected index. If it is smaller than zero, then select it again programmatically.

if (treeMime.getSelectedIndex() < 0) {     treeMime.setSelectedIndex(treeMime._iSourceRowIndex);     return; }

REST API Binding on sap.m.SelectDialog

Binding of models to an sap.m.SelectDialog object was missing data.

REST API destination on mobile clients

In some cases, the API destination was not reached when application was running in a mobile client. The relative path has been changed to a full path.


Some input fields in display mode was shown as disabled instead of inactive. This has been fixed in multiple places across the Neptune Cockpit and the App Designer.