Natural in Batch Mode under z/VSE

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

The section covers the following topics:

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


Natural z/VSE Batch Interface

The Natural z/VSE batch interface consists of the object modules NATVSE, NATVSEL and NATLEOPT. They are linked to the Natural nucleus during the installation procedure for base Natural as described in the Installation for z/VSE documentation.

You can customize the Natural z/VSE batch interface to meet your requirements by changing the parameter settings in the NTVSEP macro in the Natural parameter module during the appropriate installation step.

The batch interface must run below the 16 MB line. Multiple sessions can be started in parallel within one batch region; see Subtasking Session Support for Batch Mode Environments.

Driver Parameters for z/VSE Batch

For information on the driver parameters that are available for z/VSE in batch mode, refer to the description of profile parameter VSEP or parameter macro NTVSEP in the Parameter Reference documentation.

Natural Data Sets Used under a z/VSE Batch Mode Session

The following data sets are required if certain functions are used during a Natural z/VSE batch mode session:

Data Set 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
CMWKFnn Work Files 01-32

These data sets are described below.

CMEDIT - Software AG Editor Work File

The Software AG Editor work file VSAM data set 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 the 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 does not require an editor work file. For more information about the installation of the Software AG editor, see Installing Software AG Editor on z/VSE in the Installation for z/VSE documentation.

CMHCOPY - Optional Report Output for Hardcopy

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

  • the subparameter DEST of profile parameter PRINT for Print File 0,

  • the profile parameter HCDEST, which is an equivalent of PRINT=((0),DEST=...),

  • the setting of the system variable *HARDCOPY during the session,

  • the terminal command %H during the session.

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

By default, the CMHCOPY file is assigned to SYSLST and is processed via the macro DTFPR.

If appropriate label information is supplied for the file name CMHCOPY, the print output may also be routed to disk or tape by using the z/VSE macro DTFSD or DTFMT with:

RECFORM=UNDEF,BLKSIZE=133

When routed to a z/VSE library, the record format is fixed, the record length is 80 and the default member type is PRINT.

CMOBJIN - Input for Natural INPUT Statements

CMOBJIN is used for data intended to be read by Natural INPUT statements. This type of data can alternatively be placed in the CMSYNIN input stream immediately following the relevant source program or the relevant RUN or EXEC command.

When the setting for the profile parameter OBJIN is N, Natural reads input from CMSYNIN. When OBJIN is set to Y, Natural reads input from CMOBJIN. When OBJIN is set to R, Natural determines which option has been selected for a particular session depending upon the presence or absence of a CMOBJIN label information.

By default, the CMOBJIN input file is assigned to SYSIPT. By using the profile parameter READER, it can be assigned to SYSRDR.

Alternatively, a sequential disk or labeled tape file may be used rather than a real/logical (POWER) reader file. In that case, you must supply appropriate label information for file name CMOBJIN.

Supported file formats are:

DTFSD/DTFMT: RECFORM=FIXUNB,RECSIZE=81
DTFSD/DTFMT: RECFORM=FIXUNB/FIXBLK,RECSIZE=80
LIBR:        RECFORM=FIX,RECSIZE=80 , default member type CARD

You must supply appropriate label information; for assignment, you have to use file names CMSYNIN and /or CMOBJIN.

CMPLOG - Optional Report Output for Dynamic Parameters

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

By default, the CMPLOG file is assigned to SYSLST and is processed with the macro DTFPR.

If appropriate label information is supplied for the file name CMPLOG, the print output may also be routed to disk or tape by using the z/VSE macros DTFSD or DTFMT with:

RECFORM=UNDEF,BLKSIZE=133

When routed to a z/VSE library, the record format is fixed, the record length is 80 and the default member type is PRINT.

CMPRINT - Primary Report Output

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

By default, the CMPRINT file is assigned to SYSLST and is processed via the macro DTFPR.

If appropriate label information is supplied for the file name CMPRINT, the print output may also be routed to disk or tape by using the z/VSE macro DTFSD or DTFMT with:

RECFORM=UNDEF,BLKSIZE=133

When routed to a z/VSE library, the record format is fixed, the record length is 80 and the default file type is PRINT.

CMPRMIN - Dynamic Parameter Data Set

CMPRMIN can be used as a dynamic parameter data set 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, else just one blank is left for delimiter; no commas are inserted.

Additional dynamic parameters can be supplied using the job control PARM keyword: if the PARM keyword contains a dynamic parameter string, these profile parameters are concatenated at the end of the parameter string which was built from the input of CMPRMIN, i.e. these can be used to overwrite the parameters from CMPRMIN. If the PARM keyword is specified as SYSRDR or SYSIPT, Natural retrieves additional profile parameters from SYSRDR or SYSIPT respectively as a logical extension of the CMPRMIN data set, i.e. the same rules apply.

CMPRMIN is a sequential disk or a labeled tape data set. Supported file formats are:

DTFSD/DTFMT: RECFORM=FIXUNB,RECSIZE=81
DTFSD/DTFMT: RECFORM=FIXUNB/FIXBLK,RECSIZE=80
LIBR:        RECFORM=FIX,RECSIZE=80 , default member type CARD

CMPRTnn - Additional Reports

CMPRTnn 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 or WRITE statement.

Instead of CMPRTnn, another file name may be used by setting the DEST subparameter of profile parameter PRINT to an appropriate value, for example:

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

When supplying label information with file name CMPRTnn, the print output can be written to a disk or tape. Natural treats this print file like an unblocked fixed-length work file. When "printing" to disk or tape, the same logic as for work files applies (see below).

When mapped to a z/VSE library member, the record format is fixed, the record length is 80 and the default file type for these files is PRINT.

CMSYNIN - Primary Input

CMSYNIN is used for 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.

By default, the CMSYININ input file is assigned to SYSRDR. By using the profile parameter READER, it may be assigned to SYSIPT.

Alternatively, a sequential disk or labeled tape file may be used rather than a real/logical (POWER) reader file. In that case, you must supply appropriate label information for file name CMSYNIN.

Supported file formats are:

DTFSD/DTFMT: RECFORM=FIXUNB,RECSIZE=81
DTFSD/DTFMT: RECFORM=FIXUNB/FIXBLK,RECSIZE=80
LIBR:        RECFORM=FIX,RECSIZE=80 , default member type CARD

CMTRACE - Optional Report Output for Natural Tracing

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

By default, the CMTRACE file is assigned to SYSLST and is processed via the macro DTFPR.

If appropriate label information is supplied for the file name CMTRACE, the print output may also be routed to disk or tape by using the z/VSE macro DTFSD or DTFMT with:

RECFORM=UNDEF,BLKSIZE=133

When routed to a z/VSE library, the record format is fixed, the record length is 80 and the default member type is PRINT.

CMWKFnn - Work Files 01-32

CMWKFnn 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 CMWKFnn, another file name may be used by setting the DEST subparameter of profile parameter WORK to an appropriate value.

If the subparameter FILMNGR of profile parameter VSEP or macro NTVSEP is set to YES, and there is label information for a work file, or if OFF or NOTM is specified for the LABEL subparameter of profile parameter WORK for an unlabeled work file, Natural knows the file is available. Otherwise, the Natural work-file logical-unit number must be assigned to the correct device type.

When mapped to a z/VSE library member, the record format is fixed, the record length is 80 and the default member type for these files is WORK.

If a Natural printer or work file is assigned IGN, all I/O requests for these files are treated as dummy and no Natural error is generated. However, if there is no assignment or the printer/work file is assigned UA, any attempt to use this file is treated as an error.

NATVSE Print and Work File Support for z/VSE Library Members

NATVSE supports access to z/VSE library members for input and/or output for all Natural data sets. When a z/VSE library member is accessed, only "card image format" is supported, that is, a record length of 80 bytes.

The access to a z/VSE library member is triggered via the file ID of an associated DLBL statement. A special string (see subparameter LIBRID of profile parameter VSEP or macro NTVSEP) at the start of the file ID field in the DLBL statement signals that the Natural data set actually is a z/VSE library member which is specified in the remainder of the file ID field.

The following specifications are possible:

C=chain Specifies a library concatenation chain defined in JCL.
S=library.sublib Specifies a specific sublibrary in a specific library.
M=mbrname.mbrtype Specifies a library member name and its type.

The following rules apply:

  • All these possible specifications are optional.

  • Each parameter may be specified only once.

  • The parameters are separated by one or more commas or blanks.

  • Chain (C=) and sublibrary (S=) specifications are optional, but mutually exclusive when specified.

  • If neither a chain (C=) nor a sublibrary (S=) is specified, a default of C=SOURCE is taken.

  • If a library member (M=) is not specified, a default of M=filename.type is taken, where

    filename is the file name of the DLBL statement and
    type indicates the Natural file class, namely WORK for Natural work files, PRINT for Natural print files and CARD for the Natural input files CMPRMIN, CMSYNIN and CMOBJIN (the relevant default member type for every Natural data set is mentioned below).

  • An asterisk specified for any sub-parameter of the library member specification signals the default to be taken; hence a specification of M=*.* has the same effect as omitting this parameter.

  • Omitting the member type subparameter also means the default to be taken.

Example:

// LIBDEF PROC,SEARCH=(...) 
// LIBDEF SOURCE,SEARCH=(...)
// DLBL CMWKF01,'LIBR:M=FILE1.TEST S=SAGLIB.USRLIB'
// DLBL CMWKF02,'LIBR:       S=SAGLIB.USRLIB'       -> M=CMWKF02.WORK
// DLBL CMWKF03,'LIBR: M=TEST   C=PROC'             -> M=TEST.WORK
// DLBL CMPRT04,'LIBR:M=*.LISTING,S=SAGLIB.USRLIB'  -> M=CMPRT04.LISTING
// DLBL CMPRT05,'LIBR:'                             -> M=CMPRT05.PRINT,C=SOURCE
// DLBL CMPRT06,'LIBR:M=WORK'                       -> M=WORK.PRINT,C=SOURCE
// DLBL CMWKF07,'LIBR:      M=*.DATA'               -> M=CMWKF07.DATA,C=SOURCE
// DLBL CMPRMIN,'LIBR:M=*.*'                        -> M=CMPRMIN.CARD,C=SOURCE

Notes:

  1. When a chain is specified or defaulted for an output file, the output is written into the first sublibrary specified in the chain.
  2. If a member with the same name and type already exists in a target sublibrary of a Natural output file, this member is replaced unconditionally.
  3. The file ID field of a DLBL statement is just 44 characters in length, which is not enough to specify all (sub)parameters in their full length. Therefore it is recommended to take advantage of the defaults. Regarding the member name, there is also the option to specify the file name via the DEST subparameter of the Natural profile parameter PRINT or WORK.

NATVSE Print File Support for Direct POWER SPOOL Access

Natural supports up to 35 print files per session, namely the system print files CMPRINT, CMTRACE, CMPLOG and CMHCOPY, plus "application" print files 1 to 31. POWER on the other side just supports up to 8 logical printers per VSE partition. This means, it is not possible to create more than 8 separate reports in parallel from a Natural program in one partition. This bottleneck becomes worse in multi-tasking or Natural server environments, where up to 32 Natural tasks may run in parallel in one VSE partition. That limitation can be overcome by accessing POWER SPOOL directly; that is, instead of LIOCS services, NATVSE uses "PUTSPOOL" services to create reports in the POWER list queue.

The creation of a report directly in POWER SPOOL is triggered via the file ID of an associated DLBL statement or a corresponding specification in a Natural DEFINE PRINTER statement. A special string (see subparameter SPOOLID of profile parameter VSEP or macro NTVSEP) at the start of the file ID field in the DLBL statement signals that the Natural print file is not created by LIOCS services, but by "PUTSPOOL" services.

For such print files, the keyword subparameters NAME, FORMS, DISP, COPIES, CLASS, PRTY of the profile parameter PRINT or the macro NTPRINT in the Natural parameter module are sensitive; they can also be set via a DEFINE PRINTER statement. When a report name is not specified, the print file name (DEST=) is the default. For print files, where DEFINE PRINTER and the (NT)PRINT profile do not apply, that is, CMPRINT, CMTRACE and CMPLOG, the POWER list attributes can be specified in the associated DLBL statement via keyword parameters, with the following meanings:

C Class
D Disposition
F Forms
N Name
O Copies
P Prty

Example:

// DLBL CMPLOG,'SPL2PWR N=PARMSLOG,C=K,D=L,O=3,F=GREY'
// DLBL CMPRT01,'SPL2PWR'
// ASSGN SYS041,UA
// ASSGN SYS042,UA
...
PRINT=((1-2),AM=STD)
PRINT=((1),NAME=REPORT1,CLASS=K,DISP=L,COPIES=3,FORMS=BLUE)
...
EDT
DEFINE PRINTER (2) OUTPUT '*' /* Prepare for DYNALLOC
DEFINE PRINTER (2) OUTPUT 'DSN=SPL2PWR'
NAME 'MYREPORT' CLASS 'K' DISP 'L' COPIES 3 FORMS 'PINK'
WRITE (1) 'HELLO'
WRITE (2) 'HELLO'
END
.E
RUN

NATVSE Dynamic Work File Allocation (DYNALLOC) Support

Natural under z/VSE offers functionality to define work files dynamically, that is, these files need not be predefined in JCL. This means that Natural under z/VSE adds labels into the partition's temporary labels area for work files defined using a DEFINE WORK FILE statement.

In this respect Natural under z/VSE does not modify existing label information. All file labels dynamically added by a Natural session are deleted at session termination.

The following topics are covered below:

Prerequisites

A disk file manager is required, as it is not feasible to have fix file extent information within Natural application programs, particularly when these programs are executed in parallel in the same partition or in several partitions. This is not a restriction, as at least VSAM/SAM is available under z/VSE.

For dynamic allocation support by Natural under z/VSE, the following keyword subparameters of Natural profile parameter WORK have been made sensitive:

  • BLOCKS (Number of Storage Blocks)

  • DISP (File Open Mode)

DEFINE WORK FILE Keyword Parameters

The following keyword parameters are available for dynamic work files under VSE:

Keyword Parameter Purpose
CAT=catalog Triggers the usage for VSAM/SAM for the dynamic work file, where catalog is the 1 to 7 characters VSAM catalog file name. As this parameter is mandatory, if you want to use VSAM/SAM, you have to specify a VSAM job catalog explicitly (CAT=IJSYSUC).
VOL=volser If specified a // EXTENT information is generated with that 1 to 5 characters volume serial number; its content depends on the preceding DLBL information, see below.
DSN=fileid Is the DSN to set the file ID (optional).

Rules for Using the DEFINE WORK FILE Keyword Parameters

Potential CAT or VOL parameters have to come first in the DEFINE WORK FILE string, as the end of the parameter value can easily be found; the DSN= parameter must be specified as the last keyword parameter.

In other words, if CAT or VOL parameters are specified, and the DSN keyword parameter is not specified, all data in the DEFINE WORK FILE parameter string behind the last keyword parameter is considered as file ID to be set.

For VSAM/SAM, NATVSE dynamically adds the following label information:

// DLBL xxyyyyz,'file-id',0,VSAM,CAT=catalog, +
   RECORDS=n1,RECSIZE=n2,DISP=(dsp1,dsp2)
// EXTENT ,volser optional

where:

xx is the partition's SYSLOG ID, for example BG, F4, etc.
yyyy is the edited z/VSE two-byte hexadecimal task number (to allow Natural subtasks in the same partition).
z is the Natural work file number: "1" through "9" for files 1 to 9, "A" through "W" for files 10 to 32.
n1 is the value specified by the keyword subparameter BLOCKS of profile parameter WORK.
n2 is the value specified by the keyword subparameter BLKSIZE of profile parameter WORK.
dsp1, dsp2 is the value specified by the keyword subparameter DISP of profile parameter WORK.
catalog is the VSAM catalog which has to be set using a DEFINE WORK FILE statement.
volser is the volume serial number on which the file is allocated.

Note that the EXTENT card is only generated when volser has been set in a DEFINE WORK FILE statement in the Natural application.

For other disk file management systems, for example CA-DYNAM/D, NATVSE adds dynamically the following label information:

// DLBL xxyyyyz,'file-id',0
// EXTENTsysnnn,volser,,,1,n1                                     optional

where:

xx is the partition's SYSLOG ID, for example BG, F4, etc.
yyyy is the edited z/VSE two-byte hexadecimal task number (to allow Natural subtasks in the same partition).
z is the Natural work file number: 1 through 9 for files 1 to 9, A through W for files 10 to 32.
n1 is the value specified by the keyword subparameter BLOCKS of profile parameter WORK.
sysnnn is the value specified by the keyword subparameter SYSNR of profile parameter WORK.
volser is the volume serial number on which the file is allocated.

Note that the EXTENT card is only generated when volser has been set in a DEFINE WORK FILE statement in the Natural application. If n1 is zero, extent information (start track/block and number of tracks/blocks) is omitted.

For Natural as a server the file name setup has the format:

xyyyyyz

where:

xyyyyy is the server session number in hexadecimal format (edited) with the very first character forced alphabetic by translation of 0 through F into A to P.
z is the Natural work file number, as for normal Natural under z/VSE batch operation.

Files to be dynamically allocated must have a Natural file name of '*' set in keyword subparameter DEST='*' of profile parameter WORK or a statement definition of DEFINE WORK FILE '*' to enable Natural under z/VSE to create new file names as described above.

The file identification to be used also has to be set using a DEFINE WORK FILE statement.

The regular z/VSE restrictions for file IDs apply.

In a Natural multitasking or server environment, it is recommended to provide some unique information in the file ID to prevent "equal file" conditions.

Samples

Natural parameters:

WORK=((1-6),AM=1,DEST='*',BLOCKS=100),WORK=((2),
DISP=(OLD,DELETE)),WORK=((6),BLOCKS=0)

Natural work file definition within application:

DEFINE WORK 1 'CAT=IJSYSUC,VSAM.SAM.FILE'
DEFINE WORK 2 'CAT=IJSYSCT,DSN=ANOTHER FILE'
DEFINE WORK 3 'CAT=IJSYSUC,VOL=DOSRES,ONE MORE FILE'
DEFINE WORK 4 '==.CATALOGED.FILE' 
DEFINE WORK 5 'VOL=POOL01,DSN=FILE WITH EXTENT INFO' 
DEFINE WORK 6 'VOL=DOSRES,ANY FILE'

z/VSE labels generated:

// DLBL xxyyyy1,'VSAM.SAM.FILE',0,VSAM,CAT=IJSYSUC, +
   RECORDS=100,RECSIZE=4628,DISP=(NEW,KEEP)
// DLBL xxyyyy2,'ANOTHER FILE',0,VSAM,CAT=IJSYSCT,  + 
   RECORDS=100,RECSIZE=4628,DISP=(OLD,DELETE)
// DLBL xxyyyy3,'ONE NORE FILE',0,VSAM,CAT=IJSYSUC, + 
   RECORDS=100,RECSIZE=4628,DISP=(NEW,KEEP)
// EXTENT ,DOSRES
// DLBL xxyyyy4,'==.CATALOGED.FILE',0
// DLBL xxyyyy5,'FILE WITH EXTENT INFO',0
// EXTENT SYS005,POOL01,,,1,100
// DLBL xxyyyy6,'ANY FILE',0 
// EXTENT SYS006,DOSRES

Debugging Facilities for Natural under z/VSE

The Natural z/VSE batch mode interface contains some debugging facilities which can help you to track down problems.

These facilities are controlled by the UPSI settings in the JCL.

Additionally, the UPSI settings may also be specified as a Natural profile parameter (UPSI=1XXXXXXX, for example). This is useful if the UPSI settings in the JCL have produced side effects in the sense that they have a different meaning for other programs such as for front-end Natural or for programs called by Natural.

There may be the following UPSI settings:

UPSI Setting Meaning
UPSI 1xxxxxxx Dump Flag
UPSI x1xxxxxx Trace Flag
UPSI xx1xxxxx Print Output Identification Flag
UPSI xxx1xxxx Storage Freeze Flag
UPSI xxxxxx1x Abend Exit Flag

These settings are described below. In addition, a sample job is given to show you how to obtain documentation for debugging.

UPSI 1xxxxxxx - Dump Flag

When Natural encounters a problem, the corresponding job usually cancels without a dump, unless an abend actually occurred. When this UPSI flag is set, a dump is always created at the end of the job when an error occurs, that is, when the Natural session termination message is other than NAT9995.

UPSI x1xxxxxx - Trace Flag

When this flag is set, snapshots are taken of the register save area at some strategic points in Natural.

Note:
Depending on the product sample output, setting this flag can lead to large output.

On entry of all NATVSE service routines, the name of this routine and the general registers 0 to 15 (GRG) are displayed.

Note:
You can identify the caller from Register 14.

On exit of all NATVSE service routines, the name of this routine, the current general registers (GRG) and Registers 0 to 15 of the currently assigned save area (CSA) are displayed.

Notes:

  1. The contents of the CSA are returned to the caller of the service routine, except the Register 15 return code which is taken from the general registers.
  2. The contents of the HSA are returned to the caller, which means that this save area contains the return code in Register 15 if a return code was set at all.

Whenever the GRG registers are set, the debugging trace program tries to determine the name of the calling routine and the offset of the call from the beginning of the routine.

The SYSnnn number for the debugging trace print output is SYS040, as long as this SYSnnn number is assigned to a printer device; otherwise SYSLST is used. This is of particular interest if debugging trace output and other Natural print output are to be separated; to do so, assign SYS040 appropriately and supply a POWER * $$ LST statement for this logical print unit.

UPSI xx1xxxxx - Print Output Identification Flag

When this flag is set, the VSE (sub)task ID is inserted into the last four bytes of a print record to help identify the task which printed the record.

Important:
When this flag is set, potential print data may become overwritten. Overwritten data is indicated by '...' preceding the VSE (sub)task ID.

UPSI xxx1xxxx - Storage Freeze Flag

On normal or abnormal session termination, Natural, by default, releases all its resources including storage. Despite the setting of UPSI 1, a dump may be useless, because all relevant storage has already been released during Natural termination. When this flag is set, no GETVIS storage acquired earlier is ever released within this job; this applies to all external subroutine programs called by Natural including the Natural nucleus (if not linked to NATVSE) and RCA=ON subproducts.

Warning:
This flag should be handled carefully, because more partition GETVIS storage is used, but jobs may still cancel due to failed GETVIS requests if the operating system storage requests cannot be satisfied.

UPSI xxxxxx1x - Abend Exit Flag

This flag may be helpful in the case of recurrent abends.

In batch mode, Natural usually has a check abend exit for active programs (STXIT PC) to recover from program checks (NAT095n error messages). When DU=ON is specified, this exit creates a snap dump and passes control to Natural for a clean session termination.

When this flag is set, the Natural session runs without any abend exit for active programs, which means that all program checks are handled directly by the operating system.

If this flag is set, the dump flag, the storage freeze flag, the session abend flag and the formatted dump-only flag are ignored.

Obtaining Documentation for Debugging

If a problem has to be analyzed, any information which might be relevant is important, in particular, the executed JCS and the corresponding console log.

The following sample job is intended to show you how to obtain comprehensive documentation:

// JOB sample job
// OPTION LOG,PARTDUMP to see JCL on printer
/* Library Definitions: labels and LIBDEFs
...
/* ADARUN Parameter Input Definition
// ASSGN SYS000,SYSRDR
/* Natural Work File Definitions
// DLBL CMWKFnn,'...',... disk work file
// EXTENT SYSnnn,volser,,,nn,mm
// ASSGN SYSnnn,DISK,VOL=volser,SHR
// TLBL CMWKFnn,'...',... labeled tape work file
// ASSGN SYSnnn,cuu assignment to tape unit
/* Natural Print File Definitions
// ASSGN SYSnnn,cuu assignment to print UR unit
// DLBL CMPRTnn,'...',... print file on disk
// EXTENT SYSnnn,volser,,,nn,mm
// ASSGN SYSnnn,DISK,VOL=volser,SHR
// TLBL CMPRTnn,'...',... print file on labeled tape 
// ASSGN SYSnnn,cuu assignment to tape unit
/* Debugging Options
// ASSGN SYS040,SYSLST debugging trace unit
// UPSI 1xxx00xx flags as discussed above
// EXEC NATURAL,SIZE=...
... dynamic parameters
/* end of dynamic parameters
... ADARUN parameters
/* end of ADARUN parameters
... Natural input
/* end of Natural input
// EXEC LISTLOG print console messages
/& end of job

NATVSE Attention Interrupts

The Natural z/VSE batch mode interface (NATVSE) supports attention interrupts via the console command MSG xx, where xx is the z/VSE partition ID a console operator can force on a NAT1016 attention interrupt event.

This special functionality is controlled by the Natural profile parameter ATTN.