You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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

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

where the global variable $ODAT represents a date and has been set as described in the Creating_global_variables FAQ. Substituting a job 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:

 function spooler_task_before() \{
    var paramNames = spooler_task.params.names.split( ";" );
    for( var i in paramNames )  \{
        substituteParams(paramNames[i]);  
    \}
    return true;
 \}
 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:

  • No labels