SDF-P provides the assembler programmer with the following interfaces:
Macro | Function |
CLIEXPR | Evaluates SDF-P expressions |
CLIGET | Interrogates the procedure interruption protection |
CLISET | Sets explicit protection against program interruption |
CMD | Calls SDF-P commands from within a program |
GETVAR | Reads simple and complex variables |
PUTVAR | Writes simple variables |
SHOWSSA | Displays variable stream assignments |
TRANSVV | Transmits variables via a variable stream |
VARINF | Processes (modifies) complex variables |
The PUTVAR, GETVAR, SHOWSSA, TRANSVV and VARINF macros can be used to address S variables, i.e. variables that can also be addressed via the SDF-P command interface.
Scope of variables
There are currently two scopes for S variables: procedure-local and task-global.
The “procedure-local” scope is set or addressed on the command level in the SCOPE operand with SCOPE = *PROCEDURE / *CURRENT. On the program level, this scope is set or addressed with SCOPE = *VISIBLE. Note that procedure-local variables exist only until the end of the procedure, while the program may continue to run. It is then no longer possible to access procedure-local variables within the program; any attempt to do so results in an error.
The “task-global” scope is set or addressed on the command level in the SCOPE operand with SCOPE = *TASK. On the program level, this scope is extended with SCOPE = *TASKONLY. Task-global variables can be accessed during the whole time that the program is running, regardless of whether they are visible in the surrounding procedure.