Automation Engine Script Guide > Ordered by Function > Script Structure and Processing > :BEGIN_EXT_INTERPRETER... :END_EXT_INTERPRETER

:BEGIN_EXT_INTERPRETER... :END_EXT_INTERPRETER

Script Statements: They are used to define the beginning and end of the external interpreter script in Job objects (on Windows and UNIX).
They are dependent on the system variables UC_EXT_INTERPRETERS_WINDOWS and UC_EXT_INTERPRETERS_UNIX respectively.

Syntax

:BEGIN_EXT_INT[ERPRETER ]
External Interpreter Script
:END_EXT_INT[EPRETER]

 

Value

Description/Format

External Interpreter Script

Contains the script to be used for the external interpreter.

Format: Dependent on the external interpreter called.

Description

This script statement is necessary in order to be able to use external interpreters in a Job object.
The relevant script for the execution of the external interpreter has to be set in the Process tab of a Job object, between these two statements (UNIX or Windows).

It is also possible to use the name and value of a user defined variable from the Include objects REGISTER_VARIABLE_* (Windows or UNIX, depending on the OS the Job is being executed on) by using the script statement :REGISTER_VARIABLE between these two statements.

Comments

To be able to use the relevant script of an external interpreter in a Job object, you have to define the external interpreters using the system variables UC_EXT_INTERPRETERS_WINDOWS and UC_EXT_INTERPRETERS_UNIX respectively.

It is possible to use more than one external interpreter with this script statement. In that case, use them sequentially. Several external interpreter scripts (of the same or a different external interpreter type) may not cascade or overlap.

Scripts used in the Process Tab of a Job object (JOBS) will be overridden by the respective script entries in the parent Workflow object, in case the Job object is part of a workflow.

Examples

The following example shows a Perl script, which will not only print all file names, number of all files and number of all text files, but also store these values in the variables defined with :REGISTER_VARIABLE.

! Transfer resource file (perl library) from DB to agent
:ATTACH_RES "STORE_LIB", "FUNC1", C


! Prepare resource file path string
:SET &cachepath# = STR_SUB("&$AGENT_RESOURCES_CLIENT#", "\", "\\")
:SET &funcfile# = STR_CAT(&cachepath#,"func.pl")


:BEGIN_EXT_INTERPRETER perl


# include transferred file
require "&funcfile#";


# Call function "myadd" of library file and print out result
my $val1 = 10;
my $val2 = myadd($val1);
print "calculated via lib function = $val2";


:END_EXT_INTERPRETER perl

 

See also: