2022.2

Table Of Contents
Using Scripts
Scripts can be used to perform various operations, such as to manipulate data, for example. PReS
Workflow can perform scripts written in four different scripting languages and also provides an interface
for editing scripts.
Note: While this chapter provides some very useful and detailed information about scripting
within PReS Workflow, its focus is to inform you about the features, variables and functions
unique to this environment. This chapter assumes that you have a working knowledge of the
scripting language you wish to use and does not purport to teaching you anything about this lan-
guage that you don't already know. Learning any of these language is beyond the scope of this
documentation.
Run Script task
Scripts are incorporated in a process via the Run Script task (see "Run Script" on page426).
When using the Run Script task as a condition, you need a way to tell your process whether the result
is true or false. The condition result is returned by the "Script.ReturnValue" on page145 variable. If the
return value is zero (the default), the condition is false. Otherwise, it is true.
When using the Run Script as an action task, the job file going out of the Run Script action task will be
the same as the one coming in, unless you have specifically changed it within your script by writing to
the file that is the target of the "Watch.GetJobFileName" on page136 function. The same goes for any
Job Info, local or global variables, unless you use the "Watch.SetJobInfo" on page143 or
"Watch.SetVariable" on page144 functions to modify them.
Scripting languages
There are four scripting languages available through the Run Script task: JavaScript (JScript and
Enhanced JScript), VBScript, Python and Perl. Each language has its own strengths and weaknesses
which we will not cover in this documentation. While VBScript is the most used language at the
moment, the examples provided in this chapter are presented in all supported languages.
Note:
l
The JScript engine is Microsoft’s JScript 5.8, which is the equivalent of JavaScript 1.5
(ECMA-262 3rd edition + ECMA-327 (ES-CP) + JSON).
Enhanced JScript allows the use of more recent JavaScript syntax. Many methods - basic
methods like Date.now(), String.trim(), btoa()/atob() and more advanced meth-
ods like Array.forEach() - are added to the JScript engine via the polyfill.js library.
Page 117