By now you have probably heard about the new SAP NetWeaver Gateway Productivity Accelerator for Microsoft (GWPAM). One of the features of GWPAM is the capability to generate Outlook Add-ins using the Contact Template.
In SAP, there are many business objects that closely resemble Outlook Contacts, e.g. Business Partners stored in a CRM system, Employees in a HCM system, Users of a system. They might have attributes that closely match Outlook Contact properties, like name, address, phone number, email address.
Wouldn’t it be nice to expose them as Outlook Contacts, eliminating the need for end users to log on to the SAP system and letting users leverage native capabilities of Outlook?
In this blog we will explore how GWPAM can help with this along an example of Business Partners.
It all starts with an OData Service
Let’s assume you already have an OData service that exposes contact information of Business Partners. This service should provide a Query operation with appropriate filter capabilities. If your end users are also modifying (create, update or delete) records then your OData service requires all CRUD operations.
If you would like to see an example of such an OData service and do not have your own Gateway system, then sign up for the Gateway Demo system. Take a look at the Business Partner collection of the EPM based sample services (GWDEMO or ZGWSAMPLE_SRV).
GWPAM Contact Template
With the help of the Contact Template of GWPAM, you can generate coding for an Outlook Add-in that will turn the Business Partner records into Outlook Contacts. A wizard guides you, the .Net developer, through a number of choices that can be made, so the generated code is best tailored to your requirements. Here a short summary of the choices you can make in the wizard:
- Own folder: Decide if the new Outlook Contacts should be placed in their own folder or should they be created inside the default Contacts folder of Outlook.
- Create button: Based on your requirements, choose whether or not to offer Create functionality to the end user.
- Field mapping: Provide mapping instructions on which properties of the OData service should be mapped to which Outlook Contact properties.
- Custom tab: Properties that can’t be mapped to the standard Outlook Contact properties can be added to a Custom tab.
- Associated Entities tab: If associations to other entities exist, then these can be shown on an extra tab.
Here a sample screenshot of the wizard:
Based on the instructions given in the wizard, GWPAM generates an Outlook 2010 Add-in project with the C# coding that will offer functionality like:
- Triggering the Query operation capable of leveraging different authentication methods (Basic, SAML, X.509)
- Each record of the Query result will be turned into a new Outlook Contact. If a Contact already exists for this particular record then it will be updated. Based on the mapping instruction provided standard Outlook Contact properties will be populated.
- Additional properties that are not mapped to standard Outlook properties will be added to an extra tab (if selected in the wizard).
- An additional tab will be generated in order to display associated entities (if selected in the wizard).
- A Create New Contact button and required coding will be generated (if selected in the wizard).
- All security related topics, like the X-CSRF Token handling, are taken care of by GWPAM.
- The generated coding utilizes the GWPAM logging framework and is configurable (controlled by setting in App.config).
Please see this video for a short demonstration on how to use the GWPAM Contact Template.
Take it further
GWPAM lets you quickly generate a prototype, but it might not cover all your requirements. Hence, the generated coding will serve as a starting point for your development. Here your work starts. Now you can enhance the coding to make it fit your needs.
Please share your experience and thoughts about the GWPAM Contact Template in the comments below.