This chapter provides an overview of work schedules and discusses how to:
Create work schedules.
Validate schedules.
Import third-party schedules.
See Also
Assigning Schedules to a Group
In Time and Labor you can define three main types of schedules: punch, elapsed, and flex. Punch schedules include punch detail such as In, Out, Meal, Break, and Transfer. Elapsed schedules show the duration of time to be worked—for example, eight hours on Monday. Flex schedules are practical when a time reporter has some flexibility to begin and end the workday. Creating schedules for time reporters is a two-part process: creating a schedule definition and assign time reporters to it.
Work schedules have several functions:
To provide a facility to create, view, and manage a time reporter’s schedule.
To communicate and manage work expectations.
To enable estimates of labor costs.
To provide data that Time Administration can use to evaluate reported time.
To provide scheduled information that Time Administration can use to create payable time for exception reporters
To provide a facility to accept time reporters’ schedules from external systems.
To provide punch schedule information that can be sent to time collection devices.
Schedules
To create schedules:
Create shifts (optional).
You can create elapsed, flex, and punch shifts. Shifts are either created on the Shift component or as part of the Schedule Definition.
Create workdays (optional).
You can create workdays as labels for the type of day, to be associated in the Schedule Definition.
Create schedule definitions.
Schedule definitions are the basic building blocks of work schedules and are used to create a series of short term or long term workdays.
A shift is the main building block for the workday and an aggregate for the set of punch types from which it is built. Create a shift by entering a shift type and the detail in the shift. You can create three types of shifts: elapsed, punch, and flex.
Note. Shifts can be created on the Shift page, or within Schedule Definitions.
Define a single elapsed punch entry for the shift. For example, you create an elapsed shift of 8 hours. The 8 hours is nonclock time. Elapsed shifts cannot exceed 24 hours.
Use punch shifts when you want to create shifts that define specific work times. Punch shifts are defined by an In punch and the first subsequent instance of an Out punch. There can be other punches, such as Break, Meal, or Transfer, between the In and Out punches. Punch times are associated with each punch. Enter the duration of a punch, or the system can calculate the duration when the time for the next punch is entered.
A flex shift is a working arrangement with latitude for when the time reporter begins and ends the shift. Enter core hours (required hours of work) according to your organization’s business rules and the weekly number of hours that the flexible shift requires. Flex shifts cannot exceed 24 hours.
Example: Flex Shifts
Type of Flex Shift |
In Punch |
Out Punch |
Scheduled Hours |
Flex Start |
Flex End |
Flex Weekly Hours |
1 Flex Band |
06:00 |
18:00 |
8 |
09:00 |
15:00 |
40 |
2 Flex Range |
06:00 |
19:00 |
8 |
|
|
40 |
3 Flex Core |
00:00 |
23.59 |
8 (daily average) |
09:00 |
15:00 |
40 |
4 Flex Core Plus |
00:00 |
23.59 |
8 |
09:00 |
15:00 |
40 |
Time reporters may begin and end their workdays within a range of flexible hours (begin any time between 06:00 and 09:00 and end any time between 15:00 and 18:00). Time reporters know that they must work 8 hours a day, 40 hours a week, and that they must work during the company-established core hours of 09:00-15:00. Time reporters can vary their begin and end times on a daily basis, within the established flexible hours.
Time reporters may work any 8 hours during the day, within a range of flexible hours (any time between 06:00 and 19:00). There is no company-defined core period. They must work 40 hours a week.
Time reporters may work any time during the week, provided that they work 40 hours during the company-established core hours (09:00-15:00). They can vary their begin and end times on a daily basis within the established flexible hours and may vary the length of the workday, provided that they meet the weekly 40 hour requirement.
Time reporters must work 40 hours a week during the company-established core hours (09:00-15:00). Time reporters can vary their begin and end times on a daily basis within the established flexible hours, but may not vary the length of the 8 hour workday. This method effectively limits the time reporter to starting work between 07:00 and 09:00 and ending between 15:00 and 17:00.
Workdays
A workday is an optional component of the schedule definition that adds descriptive information. Additionally a workday may be used by Global Payroll Rules as a code to identify the type of day.
Schedule Definitions
Schedule definitions define a work schedule. Use schedule definitions to produce a single schedule of work expectations over a period of time including rotating work schedule.
For instance, the schedule definition could be composed of shifts representing a five-day, 08:00 to 17:00 workweek and shifts representing a five-day, 08:00 to 18:00 workweek. In addition, these shifts can be set up to repeat a specified number of times. We could specify that we will work four of the five-day, 08:00 to 17:00 workweek shifts followed by one of the five-day, 08:00 to 18:00 workweek templates.
Using the example above, some of your time reporters might always work the 5 day, 08:00 to 17:00 workweek. Some of your time reporters might always work the 5 day, 08:00 to 18:00 workweek, and some of your time reporters might work a combination of the two workweeks. This can all be set up on the Schedule Definition.
After creating a schedule definition, assign a time reporter, or group of time reporters, to it.
Schedule Calendars
While creating or completing a schedule definition, view the schedule calendar by selecting the Show Calendar link on the Schedule Definition — Shifts page. A schedule calendar is derived and calculated from the schedule definition and shift definitions (if used).
See Also
Assigning Schedules to a Group
To create work schedules and schedule definitions, use the Shifts (SCH_SHIFT), Workdays (SCH_WRKDAY) and Schedule Definition (SCH_DEFINITION) components. Use the SCH_SHIFT, SCH_WRKDAY and SCH_DEFINITION component interfaces to load data into the tables for these components.
This task comprises three steps (the first two steps being optional):
Setup shifts.
Setup workdays.
Create a schedule definition.
Page Name |
Object Name |
Navigation |
Usage |
SCH_SHIFT |
Set Up HRMS, Product Related, Time and Labor, Schedules, Shifts |
Set up elapsed, flex, and punch shifts. |
|
SCH_WRKDAY |
Set Up HRMS, Product Related, Time and Labor, Schedules, Workdays |
Define shifts. |
|
SCH_DEFINITION |
Set Up HRMS, Product Related, Time and Labor, Schedules, Definitions |
Set up schedule definitions. |
|
SCH_DEFINITION_2 |
Set Up HRMS, Product Related, Time and Labor, Schedules, Definitions, Schedule Shift tab |
Set up shift information, or enter shifts setup on the Shift page, for the schedule definition. |
|
SCH_CLND_VW_SEC |
Set Up HRMS, Product Related, Time and Labor, Schedules, Definitions, Shift tab, Show Calendar link |
View a schedule calendar. |
Access the Shift page.
Shift ID |
Shift ID is keyed by SetID. The SetID is used to filter shifts for display, for association to schedules. |
Effective Date |
Enter an effective date for this shift. If you modify a previously-saved schedule definition detail , there are a few limitations on the effective date on the Shift page:
|
Shift Type |
If the value is Elapsed, only the elapsed punch types will display in the Shift Time – Shift Details grid. An elapsed shift can contain only one punch entry. If the value is Punch, In, Out, Break, Meal, and Transfer punch types can be entered unless the Off Shift field is selected in which case only In and Out can be entered. The Flex Shift Information group box does not appear on the page. Punch shifts require an In and Out punch to be saved. If the value is Flex, only In and Out punches can be entered. The Flex Shift Information group box appears and is available. Flex shifts require an In and Out punch to be saved. |
Off Shift |
Select this field to designate a shift as being non-work time. This field cannot be changed once the shift has been saved. |
Scheduled (Work) Hours |
This field displays the total amount of work time for the shift. For example, you may require a time reporter to punch in at 09:00 and punch out at 17:00 each workday, but the shift includes a one-hour lunch break for which the time reporter isn't required to punch. The calculation of Total Scheduled Hours for the shift including meal and break is derived from the Schedule Total Options field on the Time and Labor Installation — Configurations page or the Schedule Settings on the System Settings page of Global Payroll/Absence Management setup. You can also manually edit this number for punch and flex shifts. For an elapsed shift, the value in the Scheduled Work Hours field will always equal the duration of the elapsed punch entry. The field cannot be changed. If you modified a shift, the system, at save time, checks if the shift is used in any schedules. If it is, then the schedule will need refreshing. Use the Schedules to be Validated page to learn if the changes will affect an existing schedule. If you make any changes that affect punch time or punch duration, the system updates the value in the Scheduled Hours field. Review the Scheduled Hours field before saving changes to be sure the field contains the correct data. |
Start Time |
Enter the time the shift starts. |
End Time |
Enter the time the shift finishes. |
Taskgroup |
If required, select a taskgroup for the Taskgroup field. The Task and Time Reporting Templates determine which reporting elements should be available for the Shift Detail rows on the Shift page. If the Taskgroup and Time Reporting Template are blank, no elements will be visible. Otherwise, the default Punch or Elapsed Time Reporting Template (depending on the Definition Type) from the Taskgroup definition will be used to determine which Time Reporting elements will be visible. If Task Profile Reporting is selected on the Time Reporting Template, the Task Profile ID element will be available, but no Task elements. If Task Element Reporting is selected, the Task Reporting Template from the Taskgroup definition will be used to determine the Task Elements that display. The Task and Time Reporting elements will not be available for OUT punches, or for Off Shifts. |
Time Reporting Template ID |
If a taskgroup is selected for the Default Taskgroup field, a Time Reporting Template may default. The Time Reporting Template may also be overridden manually. |
Schedule Configuration Totals
Global Payroll, Absence Management and Time and Labor share schedule setup pages and records. However, these fields are only used by the Global Payroll and Absence Management systems. These totals are derived for the shift from the Schedule Configuration Indicators which can be associated to each punch or scheduled duration. There are four Schedule Configuration Indicators and four related Schedule Configuration Totals.
The labels for the Schedule Configuration Indicators and Schedule Configuration Totals fields are set using values from the Text Catalogue, and can be relabeled as needed.
Core Begin |
Enter the begin time for the core period, the time that time reporters are expected to be present at work, excluding meal and break time. This time must be later than the time of the In punch for the shift. |
Core End |
Enter the end time for the core period, the time that time reporters are expected to be present at work, excluding meal and break time. This time must be earlier than the time of the Out punch for the shift. |
Weekly Hours |
Enter the weekly number of hours that this shift requires. |
Shift Details Grid
Type |
The terms punch and punch type are interchangeable. You cannot have consecutive type (except the value Transfer) of the same value. Valid types are: In: An In punch marks the start of a work period—either the beginning of a shift, or a return to work after a break or meal. The first punch of a punch or flex shift must be an In punch. Punch or flex shifts cannot be saved if an In punch does not have a punch time and duration. Transfer: Start of a work period that generally denotes a change in task and compensation-related characteristics. Break: Start of a break period. If you enter a Break punch, an In or a Transfer punch must immediately follow it to save the page. You can’t have a Break punch followed by a Meal or Out punch. Meal: Start of a meal period. If you enter a Meal punch, an In punch or Transfer punch must immediately follow it to save the page. For example, a Meal punch cannot be followed by a Break or Out punch. Out: The last punch of a punch or flex shift must be an Out punch. An Out punch marks the start of nonwork time. For punch periods with a punch type of Out, the Duration field is unavailable. An Out punch cannot be entered without an In punch preceding it somewhere in the shift (edit at save time). Punch or flex shifts cannot be saved if an Out punch isn't entered or does not have a punch time. No additional punches can be added to a shift after the Out punch row. Elapsed: This punch type is used only if you create an elapsed shift. The duration associated with this entry reflects the elapsed duration of the shift. An elapsed shift cannot be saved if an Elapsed punch does not have a punch duration. |
Time |
This field is used only for punch and flex shifts; all punches (except the Out punch) in punch and flex shifts must have a time and a duration. Enter the time that this punch is scheduled. The first punch time of a shift must always be entered. Subsequent punch times can be entered, or the system can calculate punch times based on the duration of the preceding punch. Change the time of a punch other than the last punch and the duration changes accordingly, based on the new and the subsequent punch times. In addition, if the punch is not the first, the duration of the previous punch changes based on the changed punch’s new time. Enter a punch time and the system calculates the duration, based on the punch time of the previous row. Enter a duration and the system calculates the value in this field on the next punch row. |
Time Zone |
Enter a time zone value if required. All punch times are converted to the Base time zone when stored on the database and converted when displayed/entered on the pages (this is done automatically by PeopleTools). When a punch time is entered, the duration of the previous punch is calculated. When a duration is entered, the time of the next punch is calculated. Those calculations are changed to take into account time zones. All times will be converted to the Base Timezone before calculating. |
Duration |
This field displays the duration of the punch period in hours. A user can enter it or the system can calculate it when the next punch time is entered. Change the time of a punch, other than the last punch and the duration changes, based on the new and the subsequent punch time. If it is not the first punch, the duration of the previous punch changes, based on the new punch time. If you delete a row, the duration of the punch above the deleted row changes to the difference between the punch time of that row and the punch time of the row that followed the deleted row. The system displays a warning if a punch or flex shift is longer than 24 hours. |
Config 1-4 (configuration 1-4) |
These Schedule Configuration fields are for use with Global Payroll and Absence Management. |
See Also
Access the Schedule Group page.
A schedule group can be thought of as a schedule organization unit, similar to a business unit both in idea and design. Shifts, Workdays and Schedule Definitions are created based on a SetID value, and Schedule Groups group these together by way of the Set Control value.
Schedule groups are specified on the Workgroup and Paygroup pages, and selected on the Schedule Assignment page. The label for Schedule Group is also set using values from the Text Catalogue, and can be relabeled as needed.
Default SetID |
Select a SetID. |
Clone Existing Schedule Group |
If an existing Schedule Group is entered, the SetID will be copied from its definition. The SetID must either already be defined on the SetID table, or be the same as the Schedule Group code. If it’s the same as the Schedule Group, it will be inserted in the SetID table when the page is saved. Note. The Default SetID field must be blank in order to enter or select a value for the Clone Existing Schedule Group field. |
Access the Workday page.
Workday is keyed by SetID, for further filtering when building a schedule.
Effective Date |
Enter an effective date for this workday. |
Access the Schedule Definition page.
Schedule Definitions contain a list of shifts to be worked on each day of the schedule. Schedule Definitions are keyed by SetID for further filtering, and associated to a schedule group for filtering when assigning to an employee.
Effective Date |
The Effective Date is used as the starting point of the Schedule Definition. Day one of the schedule starts from the Effective Date. When a new effective dated row is entered, the Day Numbers assigned to each row of the Schedule Definition — Shifts page, are recalculated. The system uses the previous active effective dated row of the Schedule Definition to calculate which Day number the Schedule would be up to on the new effective date. That Day will be made Day number 1. Days following this will be adjusted accordingly. |
Definition Type |
Select the type of shift you are creating. Valid options are: Elapsed, Flex, Punch. If the schedule definition is saved as a particular type, it cannot be changed to another type. Prior to saving for the first time, the field can be changed in add mode. If the field is changed, any shifts from the Shift Details grid on the Shifts page, that do not match the new type, are deleted. If you do change this field while in Add mode, and punch detail has already been entered, you receive a warning that punch detail will be deleted if the Shift Type field is changed. The system deletes the punch details for all effective-dated rows. This field is updated, for all effective-dated rows, to the new type. Once a shift is saved as one type, you cannot change it to another type of shift (you can’t change an elapsed shift to a punch shift). If the value is Elapsed, only the elapsed punch types will display on the Shift page. An elapsed shift can contain only one punch entry. If the value is Punch, In, Out, Break, Meal, and Transfer punch types can be entered on the Shift page. The Flex Shift Information group box does not appear on the page. Punch shifts require an In and Out punch to be saved. If the value is Flex, only In and Out punches can be entered. |
Number Days in Schedule |
Enter the number of days in this schedule. When the number of days is changed, the system automatically inserts or deletes the appropriate number rows from the Schedule Definition – Shifts page to ensure there is one row for each day of the schedule. There will always be at least one row for each day in the schedule. |
Rotating Schedule |
Select this field if the schedule is to be used as a rotating schedule. The Rotation Details group box appears on the page. See Rotating Schedules later in this section. |
Daylight Saving Rule |
This field caters for two issues that may arise from the use of Time Zones:
Note. These calculations will be done only if different time zones are involved, or, the date is the beginning or end of daylight savings. |
Default Taskgroup |
If required, select a taskgroup for the Default Taskgroup field. The Task and Time Reporting Templates determine which reporting elements should be available on the detail rows on the Shift page. If the Taskgroup and Time Reporting Template are blank, no elements will be visible. Otherwise, the default Punch or Elapsed Time Reporting Template (depending on the Definition Type) from the Taskgroup definition will be used to determine which Time Reporting elements will be visible. If Task Profile Reporting is selected on the Time Reporting Template, the Task Profile ID element will be available, but no Task elements. If Task Element Reporting is selected, the Task Reporting Template from the Taskgroup definition will be used to determine the Task Elements that display. The Task and Time Reporting elements will not be available for OUT punches, or for Off Shifts. |
Time Reporting Template ID |
If a taskgroup is selected for the Default Taskgroup field, a Time Reporting Template may default. The Time Reporting Template may also be overridden manually. |
Select the Rotating Schedule field if the schedule is to be used as a rotating schedule. The Rotation Details grid appears on the page.
Each Rotation uses the same pattern of Shifts defined in the Schedule Definition, but has a different Relative Day number. The Relative Day number of the Rotation is used in the schedule resolution process when determining the Shifts to be worked on a specific date.
Each Rotation has an Offset Day number assigned. The Offset is used when the Schedule Calendar is derived, by adding it to the calculated Day Number. Therefore each Rotation follows the same pattern of Shifts, but will be at a different point in that pattern on any given day.
Multiple rotations of a schedule can be defined.
Once saved, you cannot deselect the Rotating Schedule field and Rotation ID’s cannot be changed or deleted. However, an Effective Status at the rotation details level allows a rotation row to be inactivated.
When an employee is assigned to a rotating schedule, the Schedule ID and Rotation ID fields on the Schedule Assignment record identifies which Schedule ID and Rotation ID the employee is assigned.
Access the Schedule Definition – Schedule Shifts page.
Punch Pattern |
On this page, if the Definition Type chosen on the Schedule Definition page is set to Punch, the Punch Pattern field will display with a value of Default, which is the punch pattern defined on the Time and Labor Installation — Configurations tab. If not all of the punch types are displayed that are needed, the user can change that from a value of Default to a value of All Punches, to see all punch types visible for use. Note. There are two navigation paths for this tab: Setup HRMS, Install, Product and Country Specific, Time and Labor Installation, Configurations tab, and the Global Payroll/Absence Management navigation path: Setup HRMS, Product Related, Global Payroll and Absence Management, System Settings, Installation Settings, Schedule Settings Folder tab. |
Effective Date |
Enter an effective date for this shift. When a new effective dated row is entered, the Day Numbers assigned to each row of the Schedule Definition — Shifts page, are recalculated. The system uses the previous active effective dated row of the Schedule Definition to calculate which Day number the Schedule would be up to on the new effective date. That Day will be made Day number 1. Days following this will be adjusted accordingly. |
Total Hours |
Sums the scheduled hours of the schedule. |
Show Calendar |
Click this link to view the derived Schedule Calendar page as you design your schedule definition. |
Note. You can also access the Schedule Calendar link from the Assign Work Schedule page.
In the Shift Details grid, the Shift Time tab, Time Reporting Elements tab (if a time reporting template is chosen), Task Reporting Elements tab (if the time reporting template has task template selected instead of task profile), a Chartfields tab, if Chartfields are listed on the task template and finally a Configurable Totals tab.
The Configurable Totals tab will display the total of the Schedule Configuration Indicators that make up the scheduled day. There are four configuration totals, which can be used by Global Payroll or Absence Management users within their rules processing.
Shift ID |
The use can enter shifts to complete the schedule pattern. Shifts are optional, as start and end times for a punch schedule can be entered (if the Shift ID field is bland), or scheduled hours for an elapsed schedule for a day. If there are two shifts in one day, the user can use the + button at the end of each row, to add another shift for the day. If Shift ID is blank, the Shift Details grid fields can be entered. All processing and validation of Shift Details entered here is the same as the standard Shift page. If Shift ID is entered, the details from the Shift definition are displayed, and the fields are display only. For an Off Shift, the user can choose an off shift that has been created, or specify a specific start and end time for the off time and select the Off Shift check box. |
Workday |
The use can enter workdays to complete the schedule pattern. Workdays are optional, and used to label the actual day. |
Click the More link beside a Shift Details row to be taken to the Shift definition page to update a shift if required. This view of the shift detail is important if there are changing elements within a shift, such as different timezones, task elements or time reporting elements
Next to the More link, there is a column that displays a Changing Elements in a Shift icon. This icon represents a shift that has a different task or time reporting elements scheduled for different punch times. For more detail of the changing elements, you can click on the More link for Shift detail.
The column for Changing Elements per Shift also appears on the Schedule Calendar page, which can be accessed from the Show Calendar link on the Schedule Shift Detail page.
To reuse days in the schedule, select the days to copy (by selecting the Select field next to the appropriate rows), then select the Copy button. Next, select the day to restart the pattern, and select the Paste button. The Select All link will select all of the rows. The Clear Shifts link will clear all of the shift details entered on the selected rows. The Clear All Boxes link will uncheck all of the selected boxes. The Click for Instructions link is a collapsible section of instructional text on how to use the links.
There is a Scheduled Hours total for each day and also a Total Hours for the whole schedule at the top of the page.
When the Schedule Definition is saved, the system checks that any Punch or Flex Shifts in the Schedule do not overlap with a Shift on the same, or a following day. The last Shift of the schedule will also be checked for an overlap with the first Shift.
Note. When setting up longer shifts, such as a 48 hour shift, you need a break between the shift and then an Off day, since the 48 hour shift spans over two days. It is up to the user how many off days there are in between.
See Also
Using Manager Self-Service for Scheduling Components
To validate schedules, use the Schedules to be Validated (SCH_CLND_REFRESH) component.
For punch type schedules, when a change is made to a shift, the related schedule(s) may need to be re-validated.
Page Name |
Object Name |
Navigation |
Usage |
SCH_CLND_REFRESH |
Set Up HRMS, Product Related, Time and Labor, Schedules, Schedules to be Validated |
Schedules may need to be re-validated when a change is made to a shift. |
Access the Schedules to be Validated page.
This page contains a list of schedules that need validating because a related shift was modified for punch type schedules. The system displays a schedule ID, description and status for each schedule that needs validating.
Click the Validate button to validate the schedule or click the Show Schedule link to access the Schedule Definition page.
Note. If an employee does not have a row in the Assign Work Schedule page, and if they are enrolled in a Global Payroll paygroup on the Job Data page, the system will use the default schedule ID from the paygroup when resolving their schedule. If the employee is not enrolled in a Global Payroll paygroup on the Job Data page, but is enrolled in Time and Labor, the system will use the schedule ID from the employee's workgroup as their default schedule when resolving their schedule.
Note. When Time Administration creates payable time for an exception time reporter, who has a punch schedule, it applies daybreaker logic from the employee's workgroup when creating this time. When Time Administration creates forecasted payable time for an employee with a punch schedule, it also applies daybreaker logic from the employee's workgroup for this time. Time Administration's use of the daybreaker, daybreaker options and daybreaker ranges are applied to the schedule in the same way as employees who had reported punch time resolved into payable time or forecasted payable time.
Time and Labor and Global Payroll use many of the same pages and records for schedule setup and assignment. In some cases, the page names vary slightly. If you’re using both applications, you need to create and assign schedules only once. However, the information displayed on the scheduling pages may vary somewhat, depending on which application you access them with:
The payees you can access through the Assign Work Schedule page or Manage Schedules page may vary depending on whether the page is opened through Global Payroll or Time and Labor.
The security options set up for each system determine which population of payees a user can work with.
The schedule that appears when accessing the Assign Work Schedule page or Manage Schedule page in Time and Labor may differ from the schedule that appears when accessing the same pages in Global Payroll.
If an employee is in a Global Payroll paygroup, the default schedule is based on the GP Paygroup, regardless of whether Time and Labor is used. If not a Global payroll employee and Time and Labor is installed, it will be derived from the Time and Labor workgroup assigned to the employee.
See Also
Creating Work Schedules, and Schedule Definitions
Understanding Manager Self-Service for Scheduling Components
Time and Labor has the ability to accept schedules created outside of the system, either from a third-party workforce scheduling system or another source. The data should be mapped to the SCH_EXT_TBL, which is the record behind the Scheduled Time Sync and Fullsync messages. The SCH_ADHOC_DTL and SCH_MNG_SCH_TBL records serve as the final repository for this schedule override information. Process these schedules in Time Administration by setting up rules that run against this scheduled information. Reported time can be created from this scheduled time, and payable time or forecasted payable time can also be created from this scheduled time.
When importing third-party schedule information, populate the Sched Source field with a value of I so that the system recognizes the data as an import. This ensures the correct precedence processing.
This diagram shows how Time and Labor accepts external scheduling information:
Schedule Integration flow
Time and Labor will create a common staging record structure (SCH_EXT_STG) so that it can subscribe information from various sources (LM, and Workforce Scheduling). The data subscribed is stored in the staging table. A validation application engine process (SCH_EXTVALID) is invoked to process all the data in the staging table before loading the final data into the application tables. After the validation process, the staging table will be deleted.
The staging and the application tables have exactly the same fields and key fields. Additional fields such as PROCESS_INSTANCE, AUDIT_ACTION are also included in the staging table for AE processing. Depending on the source, validated data will be inserted into the appropriate tables. For Workforce Scheduling information, the data will be inserted into SCH_ADHOC_DTL table,which carries the detailed scheduling information. It will also be inserted into the SCH_MNG_SCH_TBL for summarization purposes. .
If the SCH_EXTVALID validation process runs and finds rows of scheduled time from a workforce scheduling system that either do not pass validations, or are missing key values or are duplicate rows, the SCHEDULED_TIME_ERROR batch message gets triggered. This message publishes these rows back to the scheduling system with a REJECTED_REASON code defined in the SCH_EXT_REJ table. The SCHEDULED_TIME_ERROR message is based on the SCH_EXT_REJ record structure. The data which does not pass validations will first be staged in the SCH_EXT_REJ_STG table. Once the message has been published, the system clears the staging table, and the rejected rows will ultimately be stored in the SCH_EXT_LOG table. The fields validated are Emplid, Empl Rcd and SCHED_SOURCE. In order to use the SCHEDULED_TIME_ERROR message, its batch publish rule must be activated
Any other information such as Training, and so on, will be inserted into SCH_EXT_DTL table. Additionally, the AUDIT_SCH_TBL is an audit trail to track all transactions that are added, changed or deleted successfully into SCH_ADHOC_DTL table. A new field has been introduced SCH_CATEGORY to identify the category of the schedule. The category can be training information, absence, work, or other. The same category can come from different sources. For instance, absence is a category that can come from Workforce Scheduling or Absence systems. In the current application, ELM does not send to Time and Labor this schedule category field due to the new field has just been introduced. Therefore, Time and Labor will derive the data coming from ELM being categorized under “training data
Note. Scheduled Time Fullsync messaging is used to transmit data from third-party scheduling systems to Time and Labor. The Scheduled
Time Sync message for integration with third-party scheduling systems is not used.
Both the Scheduled Time Fullsync and Scheduled Time Sync messages are used for integration with Enterprise Learning Management.
The Scheduled Time Fullsync message never deletes what exists in the SCH_EXT_TBL or the corresponding application tables.
For that reason, the Fullsync message should be run once for integration with ELM, to bring over the training information,
such as activity and session information. For use with a third–party scheduling system, the Scheduled Time Fullsync should
send over new scheduling information. However, if the user would like to change the schedule for a day that has already been
published from a third–party scheduling system, they would need to send that same data over with the DELETE_IND equal to Y for that data and then send over the data they want added for that day with the DELETE_IND equal to N.
Also, for sending punch time schedule information, if the third–party scheduling system is transmitting data with START_TIME
and END_TIME on one row of data, when it gets converted to two rows in the application table, with an Inand an Out punch for the rows, with the appropriate times updated in the PUNCH_DTTM field.
Scheduled Time Sync messaging can also trigger a notification to the manager that an external schedule event has changed,
if you setup the notifications for External Schedule Event on the Time and Labor Installation page. For example, an employee
has enrolled in training, or the training session was cancelled, or the employee dropped the training. Both the Scheduled
Time Fullsync and the Scheduled Time Sync messages insert into the AUDIT_SCH_TBL to track schedule audit changes for external
scheduling events.
The main record that is used to map data to is SCH_EXT_TBL. This is the record used for Scheduled Time Fullsync and Scheduled
Time Sync messages.
The ELM flag on the General Installation page, needs to be checked, in order for the user to view ELM training data icons
in Manage Schedules, Monthly Schedules and Calendars.
Note. Scheduling does not administer workforce scheduling, as it does not run rules to balance resources and constraints.
The following table describes the fields for SCH_EXT_TBL for the Scheduled Time Fullsync and Scheduled Time Sync messages:
Note. The fields marked as "not validated" are not part of the validation application engine, the system accepts the values as they are sent.
Field Name |
Type |
Validation Process |
Description |
EMPLID |
Char 11 |
Emplid must exist in HR database. Also, the person must have an active row in Job record. |
Employee Id |
EMPL_RCD |
Nbr 3 |
Emplid must have valid employee record. |
Employee Record Number |
SCHED_SOURCE |
Char 2 |
Source must be from a valid source defined. |
Source AB – Absence LM – Learning Management GP – Global Payroll OT – Other TR – HR Training Administration WF – Workforce Scheduling |
SEQ_NO |
Nbr 2 |
Number to define each shift per day. For multiple shifts, must use the next number in sequence to specify a different shift. If there is one row per scheduled punch, then each row will have the same number for each shift. Example: All rows for Shift 1 will have “1”, all rows for Shift 2 will have “2”. |
Sequence Number for multiple shifts (WFS only) |
SEQNUM |
Nbr 3 |
Each number should be unique for each shift. If there is one row per scheduled punch, each row SEQNUM must be unique and in order. If more than one shift per day, the numbering must start over again. |
Sequence Number |
SCH_CATEGORY |
Char 2 |
Field must have value when getting inserted into the application table. |
Schedule Category AB: Absence MT: Meeting OT: Other TR: Training WK: Work |
PUNCH_TYPE |
Char 2 |
Punch type must be from a valid punch type defined depending on the source. Not applicable for LM. |
Type of Punch 0 – Elapsed 1 – In 2 – Out 3 – Meal 4 – Break 5 - Transfer |
DUR |
Date 10 |
No validation on this field. |
Workday Start Date For WFS - For Punch Shifts, DUR is the Date part of PUNCH_DTTM for the first IN Punch of a Punch Shift. For Elapsed Shifts, DUR should be coming in on the WFS message. PUNCH_DTTM would not be used. For LM – DUR is equal to Session Date |
SCH_PRIM_ALT_IND |
Char 1 |
No validation on this field. |
Default to “P” (Primary), Values are “P” for Primary and “A” for Alternate. |
PUNCH_DTTM |
DtTm 26 |
No validation on this field. |
Date From WFS - PUNCH_DTTM for the first IN Punch of a Punch Shift. |
SCHEDULE_GRP |
Char |
No validation on this field. |
Schedule Group |
SETID |
Char 5 |
No validation on this field. |
Set ID |
WRKDAY_ID |
Char 10 |
No validation on this field. |
Workday ID |
OFFDAY_IND |
Char 1 |
No validation on this field. |
Off Day Indicator Y: Yes N: No |
SHIFT_ID |
Char 10 |
No validation on this field. |
Shift ID |
DELETE_IND |
Char 1 |
No validation on this field. |
Delete Schedule Detail Y: Yes N: No |
TL_TR_SBR |
SubRecord |
||
TRC |
Char 5 |
No validation on this field. |
Time Reporting Code |
TL_QUANTITY |
Sign 12.6 |
No validation on this field. |
Quantity |
CURRENCY_CD |
Char 3 |
No validation on this field. |
Currency Code |
COUNTRY |
Char 3 |
No validation on this field. |
Country |
STATE |
Char 6 |
No validation on this field. |
State |
LOCALITY |
Char 10 |
No validation on this field. |
Locality |
COMP_RATECD |
Char 6 |
No validation on this field. |
Comp Rate Code |
BILLABLE_IND |
Char 1 |
No validation on this field. |
Billable Indicator |
OVERRIDE_RATE |
Sign 12.6 |
No validation on this field. |
Override Rate |
TL_TASK_SBR |
SubRecord |
||
COMPANY |
Char 3 |
No validation on this field. |
Company |
BUSINESS_UNIT |
Char 5 |
No validation on this field. |
Business Unit |
SETID_LOCATION |
Char 5 |
No validation on this field. |
Location SetID |
LOCATION |
Char 10 |
No validation on this field. |
Location Code |
SETID_DEPT |
Char 5 |
No validation on this field. |
Department SetID |
DEPTID |
Char 10 |
No validation on this field. |
Department |
SETID_JOBCODE |
Char 5 |
No validation on this field. |
Jobcode SetID |
JOBCODE |
Char 6 |
No validation on this field. |
Jobcode |
POSITION_NBR |
Char 8 |
No validation on this field. |
Position Number |
PRODUCT |
Char 6 |
No validation on this field. |
Product |
CUSTOMER |
Char 10 |
No validation on this field. |
Customer |
ACCT_CD |
Char 25 |
No validation on this field. |
Account Code |
BUSINESS_UNIT_PC |
Char 5 |
No validation on this field. |
PC Business Unit |
BUSINESS_UNIT_PF |
Char 5 |
No validation on this field. |
Perf Business Unit |
PROJECT_ID |
Char 15 |
No validation on this field. |
Project/Grant |
SETID_ACTIVITY |
Char 5 |
No validation on this field. |
Activity SetID |
ACTIVITY_ID |
Char 15 |
No validation on this field. |
Activity ID |
RESOURCE_TYPE |
Char 5 |
No validation on this field. |
Resource Type |
SETID_RESOURCE |
Char 5 |
No validation on this field. |
Resource SetID |
RESOURCE_CATEGORY |
Char 5 |
No validation on this field. |
Resource Category |
RESOURCE_SUB_CAT |
Char 5 |
No validation on this field. |
Resource Sub category |
TASK |
Char 5 |
No validation on this field. |
Task |
USER_FIELD_1 |
Char 10 |
No validation on this field. |
User Field 1 |
USER_FIELD_2 |
Char 10 |
No validation on this field. |
User Field 2 |
USER_FIELD_3 |
Char 15 |
No validation on this field. |
User Field 3 |
USER_FIELD_4 |
Char 20 |
No validation on this field. |
User Field 4 |
USER_FIELD_5 |
Char 20 |
No validation on this field. |
User Field 5 |
RULE_ELEMENT_1 |
Char 10 |
No validation on this field. |
Rule Element 1 |
RULE_ELEMENT_2 |
Char 10 |
No validation on this field. |
Rule Element 2 |
RULE_ELEMENT_3 |
Char 10 |
No validation on this field. |
Rule Element 3 |
RULE_ELEMENT_4 |
Char 10 |
No validation on this field. |
Rule Element 4 |
RULE_ELEMENT_5 |
Char 10 |
No validation on this field. |
Rule Element 5 |
SCH_CONFIG_IND1 |
Char 1 |
No validation on this field. |
Schedule Config Indicator 1 |
SCH_CONFIG_IND2 |
Char 1 |
No validation on this field. |
Schedule Config Indicator 2 |
SCH_CONFIG_IND3 |
Char 1 |
No validation on this field. |
Schedule Config Indicator 3 |
SCH_CONFIG_IND4 |
Char 1 |
No validation on this field. |
Schedule Config Indicator 4 |
SCH_EXT_FLD1 |
Char 10 |
No validation is done as different sources can send different values. |
Key Field 1used from Source. ELM - Session ID |
SCH_EXT_FLD2 |
Char 10 |
No validation is done as different sources can send different values. |
Additional key Field 2 from Sources |
SCH_EXT_FLD3 |
Char 10 |
No validation is done as different sources can send different values. |
Additional key Field 3 from Sources |
SCH_EXT_ACT_STATUS |
Char 1 |
No validation is done. LM sends this value. |
Schedule Activity Status |
SCH_EXT_ACT_TYPE |
Char 3 |
No validation is done. LM sends this value. |
Schedule Activity Type |
ACTIVITY_NAME |
Char 200 |
No validation is done. LM sends this value. |
Description of activity |
SCH_EXT_EVENT_TYPE |
Char 4 |
No validation is done. LM sends this value. |
Schedule Event Type |
START_DATE |
Date 10 |
Start Date of the Schedule. |
LM: Start Date of Session WFS: Determine the day of the shift |
END_DATE |
Date 10 |
End Date of the Schedule |
LM: End Date of Session WFS: End Date of the Schedule |
START_TIME |
Time 15 |
No validation done. |
LM: Start Time of Session WFS: Convert to IN Punch |
END_TIME |
Time 15 |
No validation done. |
LM: End Time of Session WFS: Convert to OUT Punch Time |
TIMEZONE |
Char 9 |
No validation done. Time Zone to be populated for scheduled times. Use this field to convert the time to the base time zone. |
Time Zone |
FACILTY_DESCR |
Char 50 |
No validation done. |
Facility Description |
ADDRESS1 |
Char 55 |
No validation is done. LM sends this value. |
Address1 |
ADDRESS2 |
Char 55 |
No validation is done. LM sends this value. |
Address2 |
ADDRESS3 |
Char 55 |
No validation is done. LM sends this value. |
Address3 |
ADDRESS4 |
Char 55 |
No validation is done. LM sends this value. |
Address4 |
CITY |
Char 30 |
No validation is done. LM sends this value. |
City |
NUM1 |
Char 6 |
No validation is done. LM sends this value. |
Number 1 |
NUM2 |
Char 4 |
No validation is done. LM sends this value. |
Number 2 |
HOUSE_TYPE |
Char 2 |
No validation is done. LM sends this value. |
Type of House AB: House Boat Reference WW: House Trailer Reference |
ADDR_FIELD1 |
Char 2 |
No validation is done. LM sends this value. |
Address Field 1 |
ADDR_FIELD2 |
Char 4 |
No validation is done. LM sends this value. |
Address Field 2 |
ADDR_FIELD3 |
Char 4 |
No validation is done. LM sends this value. |
Address Field 3 |
COUNTY |
Char 30 |
No validation is done. LM sends this value. |
County |
POSTAL |
Char 12 |
No validation is done. LM sends this value. |
Postal Code |
GEO_CODE |
Char 11 |
No validation is done. LM sends this value. |
Geographical Code |
IN_CITY_LIMIT |
Char 1 |
No validation is done. LM sends this value. |
In City Limit |
ORIGINATORID |
Char 30 |
No validation done. |
Original operator ID who creates the record |
DATETIME_CREATED |
DtTm 26 |
No validation is done. LM sends this value. |
Date and Time first created |
OPRID_LAST_UPDT |
Char 30 |
No validation is done. LM sends this value. |
Last person who updates the record |
DATETIME_UPDATED |
DtTm 26 |
No validation is done. LM sends this value. |
Date and Time last updated |
This section presents tips for addressing:
Rejected schedule records.
Field requirements for transmitting schedule Ddata
Rejecting Schedule Records
SCH_EXT_LOG is the table containing rows of all rejected scheduled time that did not make it into the PeopleSoft Application tables SCH_EXT_REJ_STG is the staging table for rejected rows that would get sent back to a third party scheduling system.
For both the SCH_EXT_LOG and SCH_EXT_REJ_STG tables, there is a SCH_REJECT_REASON field which explains why the scheduled time is rejected.
SCH_REJECT_REASON codes :
Code |
Description |
01 |
Invalid Employee and Employee Record Number |
02 |
Invalid Schedule Source |
03 |
Invalid Schedule Category |
04 |
Invalid Punch Type |
05 |
Invalid Activity |
06 |
Invalid Activity Type |
07 |
Invalid Event |
08 |
Invalid Time Zone |
09 |
Transaction already exists |
10 |
Cannot add, transaction exists |
11 |
Cannot change or delete, transaction exists |
Field Requirements for Transmitting Schedule Data
These are tips for working with some field requirements for transmitting schedule data:
Multiple Shifts
To send multiple shifts per day, ensure the fields SEQ_NO and SEQNUM are correctly populated.
SEQ_NO
Should be populated with the same number for the same shift for the day.
SEQNUM
Should be populated with an incremented number for each row for the same shift for the day, and then start over again if another shift exists on the same day.
Multiple Punch Rows for Punch Shift
For a punch schedule, if sending PUNCH_TYPE and PUNCH_DTTM fields, do not need to populate START_DATE, END_DATE, START_TIME and END_TIME
One row for Punch Shift
To send a summarize row for punch schedule for the day, the fields START_DATE, END_DATE, START_TIME and END_TIME need to be populated, and the system will then split the time into an IN and OUT punch into SCH_ADHOC_DTL table.
Total punch scheduled hours will be summarized based on the Schedule Total option (INCL_ML_BRK_FLG) on the Configuration tab of the TL Installation component or the Schedule Settings page on the System Settings of Global Payroll and Absence Management. The inclusion of meal and break punches to determine total scheduled hours are the options for this configuration.
DUR
DUR should always be populated with the date, whether sending Elapsed or Punch Schedule
TL_QUANTITY
Should be populated if sending Elapsed Scheduled Hours.
The following table illustrates field format examples
Field |
Format |
Example |
START_TIME |
HH:MM:SS.ssssss |
07:00:00.000000 |
END_TIME |
HH:MM:SS.ssssss |
13:30:00.000000 |
START_DATE |
YYYY-MM-DD |
2004-06-11 |
END_DATE |
YYYY-MM-DD |
2004-06-11 |