Automated Processes

This section lists automated processes installed with ENOVIA Business Process Services. Most automation is installed with each application or with ENOVIA Business Process Services.

For a list of triggers installed with an application, see the Administrator's Guide for that application. For a list of triggers installed withENOVIA Business Process Services, see Trigger Reference.

All trigger programs are run using a Trigger Manager program called emxTriggerManager. This Java program is specified as the Action for all triggers. The name of the eService Trigger Program Parameters business object that represents the specific trigger program to run is specified as the Input to pass to the Trigger Manager. The naming convention for the eService Trigger Program Parameters object indicates the schema object the trigger is associated with, trigger event, and the type of trigger.

[ADMIN OBJECT TYPE][ADMIN OBJECT NAME][TRIGGER EVENT][TYPE OF TRIGGER]

For example, an eService Trigger Program Parameters object named "TypePartCreateCheck" indicates that the trigger is a Create Check trigger on the Part type. The revision indicates that the purpose of the trigger is to verify the find number for the part.



Automation for All Types

This diagram shows two triggers that are added for almost every type in ENOVIA Business Process Services.

eService Trigger Program Parameters Object, Name and Revision Trigger Program and JPO Method Description of Action

TypeAllCreateAction

PopulateOriginator

emxTriggerManager, which calls emxcommonSetOriginator_if

For information on this trigger program, see the Set Originator Attribute.

Store user's name in Originator attribute

TypeAllReviseAction

PopulateOriginator

emxTriggerManager, which calls emxcommonSetOriginator_if

For information on this trigger program, see the Set Originator Attribute.

Store user's name in Originator attribute

Automation for Routes and Inbox Tasks

This section describes the triggers and programs that are executed throughout the lifecycles for routes and tasks. These programs are responsible for creating pending tasks for people who are in the route and sending notifications to the route owner and route members as the route progresses.



For email notifications to work correctly, both the sender's and recipient's emails must be entered in the users' Person objects.

1 Initiate Route

When a route is started, it is promoted from Define to In Process state. This fires a trigger, which:


  • Creates an Inbox Task object for each person in the route who has an order number of 1.

Details:

Expand Route Node relationship and get all relationships with 
Route Sequence = 1
For each node from above:
    Create an Inbox Task
    Attach the Inbox Task (via Project Task relationship) to the 
Person the Route Node is attached to
    Copy the following attribute data from the Route Node 
relationship to the Inbox Task:
       Route Action
       Route Instructions
       Approval Status
       Schedule Completion Date
       Approvers Responsibility
    Attach Inbox Task to Route (via Route Task relationship)
    Attach Inbox Task to the Project Member (via Member Task) 
that the Route is attached to via Member Route (this 
identifies the creator of the route to which the task 
belongs)
    Copy 'Route Node Id' attribute of Route Node relationship to 
that on Inbox Task

  • Emails each person who has a pending task.
  • Changes the Route Status attribute on the Route from Not Started to Started.
  • Sets Current Route Node attribute on Route to 1.

2 Complete Task

When a route member completes a task, the task is promoted from Assigned to Complete and a trigger fires, which:


  • Populates the Actual Completion Date attribute with the current date.
  • Copies data from the following attributes on Inbox Task to the Route Node relationship (this is necessary because the Inbox Task object is deleted when the route is complete).
  • Approval Status
  • Actual Completion Date
  • Comments
  • If the approval status is Reject, emails the route owner and changes the Route Status to Stopped. No further tasks are created for the route when a route is Stopped.
  • If the approval status is Started and there are no other tasks in the Assigned state for the route (if there are other tasks still in Assigned state, then nothing should be done because not all tasks for this order level are complete), creates an Inbox Task for each person who is to receive the folder and who has the next order number. Enters the usual data (action, instructions, status, etc.). Notifies each person. Increments Current Route Node attribute on attached Route object.

Details:

Expand the attached Route and get all Inbox Task objects whose 
current state == Assigned
If none of the Inbox Task objects are returned and Route Status 
== Started:
    Increment Current Route Node attribute on attached Route 
object
    Expand Route Node relationship and get all Relationship Ids 
whose Route Sequence == Current Route Node value
    If the number of Route Node relationships from above > 0, for 
each node from above:
       Create an Inbox Task
       Attach the Inbox Task (via Project Task relationship) to 
the Person the Route Node is attached to
       Copy the following attribute data from Route Node 
relationship to Inbox Task
          Route Action
          Route Instructions
          Approval Status
          Schedule Completion Date
          Approvers Responsibility
       Attach Inbox Task to Route (via Route Task relationship)
       Attach Inbox Task to the Project Member (via Member Task) 
that the Route is attached to via Member Route (this identifies 
the creator of the route to which the task belongs)
       Copy 'Route Node Id' attribute of Route Node relationship 
to that on Inbox Task
    If processing rule for Inbox Tasks is set to Any then program 
delete all the rest of the tasks in same sequence and also 
disconnects all the Persons associated with that task from 
Route. 

If there are no other people to be routed to, promote the route to Complete and change the route status to Finished.

3 Complete Route

When a route is promoted to Complete, another trigger fires, which:


  • Sets the Route Status attribute on the Route to Finished.
  • Performs the operation indicated in the Route Completion Action attribute on the Route:

Notify the Route object owner

Or

Promote the object that is attached to the Route via the Object Route relationship

Automation for Routes

This table lists the automation related to routes that is installed with ENOVIA Business Process Services.

eService Trigger Program Parameters Object, Name and Revision Trigger Program and JPO Method Description of Action

N: PolicyRouteStateDefinePromoteAction

R: Initiate Route

eServicecommonTrigcInitiateRoute_if.tcl

When a route is started, it is promoted from Define to In Process and this trigger is fired. The trigger:

- Creates an Inbox Task object for each person who has an Order number of 1 in the route. Copies all the information for each task (instructions, action, scheduled completion date, etc.) to the Inbox Task object.

- Notifies each person via email.

N: RelationshipRouteNodeCreateAction

R: emxRouteJPO

calls emxRoute

grantAccess method

When a person is added to a route, this trigger grants the person access to the route (Read Write).

N: RelationshipRouteNodeDeleteAction

R: emxRouteJPO

emxRoute

deleteRouteTaskUserObject method

When a person is removed from a route, this trigger deletes the person's task.

N: RelationshipRouteNodeDeleteCheck

R: emxRouteJPO

emxRoute

revokeAccess method

When a person is removed from a route, this trigger revokes the person's access to the route.

N: RelationshipRouteScopeCreateAction

R: emxRouteJPO

emxRoute

inheritAccess method

When a route and the Route Scope relationship is created, this trigger grants Read access to the route for all Workspace Leads.

Automation for Inbox Tasks

This table lists the automation related to Inbox Tasks, which are the tasks created for routes.

eService Trigger Program Parameters Object, Name and Revision Trigger Program and JPO Method Description of Action

N: PolicyInboxTaskStateAssignedPromoteAction

R: Complete Task

eServicecommonTrigcCompleteTask_if.tcl

When a person completes a task, the Inbox Task object is promoted from Assigned to Complete and this trigger is fired. The trigger:

- Enters the actual completion date.

- If the approval status is Reject, stops the route and notifies the route owner.

- If there are no other tasks to be completed for the route, notifies the route owner that route is complete and changes the Route status to Finished.

Automation for Organizations

This table lists the automation related to organizations business objects. The Organization policy governs Company and Business Unit objects. Whenever the term "company" is used in the automation descriptions below, the information also applies to business units.

eService Trigger Program Parameters Object, Name and Revision Trigger Program and JPO Method Description of Action

N: RelationshipCollaborationRequestCreateAction

R: Notify Collaboration

eServicecommonTrigaNotifyCollaboration_if.tcl

When a Company Representative requests to collaborate with another company, the system connects the companies using the Collaboration Request relationship. When this relationship is created, the system fires a trigger which sends an email to:

- all Company Representatives for the company that is being invited to collaborate; the email says there is a collaboration request from the requesting company

- all Company Representatives for the company making the request; the email confirms that an email has been sent to the other company

N: RelationshipCollaborationRequestDeleteAction

R: Notify Collaboration

eServicecommonTrigaNotifyCollaboration_if.tcl

When a Company Representative withdraws a request to collaborate with another company or the invited company rejects the invitation, the system sends an email to Company Representatives for both companies; the email says the collaboration request has been withdrawn/rejected.

N: RelationshipCollaborationPartnerCreateAction

R: Notify Collaboration

eServicecommonTrigaNotifyCollaboration_if.tcl

When a company accepts a request to collaborate with another company, the system connects the companies with the relationship Collaboration Partner. This causes the system to fire a trigger that sends an email to:

- all Company Representatives for the company that made the request; the email says the invited company has accepted the request

- all Company Representatives for the company that accepted the request; the email confirms that the request has been accepted

N: RelationshipCollaborationPartnerDeleteAction

R: Notify Collaboration

eServicecommonTrigaNotifyCollaboration_if.tcl

When a Company Representative dissolves a collaboration partnership, the system sends an email to:

- all Company Representatives for the partner company; the email says the collaboration partner has been removed and specifies which company initiated the action

- all Company Representatives for the company that dissolved the partnership; the email confirms that the partnership has been dissolved

N: TypeCompanyChangeNameAction

R: Update Company Group Name

eServicecommonTrigaSyncAdminObjectName_if.tcl

When the host company changes the name of the company business object called Company Name, the trigger changes the name of the role called Company Name to match the name of the company object.

--

Matrix route user and route message

Change owner to Corporate.

Automation for Packages

Package objects are governed by the Package policy. Configurable automation for Packages is described in the table that follows.

eService Trigger Program Parameters Object Trigger Program and JPO Method Description of Action

N: PolicyPackageStateStartedPromoteCheck

R: StateStartedPromoteCheck

eServiceCheckRoutes_if.tcl

Prevents promotion if the package is in an unfinished route. This trigger is only used if the route creator specified the state as a block promotion state for the package.

Automation for Persons

This table lists the automation related to persons.

eService Trigger Program Parameters Object Trigger Program and JPO Method Description of Action

N: PolicyPersonStateInactivePromoteAction

R: Notify Employee Status

eServicecommonTrigaNotifyEmployeeStatus_if.tcl

When the administrator activates an employee, the person business object is promoted to Active. The promotion fires a trigger that notifies the employee that the account is active, so the employee can now log in.

N: AttributeEmailAddressModifyAction

R: Notify Email Change

In Version 10, this trigger is deactivated and a AttributeEmailAddressModifyOverride trigger is added instead.

eServicecommonTrigaNotifyEmailChange_if.tcl

Sends email to person whenever a change is made to their email address. The email is sent to both the old and new email address and gives the old and new address, the person who made the change, and the date and time of the change.

N: PolicyPersonStateActiveDemoteAction

R: Notify Employee Status

eServicecommonTrigaNotifyEmployeeStatus_if.tcl

When the administrator deactivates an employee, the person business object is demoted to Inactive. The demotion fires a trigger that notifies the employee that the account is deactive.

N: RelationshipCompanyRepresentativeCreateAction

R: Sync Admin Group Role

eServicecommonTrigaSyncAdminGroupRole_if.tcl

When a person is assigned as a Company Representative, the Company Representative relationship connects the person business object to the company bus object. When the relationship is created, this trigger assigns the person to the Organization Manager role.

N: RelationshipCompanyRepresentativeDeleteAction

R: Sync Admin Group Role

eServicecommonTrigaSyncAdminGroupRole_if.tcl

When the Company Representative relationship is deleted, this trigger removes the person from the Organization Manager role.

N: RelationshipEmployeeCreateAction

R: Notify New Employee

eServicecommonTrigaNotifyNewEmployee_if.tcl

When a person is added, the system connects the person business object to the company using the Employee relationship. When this relationship is created, this trigger notifies the person via IconMail and email (if configured).

Automation for Quotations

RFQ Quotation objects are normally governed by the RFQ Quotation policy. If the RFQ is revised or a supplier is removed from the RFQ, the system changes the policy to Suspended. Configurable automation for RFQ Quotations that is installed with Business Process Services is described in the table that follows.

Request for Quotes (RFQs) were called Request to Suppliers (RTS) in previous versions of the application and therefore some administrative objects and properties refer to RTSes instead of RFQs.

eService Trigger Program Parameters Object Trigger Program and JPO Method Description of Action

N: PolicyRTSQuotationStateOpenPromoteCheck

R: StateOpenPromoteCheck

eServiceCheckRoutes_if.tcl

Prevents promotion if the quotation is in an unfinished route. This trigger is only used if the route creator specified the state as a block promotion state for the quotation.

N: PolicyRTSQuotationStateReviewPromoteCheck

R: StateReviewPromoteCheck

N: PolicyRTSQuotationStateReturnedPromoteCheck

R: StateReturnedPromoteCheck

Automation for RFQs

RFQ objects are governed by the RFQ policy. Configurable automation that is installed with Business Process Services is described in the table that follows.

Request for Quotes (RFQs) were called Request to Suppliers (RTS) in previous versions of the application and therefore some administrative objects and properties refer to RTS instead of RFQ.

eService Trigger Program Parameters Object Trigger Program and JPO Method Description of Action

N: PolicyRequestToSupplierStateStartedPromoteCheck

R: StateStartedPromoteCheck

eServiceCheckRoutes_if.tcl

Prevents promotion if the RFQ is in an unfinished route. This trigger is only used if the route creator specified the state as a block promotion state for the RFQ.

N: PolicyRequestToSupplierStateInitialPackageReviewPromoteCheck

R: StateInitialPackageReviewPromoteCheck

N: PolicyRequestToSupplierStatePackageSentPromoteCheck

R: StatePackageSentPromoteCheck

N: PolicyRequestToSupplierStateResponseCompletePromoteCheck

R: StateResponseCompletePromoteCheck

N: PolicyRequestToSupplierStateFinalPackageReviewPromoteCheck

R: StateFinalPackageReviewPromoteCheck