Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Hello all,

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).
  • JavaScript and jQuery can be used as an action for a component (when clicked on a button, ... ).
  • 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.

The table changed when a button is clicked, to run javascript code on this button.

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.




Output:



Kind regards,

Pieter Lemaire

14 Comments
Labels in this area