Schedule Assignment to an employee can be done at multiple levels in Peoplesoft. With the continuous improvement in scheduling that Peoplesoft/Oracle has brought into the product, they introduced a feature to directly assign schedules to employees. This feature is available under the Manage Schedule folder in MSS. A lot of clients require the process of schedule assignment to an employee to be automated at the time of hire and I have seen specific application engines being written for this purpose. That is an unnecessary effort as Peoplesoft already provides that feature with the WORKFORCE_SYNC message. The WORKFORCE_SYNC message will assign a row in the PS_SCH_ASSIGN table with the Use Default Schedule option ticked as Yes. The message itself is triggered on the Save Post Change event in the JOB DATA components. For tools versions higher than 8.47, it will be required to write specific handler logic for this to happen. This is because the assignment was handled by subscription peoplecode in versions lesser than 8.48 and this has become defunct with the architectural changes to the IB framework in 8.48. The steps to do that is:
1. Obtain the code of the schedule assignment from the subscription peoplecode assigned to the WORKFORCE_SYNC message.
2. Create a new Application Package and extent the OnNotify method of the PS_PT App Package.
3. Call the code for the assignment in the OnNotify method. The best practice will be to create a function in a custom FUNCLIB record containing the logic for the schedule assignment and calling just the function from the OnNotify method.
4. Add a new handler to the WORKFORCE_SYNC Service Operation with an OnNotify event defintion and give the application package and method details.
5. Ensure that the service operation is active and that the queue is running. Also generate Local routing if that has not yet been done.
6. You are good to go now!