Experimental project
This is a sandbox project, which contains experimental code for developer use only.
This module aims to integrate SAP HR (SAP HCM) web services with Drupal. If you are working with a customer that also runs SAP, then this module can help convince the customer to consider Drupal for consuming traditional "enterprise" processes. SAP exposes most of the HR processes as a webservice, and consuming them on Drupal, gives an awesome flexibility for the enterprise customer who understands the power of Drupal.
Installation
- Download the module to your sites folder. It has 2 modules: SAP HR and SAP Soap Client.
- It requires nuSOAP library for connecting to the webservices. Extract the zip file into sites/all/libraries folder. Your directory structure should look like: sites/all/libraries/nusoap/lib/nusoap.php. You should put the same path to the nusoap.php (sites/all/libraries/nusoap/lib/nusoap.php) under the Site configuration/Configure SAP Soap Client (admin/settings/sap_hr_config/sap_soapclient) section.
- The standard nuSOAP requires a small patch to work with SAP SOAP requirements. Please apply the patch that is part of the module - "nusoap.php.patch" to the nusoap.php.
- It also requires the following modules: date_popup, date_api, date_timezone
- Enable to the 2 modules SAP HR and SAP Soap Client.
How to use the module
If you are familiar with SAP HR (also HCM) then you would know there are many many webservices exposed by SAP. This module is a starting place to prove that those webservices can be consumed from inside Drupal. Currently this modules consumes only a fraction of the exposed webservices. The scenarios it covers are:
- Get personal information, manager information and vacation balance of any employee - you can go to sapuser/ to get this information. If you do not provide the employee_id, it would use 1000 as the default employee id.
- Get all the employees reporting to a manager - you can go to sapmanager/ to get this information. If you do not provide the manager_id, it would use 1009 as the default manager id.
- Apply for a vacation/sick leave - you can go to sapuser/submitlr/ to apply for vacation/sick leave for that employee. Again if you do not provide any employee id, it would use 1000 as the default employee id.
- As a manager review all the leave requests submitted by your reporting employees, and approve them - you can go to sapmanager/checklr/ to get this information. If you do not provide the employee_id, it would use 1000 as the default employee id.
You can try the SAP HR - Drupal integration at this site. At the top you should links where you can try each of the above use case. You can also login using demo/demo and go to admin/settings/sap_hr_config/sap_soapclient for checking the configuration of the nuSOAP library. You can also go to admin/settings/sap_hr_config to see how the backend SAP system information is configured. You can also go to admin/settings/sap_hr_config/sap_hr_basic_employee to see how the WSDL information to get an employee basic information is configured. The next section gives more information about the backend SAP system. You can also have a look at this screencast
Internet Explorer
As much as we love to hate Internet explorer it is one of most used browsers, and believe it or not, most of the SAP website CAN ONLY WORK on IE. Meaning it may not work on Firefox, Chrome or Safari - meaning it may not even load. So be warned.
SAP System to connect
SAP provides a training system (also called IDES and has plenty of sample data) on the cloud, that can used by anyone to test the webservices. The system can be reached at erp.esworkplace.sap.com. This module uses this test system for all the use cases. Out of the box the module is configured to use a demo account to connect to this system. There are 2 ways to get access to this cloud system. (To use this module you do not need any special access/user).
1) Using user name: sap_esw and password: eswork123. This is a demo user name and password and you can use this for all the use cases.
2) Request for access:
To request access to this SAP System, you need to first register at SDN:
http://www.sdn.sap.com/irj/sdn/soareg
SDN is the SAP Developer Community. You can register as a public user. Enter all the information and you will get an activation email. Using the link in your email, you can activate your account by providing more information (You can select SDN when completing this additional information). At the end of it you will get a second registration form, where you would request to access the Enterprise services bundle. Enter all your information and when you submit, your request would go to appropriate team, and they would provide you with access in 1-3 days. With that you would have access to this SAP system (a demo system also called IDES sytem) and you can test all the webservices on this SAP system.
SAP Enterprise Services
To understand all the available web services for SAP you can start from: SAP Developer Network. Then you could go to SAP Enterprise Services World - Here you get a summarized view of the SAP Enterprise Services world. Then you could go to Enterprise Services Bundle that lists ALL the services of all the SAP products including one the one that is covered by this module. This module covers a subset of services from HCM Master Data and HCM Time Management.
If you would like to test the webservices you can go to this webservice test site and use the sap_esw/eswork123 to test each of the webservice.
Disclaimer
This module is certainly not for a production site. This module however can be configured to work with your own SAP HR System, and consume the HR data on your Drupal site. Out of the box this module connects only to the SAP Demo system on the cloud.
Roadmap
- Developing Single Signon between SAP and Drupal system - The important feature that is missing there is the Single sign on - meaning if you are already logged into your SAP system, you should also be logged into the Drupal site and vice-versa. This way you can only see your data and not anyone else data.
- Integrating with more HR webservices.
- Simplify the process of connecting to a different SAP system.
- Extend to include other ways to connecting to SAP - like RPC.
Feedback
- Please contact me for any feedback and suggestions.
Project information
- Project categories: Integrations
- Created by bpadhu on , updated