Fine tuning Set-Trigger on DataView
We have a dataview with (for simplicity sake) 3 blocks in the layout. Each block has data entry enabled. Dataview has set-trigger defined - this procedure is executing some logic/flows with the new numbers. The logic in the procedure is assuming the that all 3 blocks have changed and logic needs to be executed for those changes.
If I understand this mechanism correctly this trigger is calling the procedure THREE times - once for each row.
Suppose user changes row 1 block 1, row 2 block 2, and row 2 block 3. In this case the procedure will be called two times (row 1 and 2). For the call to row 1 I only want to deal with the changed number in block 1 - I don't want to execute the logic for the 2 blocks not changed. For row 2 I only want to execute logic for block 2 and 3.
Given the fact the trigger works on rows:
- Is there a way in my procedure to figure out if a block value has changed? So i can bypass (performance) executing logic for numbers that have not changed.
or
- Is there a way to assign this Set-Trigger procedure to an entry enabled block? So this will only be called in case the block value has changed
Answers
-
Hi,
the DataEntry trigger is allways been executed within the Row/Col Selection.
so if you change your model from 3 Blocks/Cubes to one Cube having a certain Entity (which is in by Column) you should directly get the desired behavior.
Regards
Björn
0 -
Thanks Björn Reuber - I hear what you are saying but this is not really an option - user wants to modify data for 3 cubes in one dataview. We want to prevent unnecessary execution and i was hoping a mechanism would be there to check if a column was changed for this row...
0 -
Hi Peter,
don't understand your answer, for the end user it doesn't make any differences if he has 3 Cubes (and no by Col Entity) or one cube (and an Entity with 3 Elements in by Col). As long as you doesnt have a by Col Entity you would get the desired reuslt with a small change in your DataModel
Regard
Björn
0