New and Changed Features of Base Natural

#### Search Results

Search

# New and Changed Features of Base Natural

- Operations and Performance

- Syntax, Compiler and Runtime Enhancements

- Programming Language

- System Commands

- Utilities

- Profile Parameters

- Application Programming Interfaces

## Operations and Performance

### Message Buffer Pools

#### Default value for the SIZE Function Parameter

The default size of a Message Buffer Pool for TYPE=MSG is changed from 100 MB to 1 MB because most of the memory went unused. A pool of size 1 MB can hold up to 7000 error messages.

For more information, see SIZE - Size of Message Buffer Pool function parameter in the Operations documentation.

## Syntax, Compiler and Runtime Enhancements

- Provide TO clause for READ BY ISN statement

- Enchanced error message text for some errors indicating a parameter position.

- Validation of parameters of CALL statement

### Provide TO clause for READ BY ISN statement

If running against Adabas for Mainframe 8.6, the `READ BY ISN` statement has been enhanced by a `TO` clause that specifies an ending value, which is passed and evaluated by Adabas.

See `READ` statement for further information.

To mark an Adabas database version 8.6, use the NTDB macro or the DB parameter. For more information about the NTDB macro and the DB parameter, see DB - Database Types and Options.

The new functionality can already be used with Adabas for Mainframe version 8.5, provided that Adabas zap AY854180 has been applied. Such a database must also be marked as "ADAV86" with the NTDB macro or the DB parameter to indicate that this Adabas 8.6 functionality is available for this database.

### Enchanced error message text for some errors indicating a parameter position.

When a parameter provided in an `INPUT USING MAP`, `CALLNAT` or `PERFORM` (external subroutine) does not conform with the corresponding parameter in the called object, an error is raised that shows the position number of the parameter in error.

Since it is not always easy to identify the parameter variable using only the position, the field name will now also be provided in some error messages.

The change affects the first insert position (:1:) in error messages (NAT0936, NAT0937, NAT0938, NAT0648, NAT0965, NAT0966, NAT0969).

Note
The variable name is only available at compile time. If received at runtime, the extra field name is not inserted. It is recommended to use the compiler option `PCHECK=ON` to benefit from this improvement.

#### Example:

    CALLNAT  'SUBPGM'  #P1  #P2  #P3  /* assume #P3 does not match to parameter 3 in SUBPGM

    Old: NAT0936 Format/length conflict in parameter 3         (Subprogram SUBPGM/../../..)
    New: NAT0936 Format/length conflict in parameter 3  (#P3)  (Subprogram SUBPGM/../../..)

### Validation of parameters of CALL statement

The generation of parameters in a `CALL` statement is now more precise. The received parameter address list is now exactly in the form that corresponds to the parameters provided in the `CALL` statement. In earlier Natural versions, parameter addresses of former `CALL` statements were not always cleared properly when the address list for a new `CALL` statement is generated. This could lead to finding additional parameter address fields after the provided parameters. If a called 3GL program is faulty and accesses more parameters than specified in the `CALL` statement, this can now lead to runtime errors of any kind which have not been issued before Natural 9.2.3.

If an error occurs in a `CALL` statement starting with Natural version 9.2.3, please check the parameters used in the `CALL` statement. A mismatch of parameters between the calling Natural object and the called 3GL program is the mostly like reason for this error. In this case, please adapt the Natural program accordingly.

## Programming Language

- New or Changed Statements

### New or Changed Statements

The statements listed in the following table are new or have been changed or enhanced. Unless otherwise noted, refer to the updated descriptions of these statements in the Statements documentation.

- PARSE JSON

#### PARSE JSON

The new `PARSE JSON` statement allows you to parse JSON documents from a Natural program. For more information, see `PARSE JSON` in Statements.

## System Commands

- LASTMSG Enhancement

- SCAN

Note
The sections indicated for more information are contained in the System Commands documentation, unless otherwise noted.

### LASTMSG Enhancement

For LASTMSG, date and time are added behind each error message.

Additional options:

PF1 - Help
PF2 - Clear all error messages
PF5 - Detailed information of the error

See LASTMSG in the Natural System Commands documentation.

### SCAN

The `SCAN` command will now continue to scan/replace even if the Natural error NAT0886 ('Storage overflow in extended buffer') occurred for an object. The objects which could not be scanned/replaced due to this error are called skipped objects.

For more information, see `SCAN` in System Commands.

## Utilities

- Object Handler

- SYSTP

Note
The sections indicated for more information are contained in the Utilities documentation, unless otherwise noted.

### Object Handler

The Data area format of the Transfer options is enhanced with the value ‘D’ to convert data areas to the `DEFINE DATA` format. Due to the enhanced parameter values, the Profile Maintenance command `UPDATE` must be executed to update the changes into the Object Handler profile. For more information, see the enhanced Data area format of the Transfer option described in Settings. For more information about the profile in the Object Handler utility, see the chapter Profile Settings.

### SYSTP

The display of the license information has been improved. A new sub menu show the available product licenses.

## Profile Parameters

- Changed/Enhanced Profile Parameters

- NATBUFFER - Buffer size

Note
The sections indicated for more information are contained in the Parameter Reference documentation, unless otherwise noted.

### Changed/Enhanced Profile Parameters

### NATBUFFER - Buffer size

For the Natural buffer pool (`TYPE=NAT`), the default size was limitied to 256 KB. This could result in error NAT0777 (`Buffer pool full`). Therefore, the buffer pool has been increased to a default value of 2MB.

## Application Programming Interfaces

The following Natural application programming interfaces (APIs) are new in the `SYSEXT` system library or have changed:

API | Task | Enhancement
--- | --- | ---
`USR9206N` | Write an SMF record | This new API writes a z/OS system management facility (SMF) record to the SMF dataset. The SMF record is written regardless whether the application is currently running in task control block (TCB) mode or in service request block (SRB) mode on a zIIP. No switching between the two modes will be performed. The authorized service manager (NATASM) must be installed and started. For further information, read the according IBM documentation (Writing SMF records).
`USR9207N` | Get information about ZAPs | This new API returns information about installed ZAPs for Natural and dependant products. A list of installed products which can have ZAPs can also be obtained.

### On this page

- Operations and Performance
- Syntax, Compiler and Runtime Enhancements
- Programming Language
- System Commands
- Utilities
- Profile Parameters
- Application Programming Interfaces