Implementation details

The baseline pre-processor callout requires a service to provide the baseline schedule to Auto-assignment. The class for this service is added to the AUTO_SCHEDULING_BASELINE_SVC registry parameter.

See the Infor Workforce Management Registry Parameter Reference Guide for more details.

Input parameters

The baseline pre-processor callout provides input parameters for the employees to be scheduled and the dates included in the pre-processor period, based on the rules used in the Auto-assignment rule group. The service implementing the callout must use these parameters to determine what information to include in the baseline schedule. These are the input parameters the callout provides:

Parameter Type Description
List(empIds) List List of employees, using their EMP_ID, that are included in the Auto-assignment rule group.
startDate Date Start date of the pre-processor period.
endDate Date End date of the pre-processor period.

Baseline schedule format

The service implementing the callout must provide the baseline schedule as a Java object called AsBaseLineScheduleResultData. This object contains the shifts for the employees to be assigned between the start and end dates of the pre-processor period. The details for the shifts in the baseline schedule are contained in child AsBaseLineLayerData objects.

Note: 

Customers are responsible for any required storage of the baseline schedule as part of the implementation of this callout. Infor does not provide any out-of-the-box mechanism for storing the baseline schedule.

Layered shifts

The service must provide shift data in layered format. Each instance of the AsBaseLineLayerData object contains one layer of a shift, rather than the entire shift. Layered shifts contain details arranged into layers that can overlap. For example, a shift in the baseline schedule contains segments for work time from 9:00AM to 5:00PM with break time from 12:00PM to 12:30PM. This is represented as two layers: one layer for work time (9:00AM to 5:00PM) and one layer for break time (12:00PM to 12:30PM), with an instance of the AsBaseLineLayerData object for each layer.

AsBaseLineLayerData object format

The AsBaseLineLayerData object contains the details for one shift layer. The object includes these members:

Member Type Description
summaryId Long The ID of the shift. Null for non-MVS shifts.
empId Long The ID of the employee that is assigned to the shift.
jobId Long The ID of the job that the employee is performing.
timeCodeId Long The ID of the time code that is applied to the shift layer.
teamId Long The ID of the team for that the shift is worked for.
skillId Long The ID of a skill that is applied to the shift.
startTime Date The start time of the shift layer.
endTime Date The end time of the shift layer.
workDate Date The date when the shift is scheduled.
status String The status of the shift layer.
shiftType String The shift type of the shift. Null for non-MVS shifts.
detailTypeEnum Enum This member defines detail what kind of shift layer is defined. It has these allowed values:
  • SCHED_LAYER: The layer is work time.
  • BRK_LAYER: The layer is break time.
  • LTA_LAYER: The layer is long-term absence (LTA) time.
  • UNAVAILABLE_LAYER: The layer represents time the employee is unavailable.

Error handling

The service implementing this callout should be tested thoroughly, as any errors will cause the Auto-assignment process to fail. If an error occurs, the workmail message reporting the results of the Auto-assignment process contains an error report. The job scheduler logs contain more detailed information about any errors encountered.

Sample implementation

Infor provides qa-autoSchedulingBaseLineCalloutSample as a sample implementation of the service for the baseline pre-processor callout. This implementation uses the schedule from 30 days before the pre-processor start date and end date to provide the baseline schedule.

For example, you are scheduling a group with the Maximum Consecutive Days Off rule. This rule references the seven days preceding the assignment start and end date as the pre-processor period. If you are scheduling the group from July 1 to July 7, the pre-processor period is June 24 to June 30. Instead of referencing the schedule for these dates, this implementation uses the schedule from 30 days before them, or May 25 to May 31, as the schedule for the pre-processor period.