Page 1 of 1

How to exit LOOP in TM1 TI?

Posted: Fri Feb 03, 2017 10:25 am
by Ashleigh W
Hi, how to exit LOOP if certain condition is met in TM1 TI? Is below the correct way?

Code: Select all

nNum = 1;
While( nNum <= 7 );
sNum = NumberToString( nNum );
IF( EXPAND( '%v' | EXPAND( '%sNum%' ) | '%' ) @= 'Test' );
 END;
ENDIF;

nNum = nNum + 1;
END;

Re: How to exit LOOP in TM1 TI?

Posted: Fri Feb 03, 2017 10:30 am
by TrevorGoss
Ashleigh W wrote:Hi, how to exit LOOP if certain condition is met in TM1 TI? Is below the correct way?

Code: Select all

nNum = 1;
While( nNum <= 7 );
sNum = NumberToString( nNum );
IF( EXPAND( '%v' | EXPAND( '%sNum%' ) | '%' ) @= 'Test' );
 END;
ENDIF;

nNum = nNum + 1;
END;
you can use the Break keyword from 10.x onwards.

Example:

Code: Select all


x = 1;

While(x <= 10);

	x = x + 1;

	If(x = 5);

		Break;

	EndIf;

End;


Re: How to exit LOOP in TM1 TI?

Posted: Fri Feb 03, 2017 10:33 am
by Wim Gielis
Use Break.
Please indent your code and use EXPAND only where it should be used.

Code: Select all

nNum = 1;
While( nNum <= 7 );
  If( Expand( '%v' | NumberToString( nNum ) | '%' ) @= 'Test' );
    Break;
  EndIf;
  nNum = nNum + 1;
End;

Re: How to exit LOOP in TM1 TI?

Posted: Fri Feb 03, 2017 10:34 am
by Ashleigh W
Thanks guys!