Quantcast
Channel: SCN : Blog List - SAP Gateway
Viewing all 245 articles
Browse latest View live

Gateway Performance Best Practices - How to consume Gateway from performance point of view

$
0
0

This blog contains useful dos and don’ts for SAP NetWeaver Gateway Consumers with focus on Performance aspects. This information is supposed to help developers to consume Gateway services in a most efficient way from performance point of view.

 

 

Dos

  • Do use JSON format to reduce client and SAP NetWeaver Gateway server time and reduce network traffic
  • Do use GZIP to compress data.

OData query options that optimize performance and end-to-end resource consumption:

  • Do use delta query in case the end users trigger the same query calls with the same options very often. This will fetch only the data from the SAP Business Suite that was created/changed/deleted since the end-user last asked.
  • Do use $select to specify the fields returned in the result set.
  • Do use $top and $skip (client-side paging) to reduce the returned items in the result set.
  • Do use $filter to fetch a subset of the entities in the entity set.
  • Do use $skiptoken (server-side paging) to fetch a subset of the entities in the entity set starting from the first entity at the index identified by the value of the $skiptoken query option.
  • Do use $count to fetch only the count of a collection of entities.
  • Do use $inlinecount to fetch the count of a collection of entities together with the queried entities.
  • Do use $expand/deep insert for associated entity types when you need to fetch or create deep data. Translated into the ODBC–language, $expand is the possibility of OData to make ‘joins’. Deep inserts are the possibility to make updates on views.
    • Do consider using parallel calls in case of one association if it is beneficial to show the results of the faster call. Use $expand/deep insert for one association call. For parallel calls this option is not possible.

    • Do use $expand/deep insert for more data which contains more than one association call.
    • Do implement and use basic $expand. Basic $expand is a central feature to provide the possibility to the application to read and return entities deeply (entity set and entity).  Consider not to use default (generic) $expand.

 

$expand performance optimization, in comparison to single calls, includes the following:

  • $expand reduces roundtrips from the client to the SAP NetWeaver Gateway server as well as the SAP NetWeaver Gateway server to the SAP Business Suite. As a result, network time is reduced.
  • $expand reduces SAP NetWeaver Gateway server response time and the consumption of resources.
  • Basic $expand implementation can reduce the SAP Business Suite times, because the number of database operations and the application logic can be reduced.

Do use $batch to send the data of several requests in a single HTTP request from the client to the SAP NetWeaver Gateway server for entity types that are not associated:

  • Do use parallel calls in case of two Read calls or two Update calls with multiple atomic units of work (different change sets). As an alternative to two parallel calls, you can consider using $batch.
  • Do use $batch in case of more than two calls without associated entity types (do not make too many client – SAP NetWeaver Gateway server roundtrips).

$batch performance optimizations and considerations (compared to single calls):

  • $batch reduces the number of roundtrips between the end-user and the SAP NetWeaver Gateway server. As a result, network time is reduced.
  • $batch reduces the number of roundtrips from the SAP NetWeaver Gateway server to the SAP Business Suite to one in case of Update calls with a single atomic unit of work.
  • $batch reduces SAP NetWeaver Gateway server response time and the consumption of resources.
  • $batch reduces CPU time of the SAP Business Suite in case of Update calls with a single atomic unit of work.
  • Consider the balance between the number of roundtrips and the payload size.  A payload sizie which is too big can affect the network time due to bandwidth constraints.
  • Consider using $batch because it can have a negative impact on the response time since SAP NetWeaver Gateway calls SAP Business Suite/s in sequential order (in case of Read calls or  Update calls with multiple atomic units of work). 

The following table can help to choose the required option between $expand, $batch and parallel calls.

 


Number of Calls from the Client to SAP NetWeaver Gateway

OperationTwo CallsMore Than Two Calls
Association Read

$Expand/ parallel calls

$Expand
Read without Associationparallel calls$Batch
Update with Multiple Atomic Units of Work

Asynchronous (parallelized calls)/$Batch

$Batch
Update with Single Atomic Units of Work$Batch$Batch

 

 


 

 

Don’ts
  • Do not trigger more than two roundtrips from the client to the SAP NetWeaver Gateway server per single operation.
  • Do not use $batch for associated entity types. Use $expand instead.
  • Do not fetch more data than will be presented. Use OData query options to reduce the result set to fit data to be presented.
  • Do not call more than two parallel calls per single operation. Use $batch for more than two parallel calls. More than two parallel calls consume more server resources and network bandwidth.
  • Do not use generic (default) $expand functionality provided by the SAP NetWeaver Gateway framework. The generic expand function will not be ideal with regard to performance since it only represents a feature to provide functional completeness automatically. Implement and use basic expand to optimize performance and reduce SAP NetWeaver Gateway server and SAP Business Suite response time and the consumption of resources.

Whether a specific $expand is better than the generic one depends on the database / data access function design.

 

More information about OData features supported by SAP NetWeaver Gateway is decribed here.

 

Best Regards,

David


Connecting Apps for Office with SAP

$
0
0

You might have read my last two blog posts where I introduced the new Office Web App Model and how easily it can be used to integration SAP data in the latest Microsoft Office applications.

 

The first blog just introduced the topic and highlighted some examples. The second blog then was meant to enable you and get you started: how can you create a simple Outlook 2013 / 365 integration and access an OData source exposed via NetWeaver Gateway. Without installing anything or requiring extra licenses: simply by leveraging what SAP and Microsoft offer as trial versions you can experience and create amazing things.

Of course in this scenario I did not talk about Single Sign On or any other enterprise ready functionalities -- this can be done via other means, for example Duet Enterprise.

 

Just recently our friend Christoph Schuler published a great whitepaper that takes the integration to another level. He not only talks about a simple demo example, but talks about a real live scenario that shows how to create a service which accesses vendor information via SAP NetWeaver Gateway and consume this service in Word 2013

 

You should be able to easily recreate this example and obviously enhance it in any way that you want. Whenever I have shown this scenario to customers in the last few weeks it was extremely well received. There are already lots of companies (not only smaller ones, but also big customers) who are either already evaluating Office 2013 and/or Office 365 or have already started their projects. So this approach would be ideal for them.

 

Well, I can only encourage you to head over to "Connecting Apps for Office with SAP" and take a look at the document.

 

Stay tuned for more information and please feel free to provide your feedback!

Mobile HR powered by SAP NetWeaver Gateway

$
0
0

Hello Colleagues,

 

At the heart of every company is its workforce. Human capital is perhaps the biggest asset of a business, and that’s why I find the following mobile app in HR important This mobile app helps the leading businesses to save money by making easy for staff to connect with coworkers. In the following example powered by NW Gateway, NW Gateway enables  businesses to search and view selected employee profile information, View employees within their organizational structure – and navigate the organization directory to understand reporting structures.

 

NW Gateway here is leveraged by SAP Mobility Platform not only demonstrates its adaptability and prowess for  extending SAP functionality and data from SAP HCM (Human Capital Management) system.

 

Check out this cool mobile app that makes easy for HR and Working professionals to connect with their coworkers, thanks to NW Gateway

here.


mzl.ivcvclrx.320x480-75.jpg

Logging Calls to your Gateway Service: SICF (for beginners)

$
0
0

Something which has come in very useful for me when using Gateway is the Logging functionality. On the project I’m currently working on the UI developers are from a different company and working out what they’re doing can be tricky. My colleague and I have set up our gateway service, and the UI guys are making the calls we’ve exposed to them.. but are they making them correctly? Are they making all the calls required?

 

When system testing it has given me peace of mind to be able to check the calls being made by the front end developers. When bugs have been raised I have been able to identify, using SICF, when the issues have been caused by incorrect or missing calls to our service.

 

This is a brief blog to explain (for those who are new to Gateway) how to use SICF for logging gateway calls, and how to use this to your advantage.


1. Log in to your Gateway system and navigate to TCode SICF

1.png
2. Click execute and expand the list until you get to your service
default_host->sap->opu->odata->sap->"service name"

2.png
3. Click (once) onto your service, so it’s highlighted, then activate a recording
Edit->Recorder->Activate Recording

3.png

4.png
There are 5 parts to make a selection for:
1 User: I select “All Users”, but if you know who the Gateway user is you can specify it directly
2 Record time: If you don’t want to have to come back and de-activate this you can set this to a very specific time frame (I usually leave it as default, and manually deactivate the recording)
3 Lifetime: How long do you want to be able to see these recordings for? After a time all entries will be deleted, so if you're using the recording, for example, to make a point in a meeting, make sure you set the lifetime long enough, or you will find all your recordings deleted
4 URL Path: this will be auto-populated based on the service you selected. If it is BLANK then you didn’t select a service yet.
5 Request and Response is usually more useful

Once you’re ready, hit activate: now, any calls made to Gateway (by your specified user) will be recorded.

I tend to set this up, make some gateway calls and then immediately deactivate the recorder (as it has a maximum number of entries at 100 - and this can be reached very quickly in our system)


4. Deactivate the Recorder: Edit->Recorder->Deactivate Recording

5.png
5. To View your recordings: select the service again. Edit->Recorder->Display Recordings
If you left the recorder running for a while you might specify a time here, but if (like me) you want to see everything, don’t change any setting and click execute

6.png
7. To see details of any gateway call: select it, click the little glasses icon, select “in new session”

7.png

 

And there you have it - a simple way to track the calls made to your gateway service!

 

I hope this is helpful to those of you new to Gateway - I know it was useful to me.

Impression Microsoft Worldwide Partner Conference (WPC) 2013 Houston

$
0
0

WPC1.png

 

Average temperature in Houston was 97 F this week! Inside the George R. Brown Convention Center it was chilling. But the extreme weather condition seems didn't bother people standing in the long long line determined for the deeply discounted Microsoft Surface (It was 3 hours wait for the first 2 days of the conference!). The tablet was selling $99 with the touch cover compared to the $699 price tag in the market.This is truly a global event with many of the Microsoft partners around the world attending the conference. Staying behind me was a guy from Kyrgyzstan whose business is to convert illegal licenses to legal license sales for Microsoft.The tall guy in front of me was from Dubai doing MS implementation. That gives you a sense how diverse this group here in Houston this week.

 

It was a great kick-off for Microsoft for their new fiscal year 2014. In the following I would like to summarize my impression and take the chance to relate Microsoft's strategy to our SAP strategy. To make it short, here are three bullet points.

 

  • A Devices and Services Company
  • One Microsoft, One experience
  • Four Megatrends - Cloud, Big Data, Social, and Mobility

 

A Devices and Services Company

Devices & Services.png

To Microsoft, the coming 2014 is a major year for transformation from a Software to a Devices and Services company. You might ask, where is the software then. Hmm, that is my question too. The answer is Software is now embedded into different devices and services Microsoft offers, whether these are apps on the Surface/Windows Phone or solutions on the Office 365 cloud services. This means Microsoft is more and more relying on their partners to develop applications on top of many devices and services. With that said, SAP NetWeaver Gateway and Duet Enterprise are in a good position from our partner ecosystem point of view. We are the cutting-edge SAP technology that empower the rich SAP data and business processes into many Windows 8 devices - Surface and Windows Phone or the cloud service offerings in Office 365 - Outlook, Excel, and SharePoint. This truly represents a tremendous opportunity for many of our mutual SAP and Microsoft business partners.

 

You could learn more about SAP NetWeaver Gateway from our 2013 Partner-built Solution Campaign.

 

One Microsoft, One experience

One.png

Throughout the conference, there was one word always hanging around my ear. And that is "One". One Microsoft, One Experience and Xbox One.

 

You see the picture above from Steve Ballmer's vision keynote. Everything is under one bracket. As a product manager from a software company, I feel the same significance of the One, especially the One experience.

 

First of all, for the many devices people have, smart phones, tablets, and laptops, it is always crucial to ensure the consistent one user experience across, so that users don't need to change their behavior and habit from one device to another. This has been demonstrated very well the user experience when switching from Surface to Windows Phone. Don't you feel the funny experience when changing from a Surface to a IPad, in the first second you keep swiping your finger from the right edge of the screen to bring up the menu, and finally realize it is not there?

 

That is the one key factor a company like Microsoft could lock in their end users - by providing the same Windows user experience across different devices, and even more, across different services as on-premise Office 2013 and cloud services in Office 365. That is how Microsoft is trying to differentiate themselves from the other vendors who only have cloud solutions. The bet is that not only consumer users, but enterprise users would look for hybrid solutions both on-premise and on-cloud. People will keep both Office on-premise in their laptop and at the meantime using Office services on-line. Company will subscribe to Azure public cloud and at the meantime run their business sensitive data in the private cloud powered by Windows Server. It is just as in the year of 2000 people used to say that local stores would disappear with the emerging of internet stores. But today while we are shopping at Amazon, we still love to go to Macy's to hand-pick our favorite clothing.

 

So making the one experience across the hybrid environments is exactly how Microsoft could differentiate themselves from the other cloud-only vendors. It became very noticeable when Microsoft announced Azure Pack in WPC. The solution will allow customers to create a private cloud with Windows server in-house with the same experience of Azure Public Cloud. That secret sauce has now been moved into the virtual platform as well.

 

This is equally important to SAP customers, whether for a business user, a developer, or an IT administrator, keeping the One experience across different environments is the key to make end user's life easy and free them from changing their habits and behaviors consistently.

 

Four Megatrends - Cloud, Big Data, Social, and Mobility

 

Now the last one I want to write about here are the four IT Megatrends Microsoft revealed in WPC - Cloud, Social, Mobility, and Big Data.

four trends.png

 

Sounds familiar, it is no surprise to me. As we SAP are conquering the five markets - applications, analytics, mobile, database & technology (Hana Big Data), and cloud. I see a lot of partner opportunities here. SAP NetWeaver Gateway and Duet Enterprise are already the glue to make this partnership available and the engine to grow SAP and Microsoft's mutual partner ecosystem. SAP NetWeaver Gateway is bringing SAP data to Windows 8 devices such as Surface and Windows Phone. Duet Enterprise is now the only SAP-Microsoft joint solution to bridge the gap between SAP and Office365 together with SharePoint on-line (Microsoft's social platform integrated with Yammer). As Microsoft just announced Power BI with data analysis with Excel and SharePoint utilizing big on-line data and ERP data, I sense an opportunity for our partners. SAP NetWeaver Gateway is opening up SAP business suite and Hana big data sources to the outside consumption. So why not fuel these data to the Power BI as well?

 

Enough talking, now it is my fun part, after the long waiting line and skipping my lunch, I finally got my Surface RT. It is a great device. I am really impressed on the built and the dynamic feel of Windows 8. Now it is time for me to put my SAP mobile apps into the device and show off the amazing SAP business apps running on Windows 8.

 

Goodbye Houston, and let's test the new high to the zone that we have never experienced!

 

nasa.png

My experience in trying SAP Fiori

$
0
0

From nowhere I got a mail about SAP Fiori and it said that you need to do very minimum configuration to enable using Fiori Apps.

This was there in my wish list; once I had opened employee portal in a mobile device and he was try to approve couple of leave and timesheet request.

 

 

Though the client was happy see the portal in his palm, I felt that more specific app would be best solution. One step ahead my co-client manager suggested that if I can approve or reject these kinds of work items in my Inbox (Mail).

 

I was curious to try this out and I read the manual overnight, Lots of note was applied as per the manual.

SAP Fiori Installation and Configuration

 

It’s a minimum configuration for bringing up the SAP Fiori Application. Faced some issue with the application and posted it in SCN and go a robust support from the members and experts.

Just stated using the application Leave Request & leave Request Approver applications.

Will try to post some blog on each application.

 

Threads

SAP Fiori  Create Leave Request throws error

SAP Fiori error in Manager APP

Useful Link to be read before trying out SAP Fiori.

SAP Fiori

 

 

Open threads under

SAP NetWeaver Gateway

 

FIELD WORKFORCE MANAGEMENT ( SAP GATEWAY , SMP and Google Maps)

$
0
0

logo1.png

               FIELD WORK FORCE MANAGEMENT

 

 

 

 

 

 

Executive Summary:   Crave InfoTech introduces Field Workforce Management Solution , it is a aggregate  of GIS Web Solution hosted on cloud , Mobile Tracker for tracking people , GPS devices for tracking vehicles , Asset inspection Mobile app developed on iPhone  to track various equipment categories.

 

Bread Crumb Trail, Alerts, Internal Messaging, Geo fence are few eye catching

Feature, Download route for mobile users, deviation alert from route, and powerful algorithm to Route to nearest job using direction API is one of the intuitive features.

For more information visit:  www.Cravetracker.com


Capture.PNG

 

 

 

 

GIS (Global Information System):

  • GIS is cloud based solution for tracking jobs, immovable asset, vehicles and people on the field real time using Google MAP.
  • Jobs Creation, jobs assignment and jobs execution is made much easier and transparent using GIS (Best solution to keep track on field work).
  • Vehicle theft, fuel theft, misguided route, long halt is no longer a problem, GIS is single solution to strengthen your field force.
  • GIS provides scintillating features like, Bread Crumb Trail (Vehicle History), Alerts (misguided route, vehicle maintenance, geo fence entry & exit and much more), Internal Messaging, Geo fence are few eye catching Feature Intuitive features. 

 

Best surveillance system for your Immovable and Movable Asset

Vehicle Tracking:

  • Track your vehicle real time on map using GPS device.
  • Disable Ignition using SMS commands remotely.
  • Calculate Mileage, maximum idling , kilometer driven at place for all vehicle
  • Control Speed using alerts to driver; get acceleration and hard brake used during trip.
  • Get the history of each trip.

 

 

Human Tracking:

  • Track your marketing professional’s real time in working hours.
  • Monitor client visit of your marketing professionals
  • Helps employee in claiming accidental policy in case of mishap in working hours.

 

 

Asset Tracking (Immovable Asset):

  • Recognize your installed equipment or machine from 1000 of your installed asset using mobile app integrated with GIS.
  • This app is built in Android, which captures asset pictures with current location details and sends it to GIS server.
  • Easy to use, save time and helps to locate asset easily.

 

 

 

Mobile device Management:

  • With 100 of users been tracked on field, managing mobile user base is quite difficult, MDM called as AFARIA help to server big customers with huge employee.
  • Helps to deploy mobile app easily on bigger scale
  • Apply policy to minimize use of data plan on roaming.
  • Help to locate stolen mobile device
  • Troubleshoot if no data received.

 

Interface with SAP and Other Applications:

  • Interface with SAP using SAP Net weaver Gateway.
  • Use of Web services and Online Data proxy to interface with GIS to download jobs and assign work centers (drivers to vehicles) from GIS
  • Can run independently.

 

 

 

GPS Device (Cal Amp LMU)

  • Cal Amp GPS devices are small and easy to install with 100% accurate result, this devices are built in such a way that even remote and daunt area does not have effect on its accuracy.
  • Cal Amp devices are easy to configure and troubleshoot remotely using SMS commands.
  • Minimal use of data plan as it uses hexadecimal code to traverse data. 
  • Inbuilt memory to store when no signal to send data.

  

 

 

 

Field Service Manager (Using Sybase Unwired Platform):

This application is used for field workforce management; this application is developed using Sybase Unwired Platform as middleware and SAP (ISU) as backend for Android and MDT. Usage of application is to manage the service order completion, inventory movements (truck to truck transfer), Meter reading entry, Meter  Installation, removal, exchanges, Turn On ,Turn Off, Shut off non pay, Customer Complaint Investigation,

Disconnection and Re-connections, Permitting, Maintenance order, Measuring points and Payment Collection, Substation Measuring points, Hydrant maintenance, Leak reading, Pole Inspection, Pending and completed jobs. Routing of Jobs with shortest distance calculation using Google Map, Voice Navigation. The business process logic and data is encapsulated in innovative Mobile Business Objects (MBO) using SAP Sync BO and BAPI wrappers.

 

C-FSM (Crave Field Service Manager) for Utilities enables a platform-independent processing of maintenance and service processes using mobile end devices. Representing a full offline/Online mobile application, SAP C-FSM provides ready-made scenarios that help field forces and service technicians perform their daily activities at customer sites and within plants. The strong integration into Enterprise Asset Management (EAM) and SAP Utilities (IS-U/CCS or SAP ECC Industry Extension Utilities) allows the field forces to work on internal orders (within your own technical installations) as well as at the customer site. The solution integrates the customer data from SAP Utilities and SAP EAM in one mobile application.

Visit Android app Store: https://play.google.com/store/apps/details?id=com.crave.mam&hl=en


 

 

 

PLAN YOUR FIELD WORKFORCE TODAY WITH INTELLIGENT GLOBAL INFORMATION SYSTEM.

 

Visit : www.craveinfotech.com


 

Microsoft Power View and Netweaver Gateway - A easy com*bi*nation.

$
0
0

I was recently at a customer site where they were using a Microsoft Excel based BI Tool, Power View for in house adhoc BI reporting and I was quite impressed. The ease, simplicity and functionality was quite refreshing and I started to do some additional digging into the application and its functionality. My first and unfortunately, my biggest shock, came at the fact it required Silverlight. Yes, you read that right ... this means that the reports/functionality is not available on your favorite mobile device. This did not deter me and I was interested on how this could apply to the SAP world from a desktop perspective and was pleasantly surprised when I started scratching the surface.

 

Firstly, a bit of an introduction: Power View is a relatively new product from the Microsoft BI Stack and was recently included in Excel 2013 (Professional Plus editions). It was previously available in Sharepoint Server 2010 and still is included with SP 2013. You can use Power View directly from a Excel workbook, within Sharepoint, as well as deploy the Power View Excel sheet to a Sharepoint 2013 Server. Power View is an interactive data exploration, visualization, and presentation experience (and can be compared to SAP Lumira). When I started to do some digging I found that this blog around SAP MII tool also uses it as part of its data analysis options. Power View has a variety of functions which are covered on this site and I will not repeat.

 

A powerful feature of Excel, which is often overlooked, is the fact that you can use OData as a data source and this allows us to use data from REST based services built using SAP Netweaver Gateway. Since Gateway can subsequently expose data from sources like BW, HANA, CRM, ERP and so on, it provides a great reusable foundation for casual BI, mobile devices or web apps (like Fiori) for lightweight consumption. SAP Lumira also offers OData support with its recent v1 SP11 service pack which now makes it a bit more appealing for customers who have implemented Gateway.

 

What does this mean for SAP customers? With Excel being widely adopted, why not reuse your existing investments and services from Netweaver Gateway to power some casual adhoc BI tools for your business?

 

Here is a quick walk through which can get you started on developing Power Views for your business (please keep in mind that creating Power View sheets from Excel and Sharepoint is slightly different, in this case we will use Excel). If you don't have Excel 2013 Pro Plus, you can download a copy here: http://technet.microsoft.com/en-us/evalcenter/jj192782.aspx

 

Data Source: As mentioned previously we can use a OData service as a source for our Power View, in this case we will use a great new service recently developed by Andre Fischer and available on the Gateway demo servers. If you would like to develop your own Power View Sheets based on these demo services, you will need an account. (Its quick and easy!).

 

So lets jump in ... Open Excel 2013 and click on the "Data tab", "From Other Sources" and "From OData Data feed" and enter the Gateway service details along with your username and password. In this example we will be using the Sales order collection service : https://sapes1.sapdevcenter.com/sap/opu/odata/sap/ZGWSAMPLE_SRV/SalesOrderCollection

 

Image [2].png

 

Image [3].png

 

Click Finish

 

Image [4].png

 

Once completed, you should be presented with the Power View Sheet and a basic layout, along with your data source field list on the right side:

 

Image [5].png

 

 

You can kick things off by selecting a few columns from the sales order collections table which will show up on your report in a tabular format.

 

Image [7].png

 

First thing we will do is go across to our data set (Our power PowerPivot sheet) and add a SUM function to our Gross Sales Column. Click on PowerPivot -> Manage. Select the GrossAmount Column and be sure to set its type to decimal. (You should do this for all your "numeric" based columns). Then at the bottom in the Calculated field, select the first row and "AutoSum"

 

Image [6].png

 

 

 

If you save and close the Power Pivot, you should have something like this showing:

 

Image [7].png

 

Next we will clone this table and use it for a Pie Chart, select the table, copy and paste it. Then with the new table selected, click the "Design" tab -> "Other Chart" and Pie.

 

Image [8].png

 

 

Once again we will take our original table and clone it. We will use this to display a line chart of the average order size by using a Line Chart. Resize your charts appropriately, and select the line chart. Also modify the Value to be Average, rather than the SUM.:

 

Image [9].png

 

 

As I am sure you have noticed by now, is that filtering on charts is easy and they are all linked. Selecting a specific customer will actually change all three of our charts appropriately which is very slick.

 

 

Image [10].png

 

Progress

 

Next we will be adding a KPI, this can be done by heading back to our PowerPivot sheet, selecting a column and selecting AutoSum -> Count.

 

Image [11].png

 

 

This will add an additional calculated column to your table list:

 

Image [12].png

 

Then select PowerPivot -> KPIs -> New KPI

 

Image [13].png

 

Your KPI base field should be selected and you can define a Absolute Value ("Goal") of 250 and any other options you may prefer. Select OK.

 

Image [14].png

 

 

This will convert your calculated column to a KPI, and selecting one of the fields will add it to your Sheet.

 

 

Image [16].png

 

 

Lastly what we will be doing is adding a few filters to our view, this way we can filter all charts/KPIs with a single selection. You can do this by selecting "View" on the filter sidebar, then dragging and dropping your needed columns.

 

Image [17].png

 

 

In the end, it is a fairly simple process to build a interactive and useful dashboard ... here is my finished Power View ...

 

Image [20].png           Image [18].png     

 

A couple other cool things to check out ...

 

-> The Map "Chart" ...

 

-> Drill down features ... (hint - you need to create a Hierarchy)

 

To Do ....

 

-> Change your column names from PowerPivot as soon as you have your data set created

 

-> Add Currency prefixes to the columns/dataset

 

-> Remember that the dataset is stored in your file.

 

Here is the Power View Chart ... download it, enter your credentials under the PowerPivot "Existing Connections" -> Advanced and you should be able to use it as a template ...

 

Image [19].png

 

Here are a couple more helpful links to get you started:

 

http://office.microsoft.com/en-us/excel-help/create-a-power-view-sheet-in-excel-2013-HA102899553.aspx

 

http://www.slideshare.net/idigdata/excel-2013-power-view-and-powerpivot-basics

 

http://download.microsoft.com/download/A/9/9/A9971C42-ECB6-4059-BA60-7E7B5B98BD40/Microsoft_BI_Interoperability_with_SAP_White_Paper.pdf

 

http://www.jenunderwood.com/presentations/PowerViewPowerPivotBasics2013SP1.pdf

 

If you made it this and are still engaged I am curious to know if you are using Excel Power View in your organization? What do you think of it? Would you consider using it in the future?


SCN Trial Editions SAP NetWeaver Application Server ABAP 7.4 with SAP NetWeaver Gateway

$
0
0

Do you want to ge your hands dirty on the latest release of SAP NetWeaver Gateway as well as on SAP NetWeaver itself?

 

If yes then the you should have a look at the SCN Trial Editions: SAP NetWeaver Application Server ABAP 7.4

 

http://scn.sap.com/docs/DOC-41566

 

Since SAP NetWeaver Gateway is part of the SAP standard as of SAP NetWeaver Application Server ABAP 7.4 you can get SAP NetWeaver Gateway as well which is part of the trial editions of the latest SAP NW release.

 

The new sample service https://sapes1.sapdevcenter.com:443/sap/opu/odata/sap/ZGWSAMPLE_SRV is also part of the trial edition as well.

 

If you wanna try it out check out the document http://scn.sap.com/docs/DOC-41566 that has been posted by my colleauge Christopher Kaestner.

 

Best Regards,

Andre

 

 

 

Microsoft Worldwide Partner Conference (WPC) 2013 Houston

$
0
0

This year's Microsoft Worldwide Partner Conference is around the corner.

The event will be held at Houston July 7-11 and it is expected to have 16,000+ people attending the conference.

 

For those who are not familiar with WPC, WPC is Microsoft's worldwide partners new fiscal year kick-off meeting, as Microsoft's new fiscal year starts in July each year. The event is similar to SAP's PKOM or FKOM. During the conference, Microsoft will outline their new strategies and product direction for the coming fiscal year.

 

Houston.png

As part of the SAP NetWeaver Gateway and Duet Enterprise product management team, I will be meeting many of our partners together with SAP and Microsoft Unite Partner team. If you are attending the event, please drop me a line to see if we can schedule to meet in Houston. We will have the chance to discuss SAP NetWeaver Gateway and Duet Enterprise, and how our technologies are helping integration between SAP and Microsoft.

 

In addition, this year SAP will have a kiosk in the Windows Mobile booth on the show floor. I will spend some time there together with SAP mobility and partner teams. This will be a great chance to meet face to face with SAP team and learn about our exciting new technologies and mobility solutions. Please stop by.

 

I am looking forward to seeing you there in Houston.

Replay Available: SAP NetWeaver Gateway Virtual Trainings

$
0
0

Last month, in Mustafa's blog, he announced the offering of the SAP NetWeaver Gateway Virtual Trainings.

 

This offering was well-received by our partners who are participating in the Parter-built Solution Drive 2013. The trainings were held last week and now the session recording is made available on our YouTube channel.

 

You can view the training here (Duration: 3 hr 6 min)

 

 

Frequent problems encountered in Netweaver Gateway Service development

$
0
0

Here is a list of commonly encountered errors and pointers to resolve them. These are compiled from my experiences as well as experiences in answering questions in SCN.

 

Let me start with two important Transaction codes which will give more information on most errors.

  1. /IWFND/ERROR_LOG: This provides error log in the hub system. From here you can navigate to a Gateway specific Application log or directly launch it using /IWFND/APPS_LOG.
  2. /IWBEP/ERROR_LOG: This provides the error log in your BEP/Backend system. Again you can navigate to Gateway specific Application Log by going to /IWBEP/VIEW_LOG.


The error messages mentioned in this blog refer to the ones received in the Error Logs, Application Logs or at the Client level. Now let us look at the various problems.

 

  • Error Message at Client: While calling a service operation through REST client, you encounter RFC call ended with "System Failure" exception”

Error Analysis: This is a very common error while using the RFC tool in Service Builder. There can be many reasons for this error and error can be pin pointed by looking at the back-end error log. One other option is to go to your Data Provider Class (DPC) and find the place where RFC is called and put a external breakpoint and debug.

Common problems: Mandatory parameters are not supplied to RFC, Problem with RFC destination, Problem with the RFC itself (interface changed, not active etc.).

 

  • Error Message at Client: In the context of Data Services an unknown internal server error occurred

Error Analysis: This is a generic error at client side and there can be multiple reasons for it. This error is from the hub system and only way to check this error is to look into error log and application log in hub system.

Common Problems: property type errors (date, decimal/precision etc.)

 

  • Error Scenario: You have made changes to the data model. I.e. you have added and entity or added a new Function Import, but do not see in metadata.

Error Analysis: Metadata can be cached at Backend and also in the Hub system (can be deactivated as well, but not recommended). Once you make any change to the metadata, clear both caches using transaction code /IWFND/CACHE_CLEANUP and /IWBEP/CACHE_CLEANUP.

 

  • Error Message at client: The specified HTTP method is not allowed for the resource identified by the Data Service Request URI

Error Analysis: For each http method you need to be aware of the right URI convention.

Common Problems: For a ‘POST’ method URI should point to a Collection.

Example:  …../sap/opu/odata/<NameSpace>/<ServiceName>/<CollectionName>

For a ‘PUT’ and ‘DELETE’ methods URI should point to an Entry.

Example: …../sap/opu/odata/<NameSpace>/<ServiceName>/<CollectionName>(<keys and values>)

 

  • Error Scenario: You are querying an OData service and you see that $orderby on query is not behaving as expected

Error Analysis: $orderby is not handled by Gateway framework; instead you need to handle it in your data provider class (DPC). Go to method iwbep/if_mgw_appl_srv_runtime~get_entityset in your DPC and read importing parameter IT_ORDERS and pass this info to your application.

 

  • Problem Scenario: I want to create/POST more than one entry at a time, but I get an error message when I try it.

Problem Analysis: OData does not allow you to POST more than one entry at a time, however there are alternatives. You can do a Batch update. See http://scn.sap.com/docs/DOC-29682 for more details. If you want to POST a parent and it children (example: Sales order and its line items, you can do a ‘Deep Insert’. See http://scn.sap.com/docs/DOC-22305 for details.

 

  • Problem Scenario:  Within Service Builder, Service Maintenance node is empty. You want to register your recently developed Gateway service into the Hub system, but see that Service Maintenance Screen node is empty and you do not see any Hub system there.

Problem Analysis: To do Service Registration on a Hub system, you can directly login to hub system and navigate to transaction /IWFND/MAINT_SERVICE. But if you want to do it from your backend system using the Service Maintenance node, then you need to maintain your Hub systems in configure backend through                    SPRO  SAP NetWeaver  Gateway Service Enablement  Backend OData Channel  Connection Settings to SAP NetWeaver Gateway  SAP NetWeaver Gateway Settings in the Gateway hub system

 

  • Problem Scenario: External Debugger not reached while debugging a Gateway Service

Problem Analysis:  Ensure that you have set the breakpoint in the right backend system. Check your system alias of the gateway service to identify the right backend system. See below options if it you are sure about it.

    1. Clear your browser cache and try again.If this does not solve your problem see below point.
    2. Clear your metadata cache in hub and backend and try again. If this does not solve your problem see point.
    3. External debugger points are user specific. When you set an external debugging point check the message you get at bottom of the screen. That indicates the user for which the breakpoint was set. Now any call coming to this place in backend with this user, the breakpoint will be hit. If this does not solve your problem see below point
    4. Sometimes in development scenarios it is possible that you have a fixed RFC user set in the RFC destination’s logon options. In such a case the call to the backend will be through this RFC user, and not with the user with which you authenticated the Gateway service. In such a case, go to Utilities -> Settings -> ABAP Editor -> Debugging and set this RFC user here.

  • Error Message: While executing a query/read, encountered In the context of Data services and unknown error occurred

Error Analysis: This is usually problem with the properties involving Date, Time, UoM etc. There seems to be problem with RFC model importer in Service Builder.

Common problems: If your RFC/model has a date property, check that it is of type Edm.DateTime and Precision is 0. Service Builder usually gives a Precision as 8. After changing it to 0, generate the runtime artifacts again, clear the cache and run the operation.

  • Problem Scenario:

You want to copy an existing Netweaver Gateway Service or

You want to copy an existing Project in Service Builder or

You want to Copy/Rename an existing Project in Service Builder

Problem Analysis: All these functionalities are not yet supported in Service Builder as of SP7, and as I understand they are in pipeline in future releases.

  • Error Message:Syntax error in program /IWCOR/CL_REST_HTTP_HANDLER===CP

Error Analysis: This is usually solved by upgrading Basis to SP09. Also look at SAP notes 1551982, 1567128, 1560585 and 816861

 

  • Error Scenario:  NW Gateway Service hitting a wrong client. You want the service to hit client 200, but it is hitting client 100, even though you had registered the service from client 200.

Error Analysis: Unless specified explicitly, service will hit the default client, and in your case 100 seems to be the default client.

Solution: There are two ways to solve this problem.

    1. An SAP specific parameter ‘sap-client’ can be used. Example: https://<host>:<port>/sap/opu/odata/IWBEP/RMTSAMPLEFLIGHT_2/$metadata?sap-client=200
    2. Navigate to your service in Transaction SICF. Under Logon Data tab mention your client. Select “Alternative Logon Procedure” from the drop down and save your node.

First week of internship

$
0
0

A week has passed since I got here, and it is time to reflect on my initial experience. Since day 1, I have felt so humbled by the warmth everyone at SAP has extended towards me. My team has gone out of their way to make me feel included. I was invited to a get together on the first day (picture below) and was introduced to everyone on the team. I mean can there be a better ice breaker (for a foodie like me) than chocolate cake on my desk right after orientation   My 'buddy' Ning-Jing has been particularly very helpful in guiding me through everything around and making me feel comfortable.

 

 

Within the first week, my road map for the coming month has been discussed. The first project I am working on is the Duet Enterprise 2.0 product. My role is to work along with Ella in testing and updating the demo document. This will be the first step towards getting involved into demo creation, which is what I will be doing down the road. Going through the demo, I am able to teach myself everything about the product and its various functionalities.

 

 

One of the most impressive parts has been how well my roles and projects have already been structured. It is this structure that will assist me in having an amazing, educative and career-enhancing experience. I hope to develop lots of skills and contribute to the best of my ability. If week 1 is a preview of how these 6 months are going to be, I can state with surety, it will be one of the best experiences I will have had so far.

 

 

About me:

I recently graduated from Cornell University with my Masters in Engineering Management with bachelors in computer science engineering from BITS Dubai. I am originally from India, New Delhi. 

  

                                                    team.jpg

Welcome from my team

How To Upload and Download Files Using SAP NW Gateway SP06

$
0
0

The aim of this blog is to provide a step by step approach enabling anyone that needs a gateway service to upload/download files to SAP backend to develop it in no time.

 

In this blog I have listed some existing blogs and SCN posts regarding this topic. These have helped me manage to develop my upload/download service but none of them give a full step by step approach of how to do this and they refer to different versions of Gateway.

 

Note that in my examples the values contained in <> needs to be substituted with your own values

 

1. Create Table

First I created a table to contain the uploaded files with the following properties:

Capture.PNG

You can of course adjust these properties to your need but the mimetype and value (stored as rawstring) will always be needed.

 

2. Develop Function Modules

Two Remote Function Modules was then developed. One that can upload a file to the table above and one that downloads from it.

The upload RFC has these import parameters and simply dumps the input into the table:

Capture.PNG

The download RFC takes the key values PERNR and FILENAME as input and exports:

Capture.PNG

It simply executes a read on the table using the key values and sets the export parameters.

Remember to mark the function modules as remote enabled

 

3. Create Project in SEGW and Entity Types

A project was created in SEGW and an entity type based on the download function module (right click Data Model->Import->RFC/BOR interface) created giving the properties as shown below:

Capture.PNG

On the actual entity, that I have called "File", it is important to tick the Media option as shown:

Capture.PNG

Setting a data object as media type means that it gets a special semantic by having a URL and allows streaming etc. This then sets the property hasStream to true in the service document as can be seen when issuing a $metadata request to the service:

Capture.PNG

Furthermore in the model provider class <classname>_MPC this line of code is dynamically added: lo_entity_type->set_is_media('X' ).

For a further description of the Media property see also: http://help.sap.com/saphelp_gateway20sp04/helpdata/en/67/d2c38221984d8eb46b8a8d983407b9/content.htm

 

Lastly an entity set based on the entity needs to be created,

 

4. Create Upload Service

To create the actual service simply look in the "Service Implementation" folder and right click the "Create" operation and select "Map to Data Source". Select the function module you use for uploading files. Do the same for the "GetEntity (Read)" operation but of course based on the download RFC. Use the "Propose Mapping" functionality to map the parameters. You should end up with mappings similar to this:

Capture.PNG

 

Capture1.PNG

 

5. Redefinitions

For the services to work some manual coding also needs to be done. This is done through redefinitions of the standard methods on the classes <classname>DPC_EXT and <classname>MPC_EXT. You locate these in the "Runtime Artifacts" folder. They are opened by right clicking them and choosing "Go to ABAP Workbench". The methods are then redefined by right clicking them and choosing "Redefine" - all pretty simple

A total of three redefinitions was done and I will describe them below:

 

A - Marking Mime Type  

When entity type has been marked as media (as described in step 3) we also have to mark which of the entity properties that holds the mime type of the object. This needs to be done programmatically by redefining the method DEFINE of the model provider class <classname>_MPC_EXT.

 

Code is inserted to mark one of the entity type properties as Content type i.e. the property that represents mime type information. You can get the the code snippet that you can adapt to your case here SAP NetWeaver Gateway Service Builder: How to Read Photo - Code Snippets which is from Rashmi BR excellent blog that you can find here How to Read Photo from SAP system using SAP NetWeaver Gateway

 

 

B - Redefining CREATE_STREAM

To support the upload of files the method CREATE_STREAM needs to be redefined in class <classname>_DPC_EXT. All the needed parameters are available in the redefined method. First the filename or other key parameter can be retrieved through import parameter iv_slug:

Capture.PNG

The actual uploaded media and mime type parameter is contained in import parameter is_media_resource:

Capture1.PNG

Capture2.PNG

 

Stream and mime type is copied to export parameter using standard data type ty_s_media_resouce through standard method COPY_DATA_TO_REF. ls_stream is of type ty_s_media_resource. :

Capture3.PNG

 

C - Redefining GET_STREAM

To support the downloading of files the method GET_STREAM needs to be redefined in class <classname>_DPC_EXT. All the needed parameters are already available here. First the key parameters are retrieved. In example below it is "Pernr" that is retrieved but "Filename" is also retrieved the same way as it is part of the key in this example:

Capture.PNG

Then the file download is requested and the stream and mime type is copied to export parameter using standard data type ty_s_media_resouce through standard method COPY_DATA_TO_REF:

Capture.PNG

 

6. Running the Services

To test the Create and Read services the following calls can be executed:

 

A - Create

To run my example you perform a HTTP POST to a URL like this: host:port/sap/opu/odata/sap/<servicename>/Files

 

You can use the built in Gateway Client tool to test the service. You execute the client tool from /iwfnd/maint_service and then in the tool you can use the “Add File” button to add a file to the POST request and the + button to add headers to the post request.

 

In the post command you need to add the headers “Content-Type” and “slug”. For example for PDFs content type should be “application/pdf” and slug needs to contain the key - in my case filename. Note that if you use Gateway client tool you don't have to supply content type parameter.

 

NOTE: If you are not using the Gateway client test tool you also need to remember to add the X-CSRF-Token in the header of the post command. You can get the token by issuing a GET to the service with the header=x-csrf-token and value=fetch. You will then be able to read the token in the response and can supply it in the POST.

 

On successful POST the document is stored in the database table and you get some xml response back.

PROBLEM: in my response I'm missing the keys of the just uploaded document as shown below. So I guess I'm doing something wrong in my implementation of CREATE_STREAM as described in 5.C. Has anyone got some hints for me to solve this?

Capture.PNG

 

Note that in my example the Personnel number and creation Date are automatically retrieved by the service implementation so doesn't need to be supplied in the post.

 

B - Read

To read information about the uploaded files a GET containing the keys - in my case “Pernr” and “Filename” - can
be issued like this: host:port/sap/opu/odata/sap/<servicename>/Files(Pernr='<pernr>',Filename='<filename>')

 

In the response you will then be able to see that the actual document can be retrieved/downloaded by adding /$value to the request above for example:

host:port/sap/opu/odata/sap/<servicename>/Files(Pernr='<pernr>',Filename='<filename>')/$value

 

 

Conclusion

I have written these services to the best of my knowledge but I'm very interested in getting feedback and possible improvement points.

 

 

References:

Blogs:

Gateway Service using the OData Channel Approach (ABAP Coding)  for Media Links(Photo,Document) by arun chembra

How to Read Photo from SAP system using SAP NetWeaver Gateway

Media Links - SAP Documentation

SCN Posts:

Re: Upload File with parameters?

File Attachment using gateway

FileUploader and X-CSRF-Token?

SAP NetWeaver Gateway and Duet Enterprise – Top Five Business Scenarios.

$
0
0

Some of the most common questions I get whenever I meet with customers and talk
about SAP NetWeaver Gateway and Duet Enterprise is “What are the main use cases
for using these products?” and “How do other customers use it?”. This blog attempts
to answer these by sharing with you the top five business scenarios for using SAP NetWeaver Gateway and Duet Enterprise.

 

 

The first and one of the most common scenarios is Approving SAP Workflows in any device or environment.

 

Customers sometimes face some issues with SAP workflows: the access to SAP Inbox for the casual user can be a bottleneck, executives
and managers want to execute approvals "on the fly" and work from any
available user interface, like Outlook, mobile devices and more. They also want
to have a collaboration platform to discuss the approvals and be more
productive.

 

With SAP NW Gateway and Duet Enterprise we can easily bring SAP workflows to any
device or environment!  

We can consolidate these SAP workflows from many systems into one simple view, we can help you
collaborate on and reassign these workflows in just few clicks and we shorten
the development process to achieve this from months to weeks! Have a look at
this great IPAD app we created for one of our customers; it took us only 3 weeks to develop and it’s
now live and making the users happy and efficient! We can even approve
workflows while talking on our IPhones, just like we do in this demo.

 

 

The second business scenario is Having SAP analytical data at your fingertips!

 

Yes, I know that triggering a report from BW or ERP is not a very simple task for
most of us and unless you are the amazing SAP Power user you might find
yourself struggling with that… But that's ok!

 

Our customers are struggling to run BW and ERP reports directly from SAPGUI; they
need simple and intuitive access to analytical data in real time even when they
are outside of the office. They also want to integrate between SAP Hana and BW
and additional analytical tools and products in order to create one simple
dashboard for the decision makers that will summarize all the information they
need and bring the data to their device of choice With SAP NW Gateway and Duet Enterprise
we can display information from SAP Hana in non SAP user interfaces while we
integrate information from other SAP systems like CRM and include feeds from
social media. Sounds crazy, doesn’t it?
Check out this demo and see how we can make it real and also very cool! Overall, we can
enable users to trigger reports from any UI channel with minimum effort and we
also provide seamless integration of SAP BW and ERP reports to SharePoint. another good example
for using SAP NetWeaver Gateway on top of HANA, BW and CRM is the

Lenovo’s SAP NetWeaver Gateway project which was also presented in recent SAP Tech-Ed

 

 

The third business scenario is to Collect and analyze market inputs from social media.

 

You are reading this blog, so chances are that you already checked your Facebook
today. And LinkedIn. And Twitter. If you didn’t I would be very surprised!

Most of us use social media all the time and the information we are posting in social media can easily be turned into
valuable knowledge.

Our customers realize the power of social media and the fact that users express
opinions, concerns and also complain in social media all the time. They can
learn a lot and provide better products, services and engage proactively with
their customers by leveraging these platforms effectively.

 

We can capture the social media feedback with SAP NW Gateway! We can integrate the
social media feeds as a lead or complaint into your CRM system or as a
potential candidate in your HR system like in this demo.

Many other possibilities also exist. If you’d like to check some a customer testimonials
on how SAP NetWeaver Gateway can help companies to generate more leads out of
their social media activities you can check this great clip from Asian Paints

 

 

The fourth business scenario is Empowering your sales force with online customer data.

 

Customers keep telling us that their sales teams are on the road all the time and they are
not (believe it or not ), part of the exclusive "SAP Power users" group.

 

This means their sales reps struggle to get relevant details about their customers
using SAP CRM and they desperately need a simple and intuitive interface to
consume and update customer data on the road. They also want to communicate
better with their customers and respond quickly to their requests.

 

The way we help customers to achieve these goals is really simple. With Gateway you
can easily create a user centric application to consume sales data on the road
like this very cool IPhone demo. You can also have seamless integration of CRM activities and contacts with Outlook and
SharePoint using Duet Enterprise.

 

 

The fifth and last business scenario I would like to share with you is

Increase the efficiency and compliance rate of your Employees self service activities.

 

Many of our customers have a big number of employees that need an easy way to perform
daily administrative tasks like booking leave requests or recording time. Using
traditional SAP user interfaces can present a challenge as this can be very
complicated to these occasional SAP users. Managers have additional
requirements for an effective way to track and approve their employee data
without having to enter SAPGUI and they also want a seamless integration of
time recording and task management into their calendars in Outlook.

 

We help our customers to bring HR transactions and processes into the user
interfaces their employees are comfortable with and by doing so we see dramatic
improvements in customers' employee productivity.

 

We help the customers to quickly create portals for employees to perform all HR
related tasks from almost any device or environment. Just like we did with university of Mississippi,
don’t believe us - you can hear it directly from them!  Another example is our out of the box

integration between CAT2 for time recording and SharePoint\Outlook with Duet Enterprise.

 

These are some of the most common business scenarios we see amongst our customers but
the limit to what you can do is really just constrained by your imagination!
Thinking about the possibilities of SAP NW Gateway and Duet Enterprise, I like
to open my discussions with our customers with the question: “In a perfect
world - how would you like your SAP to run?”

 

If you have an answer for this question we are here to help you to make your world
run better 


SAP CodeJam Sydney - Gateway & SAPUI5

$
0
0

I-CodeJam-Sydney-72dpi.jpg

Calling all SAP Developers!

 

I'd like to announce the upcoming SAP CodeJam Sydney, that will take place on September 25th in the beautiful harbour city of Sydney Australia.

 

The topic for the CodeJam will be SAP Netweaver Gateway and SAPUI5.

 

SAP CodeJam is a great opportunity to meet the experts from SAP and your fellow developers, learning something new and exchange ideas in an informal hands-on 1/2 day workshop. There will be an introduction to the technologies (Gateway and SAPUI5) and then lots of time to get your hands dirty writing code. Headlining this event will be SAP's own Andre Fischer (Gateway Guru). We also plan to have some SAP Mentors and SAPUI5 aficionados join us on the day!

 

The event is free, so all it will cost you is your time on a Wednesday afternoon (2pm - 7pm) - we even provide food and drinks! If you need to convince your boss of the value of giving you the afternoon off to attend here is something you can print out and drop on his desk. To give you a feel for the event you can check out this blog SAP CodeJam about SAP NetWeaver Gateway - Where to go next ? on the recent Gateway CodeJam held in Eindhoven.

 

So if your in the area I would encourage you to come along and join us for the afternoon - learn something new and meet some new people with the same interests as you. Please register for the event here: http://www.eventbrite.com/event/7535054551

 

I look forward to seeing you there!

Simon

 

If you'd like to come but you don't live nearby (e.g. you live on the other side of the planet ) check out the other upcoming CodeJam sessions in the Code Jam Space or even better why not organize one yourself in your home town.

SAP NetWeaver Gateway SP7 is out

$
0
0

I am happy to announce that the SP7 of SAP NetWeaver Gateway is now available.

Which additional features will it bring?

Of course there is a complete list of the newly developed topics available as usual in the help portal (http://help.sap.com/nwgateway#section1 -> Release Notes). But I would like to highlight some features in more detail. We also took the opportunity to introduce new OData features, as they are defined in the newly released OASIS standard OData Version 4.0.

 

User Self Service

When looking at all the scenarios where SAP NetWeaver Gateway currently is being used we see a big trend going in the direction of Business-to-Consumer (B2C). Examples are:
- offering end-users direct access to the SAP backend for e.g. updating their address details
- creating orders in the backend system.
SP7 is now offering OData Services for user creation request, user data management or password resetting requests.

Payload Trace

With the newly introduced functionality of payload tracing we are now offering something similar - but nicely embedded into the Gateway / OData world.
From the colleagues who developed the new payload trace I directly received a list of pros and cons of SICF tracing and payload tracing (thanks!). Here the list:

SICF

- the recorder has to be activated on the right App-Server. If there are several App-Servers one has to log-on to all available App-Servers and activate the logging there. Displaying of the logs works from any App-Server though.
+ OData requests that have not reached the Gateway functionality (e.g. invalid log-on) are being recorded.

The new Payload Trace

- Only OData Request that are reaching the Gateway system are being recorded
+ Connection to the GW Error-Log for better analysis or the Gateway Client for being able to replay a call.

Enhancements for Maintaining Services

The central transaction for maintaining services has been enhanced so as to optimize the user experience. In addition, new functions have been added.

Performance Best Practices

SAP NetWeaver Gateway is now available for ~2 years. In this time we have see customer projects with huge numbers of users or very high numbers of service calls. In a newly introduced section of the online help you can now find a collection of best practices when dealing with such requirements.
By the way, for the sizing of SAP NetWeaver Gateway you can also use the quicksizer: http://scn.sap.com/thread/3324208.

Service Builder

This is by now is the tool of choice for the development of OData services with Gateway. We keep adding functionality to make it easier and faster to deliver the right service. Here a selection from the most relevant additions:
  • Copy Project

To save time and effort, you can now create a new Service Builder project that is based on an existing project by using the Copy Project function. Simply copy an existing project and make the relevant changes to the newly created project. The Copy Project function copies all design-time artifacts, so that you have a jump start in.
  • Copy Data Model Artifacts

For greater efficiency you can copy and paste data model artifacts within one and the same Service Builder project and between different Service Builder projects. You can copy and paste artifacts using the functions (Copy to Clipboard, Cut to Clipboard, and Paste from Clipboard) in the mass maintenance view or if you are working directly in the tree view, you can use the standard keyboard shortcuts or the copy and paste functions from the context menu. You can copy and paste design-time artifacts, but not runtime artifacts.
  • Delta-Import OData Models

Now it is possible to import an OData model from an XML file into an existing model. A dedicated wizard will show any differences between the two models and give the developer a choice, which part of the model shall be used. This new feature is particularly useful if you do the definition of the OData model

outside of Service Builder, like for instance in the new graphical OData modeler in Gateway Productivity Accelerator (GWPA) in Eclipse. Now a close

interaction between the designer of the OData service and the ABAP developer is possible. Also in extensibility use-cases this new function can be very

helpful.

segw_sp7.png

 

 

  • OData Vocabularies

Vocabularies are a powerful new concept to enrich the service metadata. Runtime and designtime now support the definition of OData vocabularies and respective annotations, which use the vocabularies. 

 

As said earlier, there are more features available in SP7 - please have a look at our Documentation (http://help.sap.com/nwgateway#section1 -> Release Notes)
Martin Bachmann & Thomas Meigen

SAP NetWeaver Gateway and Intel IDF 2013 San Francisco

$
0
0

As a local to San Francisco bay area, I am very happy to see the Intel Developer Forum (IDF13) is coming to town in Moscone Convention Center in San Francisco. SAP is sponsoring the event and we will be showcasing Developer Experience of SAP NetWeaver Gateway, HTML5, HANA, and Big Data to the Intel developer community.

 

     IDF13

     Sept 10 - 12, 2013

     Moscone Convention Center, San Francisco,  CA

San Francisco.jpg

HTML5  is a core technology embraced by both Intel and SAP. In IDF13 technology exhibition area, we will demonstrate how easily developers could create a HTML5 application using SAP NetWeaver Gateway HTML5 plug-in for Eclipse. You will also have the chance to see how SAP NetWeaver Gateway bring the power of SAP software into innovative and people-centric solutions in social and collaboration environments, smartphones and tablets, and rich internet applications.

 

Before you come to the conference, you could check out  from the link more detail about SAP NetWeaver Gateway. Also don't forget to visit the HTML5 developer community site HTML5hub sponsored by Intel.

 

We are looking forward to seeing you here in beautiful San Francisco.

SAP GW - Implement a better OrderBy for Cust EXT Class

$
0
0

Intro

If you have defined your OData Service in transaction SEGW and use the own class (* _DPC_EXT) for Service Implementation,

you may have asked yourself how to use the parameter IT_ORDER of Type  /IWBEP/T_MGW_SORTING_ORDER to implement sorting of your entity table.

 

One way could be to use standard GW util class  /IWBEP/CL_MGW_DATA_UTIL and its method orderBy.

But by using this, it might happen that you stumble upon a constraint where you get an exception if you use a parameter in your orderBy clause which has a underline in its name definition.

 

For example you would use this URL where StartDate is the attribute you want to sort descending:

 

/sap/opu/odata/sap/<YOUR_SERVICE_NAME>/ProjectSet?$orderby=StartDate%20desc

 

The Problem is that 'StartDate' is the attribute name of your gateway service entity and in you backend table it could have the name 'START_DATE'.

 

so  'StartDate' <> 'START_DATE'

 

Because of the standard implementation of  method orderBy you will get an Error : "RFC Error: Incorrect value in the dynamic table."

 

HowTo

To get arround this pittfall you could use your own util class to sort the table.

Where you can use o_tech_request_context object.

This object does the mapping to get the corresponding database field name (see comment of Ron).

It could look like this:

 

IT_ORDER    TYPE  /IWBEP/T_MGW_TECH_ORDER    "*the sorting order
CT_DATA      TYPE STANDARD TABLE   " * CT_DATA is your Entetyset table returning just after the select from db.  

 

METHOD orderby.   DATA: lt_otab   TYPE abap_sortorder_tab,              ls_oline  TYPE abap_sortorder.   DATA: ls_order LIKE LINE OF it_order.   CONSTANTS:BEGIN OF lcs_sorting_order,                             descending TYPE string VALUE 'desc',                            ascending  TYPE string VALUE 'asc',             END OF   lcs_sorting_order.


LOOP AT it_order INTO ls_order.
     ls_otab-name = ls_order-property.     IF ls_order-order = lcs_sorting_order-descending.       ls_otab-descending = abap_true.     ELSE.       ls_otab-descending = abap_false.     ENDIF.     APPEND ls_otab TO lt_otab.
ENDLOOP.   SORT ct_data BY (lt_otab).

ENDMETHOD.

And you can use this method like this:

 

IF it_order[] IS NOT INITIAL.     "* get technical names for order table     DATA: lt_tech_order TYPE /iwbep/t_mgw_tech_order.     lt_tech_order = io_tech_request_context->get_orderby( ).     zcl_cl_util=>orderby(     EXPORTING       it_order =  lt_tech_order   " the sorting order     CHANGING       ct_data  =   et_feed   ).
 ENDIF.

User Self Service in SAP NetWeaver Gateway

$
0
0

This blog introduces a new feature - User Self Service, from SAP NetWeaver Gateway. This mainly focuses on business to customers(B2C) scenarios using which SAP Business Suite B2C customers:

  • can register themselves in the SAP Business suite systems.
  • have an option to reset their password in case they forget it.
  • can manage their profile
    • Change profile data
    • Change password

 

For example, if a company is using SAP's Business Suite solution, they can enable their business consumers to register themselves in the SAP Business suite system by providing them with an application based on User Self Service.

 

So are you wondering how to start? How do I use the OData services provided to start using this feature? What are the steps? Can I customize or extend the features to my requirements?

 

Everything you need to know is below! I will be talking about customizations more while explaining the process.

 

Prerequisites

You need to make sure all the pre-requisites are fulfilled.

 

Self Registration Process

Assuming that all the required configurations have been done, we would be working with two OData services provided by SAP NetWeaver Gateway:

 

  1. /IWBEP/USERREQUESTMANAGEMENT - to register a user, activate a user and reset credential. You also have an option to extend the UserRequest entity in this service to suit their requirements.
  2. /IWBEP/USERMANAGEMENT - to access user's profile, change profile data and change the password.

 

Note: Please activate the above two services in your Gateway hub system.

 

Before we get started, let's have a quick look at the complete picture of the functionality in brief. An anonymous user can create his user in the SAP system by following the below mentioned two step process:

 

Figure 1:

Block diagram_SCN.JPG
Legends :* = mandatory

 

User Interface

For better understanding, lets take a simple example, where an organization wants to provide User Self Service facility through a browser based SAP UI5 application and make it available to it's users. I will try to show how the UI may look in this case with some screenshots. UI is just indicative and not a part of standard delivery.

 

Step 1: Register your username

 

UI: The first UI may look like as shown below where in it provides option for users to register themselves. It also shows another view where users can login and view their profile.

 

Figure 2:

 

UserAccount_UI.JPG

 

The first step is to register yourself with a user name. The OData service used for this purpose is /IWBEP/USERREQUESTMANAGEMENT. You need to execute a POST request on the entity UserRequestCollection. This service is executed in service user context. You need to provide other details like FirstName, LastName, EmailAddress, UserCategory, etc.

 

  • Customization 1*: You need to provide the UserCategory as you must have earlier maintained, in the IMG activity  - Maintain User Category. User category is mapped to a reference user  which will be used to create your user. The reference user has to be created with proper authorizations and profiles based on your requirements. Multiple user categories can be maintained and used while creating users as per the customers' requirements.  Please check IMG documentation for more information.

 

The HTTP POST to create a User Request can be done as shown below:

UserRequestCreate.jpg

 

Upon successful creation of User request, you will receive a notification email to your email Id which you had provided while creating the User Request. The activation link in that email will contain the Activation Key required to perform the next step.

 

  • Customization 2* : To receive the notification email, you need to maintain the application URL in the IMG Maintain URL for User Account Activation as mentioned in the IMG Activities. This URL should take the user to the application page(Figure 3) where he can provide password and can proceed with next step - Activate your User.

 

  • Customization 3 : The email notification is the default implementation provided by SAP. You can define your own notification process. in the IMG Define Notification Process for User Request Management as mentioned in the IMG Activities.

 

  • Customization 4 : In case you want to use the standard notification agent to send email notifications but customize the content of the email, the same can be in the IMG Define Notification Process for User Request Management  as mentioned in the IMG Activities. Please check the IMG documentation for more information.

 

 

Step 2: Activate your user

 

UI:  The below image is the activation UI which appears when you click on the activation URL received in the email. Here the end users need to just enter the password and click activate. The UI also shows a navigation back to the login page where end users can view their profile after successfully activating their user:

 

Figure 3:

UserActivate_UI.JPG

 

Now, the next step would be to activate your user. You need to execute a PUT request on the same entity i.e. UserRequestCollection with key as RequestID. The request body while executing PUT in this case has two properties ActivationKey and Password. RequestID and ActivationKey is present in the email link that you received earlier and the Password should come from the UI. The email link also has a parameter type, value '0' means its user activation link and value '1' means its a link for reset credential(discussed later in the section - Reset Credential).

 

Activation URL example:
<applicationURL>?RequestID=005056A509D41ED2BA8EBB9F89EEEBE1&ActivationKey=47CBAC803E9B6F1FA3508F0A76F8095EB647A9F3&type=0

 

  • Customization 5[Optional but IMPORTANT] : Users have an option to implement their own User Management flow - create users, manage users, reset password and check user existence in a totally different user management system. By default SAP provides an implementation to manage users using the user and role administration functions of SAP NetWeaver AS ABAP. The relevant IMG is Implement User Management - IMG Activities.

 

 

  • Customization 6* : You need to maintain an RFC destination for a non co-deployed scenario. This enables the user replication on the SAP NetWeaver Gateway hub system. This is not required if IW_BEP and IW_FND component are in the same system i.e. a co-deployed scenario. The relevant IMG node is - Maintain RFC Destination for User Replication - IMG Activities. Please check the IMG documentation for more information.

 

  • Customization 7 : You can also define a handler for User Management notification which is executed after the user is created in the system. For example if you would like to notify the person (who has implemented the BAdI) about the user creation or applications can use this information to perform application specific logic like replication of user along with Business partner data into SAP Business Suite system. The relevant IMG node is - Define Handler for User Management Notification - IMG Activities. Please check the IMG documentation for more information.

 

 

The HTTP PUT request can be done as shown below:

UserActivateRequest.jpg
So, that's it! The user is activated and created in the SAP system.

 

 

Forgot password? Reset Credential

 

UI: The first part of the UI for reset credential can be same as seen on the right side of the Figure 2.

 

In case the user has forgotten his/her password, there is an easy way to reset the password. The user just need to remember his/her user name in this case. A function import(service operation) named ResetUserCredential with method POST needs to be executed with the UserName as an input parameter. A new activation link will be sent to the user, to the same e-mail id which was used to create the user. The activation link this time should have a parameter type=1 which signifies it's a link to reset the credential.

 

Activation URL example in case of Reset credential:
<applicationURL>?RequestID=005056A509D41ED2BA8EBB9F89EEEBE1&ActivationKey=47CBAC803E9B6F1FA3508F0A76F8095EB647A9F3&type=1

 

The above URL should take you to the page where you can reset your password as shown below:

 

Figure 4:
ResetCredential_UI.JPG

 

The function import can be executed as show below:
UserResetCredential.jpg

 

Now what??
With new activation link , the user can now reset the password by following the steps as given in Step 2: Activate your user.

 

 

Manage your Profile
Now that user is created, he/she can now access the information, update profile data, or change password easily using the OData service provided - /IWBEP/USERMANAGEMENT. This service uses the same user name(internet user) as logon credential which you had created.

 

UI : The sample UI can look like this:

 

Figure 5:
UserProfile_UI.jpg

 

Sample URL to access profile data:

 

To update the profile data, use PUT operation on the above URL with a proper request body. To change the password, you can use another entity UserCredential and execute a PUT request providing UserName and Password in the request body.

 

And we are done!
Feedback appreciated.
Viewing all 245 articles
Browse latest View live


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