Integration Center – Cross Portlet field data sync from compInfo to jobInfo
Client requirement was to have the pay grade field in the compInfo section instead of jobInfo section.
But by design the pay-grade data updates in the jobInfo section is necessary because the Compa-Ratio calculation in the compInfo section is dependent on the pay-grade field in Job Info.
Hence the solution is to sync the data from the pay-grade field of compInfo to the pay-grade field in the jobInfo section.
The cross-portlet rules have some limitations which made me choose integration center.
- Cross portlet rule won’t work for import data
- Cross portlet rule also has limitation on new hire records.
Hence the integration using below logic was designed.
All records after 01/Jul/2021 are queried and verified whether the latest record with end date 31/12/9999 has same pay-grade values in both compInfo and jobInfo.
If not, the interface will write a new record into the JobInfo section with a start date same as the compInfo latest record start date.
Create new Integration in Integration center, below is the screenshot of the Integration name I have created.
Under the configure fields section, I have set the mapping from compensation information (PBS) (EmpCompensation) section to Job Information (EmpJob) section.
The userID and startDate field is mapped between two portlets.
eventReason is hardcoded with the existing event reason in system ‘DTA_ORG’
The pay-grade field is mapped. (In my case, the paylevel field is a custom field in compInfo mapped with pay-grade field in jobInfo section)
There is a mandatory field Sequence number(seqNumber), I have not set it for any value and have proceeded to save the integration without addressing the field.
Doing so makes the program decide the next available sequence number automatically.
If you want to set it to a fixed sequence number, you can hard code the logic.
Below is the screenshot of the configure fields – mapping.
Below is the screenshot of data preview
Below is how the payload preview looks like.
Filter and Sort
I have decided to consider only the latest records of active employees whose paylevel value field is not null.
Hence the condition displayed in the below screenshot is used to achieve this filtering of records.
Along with these filters, I have one more additional calculated filter, shown in screenshot below which compares the pay-grade field value in job info with paygrade field value in compInfo. If they are equal in value, ‘true’ is returned.
The not equal ones are returned with null and hence all null records are then picked by the integration program for processing and the true ones are excluded.
This time-based filter is to decide run filters and past dated record parameters.
In here I have decided to fetch the records only post July 2021.
Post all the configuration, the interface is scheduled as per needs. In my case this program was set to run once daily.
The status of the interface run can be monitored in ‘Execution Manager Dashboard’ window
Using the similar logic i believe you can build the interfaces to adopt to some of the non-standard approach of data transfer between portlets without the need for exporting and importing the data.
Hope this help. Thank you.
Let me know if you have developed or come across better solutions.
Nice blog. Keep it up Jai
Thank you Niladri.
Nice Blog Jaideep.