Recently we have got requirement to delete some records from successfactors using SFSF adapter. We have already performed INSERT,UPDATE & UPSERT operations using SFSF Adapter, but we never worked with DELETE operation. We don’t have DELETE operation in Query modeler in Juno or Kepler. But, finally we have found a way to use DELETE operation successfully. So here i’m sharing my experience.


Objective:

     To perform delete operation using SFSF – Odata Adapter in order to delete a record from Odata Entity in Successfactors.


Scenario:

     For example, we have employee position available in Successfactor, we wants to delete one record from it using SFSF Adapter.



Steps:


Open a query modeler in juno/kepler, select your interested entity(in this case it’s position) and select Update(PUT) operation as we don’t have DELETE operation there.

It will select Key fields from that entity. No need to add more fields here. Click on finish so that you will have XSD file generated

Capture.PNG

Import this XSD in ESR. It looks like below.

Capture2.PNG

Use this external definition at receiver side which is successfactor.

Create all necessary ESR components and Iflow.

Copy resource path which is generated by query modeler. In this case it is “Position(‘code’,datetime{effectiveStartDate})”.

Then you need to configure SFSF Odata Receiver adapter as below.

Capture1.PNG

As per our XSD, XML looks as below.

Capture3.PNG

In successfactors Odata autdit log, we can see HTTP request like this.

Capture4.PNG

It has successfully deleted entry of Position.

Capture5.PNG

You can use below references to know more about SFSF Adapter and Query Modeler.



References:

SFSF Adapter – SuccessFactors (SFSF) Adapter for SAP NetWeaver Process Integration

Modeling – PI.SFSF Integration.DOC – How to Model Successfactors SOAP and ODATA Entities using Eclipse Juno Tool.

To report this post you need to login first.

1 Comment

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

  1. Sathish Venkataraman

    Superb blog!!Very Informative.

    How to do an Upsert operation using SFSF ODATA API? I have to perform an upsert operation on cust_ActivityType ODATA API.

    I got this error –¬†ODATA_CALLING_ERROR:OData call failed com.sap.engine.interfaces.messaging.api.exception.MessagingException

    Details –

    Resource Path –¬†cust_ActivityType

    Operation Type – UPSERT

    Request Payload –

    <soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”>
    <soapenv:Header/>
    <soapenv:Body>
    <cust_ActivityType>
    <!–1 or more repetitions:–>
    <cust_ActivityType>
    <mdfSystemRecordStatus>N</mdfSystemRecordStatus>

    <mdfSystemEffectiveEndDate>9999-12-31T00:00:00.000</mdfSystemEffectiveEndDate>

    <lastModifiedDateTime>2017-01-06T15:53:08.000</lastModifiedDateTime>

    <lastModifiedBy>adminam</lastModifiedBy>

    <externalName>SathishVe</externalName>
    <!–1 or more repetitions:–>
    <externalCode>101002</externalCode>
    <!–1 or more repetitions:–>
    <effectiveStartDate>2016-01-01T00:00:00.000</effectiveStartDate>

    <createdDateTime>2017-01-06T15:52:22.000</createdDateTime>

    <createdBy>adminam</createdBy>

    <cust_CostCenter>

    <FOCostCenter>

    <externalCode>L101001</externalCode>

    <starDate></starDate>

    <status></status>
    </FOCostCenter>
    </cust_CostCenter>
    </cust_ActivityType>
    </cust_ActivityType>
    </soapenv:Body>
    </soapenv:Envelope>

    The fields mentioned in the payload are all upsertable. Also create and update worked fine for me.

    (0) 

Leave a Reply