Fine tuning Set-Trigger on DataView

Options

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

  • Björn Reuber
    Options

    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

  • Peter van Bennekom
    Options

    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...

  • Björn Reuber
    Options

    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