In this blog I am going to show how to create Pay component in One-time Payment Portlet using Integration Center. We come across various scenarios while Implementing EC and ECP where we need to create or Default pay component or allowances based on certain events in employee cycle like Hire, Promotion, Transfer etc. This can be easily achievable using Business rules if events occurred or changes saved in standard Portlets Like Personal Information, Dependent Information, Job Information / Position Information, work Permit etc. But Issue arises when we have custom MDF Portlet or Portlet which directly not accessible or an event triggered in those Portlet will not directly go and create Pay components in One-time Payment due to some limitations in business rules.
While Implementing ECP, one more concern arises if we will not create pay component in Standard Portlets like One-time Payment, Recurring Payments or Deductions and One-time Deductions from custom MDF portlet then we will need to enhance standard Employee replication program using BADI which leads to inconsistencies in future during ECP system Upgrade. So, to avoid enhancing the Standard replication program I used to Create Pay component in EC Standard Portlet like One time Payment, Recurring Payments or Deductions and One-time Deductions from Custom MDF Portlet and from the standard Portlets using the Standard replication program data will be replicated back to EC Payroll system for further processing.
Without wasting more will directly come to my scenario. We need to create One time pay component based on the Employee Absences with absence hours and replicate back to EC Payroll system. There is no direct integration with Employee time object with one time portlet means if we create absences in EC Time off screen it will go and create Pay component in One of EC standard Portlets.
So, I used IC (Integration Center jobs) which will look Time type / leave type and approval status and custom field in Employee Time Object.
Let’s proceed with scenario
First Create Absence type in EC Time off for an Employee.
We can see Absence is Approved for an Employee.
Access Integration Center: Log into Employee Central and navigate to the Integration Center.
Click on “My Integrations”
b. On the top Right hand side click on Create
c. Select “More Integration Types”
d. Select the Triggered Type as “Scheduled”, Source type as “SuccessFactors”, Destination Type as “SuccessFactors” and Format as “OData V2”. Click on Create
e. Search for Entity Employee time and Select Employee time and Click on Select
f. Specify the Name & Description and click on Next Button
g. In the Configure Fields Section, you will Entity we select in the initial was Employee time Object (it might differ in your case like any custom object).
i) Select Upsert Multiple from Operation (to update multiple records at same time)
ii) Click on “Switch to Field Mapping view” button (second button in the right side of the screen)
h. In this screen we will see three sections first one showing Input / Source Entity, in the second or Middle one is called Destination Fields (by default system will source Entity and the Third one is Preview which is actually output in code form.
i) Click on “Delete/Trash” button given in Destination Section because we want update data in the different format which is going to be One time Payment (EmpPayCompNonRecurring)
i. Once Employee time Object deleted from Destination Fields. It will look like this
j. Click on Add Entity or ‘+’ button to add entity in which format we want update the data. Search for One time Payment (EmpPayCompNonRecurring)
k. Screen will look like this
l. Now we need to do the field mappings
i) Map User (userId) String(100) with User ID (userId) String(100) using drag and drop. This is needed because system will identify or create Record for the same employee for whom Absence or time off was recorded.
ii) Map the Pay component. To do so first click on “Switch to Detail view” button (first button from Top right side). Then Select the Pay component Field and in the Default Value field mention Pay component Code. In my case I have mentioned pay component 4720 and your case it might be different.
iii) Map Issue Date with the Start date of Employee time Object. To do this follow the same as first step.
iv) Lastly Map we need to map the Amount field of One time Payment with a Custom field created in the Employee time object using the same drag and drop approach which we used in first and third step.
v) Click on next button
m. In Filter and sort, we need to identify for which type for Leave or Absence type System will go and create the Pay component.
i) Click on Browse button in Advanced Filters
ii) Click on Entity Tree View Heading and it will expanded to show Input entity i.e, Employee Time Object which in our case. Select the Time Type and Click on Greyed button Change Association to “Time Type”
iii) System will Time Type in Field and in the corresponding Value we need to mention from which Time type system Select the data. In my case I have use “LOA_STD”.
iv) Again, click on “Add Filter set” and follow step 1, 2 and 3 but this time select field “Approval Status”
v) Why have I used “Approval Status” field? Because when EC Time off has been requested it may have pending, Rejected, Cancelled and Approved. So, system should only select value of “Approved” Time off requested. Otherwise, system will bring unnecessary values which might lead to issues. Hence use Approval Status field with status Approved. Make sure Value should be maintained in Capital letters as “APPROVED”.
vi) Need to set last filter, click on “Add Filter set” and follow step 1, 2 and 3 but this time I’ll select the custom field “Used Hours to be paid at 70%” which contains the no. of hours which need to be replicated.
vii) IC (Integration Center) job should only select the employees with those records which contains value greater than ZERO. Then click on ‘Save’ to save to the configurations
viii) System will show message that ‘The integration saved successfully. Click ‘Ok’ to continue
ix) Now click on ‘Test View’ button and ‘Preview’ button to see whether system is bringing correct data for the employee which I have created in the starting. Click on ‘Next’ button if everything looks okay
x) Now, I must set the frequency of this IC job so that it will bring the data which would be created in EC time off object for employees regularly. There are various options are available in the Scheduling section. As you can see in the screen shot. I am going set the frequency ‘Multiple executions per day’. In this frequency recurring job will executed in a day.
xi) To set up ‘Multiple Executions Per Day’ we must set up Time-based filters given under section Filter and Sort.
a) First go to ‘Modified of Effective Since’ and click on the drop down and select Modified or effective since. In this option system will select only those data which were modified.
b) Click on Edit on the second field where it is showing “<datetime,LASTR..” and then select ‘Last Run Time’. We need to do this because system should only select Delta data means data which were modified or created after last execution of IC job. If we don’t do this one system will bring everytime new all data which were created. This only need to do when we are setting up frequency ‘Multiple executions per day.
c) After setting the setting up “Time-based filters”. Click on Next. In the Scheduling section, I set this job every One hour and Six times. Then Click on Set Schedule
xii) Click on Next button. It will bring to the last section which Review and Run. In this we will execute the job and set the schedule. Again click on ‘Set Schedule’ button
System will show up message ‘The Integration job Setting were successfully saved, and the job was submitted”. Click ‘OK’. Job will be scheduled on the time and date which I mentioned in Scheduling.
xiii) But if we want to run the job immediately and see whether it successfully created the record in One time portlet or not.
a) Click on ‘Run Now’ Button. Look and Run time field it will show time date and refresh button. Click on refresh button. Once it will show a ‘Running man’ means job is executed successfully.
b) Click on Time and date in Last run time field. It will bring Execution manager screen where I can see system has successfully created one record in One Time Payment portlet (EmpPayCompNonRecurring)
xiv) Go to the employee and check One time portlet. I can see Paycomponent 4720 created in with the correct amount
I have demonstrated how we can create Integration centre job to create pay component in One time Portlet. Hoping that this blog helps you in various scenarios during implementation where we must create pay components based on some custom portlets or Objects which will trigger business rule to create pay components.
In the next blog I’ll show how to Delete Pay component using Integration centre.