Contents
The include statement allows you to execute code and use UDRs that are written in other SIL files. This can improve readability and make your code more manageable.
You can use the include statement to import entire libraries of UDRs.
Syntax
include "path/to/file.incl";
Include statements must be the first statements in your program, before the definition of UDRs.
For more information see Structure of a SIL program.
The provided path may be relative or absolute. If relative, it is resolved relative to the defined 'sil.home' environment variable, usually the 'silprograms' directory.
Variable visibility
There are two categories of variables you can use in the included programs.
Local Variables
These are the variables you define in the body of the included program. These can be used throughout the included program, as well as in your SIL program which included the file.
function increment(int x) { return x + 1; } number a = increment(0);
include "file.incl"; //resolved relative to the 'sil.home' number b = a + increment(2); //we can use the 'a' variable here!
Notice the use of variable a in the SIL program even though it was declared in the included file. Also notice the use of the increment() UDR which was defined in the included file as well.
Global variables
These are the variables that are already defined and can be used right away (issue fields and customfields). You can use these anywhere in your code without having to declare them.
function getKey() { return key; }