Quantcast
Channel: SCN : Document List - SAP Business Warehouse
Viewing all articles
Browse latest Browse all 1574

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

$
0
0

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.

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 Bluecrystal
    them

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 table into SAP BW data provider)

 

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

 

Neptune preview.png

 

Previewing application

 

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

 

Mobile

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 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 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.

 

NAD_SUBMIT.png

 

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.

 

NAD CODE.png

 

 

 

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 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.

 





Viewing all articles
Browse latest Browse all 1574

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>