Natural Parameter Hierarchy

#### Search Results

Search

# Natural Parameter Hierarchy

This document describes the hierarchical structure of the different levels on which Natural profile parameters can be set. Various examples are given to illustrate the scenario.

The following topics are covered:

- Natural Parameter Hierarchy Overview

- General Rules for Parameter Usage

- Natural Parameter Module

- Predefined Dynamic Parameter Sets

- Predefined User Parameter Profiles

- Dynamic Parameter Entry

- Natural Security Definitions

- Session Settings for Profile Parameters

- Program/Statement Level Settings

- Development Environment Settings

- Examples of Parameter Evaluation

For details of the individual profile parameters, refer to the Parameter Reference documentation.

## Natural Parameter Hierarchy Overview

Natural profile parameters affect the appearance and the response of a Natural user's working environment. These parameters are set at different hierarchically organized levels as illustrated in the table below (priority from high to low).

Level | Short Description/References to Detailed Descriptions
--- | ---
During Session | Development Environment Settings Program/Statement Level Settings Session Parameter Settings Natural Security Definitions
Dynamic during Session Start | Dynamic Parameter Entry Predefined User Parameter Profiles Predefined Dynamic Parameter Sets Alternative Natural Parameter Module
Static | Natural Parameter Module

The hierarchically organized levels are discussed in the referenced sections, starting from the lowest and ending with the highest priority.

## General Rules for Parameter Usage

The following general rules apply:

- A parameter value set on a higher level overwrites the value defined on a lower level (exceptions: `PROFILE`, `SYS`, `DYNPARM` and some other parameters that work by adding values).

- Dynamic parameters during session start have sequence priority, that is, they are evaluated from left to right.

  #### Example:

      ESIZE=20,DATSIZE=60,ESIZE=100

  The resulting value is `ESIZE=100`.

- Not all of the parameters available at a lower level can be defined on a higher level, too.

## Natural Parameter Module

A Natural parameter module contains a set of profile parameters required to configure your Natural environment.

A Natural parameter module is built from the `NTPRM` macro and additional macros during the installation process as described in Building a Natural Parameter Module.

You can have more that one Natural parameter module depending on your personal preferences, for example, one module for Natural batch and one for Natural online sessions.

The Natural parameter module constitutes the bottom level of the Natural parameter hierarchy.

In addition to the Natural parameter module, you may require an additional parameter module for a Natural add-on product to be used in your environment, for example, the Natural CICS Interface.

- Alternative Natural Parameter Module

### Alternative Natural Parameter Module

In addition to a Natural parameter module which is statically linked to the nucleus, you can define alternative Natural parameter modules which are stored in a TP or operating-system library. They can be used to overwrite the parameter definitions of the static Natural parameter module for a Natural session by specifying the profile parameter `PARM` as described in the Parameter Reference documentation. Exception: `CSTATIC` parameter definitions are not overwritten.

Important
`PARM` should appear as the first parameter in a dynamic parameter string, because otherwise the alternative Natural parameter module overwrites all parameter settings previously entered in the dynamic parameter string.

#### Usage Restrictions

You can restrict the use of an alternative Natural parameter module to a certain user or to several users by using the `NTUSER` macro.

In this macro, define the IDs of those users who are authorized to use that parameter module. Only these users will be allowed to specify the name of that parameter module with the profile parameter `PARM`.

## Predefined Dynamic Parameter Sets

The assembler macro `NTSYS` can be used to predefine parameter sets which are named in a Natural parameter module. These sets can be addressed under their names when Natural is invoked, provided that the corresponding parameter module is active.

When invoked, the predefined parameter sets react in the same way as dynamically entered parameters in that position.

See also the profile parameter `SYS`.

## Predefined User Parameter Profiles

You can use the Natural utility `SYSPARM` to create individual profiles which are stored in a system file. Each profile is given a unique character name. You can set values for any dynamic Natural parameters in such a profile.

The profiles created with the utility `SYSPARM` are activated by using the parameter `PROFILE` when Natural is invoked.

You can use the profile parameter `USER` to restrict the use of a profile to a certain user or to several users.

When invoked, the predefined parameter profiles behave in the same way as dynamically entered parameters in that position.

## Dynamic Parameter Entry

Almost all of the parameters can be dynamically overwritten when Natural is started. Dynamic parameters are evaluated strictly sequential.

This general overwrite facility can, however, be limited generally or for certain parameters through the use of the profile parameter `DYNPARM` (only dynamically, for instance in a profile).

You can use the macro `NTDYNP` in the Natural parameter module to make analog settings. This, however, will prohibit the use of the profile parameter `DYNPARM`.

You can use the data set `CMPRMIN` to define dynamic parameters in batch mode under z/OS or in batch-like systems such as TSO, or BMP environments under IMS TM.

The advantage of this method is that you need not modify the JCL when you wish to change Natural settings. In addition, it overcomes the length limitation of the parameter string (for example, 100 characters under z/OS).

## Natural Security Definitions

Apart from protecting the libraries, files and commands, Natural Security enables the setting of certain session-relevant profile parameters. The definitions apply to the current library of the user.

The users can also define settings for their private or default libraries.

The current security settings (session parameters) can be displayed using the Natural system command `PROFILE`.

The Natural Security parameter definitions are evaluated after the regular profile parameters, that is, they can overwrite them.

## Session Settings for Profile Parameters

The Natural system command `GLOBALS` or the Natural statement `SET GLOBALS` can be used to display and to set (modify) certain session-relevant profile parameters within and for the duration of a Natural session.

These definitions apply to the command mode and to all programs that are executed during the current session.

See also Session Parameters for Runtime Assignment of Parameter Values or `SET GLOBALS`.

## Program/Statement Level Settings

The Natural statement `FORMAT` can be used in a program to set parameter values which are valid for that specific program.

In addition, it is possible to set certain parameters at statement level by a terminal command.

## Development Environment Settings

You can use the Natural Main Menu option Development Environment Settings to invoke a submenu which enables selection of the tools that are available for monitoring and setting up the Natural development environment.

## Examples of Parameter Evaluation

The examples below are based on the following parameter settings:

Parameter | Parameter Module | Alternative Parameter Module `ALTPARM` | User Profile `MYPROF`
--- | --- | --- | ---
`DATSIZE` | `40` | `50` | `60`
`DSIZE` | `6` | `2` (default) | Not specified
`ESIZE` | `28` (default) `NTSYS A: 40` `NTSYS B: 50` | `NTSYS A: 60` | `80`

The following examples show the results for various dynamic parameter strings.

#### Example 1: No Dynamic Parameters

Resulting Values | Origin
--- | ---
`DATSIZE 40` | Parameter module
`DSIZE 6` | Parameter module
`ESIZE 28` | Parameter module
Others: Default | Parameter module

#### Example 2: `PARM=ALTPARM`

Resulting Values | Origin
--- | ---
`DATSIZE 50` | `ALTPARM`
Others: Default | `ALTPARM`

#### Example 3: `SYS=A`

Resulting Values | Origin
--- | ---
`DATSIZE 40` | Parameter module
`DSIZE 6` | Parameter module
`ESIZE 40` | `NTSYS` macro in the parameter module

#### Example 4: `PARM=ALTPARM,SYS=A`

Resulting Values | Origin
--- | ---
`DATSIZE 50` | `ALTPARM`
`DSIZE 2` | `ALTPARM`
`ESIZE 60` | `NTSYS` macro in `ALTPARM`

#### Example 5: `PARM=ALTPARM,SYS=B`

Resulting Values | Origin
--- | ---
Error | `ALTPARM` does not have an `NTSYS B` specification

#### Example 6: `SYS=A,PROFILE=MYPROF`

Resulting Values | Origin
--- | ---
`DATSIZE 60` | `MYPROF`
`DSIZE 6` | Parameter module
`ESIZE 80` | `MYPROF`

#### Example 7: `SYS=A,PROFILE=MYPROF,ESIZE=100`

Resulting Values | Origin
--- | ---
`DATSIZE 60` | `MYPROF`
`DSIZE 6` | Parameter module
`ESIZE 100` | Dynamic parameter

#### Example 8: `PROFILE=MYPROF,SYS=A`

Resulting Values | Origin
--- | ---
`DATSIZE 60` | `MYPROF`
`DSIZE 6` | Parameter module
`ESIZE 40` | `NTSYS` macro in the parameter module

#### Example 9: `DSIZE=8,SYS=A,PROFILE=MYPROF,PARM=ALTPARM`

Resulting Values | Origin
--- | ---
`DATSIZE 50` | `ALTPARM`
Others Default | `ALTPARM`

### On this page

- Natural Parameter Hierarchy Overview
- General Rules for Parameter Usage
- Natural Parameter Module
- Predefined Dynamic Parameter Sets
- Predefined User Parameter Profiles
- Dynamic Parameter Entry
- Natural Security Definitions
- Session Settings for Profile Parameters
- Program/Statement Level Settings
- Development Environment Settings
- Examples of Parameter Evaluation