Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

LOAD-EXECUTABLE-PROGRAM

&pagelevel(3)&pagelevel

Load executable program (LLM, load, object module)

Component:

BLSSERV                                                                             

Functional area:

Program control
System control and optimization

Domain:

PROGRAM

Privileges:

STD-PROCESSING
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Function

The LOAD-EXECUTABLE-PROGRAM command has two functions:

  • It calls the dynamic binder loader DBL and defines the primary input. DBL links LLMs or OMs into a load unit, which it then loads into main memory. The DBL loads an LLM which has already been linked by the BINDER into a load unit and stored in a PAM file (PAM-LLM) only in main memory.

  • It calls the static loader ELDE. A program (load module) previously linked by the TSOSLNK linkage editor is loaded by ELDE into main memory.

The loaded load unit or program is not started until a RESUME-PROGRAM command is executed.

If the user wants to load and start the load unit or program, the START-EXECUTABLE-PROGRAM command can be used instead of the LOAD-EXECUTABLE-PROGRAM and RESUME-PROGRAM commands.

In the case of operands which have *DBL-PARAMETERS as their default value, the MODIFY-DBL-DEFAULTS command can be used to modify the default DBL parameters which apply when the task is started. The parameters can be configured separately for calls to the LOAD- and START-EXECUTABLE-PROGRAM commands on the one hand and for the BIND macro call on the other. The SHOW-DBL-DEFAULTS command lists the values which are currently set. The RESET-DBL-DEFAULTS command can be used to return the settings to the DBL defaults.

Structure-implicit notation is guaranteed for the PROGRAM-MODE, REP-FILE and ALTERNATE-LIBRARIES operands (see section "Abbreviation of names").
Restrictions

Users with SAT-FILE-EVALUATION, SAT-FILE-MANAGEMENT and SECURITY-ADMINISTRATION privileges can only use the command in procedures.

Format

LOAD-EXECUTABLE-PROGRAM

Alias: LDX

FROM-FILE = <filename 1..54 without-gen> / *OMF / [*LIBRARY-ELEMENT](...)


[*LIBRARY-ELEMENT](...)



|

LIBRARY = *DBL-DEFAULT / *BLSLIB / <filename 1..54 without-gen> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME = <structured-name 1..8>



|

,ELEMENT-OR-SYMBOL = <composed-name 1..64 with-under>(...) / <c-string 1..32 with-low symbol>



|


<composed-name 1..64 with-under>(...)



|



|

VERSION = *HIGHEST-EXIST ING / <composed-name 1..24 with-under>



|



|

,NAME-SCOPE = *ELEMENT / *STD / *SYMBOL




,TYPE = (L,C,R) / list-poss(3): L / C / R

,PROGRAM-PARAMETERS = *NONE / <c-string 1..1800 with-low>

,DBL-PARAMETERS = *STD / [*PARAMETERS](...)


[*PARAMETERS](...)



|

LOADING = [ *PARAMETERS](...)



|


[ *PARAMETERS](...)



|



|

PROGRAM-MODE = *DBL-DEFAULT / *ANY / *24



|



|

,LOAD-INFORMATION = *DBL-DEFAULT / *DEFINITIONS / *MAP / *NONE /



|



|


*REFERENCES



|



|

,REP-FILE = *DBL-DEFAULT / *NONE / <filename 1..54 without-gen>



|



|

,IGNORE-ATTRIBUTES = *DBL-DEFAULT / *NONE / *READ-ONLY



|



|

,AMODE-CHECK = *DBL-DEFAULT / *STD / *ADVANCED



|

,RESOLUTION = [ *PARAMETERS](...)



|


[ *PARAMETERS](...)



|



|

SHARE-SCOPE = *DBL-DEFAULT / *SYSTEM-MEMORY / *NONE / *ALL /



|



|





*MEMORY-POOL(...)



|



|


*MEMORY-POOL(...)



|



|



|

SCOPE = *ALL / *USER-ID / *USER-GROUP / *HOST-SYSTEM



|



|

,PROGRAM-VERSION = *DBL-DEFAULT / *STD / *BLANK /



|



|






<composed-name 1..24 with-under>



|



|

,ALTERNATE-LIBRARIES = *DBL-DEFAULT / *NONE / list-poss(2): *TASKLIB / *BLSLIB##



|



|

,AUTOLINK = *DBL-DEFAULT / *YES / *NO / *ALTERNATE-LIBRARIES



|

,ERROR-PROCESSING = [ *PARAMETERS](...)



|


[ *PARAMETERS](...)



|



|

NAME-COLLISION = *DBL-DEFAULT / *STD / *ABORT



|



|

,UNRESOLVED-EXTRNS = *DBL-DEFAULT / *STD / *DELAY / *ABORT



|



|

,ERROR-EXIT = *DBL-DEFAULT / *NONE / <x-string 1..8>



|

,REPORTING = [ *PARAMETERS](...)



|


[ *PARAMETERS](...)



|



|

MESSAGE-CONTROL = *DBL-DEFAULT / *INFORMATION / *WARNING / *ERROR /



|



|






*NONE



|



|

,PROGRAM-MAP = *DBL-DEFAULT / *NONE / *SYSLST(...) / *SYSOUT / *BOTH(...)



|



|


*SYSLST(...)



|



|



|

SYSLST-NUMBER = *STD / <integer 1..99>



|



|


*BOTH(...)



|



|



|

SYSLST-NUMBER = *STD / <integer 1..99>

,MONJV = *NONE / <filename 1..54 without-gen-vers>

,CPU-LIMIT = *JOB-REST / <integer 1..32767 seconds>

,TEST-OPTIONS = *DBL-DEFAULT / *NONE / *AID

,RESIDENT-PAGES = [ *PARAMETERS] (...)


[ *PARAMETERS](...)



|

MINIMUM = *STD / <integer 0..2147483647 4Kbyte>



|

,MAXIMUM = *STD / <integer 0..2147483647 4Kbyte>

,VIRTUAL-PAGES = *STD / <integer 0..32767 4Kbyte>

Operands

FROM-FILE =
Determines the input source from which the program is to be loaded.

FROM-FILE = <filename 1..54 without-gen>
Name of the PAM file that contains a load module or PAM-LLM.

If the file/library name is specified without a catalog/user ID and if it is not cataloged in the user ID, the system tries to access a file or library of the same name in the system default ID. (For information on this “secondary read” function see the “Introductory Guide to DMS” [13].)

FROM-FILE = *OMF
The input source is the EAM object module file. This contains object modules only.

FROM-FILE = *LIBRARY-ELEMENT(...)
The input source is a program library from which modules are retrieved. Either the dynamic binder loader DBL or the static loader ELDE is called depending on the element type.

LIBRARY =
Specifies the input source from which modules (LLMs, load modules or object modules) are to be retrieved.
The input source must generally be a program library. If the input source is an object module library (OML) then the following conditions must be fulfilled:

  • Only object modules (OM, TYPE=R) may be loaded

  • A value other than the default value ELEMENT must be specified for the NAME-SCOPE operand.

Whether other libraries are searched depends on the specification in the ALTERNATE-LIBRARIES operand.

LIBRARY = *DBL-DEFAULT
The setting in the last MODIFY-DBL-DEFAULTS command applies. *BLSLIB is set by default on task start.

LIBRARY = *BLSLIB
The input source is the standard library with the file link name BLSLIB.

LIBRARY = <filename 1..54 without-gen>
File name of a library serving as input source.

LIBRARY = *LINK(...)
File link name of the library serving as input source.

LINK-NAME = <structured-name 1..8> 
File link name of the library.

ELEMENT-OR-SYMBOL =
Specifies the modules that are to be retrieved from the specified input source.
In the case of an object module, the start address is dependent on the specifications in the END record as follows:

      • If a start address is specified in the END record then this address is used.
      • If no start address is specified in the END record then the address of the first CSECT in the module is used.
      • If an external reference (EXTRN or WXTRN) is specified in the END record then the module is started at the address of the symbol that resolves this reference. If no symbol that resolves the reference is found then
        • in the case of an unresolved EXTRN, loading is aborted,
        • in the case of an unresolved WXTRN, the module is started at the address of the first CSECT.

An LLM is started at the address that was taken over by the BINDER when the LLM was stored.

ELEMENT-OR-SYMBOL = <composed-name 1..64 with-under>(...)
Name of the object module (element type R), load module (element type C) or LLM (element type L). The possible element types are specified in the TYPE operand. Depending on the specification in the NAME-SCOPE operand, a CSECT name, ENTRY name or element name from a module may be specified.

VERSION =
Specifies the element version.

VERSION = *HIGHEST-EXISTING
The default value for the highest element version in program libraries is taken over (see the “LMS” manual [21]).

VERSION = <composed-name 1..24 with-under>
Explicit specification of the element version.

NAME-SCOPE = 
Specifies whether the name entered in ELEMENT-OR-SYMBOL can be an element name or also a CSECT or ENTRY name.

NAME-SCOPE = *ELEMENT
Only elements in PLAM libraries are searched for.

NAME-SCOPE = *SYMBOL
Only CSECT or ENTRY names are searched for. If the specified name is longer than 32 characters, the command is rejected.
For the search order, see section “Linkage process” in the “BLSSERV” User Guide [3].

NAME-SCOPE = *STD
Both element names (with the exception of type C) and CSECT/ENTRY names are searched for. If the specified name is longer than 32 characters, the command is rejected.
For the search order, see section “Linkage process” in the “BLSSERV” User Guide [3].

ELEMENT-OR-SYMBOL = <c-string 1..32 with-low symbol >
Specifies a symbol as a C string (pay attention to uppercase/lowercase). For the search order, see section “Linkage process” in the “BLSSERV” User Guide [3].

TYPE = (L,C,R) / list-poss(3): L / C / R 
Specifies the element type. When a list is specified, the order of the specified element types also determines the search order. The default setting (L,C,R) specifies that the element is first searched for in the LLMs, then in the load modules and finally in the OMs. In the case of NAME-SCOPE=*SYMBOL/*STD, the specification of element type C is ignored.
The following applies for element names > 41 characters:

  • If element type C is specified as an individual value, the command is rejected.

  • If multiple element types are specified, element type C is ignored.

The operand is only evaluated for the input source (LIBRARY), not for alternate libraries for which the order L,R applies.

PROGRAM-PARAMETERS = *NONE / <c-string 1..1800 with-low> 
Parameters can be specified only if the chargeable SDF-P subsystem is in use.
Program parameters which read in the called program from the S variable SYSPARAM or via the C function getopt.
The default value is *NONE, i.e. no parameters are passed to the program. In such cases, an existing SYSPARAM is deleted.

DBL-PARAMETERS = *STD / *PARAMETERS(...)
This operand is not evaluated for load modules (element type C). 
Designates all the parameters that are set by default in DBL or whose default setting can be modified using the MODIFY-DBL-DEFAULTS command. *STD is set by default, i.e. the command is called with the current DBL parameters. It is possible to declare explicit values for the command call by specifying *PARAMETERS(...).

DBL-PARAMETERS = *PARAMETERS(...)
Explicit specification of the DBL parameters for this command call.

LOADING = *PARAMETERS(...) 
Specifies the parameters for the load operation.

PROGRAM-MODE=
Specifies in which part of the address space (above or below the 16-Mbyte boundary) the modules of the load unit are to be loaded. For the addressing mode, see the “BLSSERV” User Guide [3].

PROGRAM-MODE = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is 24.

PROGRAM-MODE = *ANY
The modules of the load unit may be loaded above or below the 16-Mbyte boundary.

PROGRAM-MODE = *24
The entire load unit is loaded below the 16-Mbyte boundary.

LOAD-INFORMATION =
Specifies the loading information for the load unit.

LOAD-INFORMATION = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *DEFINITIONS.

LOAD-INFORMATION = *DEFINITIONS
Loads an ESD containing the program definitions of all the modules in the load unit. Program definitions include program sections (CSECTs), entry points (ENTRYs), COMMON areas and external dummy sections (XDSECs-D).

LOAD-INFORMATION = *REFERENCES
Loads an ESD containing not only the program definitions, but also the satisfied references of all the modules in the load unit.
References include external references (EXTRNs), V-type constants, conditional external references (WXTRNs) and external dummy sections (XDSECs-R).

LOAD-INFORMATION = *MAP
Only one ESD required for the generation of the DBL list is temporarily loaded. The ESD is unloaded as soon as the DBL list has been generated.

LOAD-INFORMATION = *NONE
The external symbols dictionary (ESD) is not loaded with LLMs and is only loaded temporarily with OMs.

          • With LLMs, the ESD is not read at all and consequently is also not used to resolve references within the generated load unit.

          • With OMs, the ESD is read and is temporarily available during the loading process.

If external references need to be resolved between LLMs and OMs of the generated load unit, the minimum specification is *DEFINITIONS or *MAP.

REP-FILE = *DBL-DEFAULT / *NONE / <filename 1..54 without-gen>
Specifies whether REP records are to be applied to the modules of a load unit. Default: The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *NONE, i.e. no REP records are used.
If the user specifies a file name, the DBL attempts to process REP records from this file. The REP records must have the standard format that is processed by the RMS utility routine (see the “Utility Routines” manual [9]). Should an error occur during REP record processing, a message (warning) is output, the invalid REP record is skipped and REP processing is then continued.

IGNORE-ATTRIBUTES =
Specifies which CSECT attributes are ignored on loading.

IGNORE-ATTRIBUTES = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *NONE.

IGNORE-ATTRIBUTES = *NONE
No CSECT attributes are ignored on loading.

IGNORE-ATTRIBUTES = *READ-ONLY
The CSECT attribute READ-ONLY is ignored on loading. The CSECT is loaded into a readable/writable main memory page. This enables breakpoints to be set when testing with AID, for example.

AMODE-CHECK = *DBL-DEFAULT / *STD / *ADVANCED 
Determines whether additional checks of the addressing mode should take place during loading.

AMODE-CHECK = *DBL-DEFAULT
The setting of the last MODIFY-DBL-DEFAULTS command applies. When the task begins, *STD is the default.

AMODE-CHECK = *STD
Only the checks compatible with BLSSERV < V2.5 are executed.

AMODE-CHECK = *ADVANCED
The same checks as for AMODE-CHECK = *STD are performed.
During loading, a check is also performed to see whether inconsistencies can occur while resolving external references because of the load unit’s addressing mode.

RESOLUTION = *PARAMETERS(...)
Specifies how external references are to be handled.

SHARE-SCOPE =
This specification is ignored for a PAM-LLM (SHARE-SCOPE=*NONE applies implicitly). Specifies whether, and if so, which portion of the shared code (see section “Shareable programs (shared code)” in the “BLSSERV” User Guide [3]) is included in the search for modules of the load unit and for unresolved external references. On the system level, system administration can make available frequently used programs or modules to users in class 4/5 memory (as nonprivileged subsystems). The nonprivileged user can also make available programs or modules to users in class 6 memory (in a memory pool).
If a user uses modules from the available shared code, these modules need not be created in the task’s class 6 memory. The references to modules already loaded as shared code suffice.
The shared code is searched in the following order:

  1. Search of the shared code in class 6 memory (Common Memory Pools). If DBL finds the symbol it is searching for, it passes the load address, connects the task to the memory pool and terminates the load operation.

  2. Search of the system’s shared code, i.e. search of all nonprivileged subsystems that have been loaded into class 3/4 and class 5 memory. If DBL finds the symbol it is searching for, it passes the load address, connects the task to the memory pool and terminates the load operation.

SHARE-SCOPE = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *SYSTEM-MEMORY.

SHARE-SCOPE = *SYSTEM-MEMORY
Only the shared code made available in class 3/4 and class 5 memory is included in the search.

SHARE-SCOPE = *NONE
Shared code is not included in the search.

SHARE-SCOPE = *ALL
Both the shared code made available in class 3/4 and class 5 memory (system memory) and that made available in class 6 memory (memory pools) is included in the search.

SHARE-SCOPE = *MEMORY-POOL(...)
The user shared code available in class 6 memory is included in the search, i.e. memory pools with the specified scope are included.

SCOPE =
Scope of the memory pools to be included.

SCOPE = *ALL
All memory pools which the task can access are included.

SCOPE = *USER-ID
Only memory pools which were set up for the user ID of the calling task are included, i.e. memory pools which are shareable for all tasks under this user ID.

SCOPE = *USER-GROUP
Only memory pools which were set up for the user group to which the calling task belongs are included, i.e. memory pools which are shareable for all tasks of this user group.

SCOPE = *HOST-SYSTEM
Only memory pools which were set up globally are included, i.e. memory pools which can be used by all tasks.

PROGRAM-VERSION = 
Specifies the program version that DBL is to use. With regard to DBL, a program version is the version of a load unit which is about to be or has already been loaded.

PROGRAM-VERSION = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *STD.

PROGRAM-VERSION = *STD
The load unit produced by the load call is assigned the version of the loaded library element as its program version.
If the symbol specified in the load call has already been loaded, the command looks for the program version defined in the SELECT-PROGRAM-VERSION command. If no program version has yet been defined, DBL uses the first symbol it finds.

PROGRAM-VERSION = *BLANK
The program version is disregarded. If the load unit specified in the call is not yet loaded, the load unit being loaded is not assigned a version.

PROGRAM-VERSION = <composed-name 1..24 with-under>
Version of the program looked for among the programs which are already loaded. If this program version has not yet been loaded, the load unit being loaded is assigned this version.

ALTERNATE-LIBRARIES = *DBL-DEFAULT / *NONE / list-poss(2) *TASKLIB / *BLSLIB##
This specification is ignored for a PAM-LLM (ALTERNATE-LIBRARIES=*NONE applies implicitly).
Specifies whether alternate libraries are to be searched for symbols. They are also used for the DBL autolink function (see also the AUTOLINK operand).
If a list is specified then the libraries are searched in the specified order.
When the alternate libraries are searched, then the fixed type order L,R applies irrespective of the TYPE operand. In this case, only symbols are searched for, not element names.

ALTERNATE-LIBRARIES = *DBL-DEFAULT
The setting in the last MODIFY-DBL-DEFAULTS command applies. *NONE is set by default at task start.

ALTERNATE-LIBRARIES = *NONE
No alternate libraries are searched.

ALTERNATE-LIBRARIES = *TASKLIB
The system and/or user Tasklibs are searched in the following order:

  1. The library that was assigned using the SET-TASKLIB command
  2. The library $userid.TASKLIB or, if this does not exist
    The TASKLIB library under the system default ID (DEFLUID ID)

ALTERNATE-LIBRARIES = *BLSLIB## 
The libraries assigned with the file link name BLSLIBnn or $BLSLBnn (00<=nn<=99) are searched.

Files with the file link name $BLSLBnn are alternate system libraries that are internally assigned by the system depending on the components that are required by the runtime system.

AUTOLINK = 
This specification is ignored for a PAM-LLM (AUTOLINK=*NO applies implicitly). Specifies whether the DBL autolink function is to be used.

AUTOLINK = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *YES.

AUTOLINK = *YES
The DBL autolink function is used and both the input source and any alternate libraries are searched.

AUTOLINK = *NO
The DBL autolink function is not used.

AUTOLINK = *ALTERNATE-LIBRARIES
The DBL autolink function is used for alternate libraries only if alternate library searching has been enabled (ALTERNATE-LIBRARIES=*TASKLIB/*BLSLIB##).

ERROR-PROCESSING = *PARAMETERS(...) 
Specifies how any errors that occur are to be handled.

NAME-COLLISION =
Specifies how name collisions between symbols of the same name are to be handled. Name collisions are discovered only if the symbols are not masked.

NAME-COLLISION = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *STD.

NAME-COLLISION = *STD
Name collisions between nonmasked symbols are indicated by warning messages. The module containing the symbol with the same name is loaded. The new occurrence of the symbol is masked, i.e. it is no longer used to satisfy external references.

NAME-COLLISION = *ABORT
Loading of the current load unit is aborted if a name collision between nonmasked symbols is discovered.

UNRESOLVED-EXTRNS =
This specification is ignored for a PAM-LLM (UNRESOLVED-EXTRNS=*STD applies implicitly).
Specifies how unresolved external references are to be handled. All unresolved external references are output to the symbol file SYSOUT, with unresolved external dummy sections (XDSECs-R) listed separately.

UNRESOLVED-EXTRNS = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *STD.

UNRESOLVED-EXTRNS = *STD
Unresolved external references are assigned an address specified in the ERROR-EXIT operand.

UNRESOLVED-EXTRNS = *DELAY
Unresolved external references are satisfied at a later time. This operand is permissible only when LOAD-INFORMATION=*REFERENCES.
The DBL stores the unresolved external references in the link context. After the next load unit is loaded into the context, the DBL attempts to satisfy the stored external references with CSECTs and ENTRYs from this new load unit. This process is repeated whenever further load units are loaded for as long as the context continues to exist. External dummy sections (XDSECs-R) cannot be stored.

When stored in the context, the unresolved external references are assigned a (preliminary) address, which is specified in the ERROR-EXIT operand.

UNRESOLVED-EXTRNS = *ABORT
All external references must be resolved. If not, the current load unit is aborted.

ERROR-EXIT = *DBL-DEFAULT / *NONE / <x-string 1..8>
Defines the address that unresolved external references are to be assigned if the operands UNRESOLVED-EXTRNS=*STD / *DELAY are specified.
Default: The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *NONE.
If *NONE is specified, external references are left unresolved (equivalent to specifying X'FFFFFFFF').

REPORTING = *PARAMETERS(...) 
Specifies how the load operation is to be logged.

MESSAGE-CONTROL =
Specifies the lowest message class at which messages are to be output.

MESSAGE-CONTROL = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *INFORMATION.

MESSAGE-CONTROL = *INFORMATION
Outputs messages of all message classes.

MESSAGE-CONTROL = *WARNING
Outputs messages of the WARNING and ERROR message classes only; messages of the INFORMATION message class are not output.

MESSAGE-CONTROL = *ERROR
Outputs messages of the ERROR message class only.

MESSAGE-CONTROL = *NONE
No messages are to be output.

PROGRAM-MAP =
Specifies whether a DBL list is to be output and defines the output destination for the DBL list.

PROGRAM-MAP = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *NO.

PROGRAM-MAP = *NONE
No DBL list is to be output.

PROGRAM-MAP = *SYSLST(...)
The output destination is the SYSLST system file.

SYSLST-NUMBER =
Specifies the number of the SYSLST system file from the set SYSLST00 to SYSLST99.

SYSLST-NUMBER = *STD
The output destination is the system file SYSLST[00]

SYSLST-NUMBER = <integer 1..99>
The output destination is a SYSLST system file from the set SYSLST01 to SYSLST99.

PROGRAM-MAP = *SYSOUT
The output destination is the SYSOUT system file.

PROGRAM-MAP = *BOTH(...)
The system files SYSOUT and SYSLST are both output destinations.

SYSLST-NUMBER =
Specifies the number of the SYSLST system file from the set SYSLST00 to SYSLST99.

SYSLST-NUMBER = *STD
The output destination is the system file SYSLST[00]

SYSLST-NUMBER = <integer 1..99>
The output destination is a SYSLST system file from the set SYSLST01 to SYSLST99.

MONJV = *NONE / <filename 1..54 without-gen-vers>
Name of the job variable that is to monitor the program.
While the program is executing, the system sets the JV to one of the following values:

$R

program executing

$T

program terminated

$A

program abnormally terminated

This operand is available only to users who have the JV software product (see also the “Job Variables” manual [20]).

CPU-LIMIT = *JOB-REST / <integer 1..32767 seconds >
Maximum CPU time, in seconds, allowed for execution of the program.
If the execution of the program exceeds the specified time, in interactive mode the program is interrupted and message EXC0075 is output. The user can request a dump, abort the program or continue the program. If a STXIT routine is defined in the program for the event of reaching the CPU time limit, this routine is executed and the program terminated.
In batch mode the program is terminated. See also section "Time limits in BS2000".

CPU-LIMIT = *JOB-REST
If the job was started with a time limit, the remaining CPU time will be used as the time limit for the program. Otherwise, the program executes without a time limit.

TEST-OPTIONS =
Specifies whether symbolic addresses in the program may be used in testing (with AID). Symbolic addresses can only be used to debug programs for which debugging and diagnostic information (LSD/list for symbolic debugging) was generated at compile time. This entails setting certain compiler options when compiling the source program (see the appropriate compiler user guide).

TEST-OPTIONS = *DBL-DEFAULT
The setting from the last MODIFY-DBL-DEFAULTS command applies. At the start of a task, the preset value is *NONE.

TEST-OPTIONS = *NONE
The local symbolic address table/the internal symbolic address table is not used.

TEST-OPTIONS = *AID
This operand is required for testing with AID.
This specification permits the use of symbolic addresses when testing the program with AID commands. For this, a local symbolic address table or an internal symbolic address table must have been generated when the program was compiled.
This specification is only possible for OMs (element type R) and LLMs (element type L) if LOAD-INFORMATION=*DEFINITIONS/*REFERENCES is also specified.

RESIDENT-PAGES = *PARAMETERS(...)
Number of resident memory pages required for the program run.
This operand must be specified if, in the program, pages are to be made resident with a CSTAT macro (see the “Executive Macros” manual [22]). The permissible number of resident memory pages can be controlled by the operator.
If the operand is omitted (MIN=*STD,MAX=*STD), the memory requirements are taken from the start record of the program, which requires the file to be opened.

MINIMUM = *STD / <integer 0..2147483647 4Kbyte >
Minimum number of resident memory pages required.

MAXIMUM = *STD / <integer 0..2147483647 4Kbyte >
Maximum number of resident memory pages required.

VIRTUAL-PAGES = *STD / <integer 0..32767 4Kbyte >
The operand is evaluated only if a load module (element type C) is loaded.
Number of pageable memory pages which must be available for the program run. If the specified number exceeds the number of pages available on the computer, the command is rejected.

VIRTUAL-PAGES = *STD
The memory requirements are taken from the start record of the program.

Return codes

(SC2)

SC1

Maincode

Meaning


0

CMD0001

Command executed

2

0

BLS0150

Warning on loading of the program (see the message on SYSOUT)


32

BLS0152

Loading of the program aborted due to system error


64

CMD0216

The user is not authorized to use the command


64

BLS0153

Loading of the program aborted due to an unrecoverable error (see the SYSOUT message for the reason)

Notes

  • Further information on loading programs can be found in the description of the loaders in the “BLSSERV” User Guide [3].

  • DBL does not lock any libraries or library elements during the program run.

  • Calling DBL with START-/LOAD-EXECUTABLE-PROGRAM always corresponds to a call with START-/LOAD-PROGRAM and RUN-MODE=*ADVANCED. The functionality of RUN-MODE=*STD is only available with the earlier commands START-/LOAD-PROGRAM.

  • Some DBL functions are not available for an LLM that has already been linked into a load unit with BINDER and stored in a PAM file (PAM-LLM). Explicit specifications for the operands involved are ignored and the command is executed implicitly with the following values:

  • SHARE-SCOPE=*NONE

  • ALTERNATE-LIBRARIES=*NONE

  • AUTOLINK=*NO

  • UNRESOLVED-EXTRNS=*STD

  • If multiple identical element types (TYPE operand) or alternate libraries (ALTERNATE-LIBRARIES operand) are specified, command execution is aborted with a warning.

  • If NAME-SCOPE=*SYMBOL/*STD or ELEMENT-OR-SYMBOL= <c-string> is specified then:

  • if only element type C is declared (TYPE operand), command execution is aborted with an error message.

  • if element type C and at least one other element type are declared (TYPE operand) then element type C is ignored and the command is executed. If NAME-SCOPE=*STD then a warning is issued if an existing C element is skipped.

  • As the specification of an element name > 32 characters in the ELEMENT-OR-SYMBOL operand cannot refer to a CSECT or ENTRY name (up to 32 characters), the following applies:

  • When NAME-SCOPE=*SYMBOL is specified the command is rejected.

  • When NAME-SCOPE=*STD is specified the search is restricted just to element names without a warning.

  • As the specification of an element name > 41 characters in the ELEMENT-OR-SYMBOL operand cannot refer to a load module (element type C with up to 41 characters), the following applies:

  • When TYPE=C is specified the command is rejected.

  • If in addition to C at least one other element type is specified in the TYPE operand, element type C is ignored without a warning.

  • DBL defines the following names for the context and the load unit:

  • the default name “LOCAL#DEFAULT” for the context

  • the default name “%UNIT” for the load unit

  • Execution of programs cannot be nested. If a LOAD-EXECUTABLE-PROGRAM or LOAD-PROGRAM command is issued when a program is already loaded, the loaded program is unloaded and the new command is executed. No error message appears; however, an ABEND-STXIT routine defined in the unloaded program is first activated, unless the LOAD-PROGRAM command is called via the CMD macro (see the “Executive Macros” manual [22]).

  • Program monitoring (see also the “Job Variables” manual [20]):

  • The status indicator in the job variable monitoring the program is set to “$R” when the program is started.

  • If a program is already loaded or a started program is interrupted by a HOLD-PROGRAM command or depression of the [K2] key, the status indicator in the program-monitoring job variable is set to “$A”.

  • If the JV is not accessible at the time the command is processed, an error message is issued to SYSOUT and command processing is continued.

Examples

See the START-EXECUTABLE-PROGRAM command.