Select version of program
| Component: | IMON-GPN | 
| Functional area: | Program control | 
| Domain: | PROGRAM | 
| Privileges: | STD-PROCESSING | 
Function
The SELECT-PROGRAM-VERSION command lets the user select a specific version of a program to work with. 
This tells the DBL which version of a load unit to use if it has access to multiple loaded versions of it.
Format
| SELECT-PROGRAM-VERSION | 
| PROGRAM-NAME = <composed-name 1..32> / <text 1..32 without-sep> ,VERSION = *STD / <composed-name 1..24> ,SCOPE = *PROGRAM / *TASK | 
Operands
PROGRAM-NAME = <composed-name 1..32> / <text 1..32 without-sep>
Name of the program. From the DBL’s viewpoint this is the name of a load unit. This program must not yet be loaded at the time of version selection.
VERSION = *STD / <composed-name 1..24>
Version of the program.
*STD means that the program version is disregarded. DBL acts as if the SELECT-PROGRAM-VERSION command had not been executed.
SCOPE =
Applicability of the version selection.
SCOPE = *PROGRAM 
The version selection applies only until a program terminates or a different version is selected. That means the version selection must be repeated each time the program is to be run.
SCOPE = *TASK
The version selection applies until the end of the task or until a different version is selected.
Separate versions of a program can be selected for SCOPE=*PROGRAM and for SCOPE=*TASK. A subsequent version selection supersedes an earlier selection with the same SCOPE.
SCOPE=*PROGRAM takes precedence over SCOPE=*TASK. If differing scopes are defined for two different versions of a program, only the version defined using SCOPE=*PROGRAM applies.
Return codes
| (SC2) | SC1 | Maincode | Meaning | 
|---|---|---|---|
| 0 | CMD0001 | Command executed | |
| 2 | 0 | BLS0150 | Warning during program execution | 
| 1 | 32 | BLS0152 | System error | 
| 64 | CMD0216 | User not authorized to issue command |