Quantcast
Channel: SAP Gateway
Viewing all 253 articles
Browse latest View live

After Red Hat Summit 2013

$
0
0

Last week, I attended the Red Hat Summit 2013 in Boston. This year's event filled Hynes Convention Center with a total of about 3500 Red Hat customers, partners, developers and employees.

 

IMG_1520_small.jpg

In the summit, I had the chance to speak about our collaboration with Red Hat within the last 18 months, together with a colleague from Red Hat, Ted Jones. Our session Interoperability Results from SAP & Red Hat Collaboration was scheduled for Friday morning.

 

During the session, Ted and I shared information about SAP NetWeaver Gateway and JBoss Enterprise Data Services respectively. In addition, Ted also showed a number of demos showcasing the interoperability between JBoss Enterprise Data Services and SAP, via SAP NetWeaver Gateway as well as other OData translation and provisioning support within JBoss Enterprise Data Services. You can download a copy of our presentation from last week here.

 

Demo1Arch.png

 

During the event we also announced the availability of Pre-packaged SAP NetWeaver Gateway 2.0 SP6 on Fedora 18 virtual image. With this, JBoss developers can install a trial version of SAP NetWeaver Gateway on a virtual machine running Fedora in their local workstation in less than an hour. This will allow them to both provision OData services using SAP NetWeaver Gateway as well as consume pre-built services using their already existing JBoss development environment.

 

I look forward to our continued collaboration with Red Hat and already excited about showcasing it again with Ted, next time in SAP's own turf - SAP TechEd.

 

Best,

Mustafa.


Recap of Virtual Fair for SAP NetWeaver Gateway Customers - Session Replay and Presentations Download Available!

$
0
0

We were delighted that we had 7 partners to co-present in front of our customers to showcase their solutions built on SAP NetWeaver Gateway and Duet Enterprise. We had approximately 20 registrants for the event and majority of them represented the consumer products and services industries.

 

I would like to take this opportunity to thank our partners for their commitment and support to this event and their diligence in preparing the material. Also, thanks to our customers who took the time to attend the session. If you are interested in any of our partners' solutions, you can download their presentations below and contact them.

 

I have included below the links for session replay and presentations.

 

Session Recording Replay: https://sap.na.pgiconnect.com/p45882037/

 

Presentation Download (valid for 70 days starting from June 25) :

7P Group | Bristlecone | Campana & Schott | Cordis Solutions | Dolphin Corporation | Innowera | Prospance

 

For our partners, if you want your company to be informed of our next Virtual Fair, you can participate our Partner-built Solutions Drive to build solutions with SAP NetWeaver Gateway. There is still time to sign up, register now!

 

We are looking forward to see more of you again in the next Virtual Fair.

https://sap.na.pgiconnect.com/p45882037/

Slides and Video Links for Partner-led Rapid Deployment Solutions Info Sessions

$
0
0

Dear partners,

 

Thank you very much again for joining the Partner-led RDS Info Sessions!

As a follow-up action item, we are making the slide deck and the recorded video sessions available here in SCN. Those of you who missed the sessions should definitely check them out.

 

Just to recap the session with in one sentence,

 

"Partner-led RDS will allow you to utilize the market proven SAP RDS framework to package your solutions, and leverage the strong RDS momentum to drive new sales of your solutions."

 

If you are interested at signing up the Partner-led RDS program, please contact us directly with the email addresses provided at the end of the slide deck.

 

 

For those of you who are interested at our SAP NetWeaver Gateway Partner-built Solution Drive. You can sign up here.

 

Here is the reference to my Partner-led RDS info session announcement blog.

 

We are looking forward to hearing back from you.

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.

 

If you have faced one of these errors/problems and solved it differently, let me know, I will improve the blog.

 

If you find the blog useful, 'Like'/'Share'/Rate it and help to improve the visibility.

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.

Showcase your SAP NetWeaver Gateway solutions at TechEd Las Vegas

$
0
0

With merely 6 weeks away, SAP TechEd 2013 Las Vegas will be back to welcome all the SAP developers, customers and partners to meet, collaborate and innovate. SAP NetWeaver Gateway Product Management team will be at the event to host a networking session where we showcase our partner solutions to TechEd participants.

 

For our partners which have participated in the SAP NetWeaver Gateway Partner-built Solutions Drive 2013, it is an unique opportunity to join this session to showcase your newly built and certified solutions to the prospect customers in the conference.

 

If your company is interested in joining the networking session of SAP NetWeaver Gateway during Teched Las Vegas, please contact Mustafa Saglam for more information.

 

272911_l_srgb_s_gl.jpg

How to connect the SAP Business Suite to the SAP HANA Cloud Platform using Gateway as a Service Trial Edition

$
0
0

What are the advantages of using the SAP HANA Cloud Platform?

 

 

Cloud technologies offer many new concepts and possibilities to create innovative scenarios. So if for example a new business scenario has to be implemented by the corporate IT quite often the following questions have to be solved:

 

  • How will the new scenario impact the existing systems and scenarios?
  • Are the right people available – from a skills and from a time perspective?
  • Is it a scenario that involves external collaboration? Is alignment with my corporate security team required?
  • When is the new process expected to be ready?

  

As with the typical workload in the IT organization many questions cannot be answered in a sufficient way typically work-arounds will be created – that are likely to cause additional effort later…

With the SAP HANA Cloud Platform now a new platform is available to serve as foundation for developing own scenarios offering the following advantages to address the
topics:

  • independent from the maintenance windows of the company’s SAP system landscape, decoupled development cycles
  • independent from lengthy hardware purchasing processes
  • based on open standards like Java or HTML5 which makes the recruiting of team members easier (no special skills required)
  • SAP standard solutions are being used – which should make the discussion with the companies security team easier

      

In this blog I will show how to bring data from a Business Suite System securely into the HANA Cloud via Gateway as a Service. Everything I am showing will be based on the Developer Center and the SAP HANA Cloud Platform Trial landscape – so you are welcome to test it by yourself as well for free. For simplification reasons I am leaving out a few steps (but I will talk about them) which would be required for a productive scenario.

 

Demo Scenario

 

This demo explains how to connect a SAP Business Suite System to the SAP HANA Cloud Platform by using the capabilities offered by the SAP HANA Cloud Platform based ‘Gateway as a Service’. As a result the data of the SAP Business Suite will be available to authorized users internally and externally:

  • as a REST-based service with defined interactions (update, read, delete, …)
  • based on open standards (www.odata.org)
  • allowing the decoupled development of additional business scenarios – still based on relevant SAP Business Suite Data for hybrid solutions

 

  gwaas_1.jpg

To do this inside of the Business Suite the ‘Gateway Backend Enablement’ Add-On has to be available as a minimum. It has the technical name IW_BEP.

 

 

Hands-on Exercise

 

 

Registering / creating users at the demo systems

 

 

SAP Developer Center for the SAP ERP Backend

 

At http://developer.sap.com you will find the starting page for test-driving many of SAP’s solutions. To find SAP NetWeaver Gateway please select the ‘Tools and SDKs’ section and click here on ‘SAP NetWeaver Gateway’. This will navigate you to this page: http://scn.sap.com/community/developer-center/netweaver-gateway .

 

Here please sign up (if you have not done it already) to access the SAP Business Suite system (‘Sign-up for SAP NetWeaver Gateway Service Consumption’). Or directly here: http://scn.sap.com/docs/DOC-40986

 

You will receive as a result user credentials to access a SAP ERP system which has the required IW_BEP Add-On already installed. For convenience reasons several Services are already implemented in the system – so there is no need to really access the system. The demo service we will use in this example (GWDEMO) is based on the EPM data model that is used quite often for demoing and testing (http://scn.sap.com/docs/DOC-31458).

 

If you want to develop an own service (which will be required most likely for an own, optimized service) please have a look at the Service Builder (which is part of SAP NetWeaver Gateway) – this tool will support you during the required development:  http://help.sap.com/saphelp_gateway20sp07/helpdata/en/1b/c16e1e20a74746ad386bc10b60b6c3/frameset.htm

 

In this SAP system not only the IW_BEP component is installed, but additionally the complete SAP NetWeaver Gateway. This means, you can now already have a look at the service document provided by the ‘on premise’ edition of SAP NetWeaver Gateway. In order to test it please try the following link - in order to make the result more readable I added the ‘sap-ds-debug’ parameter. 

 

http://sapes1.sapdevcenter.com:8080/sap/opu/odata/iwbep/gwdemo/?sap-ds-debug=true

 

A click on the BusinessPartnerCollection then directly returns a list of all available Business Partners in the system – this is a nice thing about OData:  https://sapes1.sapdevcenter.com/sap/opu/odata/iwbep/gwdemo/BusinessPartnerCollection?sap-ds-debug=true

 

gwaas2.jpg

 

Especially with mobile devices the payload plays a role. In these cases JSON is used quite often. To receive the same content in JSON please use this link: http://sapes1.sapdevcenter.com:8080/sap/opu/odata/iwbep/gwdemo/?$format=json

 

And to receive a nice looking result in JSON you can of course combine both elements:

http://sapes1.sapdevcenter.com:8080/sap/opu/odata/iwbep/gwdemo/?$format=json&sap-ds-debug=true

 

But in this blog I also want to have the service document available ‚in the cloud‘ in order to make it available externally. In addition this would reduce the required installation effort on the SAP System side – no need to install the complete SAP NetWeaver Gateway system. Installation of the IW_BEP component on the backend is the minimum requirement.

 

 

SAP HANA Cloud Platform – Trial Edition

 

A next step for this demo scenario is to register at the trial program from the SAP HANA Cloud Platform. This can be done from here:  https://account.hanatrial.ondemand.com/

 

Once you are registered please go to the SAP HANA Cloud Platform Cockpit.

gwaas3.jpg

 

In order to activate Gateway as a Service the next step is to assign yourself the right authorizations in the Cockpit. To do this please navigate to ‘Authorizations’.

gwaas4.jpg

 

 

In the Authorization Management the next thing is to enter your user credentials from the SCN – please do not mix them up with your Account name. The Account number is ending with …trial. Your user typically is the account number without the ‘trial’.

 

  • Account Number: p1234trial
  • User: p1234

gwaas5.jpg
Here please assign from Account ‘gwaas’ and Application ‘gwaas’ the two roles ‘GW_User’ and ‘GW_Admin’ to your user. In a new session (important!) the newly assigned credentials can be tested by navigating to ‘Gateway as a Service’ from the ‘Services’ section in the Cockpit.

gwaas6.jpg

 

Hopefully you can now see the Administration Cockpit from Gateway as a Service. This means everything is now set up correctly and we can start with the next step, the setting up of the connectivity between the backend and the cloud.

 

 

Connecting the cloud with the Backend

 

In a productive environment the usage of the SAP Cloud Connector is the typical way to connect the well protected backend system with the SAP HANA Cloud Platform. You can find more details here: https://help.hana.ondemand.com/help/frameset.htm?e6c7616abb5710148cfcf3e75d96d596.html

 

To make this demo scenario simpler we are not using the SAP Cloud Connector now, as the SAP ERP system is already in the Internet – which is not a very likely scenario in the real life.

 

Destinations

 

In the ‘Destinations’ tab please create now a new destination.

 

  • Destination Name: in order to do so you have to assign a Destination Name. You can enter any name you want.
  • Destination URL: the URL has to point to a prepared service in the backend system. This service gets provided by the IW_BEP Add-On.
    The IW_BEP Add-On has to be at least on SP6 and the note 1816779 is required. With SP7 no additional note is required.
    In this example please use this URL: http://sapes1.sapdevcenter.com:8080/sap/iwbep?sap-client=520
  • Proxy Type: in order to connect directly (without using the SAP Cloud Connector) you have to select the Proxy Type ‘Internet’.
  • Authentication Type: this has to be set to ‘Basic Authentication’. Of course in a productive scenario other authentication types should be used. In the section for the user credentials please add the username and password you received for accessing the SAP backend system from the SAP Developer Center.

gwaas7.jpg

       
That was all - after saving the setting up of the destination is finished and can be used in the next steps.

 

Services

 

In this step we have to register the many available services from the backend system to make the service available on the cloud. This step is somehow comparable to the activity required at the ABAP-based SAP NetWeaver Gateway in the Service Activation and Maintenance transaction (/IWFND/MAINT_SERVICE).

 

The user, that was generated at the developer center for the SAP backend system earlier, unfortunately is not having enough authorizations to make use of the ‘Search Services’ functionality in the ‘Services’ -> ‘Register a new Service…’ -> ‘Search Services’ tab.

gwaas8.jpg

 

Luckily there is a work-around – the manual registration is working even with the missing authorizations. So please go to the ‘Register Manually’ tab and enter the missing fields. More Details are listed here: https://help.hana.ondemand.com/gateway_gwaas/frameset.htm?bcd66a91489f4da8b7b1cf36758d5499.html

 

  • Service Name: the service name from the SAP backend you would like to expose. In our example it was GWDEMO.
  • Service Description: provide a description for the new service
  • Version: please enter the version number of the service
  • Service Namespace: this is the namespace for the service
  • Model ID: You can assign an own unique ID of the Model here.

gwaas9.jpg

 

 

That should be all – after registering the service we can now test the service. 

 

Testing the Service

 

You can test the service either by opening the Service Document link or – more interesting – by navigating to the ‘Explore’ tab. This gives you the possibility to explore the metadata of the service and the data from the backend. There are two visualizations possible – the tabular view and the graphical view. Both help a lot to better understand how the service coming from the SAP system is organized.

gwaas10.jpg

 

gwaas11.png

 

Additionally a very nice feature is the possibility to browse through the backend data with the built in data browser. You can access it under the ‘Runtime’ button.

gwaas12.jpg

 

 

As a next step you can now leverage all the possibilities that the SAP HANA Cloud platform is offering and bring in the data coming from the SAP Business Suite in a secure way.

 

Additional Information

 

SAP NetWeaver Gateway at Intel Developer Forum 2013 San Francisco

$
0
0

It is a beautiful week here in San Francisco. The sunshine, the cool sea breeze from the pacific ocean, and the amazing hilly landscape makes San Francisco one of the finest locations in the country. While many are enjoying the late summer vacation here in the west coast, we are busy here in Moscone Center the 2013 Intel Developer Forum (IDF13) showcasing SAP’s latest and greatest technologies – Hana, Big data, Mobility, and NetWeaver Gateway.

IDF.jpg

 

Intel, as we know the strong leader in computer chips, many may not aware that they are also big in software and deep in developer community. According to my conversation with Intel people in the convention center, Intel provides a variety set of softwares and services from Interface to vPro chip set to IDE tools for creating mobile and cloud applications. There are about roughly 8 million visit to their Intel developer community web page every year. This represents a great partnership opportunity for SAP as we are getting into non-SAP developer community.

 

Take HTML5 as an example, Intel is investing heavily in the technology including evangelization, IDE tools, and developer community. However, for a Intel HTML5 developer to program against SAP, it is a pricey effort without the proper tools. SAP NetWeaver Gateway is the answer for this problem. Not only NetWeaver Gateway takes SAP backend data and makes them consumable as Restful Odata Services, but it also provides plug-in tools in Eclipse to help developer easily call the Odata web services and create HTML5 applications. As my colleague Mustafa Saglam and I demonstrated here in Moscone Center (IDF13), it took about 5 minutes to create a simple HTML5 flight booking page retrieving data from SAP ERP using the embedded HTML5 plug-in in Eclipse. See the video here in YouTube.

 

The same is true for other native mobile applications such as Android, Apple iOS and Microsoft Office and Windows 8 applications.  To find out more detail, please go to NetWeaver Gateway page in SAP Developer Center, where you could get more information and request a free test drive of NetWeaver Gateway.

 

IMG_4492.JPG

 

Another opportunity I see with Intel is Internet of Things. Nobody has doubt that Intel has an unique position on Internet of Things (IoT). Think about how many Intel chips there in the market - laptops, tablets, smartphones, or even chips in automobiles and appliances etc. If the devices could be connected with SAP NetWeaver Gateway to the SAP application modules, for example Utility, Health Care, and Public Services etc, consumers would be able to enjoy data that you never image before and open up many opportunities for innovation and business growth. Below is a picture that I captured in IDF on the rich landscape that IoT brings about.

 

IMG_4471.JPG

Thank you for your attention, please share any thoughts you have on Intel, SAP, HTML5, and NetWeaver Gateway etc.


Reflections of SAP NetWeaver Gateway from SAP TechEd Las Vegas 2013

$
0
0

Last week, I experienced one of my most active SAP TechEd experiences ever. In fact, it was so intense that I wasn't able to attend a single session . Apart from that however, everything was excellent! - especially around SAP NetWeaver Gateway.

 

First of all, last week we released SAP NetWeaver Gateway Productivity Accelerator for Microsoft (try saying that in one breath. Can you? now, do it twice ). I was pleasantly surprised with the number of people interested in it. From day one, it has gained the hearths of many SAP + Microsoft fans.

 

Second, it was great to see that in its second year in the market, SAP NetWeaver Gateway is already known by many in the SAP ecosystem. I personally confirmed this with people attending our sessions, people stopping by our pod and even people I met at lunch . In each case, more than half knew about SAP NetWeaver Gateway. Best of all, most had something positive to tell.

 

Yet, I was asked a lot of questions about SAP NetWeaver Gateway on various topics ranging from installation requirements, to security features and deployment options (You can find the answers to your questions on these topics, by simply following the links with the same name).

 

I also had the honor of interviewing live one of our customers, American Airlines.

This was such a special treat for me, as I had met with American Airlines first at Sapphire Orlando 2012 where they had first heard about SAP NetWeaver Gateway. Fast forward a year and a few months to SAP TechEd Las Vegas 2013, Nick Mikhailov of American Airlines was sharing their positive experience on an already productive SAP NetWeaver Gateway implementation. Here is a slide with the highlights of their implementation. (BTW, this is the second time in a row for me having the honor to interview a happy customer - see my interview with Kathy Gates of University of Mississippi from last year)

Solution_Brief_AA_iSCAN_w_HCL.jpg

 

Last but not least, I also had a number of our partners share their experiences with SAP NetWeaver Gateway as they have built solutions with it.

 

Here is a short solution brief from each of them in the order of their company names.

 

Solution_Brief_Applexus1.jpg

 

Solution_Brief_Applexus2.jpg

 

Solution_Brief_Cordis_Solutions1.jpg

 

Solution_Brief_Cordis_Solutions2.jpg

 

Solution_Brief_Cordis_Solutions3.jpg

 

Solution_Brief_Dolphin.jpg

 

Solution_Brief_Innowera.jpg

 

Solution_Brief_RedHat.jpg

 

But the TechEd storm is far from being over. Next week, it will hit Amsterdam...

 

Ohh! I almost I forgot, HAPPY HALLOWEEN!

 

Best,

Mustafa.

Steps to create custom Gateway service and Android application through Eclipse with GWPA Part 1

$
0
0
Below are prerequisites before starting development of Gateway service and Android application.
-->. ECC system (Backend system)
-->. Gateway system
-->. RFC connections defined between above two systems.
-->. Eclipse with GWPA components.
Here i am expecting that all the connections between two systems are in place and all the components that are required are installed in Eclipse. Most of the installation steps are already posted in SCN.
Below are steps i will discuss in my blog:
1. Create a custom RFC Function Module to get PO header and item details. ( Developed in Backend system)
2. Create service in gateway system using above RFC Function Module.
3. Test our service in 'Service Explorer'.
4. Create Application in Eclipse and testing on Simulator.
1. Create a custom RFC Function Module to get PO header and item details. ( Developed in Backend system)
      In this function module i am using FLAG variable to get data separately for header and items.( I am using same function module for both Header & Item      Entity sets)
     As there is no filter on PO number, i am getting only first 50 records.
     2.jpg
      You can get sample code in the attached file.
2. Create service in gateway system using above RFC Function Module.
    Create New Project in SEGW:
     1.jpg
     Import Entity type for header from RFC Function Module
     4.jpg
Select required fields and mark EBELN as Key field.
     5.jpg
Import Entity type for Items from RFC Function Module
1.jpg2.jpg

     Create Entity Sets:

     Mark entity set's as Addressable.

3.jpg

 

Create Association to navigate from Header to Items data:

4.jpg

HEADER -> Map to Data source (GetEntity - Read)

5.jpg

6.jpg

HEADER -> Map to Data source (GetEntitySet - Query)

7.jpg

9.jpg

ITEMS -> Map to Data source (GetEntity - Read)

10.jpg

 

As we are using single RFC to get both Header and Item details, we are using flag to distinguish Header and Item.

1.jpg

 

ITEMS -> Map to Data source (GetEntitySet - Query)

2.jpg

3.jpg

 

Save and Activate the project.

 

Maintain service - Goto Transaction code: /IWFND/MAINT_SERVICE

Add service:

4.jpg

  Select service and add system aliases.

5.jpg

   3. Test our service in 'Service Explorer':

6.jpg

1.jpg

2.jpg

 

    Here we will get first 50 PO’s, as we are using UPTO 50 rows in our FM and we are not specifying any condition in URI.

    You can see sample data from the attached 'PO Header Data' file.

 

 

 

    Use Filter to get PO details: (Header & Items)

    POHeader/?$filter=(Ebeln eq '3000000191')&$expand=PONavigation

3.jpg

     You can see sample data from the attached 'PO Header & Items' file.

 

 

 

 

In the second part Steps to create custom Gateway service and Android application through Eclipse with GWPA Part 2, we will see how to Create Application in Eclipse and testing on Simulator.

 

 

Steps to create custom Gateway service and Android application through Eclipse with GWPA Part 2

$
0
0

  In the first part Steps to create custom Gateway service and Android application through Eclipse with GWPA Part 1 , i discussed first three topics:

 

1. Create a custom RFC Function Module to get PO header and item details. ( Developed in Backend system)

2. Create service in gateway system using above RFC Function Module.

3. Test our service in 'Service Explorer'.

In this blog i will continue and discuss how to 'Create Application in Eclipse and testing on Simulator' 

 

 

4. Create Application in Eclipse and testing on Simulator : 

    Create New Project in Eclipse.

1.jpg

     In OData Development -> Starter Application Project

2.jpg

Here I am using Android 4.0 as my phone has Android 4.1.1 version  .

3.jpg

    Choose List/Details Application

4.jpg

 

 

 

Get the Service link from metadata:

 

http://<hostname>/sap/opu/odata/sap/ZPSR_PO_DATA_SRV_01/

5.jpg

 

6.jpg

 

Add Activity for Header details:

7.jpg

    Add Header Fields

8.jpg

Add '+' to add new activity for Item details:

9.jpg

Add Item fields and use Finish button to complete the Application development.

10.jpg

    Select your Project and Execute. Run As -> Android Application

11.jpg

 

Simulator:

Enter Gateway system details:

12.jpg

As there is no input criteria, we will get first 50 PO's based on our RFC function module.

13.jpg

 

 

 

Scroll to get next PO’s

Select a PO to navigate to Items.

14.jpg

 

 

We can use this .APK file to test it on Android device.

15.jpg

Right click on your project in Eclipse and goto Properties. Under Resource -> Location, you can get above file(.APK) location.

 

GWPAM & Duet Enterprise at TechEd Amsterdam -- here we come!

$
0
0

Next week we will be at TechEd Amsterdam with a very busy schedule!

 

It has been only 2 weeks since we have released SAP NetWeaver Gateway Productivity Accelerator for Microsoft, GWPAM, and the response that we are getting so far is extremly great.

We can see a huge interest in GWPAM (our GWPAM Landing Page on SCN has more than 1000 views in just two weeks, lots of people stopped by at the POD at TechEd Las Vegas, ... ) and in addition to the ongoing projects after our customer validation we are already looking at first implementations from new customers -- only 2 weeks after the release!

 

So the response is very, very good and I am really looking forward to demoing the Add-ins and templates that we have and to talk about the enterprise ready features that come out of the box with it at our SAP NetWeaver Gateway and Duet Enterprise demo pod (Info Zone, Hall 10; P10.9).

 

You might have heard about the report from Forrester Reserach that Microsoft Office 2010 is still the dominate productivity tool in lots of companies (seeOffice productivity software no closer to becoming a commodity) and GWPAM can help you to keep the Total Cost of Ownership down by "desiging your appliaction for life" from the very beginning (see Four Laws of Application Total Cost of Ownership). 

 

In addition to our demo pod we will have two Microsoft related  Expert Networking sessions where we will have plenty of time to discuss in general what we have and what we plan in regards to a Microsoft / SAP Interoperatbility story. Make sure to drop by to one (or both) of these sessions.

Session ID

Session Type

Title

Session owner

Session Date/Time/Loc.

EXP10950

Expert Networking

SAP / Microsoft Interoperability - Duet Enterprise & More

Holger Bruchelt

Tue, 11/5  5p-5:30p
Lounge 7, Hall 10

EXP10885

Expert Networking

SAP / Microsoft interoperability - Leveraging Apps for Office

Holger Bruchelt

Wed, 11/6  3:30p-4p
Lounge






 

 

Finally we are very happy to have two (unfortunately the third one had to be canceled last minute) roundtables where T-Systems and KAEFER will talk about their experiences with implementing Duet Enterprise. Both have  great projects and I am sure they will share some fantastic insights on their implementations. Make sure to register and stop by:

 

 

November 06 - 10:30 -11:45 T-Systems l Duet Enterprise  (link to registration)

November 06 - 15:00 - 16:30 Kaefer Wanner l Duet Enterprise (link to register)

 

 

For course that is not all. The NetWeaver Gateway & Duet Enterprise team have plenty of more sessions which you should definitely check out. For a full overview, please take a look at our blog SAP NetWeaver Gateway & Duet Enterprise Coming to TechEd Amsterdam

 

Looking forward to seeing you in Amsterdam!

Tip: Resolve from ‘Choose key from allowed namespace’ at Maintain Workflow Filter Settings

$
0
0

Part of the enablement of Gateway Workflow (and also of Duet Enterprise workflow, as it is a first-class subscriber of Gateway workflow), is to specify the workflow filter settings. When entering new entries in the OSP reports, the system may return the message ‘Choose the key from the allowed namespace’, with the Parameter ‘TASK’ value identified as faulty.

 

WorkFlowNewEntriesFault.png

 

Strange as the value ‘TASK’ is selected from the optionlist of allowed values (others are: ALERTCAT, DELTA, and WORKFLOW_STEP).

It occurred in our landscape, and I could not find anyway to avoid nor correct the indicated input error.

 

However, as it turns out this message is only a warning. You can ignore it to have your submitted entry successfully be added to the filter customization. Just click on the ‘Enter’ icon, and next ‘Save’.

Viewing all 253 articles
Browse latest View live




Latest Images