Page 1 of 1

TM1 Feeder not firing until rules / feeders reprocessed

Posted: Wed Apr 30, 2014 10:20 pm
by PavoGa
I have seen a similar problem discussed on this forum about this, but the peculiarities of that do not quite mesh with this problem.

The problem is a conditional feeder that is not firing unless the server is restarted, the rule file is resaved or CubeProcessFeeders is executed.

Our staffing application that allows a Cost Center (CC) to transfer a position to another CC. The transfer subsystem has been rewritten so that all staffing types (dimension Staffing_Types) land in the same element, Transfers. We have Current Staff (mostly salaried), Skill Based, and Adds. Added positions can be either salary or skill based. Of course, each type of position has its own set of rules regarding incentives, pay bumps and when they occur, etc, etc. The transfer process takes any position marked to transfer and places it in the Transfers element, so a CC can see all their transferred in positions in one place. Of course the rules that apply in the Transfers element differ depending on the source element. It works very well but ran into problem today that has just not given up its secret.

In January of the budget period, each skill-based position receives an automatic bump to a pre-determined market rate. The bump up calculates, but the feeder does not fire.

Code: Select all

FEEDSTRINGS;
SKIPCHECK;

['Budget', 'Transfers', 'Operations Adjustment'] = N: IF(['Hourly Rate Adjustment'] > 0
                & ['Hourly Rate'] > 0
                & ['Total Monthly Salary Change'] <= 0
                & NUMBR(!Com_Months) = ATTRN('Com_Months', DB('Staffing Global Assumption',
                                !Com_Versions,
                                ATTRS('Com_Months', !Com_Months, 'Staffing_Global_Value'),
                                'BY Market Rate Change Month'), 'MonthNumber')
                & DIMNM('Staffing_Types', DIMIX('Staffing_Types', 
                                SUBST(DB('Staffing Input', !Com_Versions, !Staffing_Types, !Com_Slots, !HIERARCHY_STAFFING, 'Transfer ID'), 10, 1))) @= 'BSKL'
                , ['Hourly Rate Adjustment'] * (['FTE'] * ['Monthly Work Hours']) * ['CountFlag1']
                , 0);        


FEEDERS;

['Budget', {'BSKL', 'Transfers'}, 'CountFlag1'] => DB(IF(['Hourly Rate Adjustment'] > 0 & 
                                (!Staffing_Types @= 'BSKL' % 
                                DIMNM('Staffing_Types', DIMIX('Staffing_Types', SUBST(DB('Staffing Input', 
                                                                !Com_Versions, !Staffing_Types, !Com_Slots, !HIERARCHY_STAFFING, 'Transfer ID'), 10, 1) ) ) @= 'BSKL' )
                                , 'Staffing Calc'
                                , ''),
                !Com_Versions, 
                !Staffing_Types, 
                !Com_Slots, 
                !HIERARCHY_STAFFING, 
                !Com_Months, 
                'Operations Adjustment');
How I test:

1) Eliminate the transfer
2) Run the transfer process clearing the destination CC
3) Cycle the server to clear any feeders
4) Mark the position to transfer
5) execute the transfer process.
6) Open the Input cube

At which point, we see the Operations Adjustment is calculated, but it is not being fed. Interestingly, if I Check Feeders on Operations Adjustment, it says it is not fed, but if I go to CountFlag1 and Trace Feeders, it reports it is feeding Operations adjustment.

Feel free to ask any questions and, especially, suggestions as to what is wrong.

Re: TM1 Feeder not firing until rules / feeders reprocessed

Posted: Thu May 01, 2014 12:02 am
by tomok
ReevaluateConditionalFeeders = T

Re: TM1 Feeder not firing until rules / feeders reprocessed

Posted: Thu May 01, 2014 3:48 am
by EvgenyT
Tomok, Isnt it ForceReevaluationOfFeedersForFedCellsOnDataChange from 10.1 onwards?

Re: TM1 Feeder not firing until rules / feeders reprocessed

Posted: Thu May 01, 2014 7:22 am
by declanr
EvgenyT wrote:Tomok, Isnt it ForceReevaluationOfFeedersForFedCellsOnDataChange from 10.1 onwards?
It is... but the OP's info states they are on 9.5.2 which saw ReevaluateConditionalFeeders become undocumented (because it tended to be a bit flakey) but it was still the relevant parameter at the time.

Re: TM1 Feeder not firing until rules / feeders reprocessed

Posted: Thu May 01, 2014 12:58 pm
by PavoGa
My apologies for not updating the profile. This is 10.1.1.

ForceReevaluationOfFeedersForFedCellsOnDataChange was/is set to T. All the other conditional feeders are working properly.

I inserted a couple of test elements, TESTS and TESTN. Wrote a rule to evaluate the DIMNM(...DiMIX(...SubST(DB( )))) portion of the conditional and it correctly returns BSKL. I then applied the entire conditional to one of the test elements and it evaluated to TRUE for the tuple.

This one has me scratching my head.