API Factory
Neptune DXP - SAP Edition provides our customers the opportunity to build a modern restful API layer on top of their business layer.
REST APIs are the most widely accepted protocol, and Neptune automates the production of Open API 2.0 and 3.0 on top of this layer.
The unique positioning of Neptune DXP - SAP Edition in the SAP architecture, running directly in SAP Netweaver stack, side by side the business layer makes it possible to not only build REST Microservices that are ABAP based but now, we are also able to automate the REST API generation of other SAP artifacts. ABAP Classes, Function modules, and BAPI’s as well as ALV Reports, Standard and Custom.
In the case of ALV Reports we can even automate the generation of the UI5 application, with ZERO development needed in the process to create or maintain it.
Our approach to integration allows customers to leverage on their SAP investment, all of the customisation and code extensions can be made available as a service or via SAPUI5 applications powered by Neptune.
ABAP Artifacts with Automated API
API Factory APIs can be configured in a static or dynamic way. When they are configured dynamically they require one or many so-called Entity Key(s).
These Entity Keys can be seen as Parameters for the whole API (and not as a parameter for its individual endpoints).
What does that mean?
You can tailor a complete API with all of its endpoints towards a specific Program/Function Module/Search Help/Data Element/…DYNAMICALLY and ON THE FLY.
All accessible Metadata for the relevant Entity like:
Descriptions, Selection Screen Infos (in the case of an ALV Report), Documentations, Selection Screen Variants (in the case of an ALV Report), Test Data Records (in the case of Function Modules), …
can be reflected in an Open API Specification (aka Swagger) Version 2.0 and 3.0 and thus be transported to the Outer World.
We will ship some API Factory Classes targeted towards specific ABAP Artefacts but the API Factory is a whole Framework which allows you to develop your own API Factory Classes. To make it easy to get started we are also shipping a Wizard which will guide you through the creation of the corresponding ABAP Class(es) and Interface(s) easy and fast. You can learn more about this here:
ABAP Artifacts with Automated API and UX
One special use case for this API Factory Framework is the Entity Type "ALV Report" since this also contains a visualization layer (the ALV Result Grid and the Selection Screen) in addition to the plain data.
We therefore introduced a new Card Action Type called:
ABAP Report
You then simply specify the SE38 Program name. Additionally, you can also define a selection Screen Variant (separated for desktop and mobile use) and tick a checkbox which would skip the selection screen and directly submit the report.
When you Open that Card in the Launchpad you then get either the relevant selection screen or directly present the ALV Result list…as a generic SAPUI5 Application.
Running the report will result in the ALV Result Data
Can you even combine the SAP Integration Card view as an overview about the Reports data in conjunction with the new Card Action Type ABAP Report?
YES YOU CAN
You find more information about this card action type in the corresponding documentation here:
What is the difference between regular Neptune UI5 Drag&Drop and the automated UX
This now automated UX approach will reflect existing SAP GUI ALV Programs as a generic Application. You don’t have to develop it but simply configure it. Since the Application will fetch the Selection Screen Definition and the ALV Result Table during RUNTIME there is NO GENERATION PROCESS in between. This means that as soon as the ABAP Report or its result ALV Table is adjusted by an ABAP Developer the generic Neptune Application will reflect this IMMEDIATELY when opening it.
To highlight this paradigm change more drastically:
With the Automated UX approach the "ABAP Report" and its Selection Screen could even be used as a starting Point for developing simple new SAPUI5 Application Frontends which have the requirement to display data based on more or less complex selections.
An ABAP Developer could - instead of creating a native Fiori or Neptune App - create a Report which will be automatically usable as a SAPUI5 Application out of the box.
Since we also consider the Selection Screen Variant Options like "Hide field", "Protect field", "Required Field" when building the SAPUI5 Selection Screen dynamically, you can even specify the behaviour of the Parameters and Selection-Options via the Selection Screen Variants.
This means that you can control the appearance and behaviour of Input fields based on their environment (mobile or desktop) simply by ticking the corresponding Checkboxes of the Selection Screen Variant Attributes. No coding needed. |
Requirements
The API Factory as well as the Card Action Type ABAP Report are introduced in Neptune DXP - SAP Edition Version 6.0 hence it requires this version as a minimum.
ICF Subnode "dynamic"
The API Factory is handled by a newly introduced ICF Sub-node called "dynamic". When you install Neptune DXP - SAP Edition Version 6.0 this new ICF Node will most likely be inactive (it will show up greyed out), and you will need to activate it first via Transaction SICF:
If this node is inactive you will experience a 403 - Forbidden Response from your SAP System when executing any API Factory Endpoint.