Version 4.2.6 for Mainframes (Update)
 —  Operations  —

Natural in Batch Mode under z/OS

This document contains special considerations that refer to Natural in batch mode under the operating system z/OS.

The following topics are covered:

For considerations that refer to Natural in batch mode generally, see also:


General Information about the Natural z/OS Batch Mode Interface

The Natural z/OS batch mode interface NATOS consists of a number of service routines interfacing with the z/OS operating system.

NATOS is supplied as a source module and can be customized to meet your requirements; see also Installing Natural under z/OS. You can either assemble and link NATOS to the Natural nucleus or you can run it separately, connecting with a shared nucleus.

NATOS is fully reentrant and can run above the 16 MB line. Multiple Natural sessions can be started in parallel within one batch region; see Subtasking Session Support for Batch Environments.

Top of page

Natural z/OS Generation Parameters

The NTOS macro contains several generation parameters to change Natural for z/OS batch mode interface's internal defaults.

These parameters are: ABEXIT | LBPNAME | LE370 | SUBPOOL | TIOBSZ1 | TIOBSZ2 | USERID

ABEXIT - Abend Processing

This parameter specifies the mode of abend processing within Natural.

ABEXIT=ESTAE Natural intercepts all abends and issues the appropriate error messages. This is the default value.
ABEXIT=SPIE Only program checks (S0Cx abends) are intercepted as they used to be with Natural Version 2.1.
ABEXIT=NONE

Natural does not intercept any abends or program checks at all. This value corresponds to profile parameter DU=FORCE.

The setting ABEXIT=NONE is not recommended because some functions which require the abend interception will not work any longer. The usage of profile parameter MT will cause an abend U0322 instead of error NAT0953 when the CPU time limit is reached.

LBPNAME - Sharing of Local Buffer Pools

This parameter controls the sharing of the local buffer pools when running multiple Natural sessions within the same region. It defines the name of the shared buffer pool environment and is used to locate the shared local buffer pool.

LBPNAME=name name can be 1-8 characters long.
LBPNAME= The default value is none, that is, the local buffer pools are not shared.

When running multiple Natural sessions in a z/OS batch or TSO environment concurrently, each session allocates storage for a separate local buffer pool. Except for the Natural z/OS batch mode server, the local buffer pools are not shared by default, that is, if the different sessions use the same Natural objects, these have to be loaded once for each session separately. If name is specified, all Natural sessions will share the same local buffer pool.

LE370 - Use of IBM Language Environment

This parameter specifies whether Natural is to run in the IBM Language Environment (LE).

LE370=YES You can call external subprograms according to the IBM calling conventions.
LE370=NO You can only call main programs of the Language Environment. This is the default value.

This means a new LE enclave is created and terminated for each CALL statement.

LE370=POSIX You can call external subprograms according to the LE calling conventions with POSIX semantics, that is, the LE is initialized with runtime option POSIX(ON).
LE370=AMODE24 Support of external subprograms linked in addressing mode 24. LE is initialized with options ALL31=(OFF) and STACK=(,,BELOW).

Specify AMODE24 if one or more external subroutines are linked in AMODE 24. Parameter value AMODE24 enables support for external subprograms linked in either AMODE 24 or AMODE 31. If parameter value AMODE24 is omitted, an error is raised if an external subprogram is to be called that is linked in AMODE 24.

LE370=NOHDLR No setting of an LE error handler is done by Natural during the call of LE subprograms. This means, if an unhandled error occurs during the execution of an LE subprogram, the LE enclave is terminated and so the Natual session is lost.

Multiple parameter values are enclosed in brackets, for example:

LE370=(YES,POSIX,AMODE24)

For more information about Natural running with the IBM Language Environment, refer to Natural Execution - Miscellaneous Topics, LE Subprograms.

SUBPOOL - Storage Subpool for GETMAIN Requests

This parameter defines the storage subpool for GETMAIN requests.

SUBPOOL=nnn Possible value for nnn: "0" to "127".
SUBPOOL=0 The default value is "0".

TIOBSZ1 – Size of the Primary I/O Buffer for Batch Processing

This parameter specifies the size of the primary I/O buffer for batch processing. It will be allocated below the 16 MB line. For server processing, parameter TIOBSZ2 is used instead.

TIOBSZ1=nnnn nnnn is the size of the primary I/O buffer in bytes. Possible values: 4096 – 16777216. The default value is 8192.

See also generation parameter TIOBSZ in Natural TSO Interface Generation Parameters in the TP Monitor Interfaces documentation.

TIOBSZ2 – Size of the Primary I/O Buffer for Server Processing

This parameter specifies the size of the primary I/O buffer for server processing. It will be allocated below the 16 MB line. For batch processing, parameter TIOBSZ1 is used instead.

TIOBSZ2=nnnn nnnn is the size of the primary I/O buffer in bytes. Possible values: 4096 – 16777216. The default value is 65520.

See also generation parameter TIOBSZ in Natural TSO Interface Generation Parameters in the TP Monitor Interfaces documentation.

USERID - Content of System Variable *INIT-USER

This parameter specifies the content of the system variable *INIT-USER.

USERID=YES The variable is set to either the user ID from the security access control block (ACEE) if a security package (as RACF or ACF2) is involved or the user parameter from the job card.
USERID=NO The user ID is the job name. This is the default value.

The content of *INIT-USER can be changed by the user ID exit NATUEX1 during session initialization. For more information, see Configuring Natural, Natural User Exits, NATUEX1 - User Exit for Authorization Control.

Top of page

Datasets Used by Natural in z/OS Batch Mode

The following datasets are required if certain functions are used during a Natural z/OS batch mode session:

Dataset Explanation
CMEDIT Software AG Editor Work File
CMHCOPY Hardcopy Print Output
CMOBJIN Input for Natural INPUT Statements
CMPLOG Dynamic Profile Parameter Report Output
CMPRINT Primary Report Output
CMPRMIN Dynamic Profile Parameter Input
CMPRTnn Additional Reports 01-31
CMSYNIN Primary Command Input
CMTRACE External Trace Output
NATRJE Job Submit Output
STEPLIB Load Library for External Modules
CMWKFnn Work Files 01-32

These datasets are described below.

For sequential data output sets, the default DCB RECFM/LRECL information is as follows:

RECFM=FBA and LRECL=133

CMEDIT - Software AG Editor Work File

The Software AG Editor work file VSAM dataset is required if a local or global Software AG editor buffer pool is to be used.

If not defined in the JCL, the name of the Editor work file specified by subparameter DSNAME of profile parameter EDBP or parameter macro NTEDBP is used by Natural to do the dynamic allocation for the Editor work file.

Alternatively, profile parameter EDPSIZE can be used to run with an auxiliary editor buffer pool, which doesn't require an editor work file. For more information about the installation of the Software AG editor, please refer to Installing the Software AG Editor in the Natural Installation documentation.

CMHCOPY - Optional Report Output for Hardcopy

The default name of the hardcopy print output dataset is CMHCOPY. It can be changed by one of the following:

The subparameters of the profile parameter PRINT for Print File 0 can be used to change the default values for the hardcopy dataset. The default dataset name CMHCOPY implies CLOSE=FIN for the hardcopy print dataset, that is, after the dataset has been opened for output, any subsequent change of the hardcopy print output dataset name will not be honored. If a different name is defined at open time, the hardcopy dataset will be closed according to subparameter CLOSE of profile parameter PRINT for Print File 0.

During the session, the hardcopy dataset can be released and reallocated (before open or after close) by the by dynamic allocation (via application programming interface USR2021N, see SYSEXT - Natural Application Programming Interfaces).

CMOBJIN - Input for Natural INPUT Statements

This dataset can be used to read data by the Natural INPUT statement rather than from the primary input dataset CMSYNIN.

The usage of CMOBJIN is controlled by the profile parameter OBJIN. The input record data length for Natural is determined by profile parameter SL. The maximum record length (LRECL) supported is 255. The record format (RECFM) can be fixed or variable.

CMPLOG - Dynamic Profile Parameter Report Output

If profile parameter PLOG=ON is set and dataset CMPLOG is available, the evaluated dynamic profile parameters are written to this dataset during session initialization. If dataset CMPLOG is not available, the evaluated dynamic profile parameters are written to CMPRINT.

CMPRINT - Primary Report Output

CMPRINT is used for the primary output report resulting from DISPLAY, PRINT and WRITE statements in a Natural program.

If not defined in JCL, CMPRINT will be allocated dynamically as

//CMPRINT DD SYSOUT=* 

when the first record is to be written.

CMPRMIN - Dynamic Parameter Dataset

CMPRMIN can be used as a dynamic parameter dataset to overcome the length restriction for the character string in the job control PARM keyword of the EXEC statement.

If available, this file is read during session initialization to get the dynamic profile parameters.

All input records from CMPRMIN are concatenated into one parameter string. Only the first 72 positions of each CMPRMIN record are significant. Trailing blanks at the end of each record are truncated; if the last non-blank character is a comma, all trailing blanks are truncated, otherwise just one blank is left as delimiter; no commas are inserted.

Additional dynamic parameters can be supplied using the job control PARM keyword. They are concatenated at the end of the parameter string which was built from the input of CMPRMIN, that is, these can be used to overwrite the parameters from CMPRMIN.

CMPRTnn - Additional Reports 01 - 31

These datasets can be used by Natural print file statements like WRITE (nn). If no DCB information (for example, RECFM, LRECL, BLKSIZE) is available, the defaults are defined by the PRINT profile parameter or the NTPRINT macro in the Natural parameter module. The print file names can be overwritten by subparameter DEST.

CMSYNIN - Primary Command Input

This dataset is used to read command input and data requested by the Natural INPUT statement. The latter is controlled by the profile parameter OBJIN (see also CMOBJIN).

The input record data length for Natural is determined by profile parameter SL. The maximum record length (LRECL) supported is 255. The record format (RECFM) can be fixed or variable.

CMTRACE - Optional Report Output for Natural Tracing

If profile parameter ETRACE=ON is set or the equivalent terminal command %TRE+ was issued, any Natural trace output during the session is written to the CMTRACE dataset. To define the Natural components that are to be traced, the profile parameter TRACE is required.

If dataset CMTRACE is not available, it will be allocated dynamically as

//CMTRACE DD SYSOUT=* 

when the first trace record is to be written.

NATRJE - Job Submit Output

This dataset is used for the Natural job submitting utility. If it is not defined, it will be allocated dynamically as

//NATRJE DD SYSOUT=(A,INTRDR) 

when the first job is submitted.

STEPLIB - Load Library for External Modules

STEPLIB is the default load library name for loading external modules, for example:

The load library name can be changed by profile parameter LIBNAM. The specified load library name must be defined by a DD statement in the JCL.

CMWKFnn - Work Files 01-32

These datasets can be used by Natural work file statements like READ WORK nn and WRITE WORK nn.

If no DCB information (RECFM, LRECL, BLKSIZE, etc.) is available in the JCL or in the VTOC entry for the dataset, the defaults are defined by the WORK profile parameter or the NTWORK macro in the Natural parameter module.

The work file dataset names can be overwritten by subparameter DEST.

Top of page