Creating a system-managed environment

When creating a set of system-managed environments, you need to create an authorized environment definition table (AEDT). The AEDT describes the attributes and management characteristics of the environments to be created. Each AEDT contains one or more environment definition entries (AEDE). Each AEDE is a set of characteristics that describe how and when an environment is to be created. On later routine calls, you need to select an AEDE to run the call by specifying the index in the AEDT corresponding to the appropriate AEDE.

Guidelines: When building the AEDT, for each AEDE specify:
  • An optional runtime options string to be applied to any environment created for that entry. The runtime option string for each AEDE is applied to each environment on the first call using the environment, along with the options specified by the main(). This initial set of options remains in effect for the life of the environment, unless overridden by another runtime options string on a subsequent call that uses this environment.
  • The initial number of environments to be created
  • The amount of time, in microseconds, to wait if no environments are available. The minimum value is 0, which indicates that no wait is to be performed. CELAAUTH uses this value to wait once for an available environment before attempting to increment the number of environments. If the maximum number of environments has been reached, CELAAUTH waits once more for an available environment, using the specified time. Do not specify values greater than 20 microseconds because this could have an adverse affect on CELAAUTH processing.
  • The number of environments to be incrementally created when all existing environments are in use
  • The maximum number of environments to be created
  • A deferred initialization attribute that indicates whether to defer the creation of the initial set of environments until the first call using that environment type

With system-managed environments, the caller needs to provide an 8-byte identifier that identifies the set of managed environments within the address space. This helps differentiate between sets of managed environments created by different components or applications. The actual content of the environment ID is up to the caller. For example, it could contain a pointer to an application's control block or an 8-character value.

Recommendation: When characters are used for the environment ID, the value should begin with the application's 3-4 character component ID to help avoid confusion with other identifiers. Managed environment IDs beginning with the characters "CEE", "CEL", and "EDC" are reserved for use by Language Environment.