Neptune and test program in SAP
In this blog I’ll explain what Neptune is and a little program as example
Neptune is a development environment by Neptune software. It provides the most efficient and secure way to make any SAP functionality seamlessy available in user friendly interfaces on phone, tablet and desktop. It’s the only solution on the market that directly leverages SAP’s own source code ABAP, calles Neptune Application Designer.
With this solution, a program can be used on thousands of end users, while maintaining the highest security requirements.
Before you can use Neptune in SAP, you first need to install the software into your Netweaver system.Then with the transaction ‘/O/NEPTUNE/Designer’ you can start the layout. You can easily create the layout to drag & drop the components you want.
Some possibilities & information:
- Creating a mobile or a desktop application
- You can choose a library (SAPUI5, WIJMO, jQuery, jQuery & Wijmo and Custom).
- To change the layout, you can use CSS.
- ABAP code can be used as backend code (to get data from tables and show them) with ajax.
Example of a desktop Neptune application.
The application show twoo rows, one to give carrid, and one to show an internal table in a html table. When the application runs, all the values from SFLIGHT are showed in tha table, and all the different carrids are showed in a dropdown. The table changed, if you select another carrid from the dropdown.
First, create a application in transaction ‘/O/NEPTUNE/Designer’. Fill in the title, description and class (if you are going to use ABAP code).
Select library for the application:
After thesetting, development can be started (in Designer).
This is my design, it’s based on matrix layout with twoo rows (one for selecting the carrid and one to show the internal table). Each column of the table is binded to a field from the internal table (in the textfield). If we run this, the table and dropdown are empty. So now they must be filled.
To fill the dropdown with all the different carrids, in the class (that is filled in the settings), there must be an internal table in the attributes. This internal table must be filled through a method.
A method in the class is called through the ajax id.
method /NEPTUNE/IF_NAD_SERVER~HANDLE_ON_AJAX. CASE ajax_id. WHEN 'GET_ALL'. call METHOD get_sflight EXPORTING im_ajax = ajax_value. WHEN 'GET_CARRID'. CALL METHOD get_carrid. WHEN 'GET_CONNID'. CALL METHOD get_connid. ENDCASE. endmethod.
When the ajax id is ‘GET_ALL’, the method ‘GET_SFLIGHT’ is called. When a carrid is selected, values are selected for that carrid.
method GET_SFLIGHT. IF im_ajax is NOT INITIAL. z_carr = im_ajax . SELECT * INTO TABLE ZIT_SFLIGHT FROM sflight WHERE carrid eq z_carr ORDER BY connid ASCENDING. ELSE. SELECT * INTO TABLE ZIT_SFLIGHT FROM sflight. ENDIF. endmethod.
The ajax id is set in the general settings of the table, also like the model source.
When ajax id is ‘GET_CARRID’, the method ‘GET_CARRID’ is called (to show all the different carrids in the dropdown).
method GET_CARRID. SELECT DISTINCT carrid INTO CORRESPONDING FIELDS OF TABLE ZIT_carrid FROM sflight. endmethod.
The ajax id is filled in the general settings of the dropdown, also like the model source (what you wanted to set down in de component) and the value and label field.