Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
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 FAQ Substituting 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:
- Creating _global_variablesGlobal Variables
- Merging_global_variables_into_job/order_parameters
- Variable_set - (JS API Reference handbook)