NetXMS Support Forum

English Support => General Support => Topic started by: Percy on February 13, 2014, 11:15:24 AM

Title: Execution of Script
Post by: Percy on February 13, 2014, 11:15:24 AM
hi all,

i want to execute the script created in script library for a particular DCI through transformation tab of DCI. Is it possible..? if possible what function i can use  to call that script in transformation script of  DCI.

thank you
Percy
Title: Re: Execution of Script
Post by: sperlm on February 13, 2014, 02:58:43 PM
Hi, not sure if it works for transformations but I am using scripts "normally" in automatic apply rules for templates... if it is consistent try simply one of these things:

1) enter the script directly to the transformation as you would while editing script in script library
2) create function in the script library and just use it in the transformation window
e.g. in script library:
sub function(x)
{code}

in tranformation tab: function(inputdata);

Will try it to be sure..

EDIT:
forgot we discussed transformations in thread History management : store averaged values ? (https://www.netxms.org/forum/configuration/history-management-store-averaged-values/msg10552/#msg10552)

also did a little dummy transformation "return (2 * GetDCIValue($node, FindDCIByDescription($node, "CPU 47")));" which returns twice the value of the DCI "CPU 47" and it works fine as I suggested above

With regards,
Milan Sperl
Title: Re: Execution of Script
Post by: Victor Kirhenshtein on February 13, 2014, 07:06:25 PM
Hi!

To use function from library script, you should use "use" operator in your transformation script, like following:


use LibraryScript;

return library_function($1);


assuming you have script in library named LibraryScript like this:


sub library_function(x)
{
   return x * 2;
}


Best regards,
Victor