Tuesday, 2 December 2014

Peoplesoft Outlook Integration

What is Outlook Integration?
Outlook Integration enables integration between PeopleSoft and Microsoft Outlook to schedule meetings and appointments. It makes things easy for organizations predominantly engaged with MS Outlook to schedule meetings driven by PeopleSoft data.
Utility Benefit:
·         Keeps communications and schedules in an organised way.
·         Simple and easy to configure & maintain.
·         Increases the productivity by tightly coupling PeopleSoft data and Outlook schedule.
·         Fast, effective and two-way integration keeps processes simple and reduces duplication
Sample Business Scenarios:
·         In Talent Acquisition Manager (TAM) manage interview schedules, interview directly in MS Outlook with updates applied on candidate records. Quickly link emails, schedules interview and adds attachments to candidates
·         MS Outlook can be integrated with PeopleSoft HR Notification to schedule meetings.
·         Absence takes can be requested by entering absence requests through Microsoft Outlook.
Implementation Steps for outlook plug in:
·         Install the PeopleSoft Outlook Plug in
·         Configure outlook menu in PeopleSoft settings and option add on menu. (Refer fig 1 for configuration details)
·         Make Setups based on each module (TAM, Absence Management, ePerformance etc.)
Prerequisites for PeopleSoft outlook Plugin:
To enable the communication and interaction between Microsoft Outlook and the PeopleSoft system, following are required:
·        The Microsoft Add-In—Represented in the PeopleSoft Outlook menu and handles all of the communication and information within Microsoft Outlook.
·        The PeopleSoft Outlook URL Handler—An external Windows application that allows you to drill into Microsoft Outlook directly from the PeopleSoft system.
How to get the PeopleSoft Outlook Plug-in?
The plug-in can be found as compressed files in the PeopleSoft path: "<<PeopleSoft Installation HomeDirectory>>\src\DesktopIntegration". Users can extract the various integration objects (Outlook Add-In, Outlook URL Handler or Word Add-In) and install.

PeopleSoft Outlook Menu:

After installing the PeopleSoft Outlook plug-in, user can see in the outlook, a new menu option PeopleSoft as shown in below screen.

Configuration: User can define the integration options with PeopleSoft and the other required setups like server details, User ID, Email Account, etc.

Based on the features selected, the relevant appointments, tasks, scheduling etc. will be possible from outlook. All the features that can be used from PeopleSoft to Outlook are covered under Enterprise components-Desktop Integration

}  Task- A task is a way for something to be queued up and put into the user’s tasks.
}  Task Queue- You can use the queue to manually add tasks to a user's Microsoft Outlook task list.
}  Appointment- Define the defaults for the user's appointments, invitations, and calendar.
}  Appointment Queue- To review the appointment queue, monitors integration transactions, or manually adds/updates meetings and appointments.
}  File Transfer- Set up file transfer registration.
}  File Transfer Queue- To review what you previously defined as defaults in your file transfers.
}  Address Book- To Register your address book.
}  Dynamic Displays- Dynamic Displays allow the display of information from your PeopleSoft system alongside items in Microsoft Office. You can use Dynamic Displays to show any information contained within the PeopleSoft system and those displays can optionally be shown automatically alongside the Microsoft Office items.

PeopleSoft and Outlook Integration Solutions

Out of Box integrations
   Out of the box, Oracle-PeopleSoft calendar integrations are available for modules like Absence      Management, ePerformance, Talent Acquisition Manager.
Let’s look at the calendar Integration with TAM.

Calendar integration with TAM: PeopleSoft delivered the setup for integrating TAM with    outlook. Three options are provided to user: Full Integration, Partial Integration and No   Integration.
Navigation: Setup HCM > Install>Product Specific>Recruiting Installation

  • Full Integration: It is a two way integration between Microsoft Outlook and PeopleSoft which updates data changes in PeopleSoft when changed from Outlook.
  • Partial Integration: Sends two notifications to the applicants: .ics attachment and regular notification. Send’s regular notification to Interviewers.Below screen shots show the mails received by the applicant triggered by selecting Partial Integration while scheduling the interview of the applicant.

Below screen shots show the mails received by the applicant triggered by selecting Partial Integration while scheduling the interview of the applicant.

  • No Integration: Disables calendar integration with outlook
  • Customization: It is possible to integrate Outlook with People code using Icalendar.Icalendar is a file format which allows Internet users to send meeting requests and tasks to other users. Below is the sample code 

import PT_MCF_MAIL:*;
/*Declare variables*/
Local string &dateStr = DateTimeToLocalizedString(%Date, "MM/dd/yyyy");
Local string &dateStamp = DateTimeToLocalizedString(%Datetime, "MM/dd/yyyy hh:mm:ss");
/*Receiver and sender email id*/
Local string &mail_to = "susan.silvia@kovaion.com";
Local string &organizer = "Madhur.mohini@kovaion.com";
Local string &desc = "TEST";
&dateStr1 = DateTimeValue(&dateStr | " 2:00 PM");
&dateStr2 = DateTimeValue(&dateStr | " 5:00 PM");
/*Prepare date formats required for .ics format*/
&tempTime = DateTimeToTimeZone(&dateStr1, "Local", "UTC");
&dtstart = DateTimeToLocalizedString(&tempTime, "yyyyMMdd'T'HHmmss'Z'");
&tempTime = DateTimeToTimeZone(&dateStr2, "Local", "UTC");
&dtend = DateTimeToLocalizedString(&tempTime, "yyyyMMdd'T'HHmmss'Z'");
&tempTime = DateTimeToTimeZone(%Datetime, "Local", "UTC");
&dtstamp = DateTimeToLocalizedString(&tempTime, "yyyyMMdd'T'HHmmss'Z'");
Local string &str = Char(13);
Local string &icalstr = "BEGIN:VCALENDAR" | &str;
&icalstr = &icalstr | "PRODID:-//Prod ID//PeopleCode vCal 1.0//EN" | &str;
&icalstr = &icalstr | "VERSION:2.0" | &str;
&icalstr = &icalstr | "METHOD:PUBLISH" | &str;
&icalstr = &icalstr | "X-MS-OLK-FORCEINSPECTOROPEN:TRUE" | &str;
&icalstr = &icalstr | "BEGIN:VEVENT" | &str;
&icalstr = &icalstr | "ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:" | &mail_to | &str;
&icalstr = &icalstr | "ORGANIZER:MAILTO:" | &organizer | &str;
&icalstr = &icalstr | "DTSTART:" | &dtstart | &str;
&icalstr = &icalstr | "DTEND:" | &dtend | &str;
&icalstr = &icalstr | "LOCATION:Conference Room" | &str;
&icalstr = &icalstr | "TRANSP:OPAQUE" | &str;
&icalstr = &icalstr | "DTSTAMP:" | &dtstamp | &str;
&icalstr = &icalstr | "CATEGORIES:Meeting" | &str;
&icalstr = &icalstr | "DESCRIPTION:Meeting Request" | &str;
&icalstr = &icalstr | "SUMMARY:" | &desc | &str;
&icalstr = &icalstr | "X-MICROSOFT-CDO-BUSYSTATUS:BUSY"| &str;
&icalstr = &icalstr |  "X-MICROSOFT-CDO-IMPORTANCE:1"| &str;
&icalstr = &icalstr |  "X-MICROSOFT-DISALLOW-COUNTER:FALSE"| &str;
&icalstr = &icalstr | "X-MS-OLK-AUTOFILLLOCATION:TRUE"| &str;
&icalstr = &icalstr | "X-MS-OLK-CONFTYPE:0"| &str;
&icalstr = &icalstr | "PRIORITY:5" | &str;
&icalstr = &icalstr | "BEGIN:VALARM" | &str;
&icalstr = &icalstr | "TRIGGER:PT15M" | &str;
&icalstr = &icalstr | "ACTION:DISPLAY" | &str;
&icalstr = &icalstr | "DESCRIPTION:Reminder" | &str;
&icalstr = &icalstring | "END:VALARM" | &str;
&icalstr = &icalstr | "END:VEVENT" | &str;
&icalstr = &icalstr | "END:VCALENDAR";
Local PT_MCF_MAIL:MCFOutboundEmail &email = create PT_MCF_MAIL:MCFOutboundEmail();
&email.From = &organizer;
&email.Recipients = &mail_to;
&email.Subject = "Task " | &desc;
&email.AddHeader("", "method=PUBLISH");
&email.AddHeader("", "charset=UTF-8");
&email.AddHeader("", "component=VEVENT");
&email.ContentType = "multipart/alternative";
rem &email.ContentType = "text/calendar";
Local PT_MCF_MAIL:MCFBodyPart &text = create PT_MCF_MAIL:MCFBodyPart();
&text.Text = " ";
&text.ContentType = "text/calendar";
Local PT_MCF_MAIL:MCFBodyPart &iCal = create PT_MCF_MAIL:MCFBodyPart();
&iCal.Text = &icalstr
&iCal.AddHeader("content-class", "urn:content-classes:calendarmessage");
&iCal.AddHeader("content-ID", "calendar_message");
&iCal.ContentType = "text/calendar;method=PUBLISH; charset=UTF-8";
Local PT_MCF_MAIL:MCFMultipart &mp = create PT_MCF_MAIL:MCFMultipart();
&mp.SubType = "alternative; differences=Content-type";
rem &mp.AddBodyPart(&text);
&email.MultiPart = &mp;
&resp = &email.Send();

Limitations of PeopleSoft Outlook Integration:
  • The integration is compatible with Microsoft Outlook 2007 or higher.
  • Not compatible with all type of calendars like lunar calendars.(Icals).
  • The debugging options are limited with Icals as the errors messages generated are generic. In-depth Icals knowledge along with PeopleSoft skillset is required to debug. 

Susan Silvia
Kovaion-Peoplesoft Consulting Practice

Monday, 3 November 2014

Peoplesoft Paycheck Modeler

Paycheck modeler is a new Self service feature in Peoplesfot HCM 9.2. Employees can use Paycheck Modeler to simulate their own paychecks through a self-service web application, investigate their own what-if scenarios, and answer most of their own questions without having to call your payroll department.
 It enables employees to get the answers for their pay check related queries accurately and quickly with out contacting the payroll administrator. Employees can use the Paycheck modeller to calculate the effective overtime bonuses, or benefit changes.

Business Benefits:
  • It enables employees to take payroll related decisions without calling the payroll department.
  • The Paycheck modeler allows an employee to perform what-if scenarios on their pay based upon the last confirmed regular on-cycle payroll.
  • When an employee is working on large amounts of irregular overtime and want to estimate a check with the overtime pay included, paycheck modeler is helpful. Paycheck Modeler is easy to use and has many configurable features that allow the Payroll Administrator to manage what employees’ see, who can access the modeler and even how often an employee can execute the modeler in one day.
  •  To protect the live payroll production data from impact, paycheck modeling data is stored in temporary work tables. Model paycheck results are automatically cleared when the user exits the paycheck modeling component, and modeling history is not retained for future access.
  • To prevent modeled checks from being offered as real paychecks or proof of pay, and to protect personal and pay information, a model check printout contains no data that identifies either the employee or the company and the watermark says Estimate.
  •  Employees can view a pie chart of the results by using Paycheck modeler, also the totals and details of their modelled earnings, taxes and deductions.
  • Employees can print a Paycheck Modeling Audit report to view the changes made this session

The following example   will  show how we can  update  the tax withholding status from Single to married will reflect on his/her paycheck who has just got married.
Employee will need to Navigate to the following link in the PIA to understand and see how exactly the changes will work after the modifications are carried out

Navigation: Main Menu -> Self Service -> Payroll and Compensation -> Paycheck modeler.

     Step 1:Select the check box “Yes I have reviewed and agree to the terms and conditions above”.

Step2: The earning step shows all the standard earnings of the employee from Job record and picks up the pay rate based upon the last confirmed paycheck. The earnings step allows to add/edit/delete any earnings.
Note:- The value of Earnings should have a value that is greater than zero to move on to define the deductions 

Step 3: The deduction step shows all the standard deductions. It works same as earnings. Employee can add/edit/update the deductions. Garnishments are special consideration here, as employee is not allowed to update the garnishments but can set it to zero.

Step4: Employee’s tax information can be updated in the tax step, state and local taxes are set up, based on the current tax information. In this example the employee wants to update the tax withholding status from Single to Married. By clicking on the Edit Icon for the federal tax as shown in the screen shot. Same should be updated in both the state and local tax information.

Step5: Calculate step calculates the model check based on the changes made. Once the employee has made changes, the “Calculate My Modeled Check” button is available on the Paycheck Modeler – Calculate page. The Next button remains unavailable until after the user selects the Calculate My Modeled Check button. When the modeled check is calculated, a message appears and the Next button becomes available.

Step6: The mock paycheck will now appear on the Paycheck Modeler, the results are based on the changes that are done by the employee in the previous 5 steps. Related Actions allow to navigate to other pages. Related actions- drill down the related actions and have a screen shot that covers the related actions along with the PIE Chart to clearly showcase the actions as well.

Step7: The Print My Modeled Check option generates a model of the paycheck with new changes, which doesn’t show any details of the employee such as name or EmplId so that the employee cannot use it for any other purpose.
This is how the output looks when the employee clicks on Print My modeled check displayed.

This is the output displayed to the employee on clicking Print My Changes button.


 Paycheck modeler is available for North American Payroll only and currently is only available to US employees.

Shubha Rohit
Kovaion -Peoplesoft Consulting Practice