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 |