Cannot execute Generated processes

Post Reply
olapc
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

Post by olapc »

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?
Duncan P
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

Post by Duncan P »

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?
lcvargas
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

Post by lcvargas »

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;
rmackenzie
MVP
Posts: 733
Joined: Wed May 14, 2008 11:06 pm

Re: Cannot execute Generated processes

Post by rmackenzie »

That's a bit ugly.

I would be tempted to try:

Code: Select all

sClientAlias = ATTRS ( '}Clients', TM1User(), '}TM1_DefaultDisplayValue' );
sUniqueRunSuffix = sClientAlias | '.' | NumberToString( NOW );
Robin Mackenzie
Duncan P
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

Post by Duncan P »

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.
rmackenzie
MVP
Posts: 733
Joined: Wed May 14, 2008 11:06 pm

Re: Cannot execute Generated processes

Post by rmackenzie »

Duncan P wrote:Can the default display value be guaranteed not to contain characters illegal in file names?
Damn, no it can't - it could have \ as the separator of the namespace and client name... back to the drawing board then.
Robin Mackenzie
Andy Key
MVP
Posts: 351
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

Post by Andy Key »

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.
Andy Key
Duncan P
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

Post by Duncan P »

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.

Code: Select all

count       10000000
start       35415.000000084
finish      35474.999999965
duration    59.999999881
unique      61
granularity 0.983606555
Tilo
Posts: 50
Joined: Mon Oct 06, 2008 4:27 pm
Location: Hamburg

Re: Cannot execute Generated processes

Post by Tilo »

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.#########', '.','.');
kaazimraza
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

Post by kaazimraza »

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 ?
Thanks,

Kaz
Post Reply