PPM Automation using Events
By abhijit.kakhandiki on Aug 20, 2009
I am writing a quick blog post on how to use Events in PPM. Shane's post introduces events as a mechanism for automation. Automation can be done at various levels. It can range from the simple such as autofill of attributes in an object to the complex such as tying-in of related business processes. This blog post covers simple automation examples for PPM. Later posts will cover extensive automation to model business processes such as Ideation, Preliminary CAD Design and Prototyping.
Here are some simple examples of automation using Events and Scripting:
- Auto-fill attributes from related objects: It is useful to have values of certain attributes for an object to be cross-filled in from related objects. E.g. auto-fill document or change order details on the task they are related to. This can be done by setting up an event on the lifecycle of the content object or the task and values of selected attributes can be auto-filled. A specific example here is that of populating the 'Product Line' attribute of a project based on the product line of the BOM added to the 'PLM Reference' attribute of the project. The population of the attributes can be done via a script.
- Auto-select gate approvers based on product line: This is helpful since you can auto-select executive and management level approvers based on business unit or product line. This can be achieved by simply providing a map of approvers by 'business unit' or 'product line' attributes of a project via a script (achieved easily by using the hashmap functionality in Groovy). The event in this case can be triggered upon the start of the project.
- Iterative Tasks or Phase duplication: This has been a requirement from a few customers for a while. Product development is often an iterative process where a series of tasks or even an entire phase may need to be repeated because satisfactory results were not achieved in the first iteration. In this case, the series of tasks or the phase needs to be duplicated and the overall schedule of the project tree needs to be adjusted accordingly. This can be done by setting up an attribute 'Rework Required' on the milestone following the series of tasks to be duplicated. The 'Rework Required' attribute would be set to 'No' by default, and would be changed to 'Yes' if the series of tasks needs to be duplicated. An event would be triggered when the milestone is in 'Open' status, and a script launched by this event would duplicate the series of tasks if needed.
- Notifications based on critical path: It has been a requirement that task owners be automatically notified if their tasks are on the critical path of a project. This is where 9.3 events and platform new functionality shines through. Users can create custom notifications, which can be triggered by any event. In this case you can create a new notification that is sent to the user listed on the 'Owner' attribute of a task if the 'Critical' attribute of the task is set to 'Yes'. The event that this notification would be tied to would of course be updation of the task i.e. the event would be triggered whenever changes are made to any task object in the system. The 'Critical' attribute is automatically set when any user computes and saves the critical path using the Gantt Chart.
Hope you got some good ideas on how to unleash the power of the 9.3 platform!