cancel
Showing results for 
Search instead for 
Did you mean: 

How to fetch compound employee record based on 1 field change and generate the file

0 Kudos
682

Hello All,

I am new to Successfactors adapter, I am looking for a logic to fetch the compound employee API data based on only 1 changed field (i.e shift code) which is present in the job information. It is a delta interface which runs on monthly basis. I want to populate the below fields to the CNUM,FirstName,LastName,Company,Band,StartDate,EndDate along with Shiftcode to the output CSV file.

Please find the below case,

1) If shift code is not changed then I don't have to consider that record for file generation.

2) If the shift code is changed then I should send the record with startDate and Enddate (on which the shiftcode is changed) and other fields to generate the CSV file.

I have used the parameter : "queryMode=delta;resultOptions=renderPreviousTags" and last_modified_on in my query so as to pull the delta records

I hoped that through "previous" tag i will be able to find the exact job information record in which shift code is changed out of many job information nodes. But i have seen the below behaviour

for ACTION= INSERT case

For this case , it will be not generate any "previous" tag, which is making it difficult to identify whether the Shift code is changed or not,if so in which job information node

for ACTION = CHANGE Case :

There will be multiple job information nodes generated, i observed that "previous" tag is occuring to the shiftcode <previous> tag is carry forwarding to the other job information nodes, though there is no change in the shiftcode.

Please help how to achieve this logic?

Accepted Solutions (0)

Answers (1)

Answers (1)

nlgro023
Active Contributor
0 Kudos

I think you'll need something like a message mapping before, where you want to check
IF the change made is after the last modified date of previous delta run (i.e. last run date) & previous tag for shift code is missing
THEN
TRUE
ELSE
IF the change made is after the last modified date of previous delta run (i.e. last run date) & previous tag for shift code is not the same as the most recent tag
THEN
TRUE
ELSE FALSE

This can then be placed in a tag and used in a router to filter out stuff that hasn't changed.

0 Kudos

Hello Jasper, Thanks for the response. The flow will run on a monthly basis. I am already fetching the changes in the records based on the last modified run date. In those records, I have a situation to identify only those job information records where only when shift code is changed (i.e Custom_String19) . As i said i have 2 cases here, INSERT and CHANGE. In INSERT, I am finding it difficult to identify the records where the change is occuring. Some times ,with in the same month there will be multiple changes for the same shift code. Need some suggestions on how to handle these cases. Any help is appreciated.