Utility Trigger Programs
This section describes these trigger programs used by many ENOVIA products, called utility trigger programs.
These programs are installed with ENOVIA Business Process Services. For each program, the section lists the purpose of the program, accepted argument inputs, processing details, and returns. The procedure for specifying input values is the same for all trigger programs and is described in Modifying Inputs and Execution Sequence for Trigger Programs. To see which trigger programs are used by an ENOVIA product and to find out which administrative object contains the trigger, see the Administrator Guide for the product.
Make sure you use the symbolic name for any administrative objects that you specify as an argument input. For example, if you need to specify a relationship for an argument input, use the symbolic name for the relationship and not the standard name (relationship_ECAffectedItem instead of EC Affected Item).
Required Connection Check
This trigger program eServicecommonTrigcRequiredConnection_if.tcl checks to see if an object has specific connections.
This table shows the kinds of information the program can check for:
Does the selected object have any: |
For example: |
Connections with other objects. |
Does the object have any relationships? |
Connections with other objects in one direction. |
Does the object have any relationships in which the object is on the From end? |
Connections with other objects through specified relationships. |
Does the object have any connections to other objects with the Includes Part relationship. |
Relationships with objects of specified types. |
Does the object have any connections to a Part object? |
You can combine the checks listed above. For example, you can have the program check if the object has a connection in which the object is on the From end of any Supplier Response relationship and in which the connected object is an Initial Quotation type. Arguments:
Argument |
Argument Name |
Description and Inputs |
1 |
Direction |
The direction(s) the program should search from the selected object to connected objects. The program accepts three values: from--Search only connections in which the selected object is on the From side of the relationship. For example, suppose three objects are connected like this: Object 1 --> Object 2 --> Object 3 If the direction input is "from" and Object 2 is the selected object, then the program only considers the connection between Objects 2 and 3. to--Search only connections in which the selected object is on the to side of the relationship. "" (blank)--Search all connections, regardless of the direction. |
2 |
RelationList |
The relationships the program should check for, formatted as a comma-delimited list of symbolic names for the relationships. For example, to check for the Includes Part and Supplier Response relationships, the input would be: relationship_IncludesPart,relationship_SupplierResponse |
3 |
TypeList |
The types the program should check for, formatted as a comma-delimited list of symbolic names for the types. For example, to check for connections with Initial Quotation and Final Quotation objects, the input would be: type_IntitialQuotation,type_FinalQuotation |
This table shows how to configure the argument inputs depending on the kind of check you want to perform.
To check for: |
Use these inputs: |
Direction |
RelationList |
TypeList |
Any connection |
blank |
blank |
blank |
Any connection in specified direction |
To or From |
blank |
blank |
Any connection to objects of specified type |
To, From, blank |
blank |
specified |
Any connection of specified relationship |
To, From, blank |
specified |
blank |
Any connection of specified relationship to objects of specified type |
To, From, blank |
specified |
specified |
Returns:
0 if at least one specified connection exists. Otherwise the program returns 1 along with an error message indicating no connection was found and giving details of the specified connection.
Required File Check
The program eServicecommonTrigcRequiredFormat_if.tcl can check to see if any files are checked in to the:
- Selected object
- Selected object for the default format
- Selected object for a specified format
Arguments:
Argument |
Argument Name |
Description and Inputs |
1 |
sSearchKey |
Specifies the format(s) to check for. The argument accepts three values: list--Check formats listed in lFormatPropertyList argument. default--Check only default format of selected object. all--Check all the formats supported by selected object. |
2 |
lFormatPropertyList |
This argument has meaning only if sSearchKey is set to "list". The argument accepts a list of the symbolic names for of the formats to check for. For example, {format_Word format_generic ?}. |
3 |
bSizeCheck |
Checks whether the size of checked in files is 0 bytes. The argument accepts two values: True--The program checks the size of all the checked files (of the format specified by the sSearchKey argument) and fails if all the checked in files are 0 bytes. False--The program does not check the file sizes. |
Returns:
- If bSizeCheck is False and:
The program finds a checked in file of the specified format, it returns 0 for success.
The program does not find a checked in file of the specified format, it returns 1 along with an MQL message that explains the reason for failure.
- If bSizeCheck is True and:
The program finds a checked in file of the specified format and the checked in files are not 0 bytes, it returns 0 for success. The program does not find a checked in file of the specified format or the checked in files are all 0 bytes, it returns 1 along with an MQL message that explains the reason for failure.
Check Relative State
The trigger program eServicecommonCheckRelState_if.tcl is a check trigger for a promote event. It searches a specified relationship looking for a specified object type and determines if all of the objects found are at the minimum acceptable state that has been specified.
Arguments:
Argument |
Argument Name |
Description and Inputs |
1 |
sRelationship |
The relationship type to search for. If the argument input is null, the program checks all the relationships in the direction specified for sDirection. If the specified relationship is not assigned to the target object type, the program returns a FAIL. |
2 |
sTargetObject |
The object type to search for at the other end of the relationship. If null, the program checks all the objects that can be reached through the relationship specified for sRelationship. |
3 |
sTargetState |
The state the target objects should be in. If the specified state is not a valid state defined for the target object, then the program returns a FAIL. |
4 |
sDirection |
The direction to search for. The program accepts three values: TO, FROM, BOTH. If null, the program searches in the FROM direction. |
5 |
sComparisonOperator |
The operator the program should use for checking the target state. The values are: LT (Less Than)--The program returns a FAIL if the target object is in a state greater than the target state. GT (Greater Than)--The program returns a FAIL if the target object is in a state less than the specified state. EQ (Equal)--The program returns a FAIL if the target object is in a state other than the specified state. LE (Less Than Or Equal)--The program returns a FAIL if the target object is in a state greater than or equal to the specified state. GE (Greater Than Or Equal)--The program returns a FAIL if the target object is in a state less than or equal to the specified state. NE (Not Equal)--The program returns a FAIL if the target object is in the specified state. If null, the program uses EQ. |
6 |
sObjectRequirement |
A flag that specifies whether the object is required or optional. The values are: Required and Optional. If null, the program uses Optional. |
Returns:
Pass if all objects are in the minimum required state. Otherwise, the program returns fail. The specific conditions for passing and failing depend on the Comparison Operator.
For example, suppose the comparison operator is LT (less than) and the target object has states defined as A, B, and C.
If the target state is: |
And the current state is: |
The program returns: |
A |
A, B, C |
fail |
B |
A |
pass |
B |
B, C |
fail |
C |
A, B |
pass |
C |
C |
fail |
Now suppose the comparison operator is EQ (equals).
If the target state is: |
And the current state is: |
The program returns: |
A |
A |
pass |
A |
B, C |
fail |
B |
A, C |
fail |
B |
B |
pass |
C |
C |
pass |
C |
A, B |
fail |
Valid Revision Sequence
The program eServiceValidRevisionChange_if.tcl is a check trigger for a create event. This program ensures the revision sequence is maintained for a business object by not allowing an object to be created if there is an existing object of the same type and name and of any revision.
Arguments:
The program accepts no arguments.
Returns:
If the program finds no object of the same type and name (with any revision), it returns zero and the object is created. If the program finds an object of the same type and name with any revision, the program returns a non-zero value, prevents the create event, and shows a message telling the user to use Object>New>Revision instead of Object>New>Original.
Relative Float Action
The program eServicecommonRelativeFloatAction_if.tcl is a promote action trigger. When an object is promoted, the program gets the previous revision of the object and floats all the specified relationships in the specified direction.
Arguments :
Argument |
Argument Name |
Description and Inputs |
1 |
sRel |
The relationship to float. Must be the symbolic name (for example, relationship_PartRule). |
2 |
sDirection |
The relationship direction to float. Accepts three values: from, to and both. |
3 |
sOperation |
A flag that specifies which revision of the object to look for. It accepts two values: PREVIOUS, LATEST |
4 |
sState |
If argument 3 is LATEST, this argument should specify the state in which the latest revision should be. It is passed in as the symbolic name for a state (for example, state_Release). |
Processing:
Suppose there are four versions for an object A: A1, A2, A3 and A4. The trigger gets fired when A4 is promoted to its next state. If the third argument input is LATEST, the trigger program finds the LATEST revision for A that is in the state specified by the fourth argument. If the third argument is PREVIOUS, the program gets the previous revision, which is A3. It then traverses through the relationship specified in argument 1 in the direction specified by argument 2 and gets all the connected objects, then connects them to A4.
Set Originator Attribute
The Java Program Object emxcommonSetOriginator_if is an action program for create and revise events. The program sets the Originator attribute value to the name of the current user. The program looks up the actual Originator attribute name because the customer could change name of the attribute.
When the trigger program runs, it retrieves the necessary environment variables, such as TYPE, NAME, REVISION, VAULT, USER, EVENT, NEWREV, and APPREALUSER. Because creation is often done as the Shadow Agent person, the program checks the environment variable APPREALUSER. If set, it is used instead of USER for setting the originator.
Two eService Trigger Program Parameters objects that call this trigger program are installed with ENOVIA Business Process Services. These objects call the program whenever any type is created or modified. See Triggers for All Types.
Arguments:
Argument |
Argument Name |
Description and Inputs |
1 |
attrName |
The symbolic name for the attribute that is to be populated. |
Returns:
0 for success; non-zero for failure.
Triggers for All Types
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
T: TypeAllCreateAction R: PopulateOriginator |
emxTriggerManager, which calls emxcommonSetOriginator_if For information on this trigger program, see Set Originator Attribute. |
Store user's name in Originator attribute |
T:TypeAllReviseAction R: Copy Images |
emxImageManager copyImagesOnRevise |
When an object is revised, any connected images are copied to the new revision. |
T:TypeAllReviseAction R: PopulateOriginator? |
emxTriggerManager, which calls emxcommonSetOriginator_if For information on this trigger program, see Set Originator Attribute. |
Store user's name in Originator attribute |
Triggers for Decisions
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N:APPDecisionReleaseNotificationAction R:APPDecisionReleaseEvent |
emxSubscriptionUtil; see Configuring Subscription Events |
Sends a notification to subscribed users when a decision is promoted from the Active or Release states. |
N:APPDecisionReviseNotificationAction R:APPDecisionReviseEvent |
emxSubscriptionUtil; see Configuring Subscription Events |
Sends a notification to subscribed users when a decision is revised. |
N:APPDecisionOwnerChangeNotificationAction R:APPDecisionOwnerChangeEvent |
emxSubscriptionUtil; see Configuring Subscription Events |
Sends a notification to subscribed users when the owner of a decision is changed. |
N:APPDecisionAttachedToObjectNotificationAction R:APPDecisionAttachedToObjectEvent |
emxSubscriptionUtil; see Configuring Subscription Events |
Sends a notification to subscribed users when a decision is attached to an object. |
Triggers for DOCUMENTS
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: TypeDOCUMENTSModifyAction R: Doc Modified |
emxNotificationUtil objectNotification method |
Sends a notification to subscribed users when the listed event (as indicated by the revision) occurs for an object in the DOCUMENTS type hierarchy. |
N: TypeDOCUMENTSDeleteCheck R: Doc Deleted |
N: TypeDOCUMENTSReviseAction R: Doc Revised |
N: TypeDOCUMENTSCheckoutAction R: Doc Content Checkout |
N: TypeDOCUMENTSCheckinCheck R: Non Common Doc Content Added |
N: TypeDOCUMENTSCheckinCheck R: Non Common Doc Content Modified |
T: TypeDocumentDeleteCheck R: Unfloat Relationships |
eServicecommonTrigcUnfloatRels_if.tcl |
When the latest revision of a document is deleted, this trigger fires and moves all connections from the deleted document to the previous revision. For example, if the deleted version has messages and subscriptions connected to it, these items are connected to the previous version to prevent losing messages and subscriptions when a version is deleted. If there is no previous version, then the connected items are lost. |
T: TypeDocumentReviseAction R: FloatRouteDocument |
emxDocument floatRouteDocument method |
When a new revision of a document is checked in, this trigger connects the new revision to routes that contain the previous document revision and disconnects the previous revision. The trigger makes these changes only for routes that are in the Define or In Process states. |
T: TypeRelationNotificationAction R: IEFNotification |
IEFTransactionNotificationUtil transactionNotifications |
Used for SolidWorks notifications only when a transaction requires a notification. Installed in the inactive state and activated when SolidWorks integration is installed. |
Triggers for Engineering Changes
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: PolicyEngineeringChangeStateEvaluatePromoteAction R: CreateReviewerRoute |
emxCommonEngineeringChange createRoute method |
Creates a state-based route using the Route Template connected to the Engineering Change object by the EC Reviewer List relationship. If there is no Reviewer List attached to it, a default route with no tasks or persons attached to it is created. |
N: PolicyEngineeringChangeStateReviewPromoteCheck R: CheckIncompleteRoute |
emxCommonEngineeringChange checkIncompleteRoute method |
Checks for any unfinished review routes when and engineering change is manually promoted to the Approved state by owner. |
N: PolicyEngineeringChangeStateReviewPromoteAction R: NotifyOnApproval |
emxCommonEngineeringChange notifyOnApproval method |
Sends the notification to the owner and assignees of the Engineering Change that EC has been approved |
N: PolicyEngineeringChangeStateApprovedPromoteAction R: AutoReviseAffectedItems |
emxCommonEngineeringChange autoReviseAffectedItems method |
Automatically revises the Affected Items if following two conditions are satisfied: The attributes on the relationship EC Affected Item are as follows: Requested Change = Release The affected item is revisionable and the next revision does not exist. These new revisions will be connected to the Engineering Change as Implemented Items. |
N: PolicyEngineeringChangeStateValidatePromoteCheck R: CheckTestCase |
emxCommonEngineeringChange checkTestCase method |
Checks for at least one Test Case connected to EC if the Force Validation attribute is enabled. |
N: PolicyEngineeringChangeStateValidatePromoteCheck R: CheckValidationStatus |
emxCommonEngineeringChange checkValidationStatus method |
Checks whether the last Test Execution Object is in 100% passed (i.e "Percentage passed" attribute is 100). |
N: PolicyEngineeringChangeStateValidatePromoteAction R: NotifyOwnerOnPromote |
emxCommonEngineeringChange notifyOwnerOnPromote method |
Notifies the EC Owner if the promotion is done by QE Manager. |
N: PolicyEngineeringChangeStateValidatePromoteAction R: CreateApprovalRoute |
emxCommonEngineeringChange createApprovalRoute method |
Creates a state-based route using the Route Template connected to the Engineering Change object by the "Object Route" relationship with the "Route Base Purpose" as "Approval". If there is no Approval List connected to the EC then a default route will be created with no tasks. |
N: PolicyEngineeringChangeStateFormalApprovalPromoteCheck R: CheckIncompleteRoute |
emxCommonEngineeringChange checkIncompleteRoute method |
Checks for any unfinished approval routes when the EC is manually promoted to the Complete state by the owner. |
N: PolicyEngineeringChangeStateFormalApprovalPromoteAction R: NotifyDistributionListMembers |
emxCommonEngineeringChange notifyDistributionListMembers method |
Using the related Member List all the members will be notified that the EC has been approved. |
N: PolicyEngineeringChangeStateFormalApprovalPromoteAction R: ReleaseImplementedItems |
|
Promotes all the implemented items to the release state when the EC is promoted to the complete state. |
N: TypeEngineeringChangeChangeOwnerAction R: NotifyOwner |
emxCommonEngineeringChange notifyOwner method |
When the owner of the Engineering Change is changed, sends a notification to the new owner. |
N: RelationshipECReportedAgainstCreateAction R: NotifyReportedAgainstOwner |
|
Notifies the owner of the Reported Against Item when the Reported Against Item is connected to the EC. |
N: RelationshipECAffectedItemCreateAction R: NotifyAffectedItemOwner |
|
Notifies the owner of the Affected Item when the Affected Item is connected to the EC. |
N: RelationshipECImplementedItemCreateAction R: NotifyImplementedItemOwner |
|
Notifies the owner of the Implemented Item when the Implemented Item is connected to the EC. |
N: RelationshipAssignedECCreateAction R: NotifyAssignee |
|
Notifies when the new Assignee is added to the Engineering Change. |
Triggers for Folders and Content
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
T: RelationshipVaultedDocumentsRev2CreateAction R: emxWorkspaceConstantsJPO |
emxWorkspaceConstants inheritAccess method |
When an object is added to a workspace, all users who have access to the workspace are granted access to the object. |
T: RelationshipVaultedDocumentsRev2DeleteAction R: emxWorkspaceConstantsJPO |
emxWorkspaceConstants revokeAccess method |
When an object in a workspace is removed, this trigger revokes the access to that object from all workspace users. |
T: TypeWorkspaceVaultGrantAction R: emxWorkspaceFolderJPO |
emxWorkspaceFolder grantWorkspaceFolderAccess method |
When a person is granted access to a folder, this trigger grants the person access to the folder's content and its subfolders. |
T: RelationshipVaultedObjectsCreateAction R: UpdateCountOnConnectDisconnect |
eServiceUpdateCountOnConnectDisconnect.tcl |
Updates the content count shown in the expandable list for folders and subfolders whenever a document or non-document (RFQs, Quotations, etc.) item is added or removed from a folder or subfolder. The count includes all subfolders under the folder. |
T: RelationshipVaultedObjectsCreateAction R: emxWorkspaceConstantsJPO |
emxWorkspaceConstants inheritAccess method |
When an item is added to a folder, this trigger grants all accesses for the folder to the added item. |
T: RelationshipVaultedDocumentsDeleteAction R: UpdateCountOnConnectDisconnect |
eServiceUpdateCountOnConnectDisconnect.tcl |
When an item is removed from a folder, this trigger revokes granted accesses for the item. |
T: RelationshipVaultedDocumentsDeleteAction R: emxWorkspaceconstantsJPO |
emxWorkspaceConstants revokeAccess method |
When an object in a workspace is removed, this trigger revokes the access to that object from all workspace users. |
T: RelationshipSubVaultsCreateAction R: emxWorkspaceConstantsJPO |
emxWorkspaceConstants inheritAccess method |
When a subfolder is added to a folder, this trigger grants all accesses inherited from the parent folder. |
T: TypeRelationNotificationAction R: IEFNotification |
IEFTransactionNotificationUtil transactionNotifications |
Used for SolidWorks notifications only when a transaction requires a notification. Installed in the inactive state and activated when SolidWorks integration is installed. |
Triggers for Image Holders
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: TypeImageHolderCheckinAction R:UploadProcessCADFile |
emxImageManager uploadProcessCADFiles method |
When a CAD format file is checked into an Image Holder object, generates or fetches a jpg image to check into the appropriate formats. If a .cgr file is checked in, it is converted to .3dxml which creates a zipped vresion of the file and contains manifest.xml, .3Drep file (containing the cgr file contents), and .3dxml file with the header information. The default 3D image is checked into the appropriate image formats. If a .3dxml file with an embedded jpg is checked in, the embedded jpg is fetched using tar/unzip, and the jpg is checked into the appropriate image formats. If a .3dxml file without an embedded jpg is checked in, then the default 3D image as defined in the emxComponents.properties file is checked into the appropriate image formats. |
N: RelationshipImageHolderDeleteAction R: Delete Image Holder Object |
emxImageManager deleteImageHolder method |
Deletes the Image Holder object when the object it is associated with is deleted. |
Triggers for Issues
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: TypeIssueModify R: NotifyOnModify |
emxNotificationUtil objectNotification method |
Sends a notification when the issue is modified. |
T: TypeIssueChangeOwnerAction R: NotificyOwner |
emxCommonIssue notfiyOwner method |
When the owner of an issue is changed, sends a notification to the new owner. |
T: PolicyIssueStateCreatePromoteCheck R: CheckEstimatdeDates |
emxCommonIssue checkEstimatedDates method |
Verifies that the Estimated Start Date and Estimated End Date attributes have been populated prior to promoting the Issue. |
T: PolicyIssueStateCreatePromoteAction R: NotifyOriginator |
emxCommonIssue notifyOriginator method |
When an issue is promoted from the Create state, sends a notification to the issue owner. |
T: PolicyIssueStateAssignPromoteAction R: SetActualStartDate |
emxCommonIssue setActualStartDate method |
When an issue is promoted from Assign to Active, sets the value of the Actual Start Date attribute to the current date. |
T: PolicyIssueStateActiveDemoteAction R: RemoveActualStartDate |
emxcommonIssue removeActualStartDate method |
If an issue is demoted from the Active to Assign state, the Actual Start Date attribute is cleared. |
T: PolicyIssueStateReviewPromoteOverride R: SetActualEndDate |
emxCommonIssue setActualEndDate method |
When promoted from Review to Close, enters the current date as the value for the Actual End Date attribute. |
T: PolicyIssueStateReviewPromoteCheck R: CheckCloseAttributes |
emxCommonIssue checkCloseAttributes method |
When promoted from Review to Close, verifies that all required attributes have been entered. |
T: PolicyIssueStateReviewPromoteAction R: SendClosingMail |
emxCommonIssue sendClosingMail method |
When promoted to Close, a notification is sent to the issue originator |
T: PolicyIssueStateCloseDemoteAction R: RemoveActualEndDateNotifyOriginator |
emxCommonIssue removeActualEndDateNotifyOriginator |
When demoted from Close to Review, the value for the Actual End Date attribute is cleared and a notification is sent to the issue originator. |
Triggers for Meetings
eService Trigger Program Parameters Object Name and Revision |
Trigger Program and JPO Method |
Description of Action |
T: PolicyMeetingStateCreatePromoteAction |
eServicecommonTrigaNotifyMeetingInvitation_if.tcl |
When a person promotes a meeting to the Scheduled state, the system sends email to each attendee. The email lists the meeting host (person who scheduled the meeting), meeting description, and the meeting date and time. |
T: PolicyMeetingStateInProgressPromoteAction |
eServicecommonTrigaCleanupMeetingConnections_if.tcl |
When a meeting ends, the system promotes it from In Progress to Complete. |
Triggers for Organizations, Companies, Business Units, and Locations
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: TypeCompanyCreateAction R: Set Company Key |
emxKeyUtil generateAndSetKey method |
Create unique company key for company and set as Primary Key. |
N: TypeCompanyChangeNameAction R: RenameAdminRole |
emxOrganization updateAdminRoleForOrganization method |
Whenever the name of the company, business unit or department is modified, changes the administrative role created for the company. |
N: TypeCompanyChangeNameAction R: Update Company Group Name |
eServicecommonTrigaSyncAdminObjectName_if.tcl |
Whenever the name of the company, business unit or department is modified, changes the group name to match (if configured). |
N: TypeOrganizationCreateOverride R: CreateAdminRole |
emxOrganization:createAdminRoleForOrganization |
When a Company, Business Unit, or Department is created, this trigger creates a role with the name of the object that fired the trigger. For example, if a Department named Engineering is created, a role named Engineering is also created. |
N: TypeOrganizationChangeNameAction R: RenameAdminRole |
emxOrganization:updateAdminRoleForOrganization |
When the name of a Company, Business Unit, or Department object is changed, this trigger changes the name of the associated role. |
N: RelationshipOrganizationLocationCreateAction R: Set Company Key |
emxKeyUtil setToKey method |
Set company key as Primary Key. |
N: RelationshipDivisionCreateAction R: Set Company Key |
emxKeyUtil setToKey method |
Set company key as Primary Key. |
N: RelationshipDivisionCreateAction R: InheritParentAdminRole |
emxOrganization:inheritParentAdminRoleOfOrganization |
When a relationship is made between a Company/Business Unit (the parent) and a Business Unit (the child), this trigger makes the role for the Company/Business Unit the parent of the role for the child Business Unit. For example, if Company ABC is connected to Business Unit DEF, then role ABC becomes the parent of role DEF. |
N:RelationshipCompanyDepartmentCreateAction R: InheritParentAdminRole |
emxOrganization:inheritParentAdminRoleOfOrganization |
When a relationship is made between a Company/Business Unit (the parent) and a Department (the child), this trigger makes the Admin Role for the Company/Business Unit the parent of the Admin Role for the child Department. For example, if Company ABC is connected to Department Engineering, then role ABC becomes the parent of role Engineering. |
N; TypeOrganizationCreateOverride R: CreateAdminmxUserOrganization |
emxOrganization createAdminUserOrganizationForOrganization |
When an organization business object is created, this trigger creates an organization administrative object with the same name. Used with VPM; installed as inactive. |
N: RelationshipDivisionCreateAction R: InheritParentAdminmxUser |
emxOrganization inheritParentAdminUserOrganizationOfOrganization |
When a division is created for (and thus connected to) an organization, this trigger creates a child mxUser of the parent's mxUser so that the mxUser hierarchy matches the organization hierarchy Used with VPM; installed as inactive. |
N:RelationshipCompanyDepartmentCreateAction R: InheritParentAdminmxUser |
emxOrganization inheritParentAdminUserOrganizationOfOrganization |
When a business unit or department is created for (and thus connected to) an organization, this trigger creates a child mxUser of the parent's mxUser so that the mxUser hierarchy matches the organization hierarchy. Used with VPM; installed as inactive. |
N: TypeOrganizationChangeNameAction R: RenameAdminmxUser |
emxOrganization updateAdminUserOrganizationForOrganization |
When you change the name of an organization, this trigger also changes the associated mxUser object to match. Used with VPM; installed as inactive. |
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 |
Triggers for Packages
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. |
Triggers for Persons
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: TypePersonChangeNameAction R: syncPersonAdminObject |
emxPerson syncPersonAdminObject method |
When the name of a Person business object changes, the name of the corresponding person administration object is updated to match. If the Full Name format, as defined in emxFramework.FullName.Format, contains <User Name>, update the Full Name field. *Input Arguments: Arg[0] = ${EVENT} Arg[1] = ${NAME} Arg[2] = ${NEWNAME} |
N: TypePersonChangeVaultAction R: Action trigger fired for Person vault change |
emxperson updateAdminPersonDefaultVault method |
When the business object person's vault is changed, this trigger changes the administrative object for that person to match. |
N: TypePersonModifyAttributeOverride R: Override Trigger fired for Attribute change on Person |
emxPerson overrideAdminPersonAttributes method |
Updates the attributes of an administrative Person object to match the values entered for the business Person object. |
N: TypePersonModifyAttributeAction R: Action Trigger fired for Attribute change on Person |
emxPerson updateAdminPersonAttributes method |
Updates the attributes of an administrative Person object to match the values entered for the business Person object. |
N: AttributeFirstNameModifyOverride R: syncPersonAdminObject |
emxPerson syncPersonAdminObject method |
If a person's First Name is changed and the Full Name format, as defined in emxFramework.FullName.Format, contains <First?Name>, update the Full Name field on the person administration object. *Input Arguments: Arg[0] = ${EVENT} Arg[1] = ${NAME} Arg[2] = '' Arg[3] = ${ATTRNAME} Arg[4] = ${ATTRVALUE} Arg[5] = ${NEWATTRVALUE} Input arguments for the person name change triggers: Event is changeName or modifyAttribute Name is the person business object name AttrName is Last Name or First Name AttrValue is value on the Last Name or First Name. |
N: AttributeLastNameModifyOverride R: syncPersonAdminObject |
emxPerson syncPersonAdminObject method |
If a person's Last Name is changed and the Full Name format, as defined in emxFramework.FullName.Format, contains <Last?Name>, update the Full Name field on the person administration object. Input Arguments are same as above trigger. |
N: RelationshipEmployeeCreateAction R: addMemberRelationship |
emxCompany addMemberRelationship method |
When a person is connected as an employee to a company, this trigger makes sure a member relationship is also created and its roles parameter are filled in with all of the person's roles. |
N: RelationshipEmployeeCreateAction R: Set Company Key |
emxKeyUtil setCompanyKey method |
Set company key as Primary Key. |
N: RelationshipEmployeeCreateAction R: Notify New Employee |
eServicecommonTrigaNotifyNewEmployee_if.tcl |
This program connects the person business object to the company using the Employee relationship and sends iconmail and/or email to the Company Representatives when an Employee is connected to a Company. |
N: RelationshipEmployeeCreateAction R: Assign Person to Company_Role Group |
emxCompany assignPersonToGroups method |
If configured to use company groups, this trigger adds a new employee to the company group. |
N: AttributeEmailAddressModifyOverride R: Notify Email Change |
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: 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: 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. |
Triggers for Quotations
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, Name and Revision |
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 |
Triggers for RFQs
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 |
Triggers for Routes and Tasks
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
N: PolicyRouteStateDefinePromoteAction R: Initiate Route |
emxCommonInitiateRoute InitiateRoute method |
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. Changes the Route Status attribute to Started. Set the Current Route Node attribute to 1. |
N: PolicyRouteStateDefinePromoteAction R: PublishRouteStartedConnectedtoDocument |
emxCommonDocument handleSubscriptionEvent method |
Sends a notification to subscribers to the start route event. |
N: PolicyRouteStateDefinePromoteAction R: RouteStarted |
emxNotificationUtil objectNotification method |
Sends a notification to persons with pending tasks. |
N: PolicyRouteStateInProcessPromoteAction R. PublishRouteCompletedConnectedtoDocument |
emxCommonDocument handlSubscriptionEvent |
Sends a notification to subscribers to the route completed event. |
N: PolicyRouteStateInProcessPromoteAction R: Route Completed |
emxNotificationUtil objectNotification method |
Sends a notification to the route owner that the route has been completed. |
N: RelationshipRouteNodeCreateAction R: populateRouteNodeId |
emxRoute populateRouteNodeId method |
Populates Route Node Id attribute on relationship Route Node. |
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. |
N: RelationshipRouteScopeDeleteCheck R: emxWorkspaceConstantsJPO |
emxWorkspaceConstants revokeAccess method |
When a person is removed from a route, this trigger revokes the person's access to the route. |
N: PolicyInboxTaskStateAssignedPromoteAction R: Complete Task |
emxInboxTask triggerActionPromoteOnAssignedState method |
Sends notification to the Route Owner if a task needs to be reviewed, else promotes to complete. |
N: PolicyInboxTaskStateAssignedPromoteAction R: Complete Task Notification |
emxNotificationUtil CreateNotification method |
Sends a notification to the person that a task has been completed. |
N: PolicyInboxTaskStateReviewPromoteAction R: Review Completion |
emxInboxTask triggerActionPromoteOnReviewState method |
Sends a notification to the task assignee informing her/him of the review completion. |
N: PolicyInboxTaskStateReviewPromoteAction R: Complete Task |
eServicecommonTrigcCompleteTask_if.tcl |
When a person completes a task, the Inbox Task object is promoted from Review 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. |
N: PolicyInboxTaskStateReviewPromoteAction R: CompleteTask |
emxCommonCompleteTask completeTask method |
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. |
N: PolicyInboxTaskStateReviewPromoteCheck R: Check Route Owner |
emxInboxTask triggerCheckPromoteOnReviewState method |
Checks if the user is the route owner, else sends an error message to the user and prevents the promote. |
N: PolicyInboxTaskStateReviewDemoteAction R: Reject Task |
emxInboxTask triggerActionDemoteOnReviewState method |
Sends a notification to the task assignee informing of the rejection of the task. |
N: PolicyInboxTaskStateReviewDemoteAction R: Reject Task Notification |
emxNotificationUtil createNotification method |
Sends a notification to the task assignee informing of the rejection of the task. |
Triggers for Workspaces
This table lists the triggers for workspaces.
eService Trigger Program Parameters Object, Name and Revision |
Trigger Program and JPO Method |
Description of Action |
T: TypeProjectCreateAction R: SetCompanyKeyOnWorkspace |
emxKeyUtil setCompanyKeyFromRPE method |
Sets the primary key attribute of the Workspace. |
T: TypeWorkspaceGrantAction R: emxWorkspaceJPO |
emxWorkspace grantWorkspaceAccess method |
Grants access to the folders in the workspace to users added to the workspace. |
T: TypeProjectManagementDeleteOverride R: deleteReferences |
emxCommonProjectManagement triggerDeleteOverride method |
When a Project is deleted, this trigger deletes any associated assessments, risks, financial items, tasks, and so on. |
T: RelationshipProjectMembersCreateAction R: emxWorkspaceJPO |
emxWorkspace grantMemberAccess method |
When a person is added to a workspace, this trigger grants Read and Show access to the workspace. |
T: TypeProjectMemberDeleteCheck R: emxWorkspaceJPO |
emxWorkspace revokeAllAccess method |
When a person is removed from a workspace, this trigger revokes the person's granted accesses to the workspace and all children objects (folders, content, routes). |
T: TypeRelationNotificationAction R: IEFNotification |
IEFTransactionNotificationUtil transactionNotifications |
Used for SolidWorks notifications only when a transaction requires a notification. Installed in the inactive state and activated when SolidWorks integration is installed. |
|