Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Link corrected

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

Global Variables

Job and order parameters can be set using global variables. A simple example would be:

Code Block

 <param name="BookingDate" value="\$ODAT">

where the global variable $ODAT represents a date and has been set as described in the Creating_global_variables FAQthe How to create global variables page. Substituting a job parameter or order parameter in this way would allow, for example, a booking date to be set for a financial transaction although the transaction is actually processed at a later time.

The following is a more complex example showing the substitution of global variables in a job:

Code Block

 function spooler_task_before() \{
    var paramNames = spooler_task.params().names().split( ";" );
    for( var i in paramNames )  \{
        substituteParams( paramNames[i] );  
    \}
    return true;
 \}
Code Block

 function substituteParams( paramName ) \{
    var paramValue = spooler_task.params().value( paramName );
    if(paramValue.search(/\$/) > -1) \{
        var schedulerParamNames = spooler.variables().names().split( ";" );
        for( var i in schedulerParamNames )  \{
            if(paramValue.search(/\$/) == -1) \{
                break;
            \}
            var schedulerParamValue = spooler.variables().value( schedulerParamNames[i] );
            spooler_log.info( "Substitute: " + paramName + "=" + paramValue + " with " + schedulerParamNames[i] + "=" + schedulerParamValue );
            var pattern = new RegExp( "\\$\\{?SCHEDULER_PARAM_" + schedulerParamNames[i] + "\\}?", "ig" );
            paramValue = paramValue.replace( pattern, schedulerParamValue );
            spooler_log.info( "new value of " + paramName + "=" + paramValue );
        \}
        spooler_task.params().value( paramName ) = paramValue;
    \}
 \}

Substitution of global variables in an order can be carried out in a similar manner.

Further information:

See also