Cannot execute Generated processes
-
- Posts: 16
- Joined: Wed Aug 17, 2011 10:40 am
- OLAP Product: Planning, TM1
- Version: 9.5.1
- Excel Version: 2007
Cannot execute Generated processes
I have tried to make various process links in Cognos Express Planner 10.1. After I generated the process and try to execute it it gives me this message Error: Prolog procedure line (26): Name "}TITmp.source.CAMID("CognosExpress:admin").19285.603564815" contains an invalid character.
Anyone else experiencing same problems? The Prolog procedure line varies from link to link and does not contain anything specificthat should cause this error. In this case the line contains the following: ViewCreate('Tulosbudjetti', varRunSrcViewName );
It seems this has something to do with user rights, but there shouldnt be any invalid characters. Any ideas what is causing this and how to fix this problem?
Anyone else experiencing same problems? The Prolog procedure line varies from link to link and does not contain anything specificthat should cause this error. In this case the line contains the following: ViewCreate('Tulosbudjetti', varRunSrcViewName );
It seems this has something to do with user rights, but there shouldnt be any invalid characters. Any ideas what is causing this and how to fix this problem?
-
- MVP
- Posts: 600
- Joined: Wed Aug 17, 2011 1:19 pm
- OLAP Product: TM1
- Version: 9.5.2 10.1 10.2
- Excel Version: 2003 2007
- Location: York, UK
Re: Cannot execute Generated processes
It looks as if it is trying to create a file with that name. Unfortunately you can't create a file with a colon (:) in the name.
As a work-around is it possible to change the CAMID for the Cognos Express admin, or is that a built-in account?
As a work-around is it possible to change the CAMID for the Cognos Express admin, or is that a built-in account?
-
- Posts: 1
- Joined: Thu Nov 08, 2012 9:29 pm
- OLAP Product: TM1
- Version: 10.1.1
- Excel Version: 2002
Re: Cannot execute Generated processes
http://www-01.ibm.com/support/docview.w ... wg21616578
This is from IBM and I was able to generate my process after I did the following.
Insert the following lines of code (text in bold) in the prolog section after those 2 lines :
#For use in generating per-run unique object names
uniqueRunSuffix = TM1User() | '.' | NumberToString( NOW );
#Check for illegal characters that may cause naming problems
stripChrs = '"'':/\=, ';
stripChr = SUBST(stripChrs, 1, 1);
stripChrs = DELET(stripChrs, 1, 1);
WHILE ( LONG(stripChr) > 0 );
stripChrIdx = SCAN(stripChr, uniqueRunSuffix);
WHILE ( stripChrIdx > 0 );
uniqueRunSuffix = DELET(uniqueRunSuffix, stripChrIdx, 1);
stripChrIdx = SCAN(stripChr, uniqueRunSuffix);
END;
stripChr = SUBST(stripChrs, 1, 1);
stripChrs = DELET(stripChrs, 1, 1);
END;
This is from IBM and I was able to generate my process after I did the following.
Insert the following lines of code (text in bold) in the prolog section after those 2 lines :
#For use in generating per-run unique object names
uniqueRunSuffix = TM1User() | '.' | NumberToString( NOW );
#Check for illegal characters that may cause naming problems
stripChrs = '"'':/\=, ';
stripChr = SUBST(stripChrs, 1, 1);
stripChrs = DELET(stripChrs, 1, 1);
WHILE ( LONG(stripChr) > 0 );
stripChrIdx = SCAN(stripChr, uniqueRunSuffix);
WHILE ( stripChrIdx > 0 );
uniqueRunSuffix = DELET(uniqueRunSuffix, stripChrIdx, 1);
stripChrIdx = SCAN(stripChr, uniqueRunSuffix);
END;
stripChr = SUBST(stripChrs, 1, 1);
stripChrs = DELET(stripChrs, 1, 1);
END;
-
- MVP
- Posts: 733
- Joined: Wed May 14, 2008 11:06 pm
Re: Cannot execute Generated processes
That's a bit ugly.lcvargas wrote:http://www-01.ibm.com/support/docview.w ... wg21616578
I would be tempted to try:
Code: Select all
sClientAlias = ATTRS ( '}Clients', TM1User(), '}TM1_DefaultDisplayValue' );
sUniqueRunSuffix = sClientAlias | '.' | NumberToString( NOW );
Robin Mackenzie
-
- MVP
- Posts: 600
- Joined: Wed Aug 17, 2011 1:19 pm
- OLAP Product: TM1
- Version: 9.5.2 10.1 10.2
- Excel Version: 2003 2007
- Location: York, UK
Re: Cannot execute Generated processes
Can the default display value be guaranteed not to contain characters illegal in file names?
If not then you still have to have the code to go through the stripping process - just in case.
If not then you still have to have the code to go through the stripping process - just in case.
-
- MVP
- Posts: 733
- Joined: Wed May 14, 2008 11:06 pm
Re: Cannot execute Generated processes
Damn, no it can't - it could have \ as the separator of the namespace and client name... back to the drawing board then.Duncan P wrote:Can the default display value be guaranteed not to contain characters illegal in file names?
Robin Mackenzie
-
- MVP
- Posts: 352
- Joined: Wed May 14, 2008 1:37 pm
- OLAP Product: TM1
- Version: 2.5 to PA
- Excel Version: Lots
- Location: Sydney
- Contact:
Re: Cannot execute Generated processes
Why bother with the TM1User() at all?
If this is only being used to attempt to guarantee uniqueness of the name, isn't NumberToString(Now) likely to be good enough? What are the odds of two users executing the same process within 1/10,000th of a second? (I think I've got my maths right on the number of decimal places that NumberToString(Now) returns.) And if you think that that is too likely, then pre-fixing with the TM1User() doesn't stop the same user executing the process from two different interfaces at the same time anyway.
If this is only being used to attempt to guarantee uniqueness of the name, isn't NumberToString(Now) likely to be good enough? What are the odds of two users executing the same process within 1/10,000th of a second? (I think I've got my maths right on the number of decimal places that NumberToString(Now) returns.) And if you think that that is too likely, then pre-fixing with the TM1User() doesn't stop the same user executing the process from two different interfaces at the same time anyway.
Andy Key
-
- MVP
- Posts: 600
- Joined: Wed Aug 17, 2011 1:19 pm
- OLAP Product: TM1
- Version: 9.5.2 10.1 10.2
- Excel Version: 2003 2007
- Location: York, UK
Re: Cannot execute Generated processes
Although NOW may return a number that looks very precise the granularity is in fact one second.
If you multiply the value returned from NOW by 86400 ( the number of seconds in a day) you will always get something very close to an integer.
You could also, as I have, loop a large number of times (e.g. 10,000,000) inserting the result of NOW as an item in a test dimension, then see how many unique items it created.
If you multiply the value returned from NOW by 86400 ( the number of seconds in a day) you will always get something very close to an integer.
You could also, as I have, loop a large number of times (e.g. 10,000,000) inserting the result of NOW as an item in a test dimension, then see how many unique items it created.
Code: Select all
count 10000000
start 35415.000000084
finish 35474.999999965
duration 59.999999881
unique 61
granularity 0.983606555
Re: Cannot execute Generated processes
I used NumberToStringEX() instead of NumberToString() to replace the comma separator (","-->".") that you get when using NOW() and having a german number format configuration.
uniqueRunSuffix = TM1User() | '.' | NumberToStringEx( NOW , '#,0.#########', '.','.');
uniqueRunSuffix = TM1User() | '.' | NumberToStringEx( NOW , '#,0.#########', '.','.');
-
- Posts: 95
- Joined: Mon Jun 25, 2012 6:58 am
- OLAP Product: TM1, SSAS, Power BI
- Version: 10.2.2
- Excel Version: 2016
Re: Cannot execute Generated processes
Hi guys,
I am getting this error, in my case, in a process I have created using Architect. My environment is TM1 10.1.1 and I have used Architect to create the process. Any idea what could be the resolve ?
I am getting this error, in my case, in a process I have created using Architect. My environment is TM1 10.1.1 and I have used Architect to create the process. Any idea what could be the resolve ?
Thanks,
Kaz
Kaz