How to kick start a process for multi valued lookup field. I have to trigger a process on create/update when there is any change of values in the Multi-selected field on project object. Any suggestions?
This may not be possible using the 'Start Event = Update' on a process.
Have you considered turning on Auditing on the attribute, and running a non-primary object based process, to determine which records have changed. This can be scheduled to run regularly (ie on the hour). Will take a lot more effort to develop as GEL script, which will then need to check the database for the audit tables (sorry, don't have a script to do this, as only have scripts for single value audits).
Just wondering is there one specific attribute where the user can select multiple values and you have to trigger the process based on that attribute or not. If that is the case, then would like to know if you have tried the "not equal to previous value" condition on that specific attribute under project object. You have to create the process on Project object in that case, so that you can select that attribute to be used as a condition.
Hi Abhisek, isn't the question relating to a multi-valued attribute?
Have taken screen shots of the Process conditions for multi-valued attributes, compared to single-valued attributes. From a Studio Process perspective, I don't believe it is possible to 'not equal to previous value' when it is a multi-valued attribute.
Yes Roland, Abhisek, i have also experienced the same as roland.parrotte screenshots. Correct us if we can achieve this in any other way. As per the system behaviour, we cannot compare with prev value for Multi-select attributes but where as for single select we can do that. I will try your idea to determine which records have changed and based on the i will try to prepare a gel script which should run as a job when ever we need that.
Thanks a lot for your help!
Let me know if any one has other suggestions too! Have a great day.
Just thinking out loud for the moment. You should be able to create an expression that is true no matter what the value on the constant is.
So my test case is a Multi-selected field " Dependency Downstream Impacted Projects" based on projects. My condition is
( Dependency Downstream Impacted Projects = 'AACE Test Project' or Dependency Downstream Impacted Projects != 'AACE Test Project' )
( mvLookup( mhs_depend.mhs_ds_imp_proj, "SCH_BROWSE_PROJECT", 5117157, "EQUALS" ) ) || ( mvLookup( mhs_depend.mhs_ds_imp_proj, "SCH_BROWSE_PROJECT", 5117157, "NOT_EQUALS" ) )
In the constant I just pick the first project is equal or is not equal so when this value changes to any value the start condition should be true.
Hi Gene, wouldn't the process fire off each time the project is saved (potentially ignoring when the multi value is empty), in your start condition? User enters value of 'Aace Test Project's and saves record, process starts. User updates any other attribute on the project, and saves record, process will again start as condition is still true, even though the multi value attribute was not updated.
Not sure but I was thinking it was more like a DB trigger so that a field would need to have been updated for the trigger to fire. I was assuming this was the case that the field was checked to determine if it was updated. If that is not the case then I believe you are right.
So I checked this as I was answering you and you are right -- it fires no matter what is updated -- bummer
So I guess the first process step needs to determine if the Multi-selected field was updated or the check the results of the Multi-selected field update and see if any logic needs to be applied.
Oh well, it was just a quick thought!