Introduction
This document describes the steps of uploading data into SAP BW via input forms and executing BW process chain using Neptune web/mobile application.
Background
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 login to 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 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
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.
Create table structure
Create table structure that will serve as an internal table. This table structure has identical columns as ZDEBT table.
Step 2 - Create Neptune application for data input
- Launch Neptune application designer with transaction code /NEPTUNE/DESIGNER
- 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 Bluecrystal
them
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
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 table into SAP BW data provider)
- You can preview your application on the web and mobile.
Previewing application
Application can be previewed by either selecting the “preview” for web based or “Preview in Wrapper” for mobile based.
Mobile
Web based preview
Step 3 – Create ABAP class with TCODE SE24
Creating an ABAP class that allows your Neptune application to
communicate with SAP.
Create class with SE24. Here I have entered ZDEBT_CLASS
Tab Interface
Under interface, add /NEPTUNE/IF_NAD_SERVER interface and
the methods will be added.
Tab Attribute
Under attributes tab, add the structure that was created at the beginning and the type is also the table name created earlier.
Tab Method
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
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 same step for Country and amount
Year_input – value field
Country_input– value field
Amount_input– value field
Add Event ID to buttons for save and load process chain
Button and load process chain has Attribute type SUBMIT
Under attribute tab, select submit as type.
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
field
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
Insert data and Save it to the database table.
Database table is now updated
Once data is stored in the table,
You can create
- Generic datasource
- Data provide
- Process chain for data load automation
Once you have your process chain ready you can execute the function module from you web/mobile application to trigger the
and Load and thats 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. Well, I can think
of 2 ways to prevent it.
- 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.
Authorization
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 authourization. In my case we had to update user authourization with the AUTH object to execute process chain.