Page 1 of 1
SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG
Posted: Tue Oct 27, 2015 6:11 pm
by gtonkin
Saw
this notification which may be helpful for those doing data spread via TI.
Introduced in : IBM Cognos 10.2.2 FP 3
SpreadErrorInTIDiscardsAllChanges=T
Parameter type: optional, static
Default value: false
Re: SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG
Posted: Tue Oct 27, 2015 6:53 pm
by qml
I wonder if this could be used to solve my problem stated
here. It seems that if one wants to avoid committing any of the changes made to data by a TI process, one could now simply force a failed spread action. Testing time!
Also, if it's possible to implement as a parameter, it should not be too difficult for IBM devs to implement a TI function to achieve the same thing, now should it?
Re: SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG
Posted: Fri Nov 06, 2015 10:50 am
by qml
I've done some testing and below are my conclusions.
Firstly, the following statement is (unsurprisingly for IBM documentation) misleading:
IBM Technote wrote:If SpreadErrorInTIDiscardsAllChanges is enabled and a spreading error occurs as part of a running TurboIntegrator script, all changes made by that TurboIntegrator script are discarded.
This is untrue; only
data changes are discarded while metadata changes are not (even if the spreading error occurs before the metadata commit action).
Secondly, it does seem like with SpreadErrorInTIDiscardsAllChanges=T forcing a failed spread by e.g. executing CellPutProportionalSpread() into a consolidation whose all children are rule-calculated prevents any other data changes made by that TI from being committed. This is of interest to me as I have been looking at how to do this for a while now. Of course this is still not the ideal way (a TI function or variable to handle it would be much better), because the process will return a minor error status with the spread failed message (or in the case of the method I used 'No cell was updatable').
The conclusion is that if you, like me, are looking for a way to achieve atomic (all-or-nothing) commit then this method works quite nicely, even though it is a hack.