When first declared, an S variable is created in class 5 memory. Its lifespan is determined by its scope. For example, a procedure-local variable ceases to exist when the procedure is terminated. At the most, an S variable continues to exist until the task is terminated. The contents of a variable can be stored permanently in a job variable (chargeable component) or in a variable container (available with SDF-P-BASYS).
An S variable can be declared implicitly or explicitly.
Implicit declaration means that the S variable is created automatically by assigning it a value. This is possible only if IMPLICIT-DECLARATION=*YES has been specified (see the SET-PROCEDURE-OPTIONS command). Variables declared implicitly are of the type ANY.
S variables are declared explicitly (as procedure parameters) by means of the DECLARE-PARAMETER command in the procedure header of an S procedure. The DECLARE-VARIABLE command declares S variables explicitly.