SAP Technology News

SAP Screen Personas – Personalization without programming

The concept of UI personalization is gaining momentum across several applications among users, particularly who are in the key operational roles of production, finance, marketing, HR and other departments. While working with core business applications, business users are looking for a more user friendly UI that eliminates unnecessary technical jargon and at the same time, providing a more flexible and a simpler mechanism to execute their business processes. This is particularly true with SAP customers, who are asking for a simpler way to make their end users productive as well as happier with the classic SAP solutions. Keeping the user requirements and preferences at the highest radar, SAP developed SAP Screen Personas, which is a UI tool that delivers a new personalization option for modifying SAP GUI screens. IT departments and other authorized users can improve and customize their screens to incorporate the information they need most on the screen that ultimately optimizes their usability and productivity. SAP Personas offers intuitive screens that enhance usability – integrates functionality, performance and user experience. SAP personas provides the right information to the right users in the right context – they can get more work done within less time and with greater accuracy.

Installation process and road map for SAP Screen Personas

The installation process consists of 3 simple steps:
  • Install simple add-on
  • Apply enablement note
  • Assign preconfigured roles to users
One of the main advantages of this installation is it doesn’t disrupt an organization’s existing IT landscape and also doesn’t need additional servers. The primary roadmap for implementing SAP screen personas is as follows:
  • Identify processes
  • Simplify processes
  • Analyze data requirements
  • Build screens
  • Automate the appropriate processes
There are three types of experts, who would primarily be required to ensure a successful SAP Screen Personas implementation such as: Business process expert: He/she would primarily be involved in understanding the existing business processes of the user; analyze, simplify and design new business processes that are aimed to save time and resources. SAP screen personas expert: Once the business processes are defined by the process expert, the SAP screen personas expert would configure and customize the screens; eliminate redundant screens or pull information from various screens to be displayed on a single screen. Design expert: At the final stage of implementation, the services of the design expert are undertaken, who would solely be responsible to incorporate the right look and feel elements, thus ensuring a pleasurable user experience.
Now let’s understand some of the core features of SAP Personas 3.0 version*:
  • Themes let you bring in the look and feel for all screens at one time.
  • Edit mode enables you to enhance individual screens.
  • Visual enhancements improve usability.
  • Merge lets you pull information from different tabs and incorporate in a single screen.
  • Scripting enhances user productivity.
  • Administrative settings provides complete control of what features your users need, based on their respective roles.
SAP -1
Create Standard Order: Overview (Original SAP screen)
SAP - 2
Create Standard Order: Overview (After applying SAP Screen Personas)

Technical Benefits

1. Provides a single UX entry point for all SAP applications designs
  • Use SAP Screen Personas to enhance any Dynpro screen into the Fiori design.
  •  Launch SAP Screen Personas transactions from any of the platforms: Browser, Fiori Launchpad, NWBC or SAP Portal
2. Provides an intuitive suite on SAP HANA experience
  • Simplify any of the 10,000+ SAP GUI transaction screens for which no smart Business Cockpit, Factsheet or Fiori app exists. •
3.  Enables seamless migration to cloud
  • Access any SAP GUI transaction through browser.
  • Eliminate SAP GUI dependency (no need to install any client on desktop systems).

Business Benefits 

  • Improve employee productivity in terms of percentage of time spent on data entry.
  • Simplify the user interaction through SAP – enhance adoption of business processes.
  • Reduce the overall employee training costs. • Minimize rework and ensure data quality.
  • Improve your company’s image and branding.

Conclusion

From the above discussion, it is evident that SAP Screen Personas is a new age UI tool that is redefining the way business processes are being implemented and screens are being designed, taking into consideration the growing expectations from the SAP users. Customers are looking for simple and user-friendly SAP systems that eliminates the clutter and complexity of typical business processes that their users encounter, and at the same time providing a great look and feel for the screens that they encounter on a day to day basis.
Request a Demo
If you would like to request a demo for “SAP Screen Personas”, please click on the link above. Alternatively, if you would like to discuss with an Innovapptive solution expert, you can reach out to us by emailing us at sales@innovapptive.com or you can reach a sales representative at (713) 275-1804.
* This version is in the ramp up stage and would be released shortly.


Simplify UI Development with SAPUI5

Overview

SAPUI5 is a recent offering from SAP that powers SAP Fiori applications. It is a client UI technology that is based on JavaScript, CSS and HTML5, enabling you to build and adapt client applications. Depending on what device the application runs (mobile, tablet or desktop PC), you can use different libraries.
The SAPUI5 runtime is a client-side HTML5 rendering library that consist of rich set of standard and expansion controls. It is also referred as a light weight programming model for desktop and mobile applications that is based on JavaScript and supporting RIA like client-side features. It is based on the extensibility concept pertaining to custom controls.
Role of servers
Servers have a major role to play when you deploy your applications; they store the SAPUI5 libraries and connects to a database. Depending on the environment in which the SAPUI5 is deployed, the libraries or your applications are stored on a SAP NetWeaver application server or a SAP HANA cloud platform.
SAPUI5 Architecture
SAPUI5 Architecture (Courtesy: SAP)

How it works?

When you access an SUPUI5 application from your device (a mobile or a tablet), a request is sent to the respective server to load the application into the browser, letting the view to access the relevant libraries. Generally, the model is also instantiated (creates an instance of an object) and the business data gets fetched from the database.
Usage of Model View Controller (MVC)
SAPUI5 uses the MVC concept to accomplish the following goals:
  • Support development in distributed teams with varied source locations
  • Recommend file structure, naming and usage patterns
  • Add capability of UI declaration (as compared to a programmatic construction)
Some of the notable features of this new SAPUI5 to enable you to easily create and extend state-of-the-art user interfaces are as follows:
  • Supports CSS3, allowing you to adapt themes as per your company’s branding in an effective fashion.
  • Uses the open source jQuery library as a foundation.
  • Supports RIA like client-side features based on JavaScript.
  • Completely supports SAP product standards.
  • Complies with OpenAjax and can be used alongside standard JavaScript libraries.
  • Produced in a release independent code line to enable short shipment cycles.
1403577738412
Hence, based on the MVC concept, SAPUI5 applications enable you to create sophisticated UI5 projects and can be delivered in different platforms such as:
  • SAP HANA Cloud Platform
  • SAP HANA Platform
  • User Interface Add-on for SAP NetWeaver
Let’s briefly look at an overview of each platform:
SAP HANA Cloud Platform
SAP HANA Cloud platform is based on open standards, providing rich access to a feature-rich and user friendly environment in the cloud. The platform includes a comprehensive set of services for integration, enterprise mobility, collaboration and analytics.
Using SAP HANA cloud platform, customers and partners can rapidly build, deploy and manage cloud based enterprise applications that compliment and extend your SAP or non-SAP solutions, whether they are deployed on premises or on cloud.
Creating Simple SAPUI5 Applications
The simplest way to work with SAPUI5 is to include a set of JavaScript libraries into your HTML page and then use all the controls provided by these libraries to construct one or more control trees, and finally include them into your HTML page. This framework also supports the JavaScript Object Notation (JSON) that lets you initialize controls, minimizing your typing efforts.
For creating mobile apps, SAPUI5 provides an additional library called sap.m that is optimized for mobile devices.
SAP HANA platform
SAP HANA platform is a platform that can be deployed on-premises, unlike the SAP HANA cloud platform that can be deployed on the cloud.
In order to start working on SAP HANA platform, you need to first install and configure the SAP HANA Studio Eclipse workbench, which comprises of a series of steps. Once you have successfully installed, you can right away create simple applications using SAPUI5. The procedure for creating the apps is similar to the one as enlisted in the earlier SAP HANA Cloud Platform.
SAP User Interface Add-On
SAP User Interface Add-On for SAP NetWeaver is an application that you can use swiftly to offer new user interaction and technology without disturbing the underlying business applications. One the major advantages that this product offers for its existing customers is it helps to enhance their existing SAP UI landscapes independent of application releases and devoid of major investments – no upgrade of existing systems.
The objective is to integrate the existing UI functionality, while utilizing the cutting edge SAP’s UI technology and functionality to deliver crucial UI improvements to customers and end users irrespective of the application lifecycle and the version of the SAP NetWeaver platform that is being used.
For developing an application in SAPUI5, the following tools are required
  • Eclipse – as editor
  • SAPUI5 Plugin installed in Eclipse
  • SAPUI5 SDK
  • Tomcat Apache (Server)

Conclusion

This blog provided an overview of SAPUI5 technology, the benefits it offers, platforms it can be deployed and the tools that you require to develop applications in SAPUI5. With SAPUI5 technology that leverages the MVC concept, you can create sophisticated and user friendly applications without any additional investment.
Request a Demo
If you would like to request a demo for SAPUI5, please click on the link above. Alternatively, if you would like to discuss with an Innovapptive solution expert, you can reach out to us by emailing us at sales@innovapptive.com or you can reach a sales representative at (713) 275-1804.


Developing Google Glass Applications for SAP

Google glass applications for SAP is soon shaping out to be the leader in wearable technology consisting of an optical head-mounted display (OHMD). Google Glass displays information in a smartphone like hands free format, letting wearers to communicate with the internet via voice commands in natural language.
It was launched in 2012 by Google, consisting of both the Mirror API and the Glass Development Kit (GDK), creating lot of curiosity among the developers and other users. Using Google Glass, developers can create amazing Glassware in order to build the application ecosystem for Glass.
If you opt to develop web based services that interact with Glass, you can use the Mirror API, enabling you to build web-based services that interact with Google Glass. One of the unique features of this Mirror API is it offers this functionality over a cloud-based API without the necessity to run code on Glass. On the contrary, GDK is an add-on for the Android SDK that helps you to build Glassware that can run directly on Glass.
Since its release in the market in 2012, there have been notable changes and enhancements in GDK; the current release being Glass XE 17.1. Now, let’s take a brief look at its basic features, which are as follows:
  • Touchpad: This is located at the side of the Google Glass, enabling you to control the device by swiping through a timeline-like interface displayed on the screen. When you slide backward, you can view current events, such as weather and when you slide forward, you can view past events consisting of phone calls, photos and much more.
  • Camera: Using camera, you can click photos and record 720P HD videos.
  • Display: The Explorer version of Google Glass uses a liquid crystal on silicon (LCoS), field sequential color and LED illuminated display. With this display, the light is reflected into your eye, enabling you to view crystal clear images.
Google Glass
The environment (pre-requisites) to develop google glass are: Eclipse IDE, Android SDK, Glass Development Kit and Mirror API.
This blog walks you through the various stages of glass development such as:
1. Downloading SDK
2. Installing drivers
3. Writing a simple hello world program
4. Deploying the same on glass.
Let’s explore each of the stages briefly:

I. Downloading GDK

GDK kit provides APIs to build glassware applications, which otherwise wouldn’t be available in all the versions of android.
1. From the android’s SDK folder, click SDK manager.
2. In the SDK Manager window:
  • Click to select Android 4.2.2 (API 19) and Google USB Driver (available under Extras).
  • Click Install Packages. Wait until all packages gets downloaded successfully.

II. Installing google glass drivers

The next step is to install Android google device drivers, which can be done either from Android SDK’s USB drivers or with the default software that comes from the device manufacturer. Since you can directly use USB driver for Google Glass, you need to however modify the android_winusb.inf file to ensure that it is listed properly in Eclipse.
1. Open the android_winusb.inf file that is available in the android_SDK_folder\sdk\extras\google\usb_driver path to edit this file.
2. Edit the file by typing the following code at the end of the file.
[Google.NTamd64]
;GoogleGlass
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11&REV_0216
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&REV_0216
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01
[Google.NTx86]
;GoogleGlass
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11&REV_0216
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&REV_0216
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01
3. Now open the Run window (use shortcut Win + R) and type devmgmt.msc and click OK. The Device Manager window opens.
4. In the Device Manager window:
  • Right click on your Google Glass device and install drivers.
  • Select android_winusb.inf parent folder and follow the appropriate instructions.

III. Creating new glass project

This is similar to creating a new project in android, provided you choose the proper API version. You can create a new Glass project in Eclipse.
1. Click File -> New and then click Android Application Project to initiate creating a new project.
2. In the Android Application Project window, type your application name, project name and the package.
3. In the Minimum Required SDK and Target SDK fields, type API 19: Android 4.4 (KitKat).
4. Compile using Glass Development Kit Sneak Peek (Google Inc.) (API19) and select the Theme to None.
5. Open AndroidManifest.xml file, once the project is created and delete the theme: android:theme property to enable glass to apply its own theme.
6. Open strings.xml file and type the below string values:
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Hello Glass</string>
<string name="action_settings">Settings</string>
<!-- main activity strings -->
<string name="hello_glass">Hello Glass !</string>
<string name="home_url">www.androidhive.info</string>
<!-- "ok glass" voice command -->
<string name="start_command">Hello Glass</string>
</resources>
7. Now open your main activity layout file and paste the following code. activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_glass" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/home_url"
android:textSize="20dp" />
</LinearLayout>
8. Without any modifications, the code in the Mainactivity.Java file should look like this:
MainActivity.java
package info.androidhive.helloglass;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Now we are done with the simple hello world program. In the next step, you will learn how to deploy this program.

IV. Running the application on glass

The pre-requisite to run the application on glass is to turn on the debug option.
1. On your Glass, click Settings, next click Device Info and then click Turn on debug.
2. Use a USB cable to connect the Glass to your PC.
3. Next right click Project and then click Run As ⇒ Android Application. Eclipse will list the glass in the list of available devices.
4. Select the appropriate device and then click OK. The app gets started running on your glass.

Conclusion

Google glass is a wearable technology that is slowly revolutionizing the way your apps are being developed and deployed. The above blog provided an overview of the various stages of glass development such as downloading SDK, installing drivers, writing a simple hello world program and deploying the same on glass. You can order this app from Google PlayStore to get started with building apps for your glass.
Request a Demo
If you would like to request a demo for SAPUI5, please click on the link above. Alternatively, if you would like to discuss with an Innovapptive solution expert, you can reach out to us by emailing us at sales@innovapptive.com or you can reach a sales representative at (713) 275-1804.


OData Integration on SAP NetWeaver Gateway : Batch Operation Usage

Business Scenario

There may be certain scenarios wherein instances may logically bind together and requires to be handled or processed in conjunction within the same logical unit of work. Take for instance a sales order, wherein an update of two or more related firm entries may be required and ought to be processed together in a single request (all or none).
SAP NetWeaver Gateway can be used to process such scenarios possessing the power to accomplish multiple operations in a single request.
It’s a known fact that Gateway provides an OData API into a SAP system (assuming that you had worked earlier with SAP Gateway). This uniform interface supports a given set of operations like Create, Read, Update and Delete and lets you process a single operation per HTTP request.
However, based on the business requirements, it may become pertinent for clients to send multiple operations in a single HTTP request. Commencing with SP04, SAP NetWeaver Gateway offers the capability for client operations to batch multiple operations into a single HTTP request, enabling a sequence of retrieve operations and/or modify operations with only one request.

Pre-requisites

In order to start batching multiple operations, you need to understand few pre-requisites, which are outlined as follows:
  • Access to SAP NetWeaver ABAP 7.02 SP7 or system with higher configuration, having SAP NetWeaver Gateway ABAP add-ons installed.
  • Availability of SAP delivered RMTSAMPLEFLIGHT service or other Gateway services that are configured to accept requests.
  • Installation of backend SAP ECC 6.0 or higher version along with the IW_BEP Gateway add-on (optional, in case the service data arrives from a separate backend).
  • Configuration of connections between SAP NetWeaver Gateway system and backend SAP application (optional, in case the service data arrives from a separate backend).
  • Google Chrome with “Advanced Rest Client” extension or other compatible REST client that can send RAW HTTP requests.
  • Basic understanding of ABAP development.

Introduction

OData batch requests enables binding of multiple operations into a single HTTP request payload. Certain parameters like components of a batch request, how the request gets handled and the components of the batch response have major differences with respect to the components and processing of a simple and single operation of OData request.
There is one major difference between OData batch request and a normal OData request. In OData batch request, the batch request is represented as a Multipart MIME v1.0 message as specified in RFC2046 (MIME networking protocol). This standard format enables multiple parts of various content types to be denoted within a single overall request.

Components of a Batch Request

Batch request consists of two components:
  • Batch request header
  • Batch request body
Batch request header
Batch requests are sent as a single HTTP POST request to the batch endpoint of a service. The batch endpoint of a service serves as a base service URL attached with “$batch”. Let’s take an example. The batch endpoint for the sample RMTSAMPLEFLIGHT service is:
http://:/sap/opu/odata/iwfnd/RMTSAMPLEFLIGHT/$batch.
The batch request must consists of a Content-Type header that specifies a content type of “multipart/mixed” and a “boundary” specification. The boundary specification is inserted in the body of the request to mark the commencement and termination of each part of the batch request – segregating the different operations contained in the request.
While using HTTP POST method, a CSRF (Cross-Site Request Forgery) token is required when sending the request
Batch request body
The body of a batch request is comprised of an ordered series of retrieve operations and/or change sets. Retrieve operations are generally Query or Read operations executed with the HTTP GET method. When you modify such operations, they are referred as “Change Sets” in OData batch processing terms. Change Sets can consist of Create, Update or Delete operations executed using the POST, PUT and DELETE methods.
In the batch request body, each retrieve request and change set is denoted as a different MIME part and is separated by the boundary marker defined in the Content-Type header of the request. The contents of the MIME part that represents a change set is itself a multipart MIME document with one part for each operation, making up the change set. Each MIME part denoting a retrieve request or change set within the batch includes both Content-Type and Content-Transfer-Encoding MIME headers. The batch request boundary is the name specified in the Content-Type Header for the batch.
Batch Response
Batch response consists of two components:
  • Content Type Header that specifies the content type of multipart/mixed.
  • Batch boundary specification that may be different from the batch boundary used in the corresponding request.
A body of the batch response consists of a response for each retrieve request and change set, as existed in the associated batch request. The order of responses in the response body tally with the order of requests in the batch request. Each response consists of a Content-Type header with application/http value and a Content-Transfer-Encoding MIME header with a binary value. The formatting of response for a retrieve request is exactly the same as it would have been displayed outside a batch.
The body of a change set response could be:
  • A response pertaining to all the successfully processed change requests within the change set.
  • Formatted exactly as it would have been displayed outside a batch.
  • A single response denoting a failure of the complete change set.
However, at present, content ID referencing in a change set is not supported for $batch.

How are operations handled in batch requests?

Retrieve operations and change sets are handled differently by Gateway.
Each retrieve operation like Query or Read within a $batch request will be transferred separately from SAP NetWeaver Gateway hub system to the provider application at the backend for processing.
On the contrary, since every change set is to be treated as a single logical unit of work (LCW), all operations of a change set will be sent at a single instance from Gateway to the provider application at the backend system for processing. The Gateway system collects results from all the operations and subsequently sends these results as one HTTP response to the OData consumer.

Additional Application API for $batch

For executing retrieve operations, there is no requirement of special handling. However, in order to ensure the “all or nothing” character of a change set, there are two additional methods for changing set handling in interface /IWBEP/IF_MGW_APPL_SRV_RUNTIME. The two additional methods are:
  • /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CHANGESET_BEGIN
  • /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CHANGESET_END
/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CHANGESET_BEGIN
All operations within a change set must be considered as a logical unit of work. Hence, a provider must not issue COMMIT WORK or ROLLBACK WORK while processing the change sets. Otherwise, the framework will terminate the change set processing. In case the change set consists of only one operation, the check of Commit or Rollback is deactivated.
/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CHANGESET_END
The provider can update the database only if it updates all modifications of a change set within the internal tables. A COMMIT WORK will be issued by the framework at the end of this API.


 
Return to top of pageCopyright ©SAP Mobility 2019 | Template design by Privacy Policy|Disclaimer*All trademarks and copyrights remain the property of their respective owners.