User-Defined Function: How to pass output variable value to another variableHi, I am making a code that validates user input. The user input are two lists, B and C. The output is list A, which contains all the items that are contained in both B and C. Here is the code:
//CHECK IF USER INPUT MAKES SENSE
Caption("Checking input data...");
col_name_list = dt << get column names( string );
//Check if there are duplicate or missing inputs
//Create a User-Defined Function
ColCheck=Function({main, second}, {duplicate},
(duplicate={}; Show (duplicate);
For (i=1, i<=Nitems(main), i++,
//Check if there are missing columns from user input
If ( !Contains( col_name_list, main[i] ),
Write("WARNING! Column " || main[i] ||" does not exists. Creating data column.");
Caption("WARNING! Column " || main[i] ||" does not exists. Creating data column.");
Wait( 1 );
script1 = "dt<<NEW column=""></NEW>Here is the output:
A = {};
duplicate = {};
duplicate = {"two"};
duplicate = {"two", "three"};
A = .;The functions works, as seen from the values of "duplicate" variable. The problem is this: the duplicate content cannot be passed to variable "A". Is there anything wrong with my code?
Re: User-Defined Function: How to pass output variable value to another variableThanks Jim. It's working now.
Best,
Shaira
Re: User-Defined Function: How to pass output variable value to another variableWhat is passed back from a JMP function or Format is the last value processed, therefore if you add "duplicate" as the last item, it works great.
ColCheck = Function( {main, second},
{duplicate},
duplicate = {};
Show( duplicate );
For( i = 1, i <= N Items( main ), i++,
//Check if there are missing columns from user input
If( !Contains( col_name_list, main[i] ),
Write( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
Caption( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
Wait( 1 );
script1 = "dt<<NEW column=""></NEW>