system.kanoa.cmms.setWorkOrderSchedule(workOrderInfo, userId)
Creates a new recurring schedule for a work order from the values supplied in workOrderInfo.
All keys inside workOrderInfo are required. The schedule defines the recurrence rule (rruleStr), the active date window (startDate/endDate),
how far ahead schedule events are generated (generateAheadDays), and how much lead time is given before each generated event (leadTimeDays).
Parameters
workOrderInfo Dictionary
| - endDate | DateTime | |
| - generateAheadDays | Integer | |
| - lastGeneratedDate | Integer | |
| - leadTimeDays | Integer | |
| - rruleStr | String | |
| - startDate | DateTime | |
| - workOrderId | Integer | Id of the workOrder |
userId Integer:Id of the user executing the function
Returns
workOrderScheduleId Integer
message String None if success
Example
# Weekly preventive-maintenance schedule for an asset's work order, running every Monday at 06:00 for the next year.
workOrderInfo = {
"workOrderId": 4821,
"rruleStr": "FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0",
"startDate": "2026-08-03 06:00:00",
"endDate": "2027-08-03 06:00:00",
"generateAheadDays": 14,
"leadTimeDays": 2,
"lastGeneratedDate": 0,
}
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})
workOrderScheduleId, msg = system.kanoa.cmms.setWorkOrderSchedule(workOrderInfo, userId)
print workOrderScheduleId, msg