Error: Prolog procedure line (): Cell is not writeable
Posted: Fri Feb 15, 2013 8:59 am
by devathadeepak
Hi Team,
i have the error(Error: Prolog procedure line (377): Cell is not writeable) when i run the TI process using the data adim id, however the process is successfull if i use adnin id.
Not sure what exactly is causing the problem. Please help me ..
Thanks & regards,
Deepak
Re: Error: Prolog procedure line (): Cell is not writeable
Posted: Fri Feb 15, 2013 9:13 am
by devathadeepak
Below Prolog code for your reference.
#Source and Target cubes and views
sFromCube='st_XXX';
sFromView = 'sys.FSDM.' | sFromCube | '.INVPUBACTUALS';
sToCube='in_YY;
sToView = 'sys.PUBSTG.' | sToCube | '.INVPUBPLG_ACT';
##############################################################################
#Disable cube logging in target cubes
CubeSetLogChanges(sToCube,0);
##############################################################################
#Get years from Global Parameters cube
vCurrent_Year=CELLGETS('cn_Global_Parameters', 'Current Year Actuals', 'Curr Fiscal Year');
vPrior_Year=CELLGETS('cn_Global_Parameters', 'Prior year Actuals', 'Curr Fiscal Year');
vFuture_Year=CELLGETS('cn_Global_Parameters', 'Future Budget', 'Curr Fiscal Year');
#Set source version
vActuals='001';
##############################################################################
#Destroy and create cube views
IF ( VIEWEXISTS ( sFromCube, sFromView ) = 1) ;
VIEWDESTROY ( sFromCube, sFromView ) ;
ENDIF;
IF ( VIEWEXISTS ( sToCube, sToView ) = 1) ;
VIEWDESTROY ( sToCube, sToView ) ;
ENDIF;
VIEWCREATE ( sFromCube, sFromView ) ;
VIEWEXTRACTSKIPCALCSSET ( sFromCube, sFromView, 0 ) ;
VIEWEXTRACTSKIPRULEVALUESSET ( sFromCube, sFromView, 0 ) ;
VIEWEXTRACTSKIPZEROESSET ( sFromCube, sFromView, 1 ) ;
VIEWCREATE ( sToCube, sToView ) ;
##############################################################################
#Create source view subsets
vDimCnt = 1;
WHILE (TABDIM(sFromCube,vDimCnt)@<>'');
sDim = TABDIM(sFromCube, vDimCnt);
sSubset = 'sys.FSDM.' | sDim | '.PUBSTG_INVISION_ACTUALS'|sFromCube;
IF(sDim @='st_Version');
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet, vActuals, 1);
ELSEIF ( sDim @= 'Plan Year' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,vCurrent_Year, 1);
SUBSETELEMENTINSERT ( sDim, sSubSet,vPrior_Year, 1);
ELSEIF ( sDim @= 'Fiscal Year' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,vCurrent_Year, 1);
SUBSETELEMENTINSERT ( sDim, sSubSet,vPrior_Year, 1);
ELSEIF ( sDim @= 'Business Area' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,'All Business Area Codes', 1);
ELSEIF ( sDim @= 'Business Type' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,'Total Business Type', 1);
ELSEIF ( sDim @= 'Company Code' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,'All Company Codes', 1);
ELSEIF ( sDim @= 'Distribution Channel' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,'Total Distribution Channel', 1);
ELSEIF ( sDim @= 'Product Type' );
IF (SUBSETEXISTS(sDim, sSubset)=0);
SUBSETCREATE ( sDim, sSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( sDim, sSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( sDim, sSubSet,'All Product Types', 1);
ELSEIF ( sDim @= 'Transaction Currency Code' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
SubsetElementInsert ( sDim, sSubSet,'Transaction Currency Code', 1);
ELSEIF ( sDim @= 'Local Currency Code' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
SubsetElementInsert ( sDim, sSubSet,'Local Currency Code', 1);
ELSEIF ( sDim @= 'Measures' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
SubsetElementInsert ( sDim, sSubSet,'Amount USD (Current Year Budget Rate)', 1);
ELSEIF ( sDim @= 'Sub Category' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
SubsetElementInsert ( sDim, sSubSet,'LIC_PROD', 1);
ELSEIF ( sDim @= 'Cost Center' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
#SubsetElementInsert ( sDim, sSubSet,'TWDCSCPMGTCCG', 1);
SubsetElementInsert ( sDim, sSubSet,'-1', 1);
ELSEIF ( sDim @= 'Account' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
SubsetElementInsert ( sDim, sSubSet,'-1', 1);
ELSEIF ( sDim @= 'Invision Measure Names' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
SubsetElementInsert ( sDim, sSubSet,'1', 1);
#SubsetElementInsert ( sDim, sSubSet,'2', 1);
ELSEIF ( sDim @= 'MPM Product' );
IF (SubsetExists(sDim, sSubset)=0);
SubSetCreate ( sDim, sSubSet);
ELSE;
SubsetDeleteAllElements ( sDim, sSubset ) ;
ENDIF;
vDim_Size = DIMSIZ (sDim);
vIndex = 1;
While ( vIndex < vDim_Size);
MPM_Element = DIMNM ( sDim, vIndex );
IF ( ELLEV(sDim, MPM_Element )=1 );
IF ( ELISANC(sDim, 'SCPCGMPMPR', MPM_Element ) =1 );
SUBSETELEMENTINSERT ( sDim, sSubSet,MPM_Element , 1);
vIndex = vIndex +1;
ELSE;
vIndex = vIndex +1;
ENDIF;
ELSE;
vIndex = vIndex +1;
ENDIF;
END;
ELSE;
IF (SUBSETEXISTS(sDim, sSubset)=1);
SUBSETDESTROY ( sDim, sSubset ) ;
ENDIF;
SUBSETCREATEByMDX(sSubset, '{TM1FILTERBYLEVEL( {TM1SUBSETALL( ['| sDim |'] )}, 0)}');
ENDIF;
VIEWSUBSETASSIGN(sFromCube, sFromView, sDim, sSubset);
vDimCnt = vDimCnt + 1;
END;
##############################################################################
#Create view for Target cube to zeroout
vDimCnt = 1;
WHILE (TABDIM(sToCube,vDimCnt)@<>'');
TargetDim = TABDIM(sToCube, vDimCnt);
TargetSubset = 'sys.PUBSTG.' | sDim | '.PUBPLGINV_ACTUALS'|sToCube;
IF(TargetDim @='Versions_Current_AOP_FCST');
#vVersion_Forecast = pVersion|' - PY'|vPlan_Year|' - FY'|vFiscal_Year;
IF (SUBSETEXISTS(TargetDim, TargetSubset)=0);
SUBSETCREATE ( TargetDim, TargetSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( TargetDim, TargetSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( TargetDim, TargetSubSet,'Prior Year', 1);
SUBSETELEMENTINSERT ( TargetDim, TargetSubSet,'Current FCST Input', 1);
ELSEIF(TargetDim @='Accounts_Pub_Rev');
IF (SUBSETEXISTS(TargetDim, TargetSubset)=0);
SUBSETCREATE ( TargetDim, TargetSubSet);
ELSE;
SUBSETDELETEALLELEMENTS ( TargetDim, TargetSubset ) ;
ENDIF;
SUBSETELEMENTINSERT ( TargetDim, TargetSubSet,'1', 1);
ELSE;
IF (SUBSETEXISTS(TargetDim, TargetSubset)=1);
SUBSETDESTROY ( TargetDim, TargetSubset ) ;
ENDIF;
SUBSETCREATEByMDX(TargetSubset, '{TM1FILTERBYLEVEL( {TM1SUBSETALL( ['| TargetDim |'] )}, 0)}');
ENDIF;
VIEWSUBSETASSIGN(sToCube, sToView, TargetDim, TargetSubset);
vDimCnt = vDimCnt + 1;
END;
##############################################################################
#Zeroout target cube view
VIEWZEROOUT(sToCube,sToView);
##############################################################################
#Set source view
DATASOURCENAMEFORSERVER = sFromCube;
DATASOURCECUBEVIEW = sFromView;