Trigger Configuration
The trigger configuration is a central aspect for integration of Product 360 with 3rd party systems. Multiple events are available which can be used to configure a specific trigger. When the trigger fires, the payload is sent either to an Informatica BPM (aka ActiveVOS) rest endpoint, or to an arbitrary message queue. For more details on the message queue api, please see it's documentation.
Besides the integration use case triggers are also used to execute data quality rules. Details for this use case can be found in the data quality knowledge base. It's important to note that the documentation about the events and conditions applies to both use cases!
General
A trigger configuration has three aspects. The event, a list of conditions and the communication target. The event defines the general event like "an object has been created", or an "export has been finished". Conditions provide event specific rules that need to be met in order for the trigger to fire. The communication target defines the endpoint of the trigger, the target.
Create configuration
Click on "Management >> Business process Management " menu tab , and it will open a new window to define the configuration of a trigger execution as shown in below screenshot.
You need to right click on any of the events in the tree and the popup window will provide you the "Add configuration" menu entry
Once you click "Add configuration" it will open below configuration page. You need to provide the name for the trigger configuration that you are going to create.
The above trigger configuration window is showing three sections (from left to right)
Event selection
Condition configuration
Target configuration
Defines the communication target as well as the payload type
Conditions
This section provides conditions which must be met in order for the trigger to fire. All condition which is selected (checkbox) must evaluate to true. Single options might have an OR logic within the option. This is typically true for multi-select options where either one of the selected options must be true. Different conditions must all be true thou
The available conditions are dependent on the event which has been chosen. Many of the conditions are available for multiple events if not for all of them.
All Events
These conditions are available for all events
Inactive
If this condition is checked , the trigger configuration will be deactivated and will not fire.
Trigger configuration can be activated after removing this check
Users
This condition gives option to filter out the users for which trigger will be executed. The below screenshot is showing that trigger configuration has chosen for two users - admin and Administrator, but not testUser. So trigger will be executed for admin and Administrator users only. Trigger will not be fired for any changes for user, testUser.
User groups
This condition gives option to filter out trigger execution for user groups. Trigger will be executed only for selected user groups.
Catalog
This condition gives option to filter out the trigger execution for catalogs containing the created entity.
Suppliers
This condition will give option to filter out the trigger execution for suppliers of the supplier catalog.
(Not available for Export Started)
Entity Created, Entity Changed, Entity Deleted
Additional conditions for create, change and delete of entity items
Root Entities must have Audit Trail Settings
Ensure that Audit Trail Settings is present for a root entity in the repository. If this parameter is not present then triggers will not fire for this entity or any of its corresponding field changes. Audit Trail is a mandatory feature in order to guarantee the execution of triggers even in high load or critical situations.
Data Types
This condition gives option to filter out trigger execution for different data types. Multiple data types can be selected , and trigger will be executed for those selected data types.
Initiators
This condition gives an option to filter the trigger execution by an initiator of the entity creation/modification. Example - if user chooses "Service API" then the trigger will be executed only for entity creation/modification through Service API. The initiators are not only used for setting up trigger rules, but also persisted within the Audit Trail change document and visible in the Audit Trail user interface. So a user can always see which particular initiator triggered the modification to understand the changes better.
Module Identifier |
Module Label |
Description |
CUSTOMIZING |
Customizing |
Can be used from within customized code contributions to differentiate from other initiators. The customization should in general use the correct initiator depending on where it is located. So, in case the import logic is customized, "Import" should be provided as initiator from within the customization. However, there might be implementations which are rather independent. A custom job should use the "Customizing" initiator. |
ENVIRONMENT_TRANSFER |
Environment transfer |
Is used if the environment transfer framework creates or modifies an entity record. The environment transfer framework is executed with the "Extract/Integrate Environment" capability of Product 360. |
IMPORT |
Import |
Is used if the import initiated the creation/modification of an entity record. |
MERGE |
Merge |
Is used if the merge operation initiated the creation/modification of an entity record. |
MIGRATION |
Migration |
Is used for an Audit Trail data migration tasks. This is solely to capture the migration of audit trail data from the previous SQL storage to the document-based storage in Elasticsearch (since 10.1). |
REVISION |
Revision |
Is used if an entity record is added/updated to/in a specific version (revision). |
SERVICEAPI |
Service API |
Is used if an entity record is created/modified via direct Service API operation (typically List API). It's not used when an import is scheduled via the service api. In this case "Import" is used. |
UI |
User |
Is used if a user directly triggered the event from within the user interface of Product 360. |
OTHER |
Other |
Is used if none of the other initiator modules matches the action (e.g. some select system jobs). In case there would be no initiator module provided when the object is persisted, "Other" is used as fallback as well (e.g. customized code contributions which have not been updated to the new API will use "Other" as fall back by default until adjusted again). |
Other vs. User vs. UI
In versions prior the release of 10.1 there was no "Other" initiator visible in the trigger configuration. That means previously "User" has been persisted as "OTHER" as there was no explicit "User" element prior Product 360 10.1. As the initiator module is now also visualized within the Audit Trail history views, we wanted to clean this up and clarify which action has been triggered from within the applications GUI. For this we introduced the new initiator "UI" which is labeled as "User".
If upgrading from a release prior 10.1, all trigger configurations which have been configured for the "User" initiator will still appear as "Other", given the above. We strongly recommend checking all trigger configurations accordingly to adjust them if needed.
Entity Created, Entity Changed
Modification Fields
Field must supports Audit Trail
If a field is not recorded for audit trail (because it's supportAuditTrail setting is set to false in the repository) it will not be part of the change summary structure which is used for the Modified Fields condition. This condition will therefore never be true for these fields. Please note that the field selection dialog of the modified fields condition will not provide these fields so this limitation might only be relevant for pre-exiting configurations.
Modification fields provides option to filter out trigger execution. At least one of the fields need to be modified for the trigger rule to succeed.
Modifications fields can be chosen in two different ways -
Channel - Channel is combination of multiple fields. Please refer channel section for more details.
Fields :- Individual fields can be selected.
Channel
One or multiple channels can be selected.
Fields
First data type needs to selected and then field Selection . Below sample picture is showing item data has been chosen.
Once you select the data type as shown in above picture then click "Field Selection" , and it will popup new field rule conditions. ( As shown in below picture)
Click ok after selecting fields that you want to chose for executing trigger. After clicking ok Modified fields will look like as below picture.
Import Completed
Import mapping
The trigger will fire if the given import mapping is used (works only with server side persisted import mappings)
Purpose of import mapping
Trigger will fire if the import mapping has the given purpose
Export Started
Export profile
The trigger will started if the defined profile is used
Export format template
The trigger will be started when the given format template is used
Export variable
The trigger will only fire when the export has the defined parameter with the given value
Trigger Target
The target section provides specific settings based on the communication protocol to be used.
Communication
Communication section, defines the protocol and details on endpoints.
Either Message Queue or Rest based. Please have a closer look at the Message Queue API documentation in which we described how the Product 360 server needs to be configured so this communication option is available.
Queue
The message queue as configured in the server properties (also here see the Message Queue API documentation). There can be multiple queues configured.
Service endpoint
The name of the service endpoint. The Informatica BPM MQ Integration uses this parameter to route the message payload to the correct workflow. 3rd party applications can use this parameter for similar reasons.
Payloads
Payloads are also event specific. Some events provide multiple payload types to chose from
Item Created, Item Changed
For Item Created and Item Changed there are three different payload types to choose from. The payload for an entity change event will contain details about only the changed field, while entity created payload will have all the sub-entities and fields with which item is created.
Object and Change Meta
This payload contains information about meta attributes as defined in the Entity item change document (and below) but does not contain any information about _current and _old values.
Meta Attribute |
Description |
_module |
defines which area of the application has triggered the modification. Possible values are IMPORT, MERGE, CLONE, SERVICEAPI, REVISION, ENVIRONMENT_TRANSFER, UI, OTHER |
_entity |
root entity which is changed |
_identifier |
external identifier of the entity item |
_user |
entity item of the user which executed the CRUD operation.
|
_revision |
the revision in which the operation has been performed |
_container |
the container of the root entity record |
_entityItem |
the root entity record's proxy information
|
_eventTimestamp |
timestamp at which this document is created |
_changeType |
the change type of the entity record. Every entity record has a change type.
|
_changedFields |
an array of fields which got changed (fields are without qualifications) |
_changedEntities |
an array of entity identifiers which are part of the change summary (but only in case the entity is created, changed or deleted - not for changed_child!) |
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entityId>
11
@1
</entityId>
<entity>Article</entity>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>MyChangeTrigger</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityChanged</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>Allmighty</value>
</entry>
</data>
<entityItemChange>
<_module>UI</_module>
<_entity>Article</_entity>
<_identifier>Article_1603223965867005</_identifier>
<_user>
<entityId>
2600
</entityId>
<externalId>
'testUser'
</externalId>
<internalId>
100
</internalId>
</_user>
<_revision>
<entityId>
5600
</entityId>
<externalId>
'root'
</externalId>
<internalId>
1
</internalId>
</_revision>
<_container>
<entityId>
2900
</entityId>
<externalId>
'MASTER'
</externalId>
<internalId>
1
</internalId>
</_container>
<_entityItem>
<entityId>
1000
</entityId>
<externalId>
'Article_1603223965867005'
@
'MASTER'
</externalId>
<internalId>
11
@1
</internalId>
</_entityItem>
<_eventTimestamp>
2020
-
10
-28T14:
36
:
16
.750Z</_eventTimestamp>
<_changeType>CHANGED</_changeType>
<_changedFields>
<_changedField>Article.EAN</_changedField>
</_changedFields>
<_changedEntities>
<_changedEntity>Article</_changedEntity>
</_changedEntities>
</entityItemChange>
</infaBPMRequest>
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entityId>
23
@1
</entityId>
<entity>Article</entity>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>MyCreatedTrigger</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityCreated</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>Allmighty</value>
</entry>
</data>
<entityItemChange>
<_module>UI</_module>
<_entity>Article</_entity>
<_identifier>Article_1603223965881011</_identifier>
<_user>
<entityId>
2600
</entityId>
<externalId>
'testUser'
</externalId>
<internalId>
100
</internalId>
</_user>
<_revision>
<entityId>
5600
</entityId>
<externalId>
'root'
</externalId>
<internalId>
1
</internalId>
</_revision>
<_container>
<entityId>
2900
</entityId>
<externalId>
'MASTER'
</externalId>
<internalId>
1
</internalId>
</_container>
<_entityItem>
<entityId>
1000
</entityId>
<externalId>
'Article_1603223965881011'
@
'MASTER'
</externalId>
<internalId>
23
@1
</internalId>
</_entityItem>
<_eventTimestamp>
2020
-
10
-28T14:
55
:
08
.160Z</_eventTimestamp>
<_changeType>CREATED</_changeType>
<_changedFields>
<_changedField>Article.SupplierAID</_changedField>
<_changedField>Article.MainSupplier</_changedField>
<_changedField>Article.NoCUperOU</_changedField>
<_changedField>Article.PriceQuantity</_changedField>
<_changedField>Article.QuantityMin</_changedField>
<_changedField>Article.QuantityInterval</_changedField>
<_changedField>Article.CurrentStatus</_changedField>
<_changedField>Article.SoldOnlyInKits</_changedField>
<_changedField>Article.KitParent</_changedField>
</_changedFields>
<_changedEntities>
<_changedEntity>Article</_changedEntity>
</_changedEntities>
</entityItemChange>
</infaBPMRequest>
Object and Change Summary
This payload contains information about meta attributes as well as the full changeSummary as defined in the Entity item change document
Data Attribute |
Description |
_changeSummary |
The actual change summary starting from the root entity. It contain an entry from all fields which are changed( present in _changeFields). _old : this is the old value of field before this change. This will not be available for entity created event as it is just created and doesn't have a old value for any field. _current : this is the current value of field after the change. |
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entityId>
11
@1
</entityId>
<entity>Article</entity>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>MyChangeTrigger</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityChanged</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>Allmighty</value>
</entry>
</data>
<entityItemChange>
<_module>UI</_module>
<_entity>Article</_entity>
<_identifier>Article_1603223965867005</_identifier>
<_user>
<entityId>
2600
</entityId>
<externalId>
'testUser'
</externalId>
<internalId>
100
</internalId>
</_user>
<_revision>
<entityId>
5600
</entityId>
<externalId>
'root'
</externalId>
<internalId>
1
</internalId>
</_revision>
<_container>
<entityId>
2900
</entityId>
<externalId>
'MASTER'
</externalId>
<internalId>
1
</internalId>
</_container>
<_entityItem>
<entityId>
1000
</entityId>
<externalId>
'Article_1603223965867005'
@
'MASTER'
</externalId>
<internalId>
11
@1
</internalId>
</_entityItem>
<_eventTimestamp>
2020
-
10
-28T14:
45
:
24
.750Z</_eventTimestamp>
<_changeType>CHANGED</_changeType>
<_changedFields>
<_changedField>Article.EAN</_changedField>
</_changedFields>
<_changedEntities>
<_changedEntity>Article</_changedEntity>
</_changedEntities>
<_changeSummary>
<ObjectNode>
<article>
<_changeType>CHANGED</_changeType>
<_mainSupplierProxy>
<_entityId>
2800
</_entityId>
<_internalId>
3
</_internalId>
<_externalId>
'Heiler Product Manager'
</_externalId>
</_mainSupplierProxy>
<gtin>
<_old>
1234
</_old>
<_current>
123
</_current>
</gtin>
</article>
</ObjectNode>
</_changeSummary>
</entityItemChange>
</infaBPMRequest>
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entityId>
24
@1
</entityId>
<entity>Article</entity>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>MyCreatedTrigger</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityCreated</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>Allmighty</value>
</entry>
</data>
<entityItemChange>
<_module>UI</_module>
<_entity>Article</_entity>
<_identifier>Article_1603223965881012</_identifier>
<_user>
<entityId>
2600
</entityId>
<externalId>
'testUser'
</externalId>
<internalId>
100
</internalId>
</_user>
<_revision>
<entityId>
5600
</entityId>
<externalId>
'root'
</externalId>
<internalId>
1
</internalId>
</_revision>
<_container>
<entityId>
2900
</entityId>
<externalId>
'MASTER'
</externalId>
<internalId>
1
</internalId>
</_container>
<_entityItem>
<entityId>
1000
</entityId>
<externalId>
'Article_1603223965881012'
@
'MASTER'
</externalId>
<internalId>
24
@1
</internalId>
</_entityItem>
<_eventTimestamp>
2020
-
10
-28T15:
00
:
43
.870Z</_eventTimestamp>
<_changeType>CREATED</_changeType>
<_changedFields>
<_changedField>Article.SupplierAID</_changedField>
<_changedField>Article.MainSupplier</_changedField>
<_changedField>Article.NoCUperOU</_changedField>
<_changedField>Article.PriceQuantity</_changedField>
<_changedField>Article.QuantityMin</_changedField>
<_changedField>Article.QuantityInterval</_changedField>
<_changedField>Article.CurrentStatus</_changedField>
<_changedField>Article.SoldOnlyInKits</_changedField>
<_changedField>Article.KitParent</_changedField>
</_changedFields>
<_changedEntities>
<_changedEntity>Article</_changedEntity>
</_changedEntities>
<_changeSummary>
<ObjectNode>
<article>
<_changeType>CREATED</_changeType>
<_mainSupplierProxy>
<_entityId>
2800
</_entityId>
<_internalId>
3
</_internalId>
<_externalId>
'Heiler Product Manager'
</_externalId>
</_mainSupplierProxy>
<identifier>
<_current>Article_1603223965881012</_current>
</identifier>
<noCUperOU>
<_current>
1
</_current>
</noCUperOU>
<priceQuantity>
<_current>
1
</_current>
</priceQuantity>
<quantityMin>
<_current>
1
</_current>
</quantityMin>
<quantityInterval>
<_current>
1
</_current>
</quantityInterval>
<mainSupplier>
<_current>
<_key>
<_entityId>
2800
</_entityId>
<_internalId>
3
</_internalId>
<_externalId>
'Heiler Product Manager'
</_externalId>
</_key>
<_code>Heiler Product Manager</_code>
</_current>
</mainSupplier>
<currentStatus>
<_current>
<_key>
100
</_key>
</_current>
</currentStatus>
<kitParent>
<_current>
false
</_current>
</kitParent>
<soldOnlyInKits>
<_current>
false
</_current>
</soldOnlyInKits>
</article>
</ObjectNode>
</_changeSummary>
</entityItemChange>
</infaBPMRequest>
Legacy payload ( <10.1, deprecated)
This payload is similar to trigger payload prior to 10.1 releases (there was just this payload for triggers). Although this payload is slightly different from the older one (< 10.1). From 10.1, legacy payload will contain fieldChangeInfos object which will depict information about old and new value of all the modified fields in case on entity changed trigger. For entity created trigger, old values will be empty in fieldChangeInfo object.
This payload is provided just to support workflows which are created before 10.1 release. We strongly discourage to use this payload, as new payloads (Object and Change Summary, Object and Change Meta) are much compact, easier to use and provide performance improvement.
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entityId>
1
@1
</entityId>
<entity>Article</entity>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>TriggerShortDescription</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityChanged</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>UserGroup_1624477576996002</value>
</entry>
</data>
<fieldChangeInfos>
<fieldChangeInfo>
<fieldIdentifier>Article.LastModified</fieldIdentifier>
<valueNew>
1633025089610
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>ArticleLang.DescriptionShort</fieldIdentifier>
<valueNew>
12345969966
</valueNew>
<valueOld>
1234596996
</valueOld>
<logicalKeys>
<identifier>ArticleLangType.LK.Res_Text100_01</identifier>
<value>DEFAULT</value>
</logicalKeys>
<logicalKeys>
<identifier>ArticleLangType.LK.Res_Int_01</identifier>
<value>
0
</value>
</logicalKeys>
<logicalKeys>
<identifier>ArticleLangType.LK.EntityId</identifier>
<value xsi:type=
"xs:short"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
1005
</value>
</logicalKeys>
<logicalKeys>
<identifier>ArticleLangType.LK.Channel</identifier>
<value>
<id>
1
</id>
<label>Default Channel</label>
</value>
</logicalKeys>
<logicalKeys>
<identifier>ArticleLangType.LK.Language</identifier>
<value>
9
</value>
</logicalKeys>
</fieldChangeInfo>
</fieldChangeInfos>
</infaBPMRequest>
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entityId>
23
@1
</entityId>
<entity>Article</entity>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>New</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityCreated</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>UserGroup_1624477576996002</value>
</entry>
</data>
<fieldChangeInfos>
<fieldChangeInfo>
<fieldIdentifier>Article.LastModified</fieldIdentifier>
<valueNew>
1633025250040
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.SupplierAID</fieldIdentifier>
<valueNew>Article_1624477577009002</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.NoCUperOU</fieldIdentifier>
<valueNew xsi:type=
"xs:decimal"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
1
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.PriceQuantity</fieldIdentifier>
<valueNew xsi:type=
"xs:decimal"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
1
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.QuantityMin</fieldIdentifier>
<valueNew xsi:type=
"xs:decimal"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
1
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.QuantityInterval</fieldIdentifier>
<valueNew xsi:type=
"xs:decimal"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
1
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.MainSupplier</fieldIdentifier>
<valueNew>
<id>
3
</id>
<label>Heiler Product Manager</label>
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.CurrentStatus</fieldIdentifier>
<valueNew>
100
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.KitParent</fieldIdentifier>
<valueNew xsi:type=
"xs:boolean"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
false
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
<fieldChangeInfo>
<fieldIdentifier>Article.SoldOnlyInKits</fieldIdentifier>
<valueNew xsi:type=
"xs:boolean"
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
false
</valueNew>
<valueOld></valueOld>
</fieldChangeInfo>
</fieldChangeInfos>
</infaBPMRequest>
Entity Deleted
This trigger event only has a single payload, so it does not matter which payload type is chosen while configuring this trigger.
EntityItemDeletedDocument Attribute |
Description |
_module |
defines which area of the application has triggered the modification. Possible values are IMPORT, MERGE, CLONE, SERVICEAPI, REVISION, ENVIRONMENT_TRANSFER, UI, OTHER |
_entity |
root entity which is changed |
_user |
entity item of the user which executed the CRUD operation.
|
_revision |
the revision in which the operation has been performed |
_container |
the container of the root entity record |
_eventTimestamp |
timestamp at which this document is deleted |
_changeType |
indicates that change type is Deleted |
_identifiers |
a list of external identifiers which are deleted. |
_entityItems |
list of entities that are deleted |
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<infaBPMRequest>
<entity>Article</entity>
<reportId>
231
</reportId>
<dataSource>PCM_MASTER</dataSource>
<data>
<entry>
<key>catalog.label</key>
<value>MASTER</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>New</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.persistence.trigger.entityDeleted</value>
</entry>
<entry>
<key>user.label</key>
<value>
'testUser'
</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>Allmighty</value>
</entry>
</data>
<entityItemsDeleted>
<_module>OTHER</_module>
<_entity>Article</_entity>
<_user>
<entityId>
2600
</entityId>
<externalId>
'testUser'
</externalId>
<internalId>
100
</internalId>
</_user>
<_revision>
<entityId>
5600
</entityId>
<externalId>
'root'
</externalId>
<internalId>
1
</internalId>
</_revision>
<_container>
<entityId>
2900
</entityId>
<externalId>
'MASTER'
</externalId>
<internalId>
1
</internalId>
</_container>
<_eventTimestamp>
2020
-
10
-28T15:
07
:
35
.230Z</_eventTimestamp>
<_changeType>DELETED</_changeType>
<_identifiers>
<_identifier>Article_1603223965881011</_identifier>
</_identifiers>
<_entityItems>
<_entityItem>
<entityId>
1000
</entityId>
<externalId>
'Article_1603223965881011'
@
'MASTER'
</externalId>
<internalId>
23
@1
</internalId>
</_entityItem>
</_entityItems>
</entityItemsDeleted>
</infaBPMRequest>
Import completed
This trigger event only has a single payload, so it does not matter which payload type is chosen while configuring this trigger.
<rest:payload contentType=
"text/xml"
>
<infaBPMRequest>
<entity>Article</entity>
<reportId>
10302
</reportId>
<dataSource>PCM_SUPPLIER</dataSource>
<data>
<entry>
<key>catalog</key>
<value>
1000
[|]BARDUSCH_12345</value>
</entry>
<entry>
<key>importProfile</key>
<value>
1
[|]</value>
</entry>
<entry>
<key>importProfilePurpose</key>
<value>ManualImport</value>
</entry>
<entry>
<key>supplier</key>
<value>
100
[|]</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.
import
.trigger.importFinished</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>NewImportCompletedTrigger</value>
</entry>
<entry>
<key>user</key>
<value>
103
[|]</value>
</entry>
<entry>
<key>user.label</key>
<value>mpaix</value>
</entry>
<entry>
<key>userGroup</key>
<value>[
1
[|],
3
[|]]</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>AllRights,Einkauf Textil Mona</value>
</entry>
<entry>
<key>workflowExpectsReport</key>
<value>
true
</value>
</entry>
</data>
</infaBPMRequest>
</rest:payload>
Merge started
This trigger event only has a single payload, so it does not matter which payload type is chosen while configuring this trigger.
<rest:payload contentType=
"text/xml"
>
<infaBPMRequest>
<entity>Article</entity>
<reportId>
10311
</reportId>
<dataSource>PCM_SUPPLIER</dataSource>
<data>
<entry>
<key>catalog</key>
<value>
1001
[|]</value>
</entry>
<entry>
<key>catalog.label</key>
<value>BARDUSCH</value>
</entry>
<entry>
<key>supplier</key>
<value>
100
[|]</value>
</entry>
<entry>
<key>supplier.label</key>
<value>Bardusch</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.merge.trigger.mergeStarted</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>NewMergeStartedTrigger</value>
</entry>
<entry>
<key>user</key>
<value>
103
[|]</value>
</entry>
<entry>
<key>user.label</key>
<value>mpaix</value>
</entry>
<entry>
<key>userGroup</key>
<value>[
1
[|],
3
[|]]</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>AllRights,Einkauf Textil Mona</value>
</entry>
<entry>
<key>workflowExpectsReport</key>
<value>
true
</value>
</entry>
</data>
</infaBPMRequest>
</rest:payload>
Merge completed
This trigger event only has a single payload, so it does not matter which payload type is chosen while configuring this trigger.
<rest:payload contentType=
"text/xml"
>
<infaBPMRequest>
<entity>Article</entity>
<reportId>
502
</reportId>
<dataSource>PCM_MASTER</dataSource>
<data>
<entry>
<key>catalog</key>
<value>
1001
[|]</value>
</entry>
<entry>
<key>catalog.label</key>
<value>BARDUSCH</value>
</entry>
<entry>
<key>supplier</key>
<value>
3
[|]</value>
</entry>
<entry>
<key>supplier.label</key>
<value>Heiler Product Manager</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.merge.trigger.mergeFinished</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>NewMergeCompletedTrigger</value>
</entry>
<entry>
<key>user</key>
<value>
103
[|]</value>
</entry>
<entry>
<key>user.label</key>
<value>mpaix</value>
</entry>
<entry>
<key>userGroup</key>
<value>[
1
[|],
3
[|]]</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>AllRights,Einkauf Textil Mona</value>
</entry>
<entry>
<key>workflowExpectsReport</key>
<value>
true
</value>
</entry>
</data>
</infaBPMRequest>
</rest:payload>
Export started
This trigger event only has a single payload, so it does not matter which payload type is chosen while configuring this trigger.
<rest:payload contentType=
"text/xml"
>
<infaBPMRequest>
<entity>Article</entity>
<reportId>
10314
</reportId>
<dataSource>PCM_SUPPLIER</dataSource>
<data>
<entry>
<key>catalog</key>
<value>
1001
[|]</value>
</entry>
<entry>
<key>catalog.label</key>
<value>BARDUSCH</value>
</entry>
<entry>
<key>exportParameters</key>
<value>{catalog=
1001
[|], ArticleListDataProvider.revision=RevisionToken[ID=
1
]}</value>
</entry>
<entry>
<key>exportTemplateProxy</key>
<value>
3
[|]ExportTemplate_7917664786495</value>
</entry>
<entry>
<key>triggerIdentifier</key>
<value>hlr.trigger.preExport</value>
</entry>
<entry>
<key>triggerConfiguration</key>
<value>NewExportStartedTrigger</value>
</entry>
<entry>
<key>user</key>
<value>
103
[|]</value>
</entry>
<entry>
<key>user.label</key>
<value>mpaix</value>
</entry>
<entry>
<key>userGroup</key>
<value>[
1
[|],
3
[|]]</value>
</entry>
<entry>
<key>userGroup.label</key>
<value>AllRights,Einkauf Textil Mona</value>
</entry>
<entry>
<key>workflowExpectsReport</key>
<value>
true
</value>
</entry>
</data>
</infaBPMRequest>
</rest:payload>