Process Stuck on Zero Out
Posted: Fri May 04, 2018 4:22 pm
I have a TI process that deletes the contents of a cube and reloads the data based on a CSV. The process worked until yesterday, when it failed immediately and gave me a "stack overflow error." I deleted the Feeder files and restarted my server hoping to clear up any corrupt Feeders. Now when I run the process it gets stuck indefinitely on the prolog's VIEWZEROOUT. I have replicated the prolog below.
I am not responsible for this cube or the ones it feeds, but the person who owns them insists no rules have changed. Any ideas would be greatly appreciated.
#=============================================================================================
#>>> DEFINE CUBES, VALUES AND DIMENSION ELEMENTS
#=============================================================================================
strCube = 'sunHFM_Comp_Emp_Info';
strScenario = 'Budget';
strZeroNew_g = UPPER( SUBST( TRIM( pZeroNew ), 1, 1 ) );
#==========================================
# DEACTIVATE EMP_INFO RULES
#==========================================
CELLPUTS('Y', '}SunControls', 'Value', 'DeActivate EmpInfo Rules - SUN');
#==========================================
# ZERO OUT ALL ADP DATA
#==========================================
cubFin = strCube;
vewRef = 'zzzSUNZeroOut';
SubRef = vewRef;
#-------------------------------------------------------
#>>> CREATE VIEW FOR ZEROOUT
#-------------------------------------------------------
IF (VIEWEXISTS (cubFin, vewRef) = 1);
VIEWDESTROY (cubFin, vewRef);
ENDIF;
VIEWCREATE (cubFin, vewRef);
#-------------------------------------------------------
#>>> CREATE ZEROOUT SUBSET IN SCENARIO DIMENSION
#-------------------------------------------------------
dimScenario = 'bpmScenario';
strElement = strScenario;
IF (SUBSETEXISTS (dimScenario, subRef) = 0);
SUBSETCREATE (dimScenario, subRef);
ENDIF;
SUBSETDELETEALLELEMENTS (dimScenario, subRef);
SUBSETELEMENTINSERT (dimScenario, subRef, strElement, 1);
VIEWSUBSETASSIGN (cubFin, vewRef, dimScenario, subRef);
#-------------------------------------------------------
#>>> CREATE ZEROOUT SUBSET IN INDEX DIMENSION
#-------------------------------------------------------
dimIndex = 'bpmStaff_Index';
#strElement = strScenario;
IF (SUBSETEXISTS (dimIndex, subRef) = 0);
SUBSETCREATE (dimIndex, subRef);
ENDIF;
SUBSETDELETEALLELEMENTS (dimIndex, subRef);
VIEWSUBSETASSIGN (cubFin, vewRef, dimIndex, subRef);
IF(strZeroNew_g @= 'Y');
strEle = 'Total Employees';
ELSE;
strEle = 'Total Existing';
ENDIF;
p = 1;
WHILE(p <= DIMSIZ(dimIndex));
strLoopEle = DIMNM(dimIndex, p);
IF(ELLEV(dimIndex, strLoopEle) = 0 & ELISANC(dimIndex, strEle, strLoopEle) <> 0);
SUBSETELEMENTINSERT(dimIndex, subRef, strLoopEle, SUBSETGETSIZE(dimIndex, subRef) + 1);
ENDIF;
p = p + 1;
END;
#-------------------------------------------------------
#>>> PERFORM THE ZERO OUT AND DELETE VIEW
#-------------------------------------------------------
VIEWZEROOUT (cubFin, vewRef);
VIEWDESTROY (cubFin, vewRef);
I am not responsible for this cube or the ones it feeds, but the person who owns them insists no rules have changed. Any ideas would be greatly appreciated.
#=============================================================================================
#>>> DEFINE CUBES, VALUES AND DIMENSION ELEMENTS
#=============================================================================================
strCube = 'sunHFM_Comp_Emp_Info';
strScenario = 'Budget';
strZeroNew_g = UPPER( SUBST( TRIM( pZeroNew ), 1, 1 ) );
#==========================================
# DEACTIVATE EMP_INFO RULES
#==========================================
CELLPUTS('Y', '}SunControls', 'Value', 'DeActivate EmpInfo Rules - SUN');
#==========================================
# ZERO OUT ALL ADP DATA
#==========================================
cubFin = strCube;
vewRef = 'zzzSUNZeroOut';
SubRef = vewRef;
#-------------------------------------------------------
#>>> CREATE VIEW FOR ZEROOUT
#-------------------------------------------------------
IF (VIEWEXISTS (cubFin, vewRef) = 1);
VIEWDESTROY (cubFin, vewRef);
ENDIF;
VIEWCREATE (cubFin, vewRef);
#-------------------------------------------------------
#>>> CREATE ZEROOUT SUBSET IN SCENARIO DIMENSION
#-------------------------------------------------------
dimScenario = 'bpmScenario';
strElement = strScenario;
IF (SUBSETEXISTS (dimScenario, subRef) = 0);
SUBSETCREATE (dimScenario, subRef);
ENDIF;
SUBSETDELETEALLELEMENTS (dimScenario, subRef);
SUBSETELEMENTINSERT (dimScenario, subRef, strElement, 1);
VIEWSUBSETASSIGN (cubFin, vewRef, dimScenario, subRef);
#-------------------------------------------------------
#>>> CREATE ZEROOUT SUBSET IN INDEX DIMENSION
#-------------------------------------------------------
dimIndex = 'bpmStaff_Index';
#strElement = strScenario;
IF (SUBSETEXISTS (dimIndex, subRef) = 0);
SUBSETCREATE (dimIndex, subRef);
ENDIF;
SUBSETDELETEALLELEMENTS (dimIndex, subRef);
VIEWSUBSETASSIGN (cubFin, vewRef, dimIndex, subRef);
IF(strZeroNew_g @= 'Y');
strEle = 'Total Employees';
ELSE;
strEle = 'Total Existing';
ENDIF;
p = 1;
WHILE(p <= DIMSIZ(dimIndex));
strLoopEle = DIMNM(dimIndex, p);
IF(ELLEV(dimIndex, strLoopEle) = 0 & ELISANC(dimIndex, strEle, strLoopEle) <> 0);
SUBSETELEMENTINSERT(dimIndex, subRef, strLoopEle, SUBSETGETSIZE(dimIndex, subRef) + 1);
ENDIF;
p = p + 1;
END;
#-------------------------------------------------------
#>>> PERFORM THE ZERO OUT AND DELETE VIEW
#-------------------------------------------------------
VIEWZEROOUT (cubFin, vewRef);
VIEWDESTROY (cubFin, vewRef);