cancel
Showing results for 
Search instead for 
Did you mean: 

Upsert (POST) into EC from PI/PO

Former Member
0 Kudos

Hi Experts,

I have a requirement to build an integration using PI/PO to upsert data into EC from a third-party application.

Using Juno Eclipse, I have modeled the OData structure for EC and created the schema.  However, I need to pass the structure (contains multiple repeating records) from PI/PO to EC using the SuccessFactors receiver adapter.

The SuccessFactors receiver adapter is configured with Operation Type as "Upsert (POST)" but how would I pass the schema structure using the "OData Resource Path"?

Is there a way to dynamically pass the structure within the "Odata Resource Path" parameter?

Is this even possible or do I need to use the SOAP Message Protocol instead of the OData Message Protocol?

Thanks,

Dave

Accepted Solutions (1)

Accepted Solutions (1)

JaySchwendemann
Active Contributor
0 Kudos

Do you mean this by SAP EC SAP Environmental Compliance 3.0 – SAP Help Portal Page or do you mean SAP ECC?

My guts feeling is that you would not have success using an SF receiver adapter if your receiver is an AS ABAP.

If your data is in OData format and your PI / PO is at a high enough SP level you may have a look at the OData exposing service mentioned here

HTH

Cheers

Jens

Former Member
0 Kudos

Hi Jens,

I'm referring to EC as Employee Central (EC) SuccessFactors and not SAP ECC.

Thanks,

Dave

refering

Former Member
0 Kudos

Hello,

PerPerson is the resource path here. Paste this entry in Receiver adapter and proceed.


reg, avinash

JaySchwendemann
Active Contributor
0 Kudos

Ok, got you 🙂 Not sure to be much of a help then, as I don't know my way around in Success Factors yet.

At the very least, your discussion got a bump, however, here's what I found (though you probabyl already know those resources)

Cheers

Jens

Former Member
0 Kudos

Hi Avinash,

Thanks, getting there!

I used Eclipse Juno to model my Upsert (POST) and I've now entered the following SFSF Adapter details:

Endpoint Information

OData URL Suffix: /odata/V2/

Operation Details

Operation Type: Upsert (POST)

OData Resource Path: PerPerson('personIdExternal')

Payload Format: Atom

The structure below is passed to the SFSF adapter:

However, the upsert is not successful as I get the error message" Properties phoneNav, emailNav are not upsertable".  Any ideas on how to resolve this?

Thanks,

Dave

Former Member
0 Kudos

Hi Jens,

No issues!  I think it needs to be "personIdExternal" instead of "person_id_external", but I could be wrong...

Cheers,

Dave

Former Member
0 Kudos

simple those properties, UPSERT operation is not allowed on them.

remove those in the payload and try. if it work , its good.

other wise use UPDATE or CREATE Operation.

reg, avinash

Former Member
0 Kudos

Avinish, thanks for replying!

I'm not sure I understand how I can remove this from the payload.  Are you saying I need to remove phoneNav and emailNav?  If you look at the schema, are we able to navigate to perPhone and PerEmail from PerPerson without the Nav properties?

Still learning, so I really appreciate any help you can give !!!

Thanks again,

Dave

Former Member
0 Kudos

I'm not sure I understand how I can remove this from the payload.  Are you saying I need to remove phoneNav and emailNav?


Yes, remove those tags in your input payload, proceed for Upsert operation.


reg, avinash

Former Member
0 Kudos

Avinash,

I removed the phoneNav and emailNav from my schema (see below) but now I get a different error: "Invalid property with name PerPhone".  It appears we need the Nav properties?

Here is the data being passed to the SFSF adapter:

Continued thanks for your assistance on this!

Cheers,

Dave

Former Member
0 Kudos

Hello David,

Recently i am also working on a similar requirement, Could you please share your findings on this?

Precisely i need

1)Odata ResourcePath details for updating few records in User Entity of EC. In the HCI modeller tool, while chosing UPSERT option i see these details in the end

Operation: Upsert(UPSERT)

ResourcePath : User

Fields : userId

2) where can we get the details, of all the fields which need to be sent in Payload, while trying to create a userId in User Entity of EC

Thanks

Pradeep

Former Member
0 Kudos

Hi Pradeep,

I was able to perform an upsert by specifying SOAP instead of OData within the SFSF adapter.

Use Juno Eclipse to model the SOAP structure instead of OData, and it should work.

Cheers,

Dave

Former Member
0 Kudos

Thanks

Dave,

now ai am also able to do the upsert. The problem was of few mandatory fields required to be inserted for particular tables. Also we need to put values in the mandatory fields under Link tabe when using navigation between tables.

Answers (1)

Answers (1)

Former Member
0 Kudos

Using Juno Eclipse, the processing details generated are:

ResourcePath : PerPerson('personIdExternal')

Fields : personIdExternal,phoneNav/phoneType,phoneNav/phoneNumber,phoneNav/personIdExternal,employmentNav/userId,emailNav/personIdExternal,emailNav/emailType,emailNav/emailAddress

How would the path above be specified in the SF Adapter Receiver "OData Resource Path"?

Thanks,

Dave