SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG

Post Reply
User avatar
gtonkin
MVP
Posts: 1261
Joined: Thu May 06, 2010 3:03 pm
OLAP Product: TM1
Version: Latest and greatest
Excel Version: Office 365 64-bit
Location: JHB, South Africa
Contact:

SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG

Post 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
BR, George.

Learn something new: MDX Views
User avatar
qml
MVP
Posts: 1096
Joined: Mon Feb 01, 2010 1:01 pm
OLAP Product: TM1 / Planning Analytics
Version: 2.0.9 and all previous
Excel Version: 2007 - 2016
Location: London, UK, Europe

Re: SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG

Post 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! :ugeek:

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?
Kamil Arendt
User avatar
qml
MVP
Posts: 1096
Joined: Mon Feb 01, 2010 1:01 pm
OLAP Product: TM1 / Planning Analytics
Version: 2.0.9 and all previous
Excel Version: 2007 - 2016
Location: London, UK, Europe

Re: SpreadErrorInTIDiscardsAllChanges parameter in TM1S.CFG

Post 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.
Kamil Arendt
Post Reply