Skip to Content
Author's profile photo Oke Mudiaga

Web/Mobile based BW Process chain execution and data upload into SAP BW using Neptune App


This document describes the steps of uploading data into SAP BW via input forms and executing BW process chain using Neptune web/mobile application.


Wouldn’t it be nice if Business users can update and maintain master data using beautifully well-designed web/mobile User Interface instead of sending flat files?

It is even nicer if SAP BW developers can monitor and execute process chain on the web/mobile device without having to log into SAP BW system.

What about having a fully web/mobile based automated HTML5 User interface solution for the business users where they can update master data and load the data into SAP BW without the need for developers.

Benefits of having such a solution for the end users include:

– Trust in the data by end users as they have complete control

– improve efficiency

– Faster reporting as there is no need to wait for the scheduled job to update the report.

– Save time and cost as some task will be shifted from the developers to the end users.

– Empower the users to take complete ownership of their data.

It is possible with Neptune application designer and this document will describe the basic step to get you started in implementing a similar solution.

Step 1 – Create a web based form for data input

The first thing to do is to create an ABAP dictionary table that will store the data coming from Neptune input form.

Create table – ZDEBT

Here I have created a Table called ZDEBT with 3 columns and I have used
both custom and standard data elements. At this stage the table is empty and it will be populated via input forms.

ZDEBT table.png

Create table structure

Create table structure that will serve as an internal table. This table structure has identical columns as ZDEBT table.

ZDEBT table structure.png

Step 2 – Create Neptune application for data input

  • Launch Neptune application designer with transaction code /NEPTUNE/DESIGNER

Launch Neptune.png

  • Create Neptune application and use Jquery Mobile Library. Note that I have added application class ZDEBT_CLASS. you can choose to add the class at this stage if you know it or do it later after you have created your class.
  • Select Theme – Here I have chosen Blue crystal

Neptune theme.png

Create Neptune application

Under Designer tab,
you can create Neptune application by dragging and dropping Jquery mobile
elements. This is similar to any HTML WYSIWYG Editor. In my application, I have
used the following elements.

  • Table elements
  • Form elements
  • Text elements
  • Button elements

Neptune layout.png

My application contains 3 input value fields and button to save the data into SAP table and another button to load process chain (loading
data from a table into SAP BW data provider)

  • You can preview your application on the web and mobile.

Neptune preview.png

Previewing application

The application can be previewed by either selecting the “preview” for web-based or “Preview in Wrapper” for mobile based.


Neptune Mobile.png

Web-based preview

Neptune web browser.png

Step 3 – Create ABAP class with TCODE SE24

Creating an ABAP class that allows your Neptune application to
communicate with SAP.

Create a class with SE24. Here I have entered ZDEBT_CLASS

Neptune Class.png

Tab Interface

Under interface, add /NEPTUNE/IF_NAD_SERVER interface and
the methods will be added.

Neptune Interface.png

Tab Attribute

Under attributes tab, add the structure that was created at the beginning and the type is also the table name created earlier.

Neptune attribute.png

Tab Method

Neptune Method.png

methods were added automatically after Interface was added. you can choose to add your own custom methods.

Add ABAP class to Neptune application

Go back to Neptune application and add the created class if
not already done

Neptune app class update.png

Step 4 – Bind Input value field to table structure

Here I am going to bind the value of the input field to internal table. By the way, the structure is more like an internal table that
holds data.

So here I am going to assign the field DEBT_YEAR from the structure to the input value field year_input

Perform the same step for Country and amount

Year_input – value field

Bind year.png

Country_input– value field

Bind country.png

Amount_input– value field

Bind amount.png

Add Event ID to buttons for save and load process chain

Button and load process chain has Attribute type SUBMIT

Button Save.png

Button Load PC.png

Under attribute tab, select submit as type.

Button Save 2.png

Step 5 – Communication between Neptune application and ABAP Class

Go to Neptune class and add logic to the buttons.

Double click on Neptune method Handle OnSubmit and add logic to the button.


SAVE Button – insert data from into table

We insert the value into ZDEBT table from the input value

LOAD_PC – Starts process chain using function module.

Here we call a function module to execute the process chain.


Step 6 – Test the application

Launce the application in “Preview in Wrapper “ mode. This will display the mobile version

Test Application.png

Insert data and Save it to the database table.

test app - Mobile.png

Database table is now updated

Database table data.png

Once data is stored in the table,

You can create

– Generic datasource

– Data provider

– Process chain for data load automation

Once you have your process chain ready you can execute the function module from your web/mobile application to trigger the
and Load and that’s the function of the LOAD_PC button.

Things worth considering

Process chain

You might be wondering what happens if the process chain is already running and a user triggered it again from Neptune. Some of the ways to prevent it includes:

  • Add a delay in the process chain start so that the process chain waits until the previous process is completed.
  • Enhance the “Load_PC “ logic to check the status of the process from table RSPCLOGCHAIN before it is triggered.


When giving End users the possibility to execute process chain, you might want to check the authorization policy in your organization first. Usually, users are not giving such authorization. In my case, we had to update user authorization with the AUTH object to execute process chain.

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.