Error: Prolog procedure line (): Cell is not writeable

Post Reply
devathadeepak
Posts: 15
Joined: Fri Jul 23, 2010 9:49 am
OLAP Product: TM1 10.2.2 Cognos Planning10
Version: TM1 10.2.2 Cognos Planning10
Excel Version: 2010

Error: Prolog procedure line (): Cell is not writeable

Post 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
Alan Kirk
Site Admin
Posts: 6667
Joined: Sun May 11, 2008 2:30 am
OLAP Product: TM1
Version: PA2.0.9.18 Classic NO PAW!
Excel Version: 2013 and Office 365
Location: Sydney, Australia
Contact:

Re: Error: Prolog procedure line (): Cell is not writeable

Post by Alan Kirk »

devathadeepak wrote: 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 ..
Happy to.

It would appear that the problem is that the relevant text in the Request for assistance guidelines (PLEASE READ) isn't obvious enough.

Allow me to address the problem.
4) Similarly if you're getting unexpected results, specifics of what you're running, how, and what results you're getting will yield a more valuable response than "I'm running a T.I. but my code doesn't work properly". If you're getting an error, please be specific about what the error is (full details, not just "a runtime error" or "process terminated with errors"), and the circumstances under which it's occurring. But remember that even if you do specify the exact error message, it's not likely to be helpful unless you provide the context for it; which part of the software the error is occurring in (point 2 above), and what, specifically, you were doing at the time. For Rules and TurboIntegrator processes, remember that including the actual code in your post will be a thousand times more useful than an attempted description of it. You can upload entire .pro and .cho files as attachments if necessary, or just copy and paste the relevant part into your post using the Code tag at the top of the post editing window.
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
devathadeepak
Posts: 15
Joined: Fri Jul 23, 2010 9:49 am
OLAP Product: TM1 10.2.2 Cognos Planning10
Version: TM1 10.2.2 Cognos Planning10
Excel Version: 2010

Re: Error: Prolog procedure line (): Cell is not writeable

Post 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;
Alan Kirk
Site Admin
Posts: 6667
Joined: Sun May 11, 2008 2:30 am
OLAP Product: TM1
Version: PA2.0.9.18 Classic NO PAW!
Excel Version: 2013 and Office 365
Location: Sydney, Australia
Contact:

Re: Error: Prolog procedure line (): Cell is not writeable

Post by Alan Kirk »

devathadeepak wrote:Below Prolog code for your reference.
And that would be the full, unadulterated code, it's safe to assume.

Hmm, that is quite a puzzler given that your original post reports the error on line 377 while there are only 314 lines of code in your example. And that the code won't actually compile since there is (at least) a missing closing quote in:

Code: Select all

sToCube='in_YY;
I think I may have to leave this to someone with prognostication talents beyond my own.
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
devathadeepak
Posts: 15
Joined: Fri Jul 23, 2010 9:49 am
OLAP Product: TM1 10.2.2 Cognos Planning10
Version: TM1 10.2.2 Cognos Planning10
Excel Version: 2010

Re: Error: Prolog procedure line (): Cell is not writeable

Post by devathadeepak »

I have added only the relevant code for the issue. Please find the attached complete code for your reference.

Sorry for the confussions.
Attachments
PROLOG.txt
(12.48 KiB) Downloaded 574 times
User avatar
qml
MVP
Posts: 1097
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: Error: Prolog procedure line (): Cell is not writeable

Post by qml »

This is line 377 in the code you provided:

Code: Select all

##############################################################################
Are you absolutely positive you're providing accurate, unabridged information now?
Kamil Arendt
declanr
MVP
Posts: 1831
Joined: Mon Dec 05, 2011 11:51 am
OLAP Product: Cognos TM1
Version: PA2.0 and most of the old ones
Excel Version: All of em
Location: Manchester, United Kingdom
Contact:

Re: Error: Prolog procedure line (): Cell is not writeable

Post by declanr »

devathadeepak wrote: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


Ok, ignoring the code you are providing for the reasons stated above.
With that error message and your statement that it works when run as "Admin" but not "DataAdmin"... is it possible that at some point (perhaps line 377) you are trying to enter data into a Security Cube?... one that a "DataAdmin" would not have access to...
Declan Rodger
devathadeepak
Posts: 15
Joined: Fri Jul 23, 2010 9:49 am
OLAP Product: TM1 10.2.2 Cognos Planning10
Version: TM1 10.2.2 Cognos Planning10
Excel Version: 2010

Re: Error: Prolog procedure line (): Cell is not writeable

Post by devathadeepak »

No i am just trying to VIEWZEROOUT(sToCube,sToView).
User avatar
tiagoblauth
Posts: 20
Joined: Wed Jul 08, 2015 11:50 am
OLAP Product: TM1, Cognos BI
Version: 10.2.1
Excel Version: 2010

Re: Error: Prolog procedure line (): Cell is not writeable

Post by tiagoblauth »

For versions or greater 10.1.0, 10.1.1
http://www-01.ibm.com/support/docview.w ... wg21649612

You can try also the antivirus.
User avatar
gtonkin
MVP
Posts: 1265
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:

Re: Error: Prolog procedure line (): Cell is not writeable

Post by gtonkin »

At a quick glance, it may be that you are setting options for a view yet to be created somewhere around line 117:

Code: Select all

	VIEWEXTRACTSKIPCALCSSET ( sToCube,sToView, 0 ) ;
    VIEWEXTRACTSKIPRULEVALUESSET ( sToCube,sToView, 0 ) ;
    VIEWEXTRACTSKIPZEROESSET ( sToCube,sToView, 1 ) ;
    
	
	VIEWCREATE ( sToCube, sToView ) ;
Move the VIEWCREATE before the options like you have for the previous view.
BR, George.

Learn something new: MDX Views
Post Reply