NetXMS Support Forum

English Support => General Support => Topic started by: Lyn007 on April 27, 2010, 06:54:42 PM

Title: Transformation Scripts
Post by: Lyn007 on April 27, 2010, 06:54:42 PM
Why does this fail in transformation script:

if ($1 == null)
   return 0;
else
   return ($1 * 2);
Title: Re: Transformation Scripts
Post by: Victor Kirhenshtein on April 27, 2010, 11:41:35 PM
What exact error you got? Is it entire script or just a fragment? If it is entire script, you should write it as

sub main()
{
  if ($1 == null)
     return 0;
  else
     return ($1 * 2);
}

or rewrite as

($1 == null) ? 0 : $1 * 2

Best regards,
Victor
Title: Re: Transformation Scripts
Post by: Lyn007 on April 28, 2010, 04:51:17 PM
I pasted the following in the transformation script window:
sub main()
{
  if ($1 == 0)
     return 1;
  else
     return ($1 * 2);
}
When I click the test button I get the following: request failed 'Incompatible operation'

Can I not use the test button?
Title: Re: Transformation Scripts
Post by: Victor Kirhenshtein on April 28, 2010, 05:22:28 PM
Test button will work only for nodes (not templates) - because test is done by sending script to server and running it in context of specific node.
For testing scripts where $node variable is not used you could also use nxscript command line tool. If using nxscript, first command line argument will be passed to script as $1, second as $2, and so on.

Best regards,
Victor