Hi Experts
We have a requirement where we want to pull Employee, Org, Role, Holiday, Leaves and Recruitment data from SuccessFactors and then send it to Biztalk using CPI as middleware -
Here they want to maintain different endpoint url for each type of data. Like different end point urls for Employee data, Org data etc
Architecture:
Multiple HRMS Applications (Portal) <---> BIZTALK <---> CPI <---> SuccessFactors [Synchronous call]
Here Request and Response structure is exactly same.
Requirement -
When portal team says without filter it means they will send all the fields in the request without filling data in any of the fields.
Sample -

Eg. Return all the Employee related data fields where EmployeeSupervisorName=’ABC’ and EmployeeJobTitle=’XYZ’
Sample:

Challenge:
Here they want filter condition to be dynamic so they can filter of any field/fields they want.
1. How to do it?
2. Can the filter condition be put on any fields? because Compound Employee supports filter on only few fields and not on all the fields in the API.
Also as the request structure is custom so we are not able to fetch all the data from a single Entity in SuccessFactors.
For eg. In Employee Data they want Cost Center ID and Cost Center Name, If I use Compound Employee I can get Cost Center ID, but not Cost Center name.
I know we can pull data from multiple entities in CPI. But how the filters will be managed here?
Can you please guide me on how to handle filter conditions dynamically also how to pull data from mutiple entities and then send the filtered result to the target system.
Regards,
Akash