A pass-through API to ServiceScheduling (when configured) which allows the ServiceScheduling's ActUpdate API to be called.
Description
It is sometimes necessary to update the schedule with a promise to service a job at a particular date and time, irrespective of the impact on the rest of the schedule. Generally this would be managed via the Gantt - however in some circumstances a programming interface is required. The sp:DVForceFixJobRequest
API method allows a specified existing job to be fixed to a date, time and employee.
The overall intention is to provide a function which achieves a similar result as would have been available through move/drag and drop (D&D) of a job on the Gantt, followed by setting the job to "fixed".
As with a Gantt move/D&D, the travel time and job duration will be recalculated based on the new position/employee for the job.
Unlike a Gantt move/D&D, the job may be moved no matter what its current dispatch status (except where spares are involved or status is LoggedOff
or Cleared
, see below). No unearmark dispatch interface call will be made. It is assumed that the person moving the job is the employee themselves, or has spoken to the employee in order to decide that the job should be moved.
Earmarking for the job in its new position will follow the usual rules.
Jobs may be moved to any date, including a date in the past - but only if this date is within the system horizon.
Having moved the job there may be conflicts/overlaps with other jobs and standard activities. An option is available, SP_OptForceFixAllowShuffle
, to cause these conflicts to be addressed (as far as is possible). If the option is not set the conflicts may never be resolved.
As with general usage, once a job has been marked as fixed it will remain fixed unless express action is taken to change it.
In line with Gantt D&D rules (see [2]), the following constraints cannot be overridden:
- This API method applies to previously booked jobs only (whether allocated or in the in-tray) - if not true,
SP_JOBID_INVALID (1)
is returned. - The employee must have a shift assignment for the full duration of the job - if not true,
SP_EMP_NO_SHIFT_ASS (271)
is returned. - The job may only be allocated within the same FRU as it is currently booked (i.e. the employee must be posted to that FRU at the time required) - if not true,
SP_OUTSIDE_FRU_POSTING (264)
is returned. - The interface will error if the job requires spares and is not at status SPDS_Tentative - the return value will be
SP_SPARES_AND_NOT_TENTATIVE (272)
. - Jobs that are already at status
LoggedOff
or Cleared
will generate a return value of SP_JOB_GT_LOGGEDON (275)