1 of 1 people found this helpful
For really common usecases, lots of things are already in place, just like with this. When starting process instances, provide a processInstanceKey. That field is ment for things like this. Keep in mind though that it needs to be unique. So e.g. combining process name and a key or a date always works. Personally I would have liked the requirement that it should be unique not to be there but it is....
I've already used the processInstanceKey for this, but as you stated, the value has to be unique and this just did not make sense to me, especially since this value is duplicated in the ID_ field. Another unfortunate consequence of using this field is that it cannot (should not) be changed during the life if the process. This might be necessary when the description should be augmented with new data from one of the tasks. The KEY_ field is never updated in the history table after it is created originally (as you'd expect).
We always have an external record that is associated with the process. We store this record's unique id in the processInstanceKey field and so we can use a secondary lookup to get the "instance description". Does this sound like a reasonable solution or is there a simpler way of doing this? (We could always use a variable in the process, but this variable will have to be copied to the history tables which is not happening at the moment).