Importing Third-Party Schedules

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 In and 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.

Note: 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 1 used 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 data.

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