Skip to Content

I was once accidentally involved in a small project that required integrating Kenexa recruitment system to SAP ECC(HR) to send users and requisitions(Positions) from SAP into Kenexa system. It was accidental because i got involved as a troubleshooter and ended up redesigning the whole interface. This blog aims to introduce the approach that was taken for the integration.

A brief diagram of the scenario:

Points to note on overall design:

  • Kenexa interfaces for user and requisition were synchronous.
  • Kenexa user interface was capable of accepting N users at a time. The proxy was called in a loop once for every N users. The result was written to output log  using write statements. The log statements indicated success or failure based on the response from Kenexa.
  • Kenexa Requisition interface was capable of accepting only 1 requisition at a time. The proxy was called in a loop for each requisition.The result was written to output log  using write statements. The log statements indicated success or failure based on the response from Kenexa.
  • Redwood scheduler was in the landscape and was leveraged to look at the spool log and email to specific users.
  • ABAP programs were scheduled to be run every night. If required they could be run on demand by providing specific input from the emails / abap program log.
  • ABAP programs would extract data and call the proxy. The ABAP programs were writing plain logs(write statements). The spool was used by redwood scheduler to email the status of the run to users.
  • ABAP Programs were designed to send only the delta changes for users and requisitions.
  • A simple java map was used to create the Envelope and put the XML message into the Payload.

HR-XML Envelope:

Kenexa offers HR-XML based integration. Note that the messages Users and Requisition do not conform to HR-XML standard. HR-XML uses a specific Enveloper format. Please see the diagram below that indicates the Envelope format. The diagram does not contain all the details and is used to highlight the payload piece only.

Other points to note:

  • Kenexa Brassring does provide HR-XML standard based integration. Refer their website for further details.
  • Kenexa provided only XMLs of the request and response messages that were accepted by their system and not the schema’s in spite of request.I was left to create the schema for kenexa system based on their XML instances. This might have changed or may be a one of a case.

References:

Note: This blog is based on work that was done a while ago. Some of the details might be missing. If you are in a similar situation and need further info, feel free to post questions. I will try to respond.

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

  1. Vinayaka Akkasali

    Hi Nageshwar,

    I am trying to post request message to kenexa webservice but the rquest is not being processed. We are getting the following error. Is there anything extra needs to be configured in soap adapter or anywhere else?

    Procedure or function 'sp__LogMessage' expects parameter '@pi_ClientID', which was not supplied

    Thanks,

    Vinayaka Akkasali.

    (0) 
  2. Harshal Soni

    Hi Nageshwar and Vinayaka,

    We are in similar situation and I was wondering if there were any alternate option to connect with Brassring.

    We are not using PI and is there any other option to connect with external system like Kenexa Brassring?

    Would you share some thoughts on this?

    Regards,

    Harshal

    (0) 

Leave a Reply