Natural in Batch Mode under BS2000

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

The section covers the following topics:

See also Natural under BS2000 Batch Mode Error Messages.

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


Files and System Files Used by Natural in BS2000 Batch Mode

The following optional sequential files or system files are used during a Natural under BS2000 batch mode session:

Link Name System File Explanation
CMPRMIN   Dynamic Parameter Data Set
  SYSIPT Dynamic Parameter Input
  SYSDTA Dynamic Parameter Input
  SYSDTA Primary Input and Input for Natural INPUT Statements
  SYSLST Primary Report Output
  SYSOUT Primary Report Output
  SYSLSTnn Optional Report Output for Natural Tracing or Additional Reports, nn is the report number
Pnn   Additional Reports, nn is the report number
Wnn   Natural Work Files, nn is the work file number

CMPRMIN - Dynamic Parameter File

CMPRMIN can be used as dynamic parameter file if the system files SYSIPT or SYSDTA shall not be used or are not available to Natural. The parameter file must be of FCBTYPE SAM.

All input records from CMPRMIN are concatenated into one parameter string. Trailing blanks at the end of each record are truncated; no commas are inserted.

For further information on reading dynamic parameters, see the keyword parameter DYNPAR for macro NAMBS2 (see DYNPAR=FILE).

SYSIPT - Dynamic Parameter System File

The system file SYSIPT can be used as dynamic parameter file.

All input records from SYSIPT are concatenated into one parameter string. Only the first 72 positions of each SYSIPT record are significant. Trailing blanks at the end of each record are truncated; no commas are inserted.

For further information on reading dynamic parameters, see the keyword parameter DYNPAR for macro NAMBS2.

SYSDTA - Dynamic Parameter System File

The system file SYSDTA can be used as dynamic parameter file.

All input records from SYSDTA are concatenated into one parameter string. Trailing blanks at the end of each record are truncated; no commas are inserted.

Note:
If SYSDTA is assigned to SYSCMD, the parameter input has to be closed off by an /EOF command to separate it from succeeding primary input data.

For further information on reading dynamic parameters, see the keyword parameter DYNPAR for macro NAMBS2 (see DYNPAR=FILE).

SYSDTA - Primary Input

The system file SYSDTA is used as the primary input file that contains Natural commands, Natural source programs, and (optionally) data to be read by INPUT statements during the execution of Natural programs.

The number of characters actually processed per line is determined by the current setting of the profile/session parameter SL. This setting applies for both source statement and execution time input data. This enables identification or sequence numbers to be placed in the rightmost columns of every record, if desired.

SYSOUT, SYSLST - Primary Report Output

The system files SYSOUT or SYSLST are used for the primary output report, resulting from DISPLAY, PRINT and WRITE statements in a Natural program.

The actually used system file depends on the value for the keyword parameter WRITE in the assembly of the reentrant part of the Natural batch driver.

The system files SYSOUT or SYLST are also used as optional report output for dynamic parameters. If the profile parameter PLOG is set to ON, all dynamic profile parameters are written to the same destination as the primary report output.

SYSLSTnn - Optional Report Output for Natural Tracing

If profile parameter ETRACE is set to ON, all trace output is written to this file during the session.

Depending on the value for the keyword parameter TRACE in the assembly of the reentrant part of the Natural batch driver, one of the alternate SYSLST system files SYLST01 - SYSLST99 is used as destination for the trace records.

Pnn - Additional Reports 01-31

Pnn is used for each additional report referenced by any Natural program compiled or executed during the session. nn must be a two-digit decimal number in the range 01-31, corresponding to the report number used in a DISPLAY, PRINT and WRITE statement.

Instead of Pnn, any other link names may be used by setting the keyword subparameter DEST of profile parameter PRINT to an appropriate value, for example:

PRINT=((nn),...,DEST=PRNTnn)

Wnn - Natural Work Files 01-32

Wnn is used for each Natural work file referenced by any Natural program compiled or executed during the session. nn must be a two-digit decimal number in the range 01 - 32, corresponding to the number used in a READ WORK FILE or WRITE WORK FILE statement.

Instead of Wnn, any other link names may be used by setting the subparameter DEST of profile parameter WORK to an appropriate value, for example:

WORK=((nn),...,DEST=WRKnn)

Keyword Parameters

The Natural BS2000 batch mode driver is generated by assembling the macro NAMBS2. For the control of conditional assembly of the driver modules, the following keyword parameters are available:

ADACOM | ADDBUFF | APPLNAM | CODE | DELETE | DYNPAR | ILCS | JV | LF | LINK | LINK2/LINK3/LINK4 | NUCNAME | PARMOD | REQMLOC | SYSDTA | TERM | TIMESTMP | TRACE | USERID | WRITE

ADACOM

This parameter applies to the generation of the environment-dependent nucleus. It determines which Adabas link module is to be used.

Possible values:

ADACOM=ADAUSER The module ADAUSER is linked to the environment-dependent nucleus.
ADACOM=ADABAS The module ADAUSER is linked to the environment-dependent nucleus.
ADACOM=ADALNK The module ADALNK is linked to the environment-dependent nucleus or the modules ADALNK and SSFB2C are linked to the environment-dependent nucleus.

This is the default.

In any case a resolve to the Adabas module library has to be given in the linkage step for the environment-dependent nucleus.

ADDBUFF

This parameter applies to the generation of the non-reentrant part.

It determines the additional number of pages for the terminal I/O buffer.

Possible values:

ADDBUFF=n n specifies the number of pages in 4 KB units. Range of values: 1 to 8.
  There is no default.

APPLNAM

This parameter applies to the generation of the non-reentrant part.

Possible values:

APPLNAM=name name is the name (maximum 8 characters) of the Natural batch application. This name is part of the serialization ID when the Natural batch task is initialized.
APPLNAM=NATBS2 This is the default.

CODE

This parameter applies to the generation of both the non-reentrant part and the reentrant part.

It determines which part of the Natural BS2000 interface is to be generated.

Possible values:

CODE=FRONT Indicates the generation/assembly of the non-reentrant part.

This is the default.

CODE=RENT Indicates the generation/assembly of the reentrant part.

DELETE

This parameter applies to the generation of the reentrant part.

Possible values:

DELETE=ON The setting of the profile parameter DELETE in the Natural parameter module determines whether dynamically loaded non-Natural programs are unloaded at the end of the Natural program in which they are loaded or whether they are unloaded when command mode is entered.

This is the default.

DELETE=OFF A dynamically loaded non-Natural program once loaded is kept for the duration of the whole Natural session.

DYNPAR

This parameter applies to the generation of the non-reentrant part.

Possible values:

DYNPAR=NO No dynamic parameters are read.

This is the default.

DYNPAR=SYSDTA The dynamic parameters are read from SYSDTA. If SYSDTA is assigned to SYSCMD, at least the /EOF card must follow the /EXEC Natural card.
Example:
/LOGON
/SYSFILE SYSDTA=(SYSCMD)
/EXEC NATBAT
/EOF * Null dynamic parameters
LOGON SYSEXTP
L * *
FIN
/LOGOFF
DYNPAR=SYSIPT The dynamic parameters are read from SYSIPT.
DYNPAR=FILE The dynamic parameters are read from a sequential file. The input of this SAM file is interpreted as one single text string, which means that the individual entries must be separated from each other by a comma, even at the end of a line. Such a parameter file must be defined with a FILE command by using the LINK parameter CMPRMIN.
Example:
/FILE NAT.PARAMS,LINK=CMPRMIN

ILCS

This parameter applies to the generation of the reentrant part.

Possible values:

ILCS=CRTE 3GL subprograms are invoked with common runtime environment convention. For this to be possible, the ILCS initialization routine IT0SL# must be linked to the Natural environment-dependent nucleus (see the Installation documentation):
INCLUDE IT0SL#,SYSLNK.CRTE.010
RESOLVE,SYSLNK.CRTE.010
ILCS=YES 3GL subprograms are invoked with enhanced ILCS linkage convention. For this to be possible, the ILCS initialization routine IT0INITS must be linked to the Natural environment-dependent nucleus (see the Installation documentation):
INCLUDE IT0INITS,SYSLNK.ILCS
RESOLVE,SYSLNK.ILCS
ILCS=NO Standard processing applies.

This is the default.

JV

This parameter applies to the generation of the non-reentrant part.

Possible values:

JV=ON The condition code created when the Natural session is terminated is passed to a job variable if one has been declared with the link name *NATB2JV.
JV=OFF If your BS2000 installation does not include the BS2000 Job Variables subsystem, this parameter must be set to OFF; otherwise assembly errors in the NAMBS2 compilation occur.

This is the default.

LF

This parameter applies to the generation of the non-reentrant part.

With this parameter, you specify the control character to be used for line advance when printing on the local printer.

Possible values:

LF=X'zz' zz: line advance control character in hexadecimal format.
LF=X'25' This is the default.

LINK

This parameter applies to the generation of the non-reentrant part.

Possible values:

LINK=name
(LINK=name,name,...)

The name(s) of programs and modules that are called from Natural programs and linked with the non-reentrant part must be specified with this parameter. Conversely, the programs and modules whose names are specified must be linked with the non-reentrant part, otherwise the application is put into status SYSTEMERROR and all users are rejected with an error message.
  There is no default.

A "TABLE" macro call is performed for the specified programs and modules, which enters their load addresses into the dynamic loader's link table. It is therefore not necessary to dynamically load these programs when they are called by Natural programs. For dynamically loaded programs, only the load library needs to be defined in the Natural parameter module.

Example:

LINK=PROG1
LINK=(PROG1,PROG2,MODUL111)

LINK2/LINK3/LINK4

These parameters apply to the generation of the non-reentrant part.

The parameters LINK2, LINK3 and LINK4 are an extension of the LINK parameter. Since an operand definition cannot be longer than 127 characters (including parentheses), these parameters are provided for cases where the operand of parameter LINK would be too long.

Possible values:

LINKn=name
LINKn=(name,name,...)

n: 2, 3 or 4. The rest of the parameter syntax is analogous to that of LINK.
  There is no default.

Examples:

NAMBS2 LINK=(PROG1,PROG2,...),
LINK2=(PROG54,...)
NAMBS2 LINK=(PROG1,PROG2,PROG3,PROG4)

NUCNAME

This parameter applies to the generation of the non-reentrant part.

With this parameter, you specify the name of the bounded, reentrant Natural module. You must use this name for the Natural pool and load information in macro ADDON (macro ADDON assembles BS2STUB).

Possible values:

NUCNAME=name name is the name of the bounded, reentrant Natural module
NUCNAME=NB2RENT This is the default.

PARMOD

This parameter applies to the generation of both the non-reentrant part and the reentrant part.

Possible values:

PARMOD=(nn,loc)

nn: 24/31
loc: BELOW/ABOVE

PARMOD=(31,ABOVE) This is the default.

The first part of this parameter (nn) is used to define an addressing mode (24-bit or 31-bit mode) for the Natural BS2000 application.

31-bit mode is required if the Natural buffer pool, the reentrant part of the Natural BS2000 application, Adabas or the Adabas Fast Path pool is located above 16 MB.

The second part of this parameter (loc) is used to define the location of the Natural environment-dependent nucleus (see the Installation documentation). If you load the environment-dependent nucleus, this must be defined in the environment-dependent nucleus link procedure as follows:

LOADPT=*XS

or

LOADPT=X'address'

Example:

/EXEC TSOLINK
PROG NATvrs,FILENAM=NATvrs,LOADPT=*XS,...
TRAITS RMODE=ANY,AMODE=31
INCLUDE....
/* PARMOD=(nn,loc) MUST BE IDENTICAL IN THE NON-REENTRANT AND REENTRANT PARTS

vrs represents the relevant product version (see also Version in the Glossary).

REQMLOC

This parameter applies to the generation of both the non-reentrant part and reentrant part in 31-bit mode (PARMOD=31).

This parameter determines where the requested Natural work areas are to be allocated by the system using request memory.

Possible values:

REQMLOC=BELOW All areas are requested below 16 MB.
REQMLOC=ABOVE All areas are requested above 16 MB.
REQMLOC=RES All areas are requested depending on the location of the reentrant part.

This is the default.

The REQMLOC parameter corresponds to the LOC parameter of the BS2000 system macro REQM.

SYSDTA

This parameter applies for the generation of the non-reentrant part.

Possible values:

SYSDTA=PRIMARY After reading of dynamic parameters from SYSDTA, SYSDTA is set to SYSFILE SYSDTA=(PRIMARY).

This is the default.

SYSDTA=SYSCMD After reading of dynamic parameters from SYSDTA, SYSDTA is set to SYSFILE SYSDTA=(SYSCMD).

TERM

This parameter applies to the generation of the non-reentrant part.

Possible values:

TERM=PRGR The Natural batch application will be terminated.

This is the default.

TERM=STEP The system additionally executes the next SET-JOB-STEP command.

TIMESTMP

This parameter applies to the generation of the non-reentrant part.

It determines the time base for all system variables and time stamps derived from the machine time.

Possible values:

TIMESTMP=UTC Time base is UTC (former GMT).

This is the default.

TIMESTMP=LOCAL Time base is the local machine time

TRACE

This parameter applies to the generation of the reentrant part.

With this parameter, you specify the number of a trace file and the maximum length of a trace print record.

Possible values:

TRACE=nn,ll nn is the number for the SYSLSTnn trace file in the range of 01 to 99.

ll is the maximal length in characters of a trace print record in the range of 71 to 132.

TRACE=99,71 This is the default.

If any external Natural trace function is active, the trace records will be written to SYSLSTnn. In this case, the Natural batch mode driver creates the following trace file:

Example:

NATURAL.TRACE.BTCH.TTTT,SPACE=(30,3)
SYSFILE SYSLSTnn=Natural.TRACE.BTCH.TTTT
/* TTTT is the task sequence number

Before the Natural batch mode session is terminated, the trace file will be closed as follows:

SYSFILE SYSLSTnn=(PRIMARY)

USERID

This parameter applies to the generation of the non-reentrant part.

Possible values:

USERID=SYSTEM
or
USERID=YES

The Natural user ID is created by using the BS2000 user ID.

USERID=USER
or
USERID=NO

The Natural user ID is created by using the job name; that is, the /.JOBNAME of the LOGON command. If no BS2000 job name has been specified with the LOGON command, the Natural user ID is created as with USERID=SYSTEM or YES.
USERID=USER This is the default.

WRITE

This parameter applies to the generation of both the non-reentrant and the reentrant part.

This parameter defines the destination of the output produced by Natural.

Possible values:

WRITE=SYSOUT Natural output is written to SYSOUT.
WRITE=SYSLST Natural output is written to SYSLST.

This is the default value.

BS2000 Job Variables

The Natural batch mode driver uses the BS2000 facility "Job Variables" to pass return codes to the user or to subsequent jobs (steps). The return codes are created either by Natural itself (in the range 1 to 31) or by the Natural application if a TERMINATE statement is used with the condition-code option (the range to be used is 32 to 256).

The job variable which is to contain the return code has to be declared using the link name *NATB2JV. The support of job variables depends on the setting of the SET parameter &JV in the Natural BS2000 batch mode driver NATBS2.

Example:

/LOGON
/DCLJV NATBJV,LINK=*NATB2JV
/EXEC NATnnnB
*TERMCC
/LOGOFF

To assign Return Code 36 to NATBJV, the Natural program TERMCC could be coded as follows:

ASSIGN CC(N8) = 36
TERMINATE CC
END