New and Changed Features of Base Natural


Change in Company Name

The string "Software AG" has been replaced by "Software GmbH" or other text where it was used as a company name (for example, copyright information, error messages, hello screens, maps, etc. Where possible, the string was removed.

Operations and Performance

Roll Server

The new RESET command allows you to reset the counters for interval-based statistics. This can also be done using the user exit USR9209N. See also z/OS Environment > Natural Roll Server Operation > Operating the Roll Server in the Operations documentation.

Unicode and Code Page Support

International Components for Unicode

The SAGICU and SAGICUA9 modules are now identical. Both modules are built with Architecture Level 9 instructions. There is no longer a module built with Architecture Level 0, as there was with the former SAGICU. Future versions of Natural will release only one module, SAGICU, which is built with Architecture Level 9 instructions. For more information, see Alternative ICS Modules for Support of Architecture Levels in Unicode and Code Page Support.

Syntax, Compiler, and Runtime Enhancements

Label and Line Number for END-XXX Statement

You can now specify labels or line numbers in structured mode when ending the following statements:

CALL FILE
CALL LOOP
FIND
FOR
HISTOGRAM
PARSE JSON
PARSE XML
READ/BROWSE
READLOB
READ RESULT SET (SQL)
READ WORK FILE
REPEAT
SELECT (SQL)
SORT
UPLOAD PC FILE

For more information about ending these statements, see Statements.

Enhanced PARSE XML Statement

The PARSE XML statement has been enhanced by a GIVING error code clause.

You can now receive the 4-digit Natural error number when a runtime error occurs. If that error contains different reason codes, a subcode is provided alongside the error number.

For more information, see PARSE XML Syntax Description in PARSE XML.

New END-SUBROUTINE Label for DEFINE SUBROUTINE

The END-SUBROUTINE clause of the DEFINE SUBROUTINE statement has been enhanced by an optional END-SUBROUTINE label.

You can use this label to improve the readability of a program by placing it after the END-SUBROUTINE clause of a subroutine . For more information, see DEFINE SUBROUTINE Syntax Description in DEFINE SUBROUTINE.

New System Variable *UUID

A new system variable *UUID has been introduced that generates a Universally Unique Identifier (UUID). For more information about the structure and usage of the new variable, see *UUID in Application-Related System Variables.

DOWNLOAD PC FILE Statement Enhanced to Allow Edit Mask

You can now define an edit mask for operand1 of a DOWNLOAD PC FILE statement. For more information, see DOWNLOAD PC FILE in Statements.

WRITE WORK FILE Statement Enhanced to Allow Edit Mask

You can now define an edit mask for operand1 of a WRITE WORK FILE statement. For more information, see WRITE WORK FILE in Statements.

Editors

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

SYSDDM (DDM Editor) - File Number in Field FNR > 5000

The range of valid values for the file number (FNR field) of the database file for which the DDM is defined has changed from 0 - 5000 to 0 - 65535. For more information, see SYSDDM Utility > Using SYSDDM Maintenance and Service Functions > DDM Specification.

New Database Type MQ in SYSDDM

The SYSDDM utility supports the new DB type M, which is used to access IBM MQ from Natural Messaging.

If databases are defined with that type, they are listed as DB type MQ in the SYSDDM utility, functions Show Defined DBIDs and Used FNRs and Database IDs Defined in Natural. See SYSDDM Utility > Using SYSDDM Maintenance and Service Functions.

The corresponding DDMs use the new DDM type M, which is indicated in the editor as IBM MQ. See SYSDDM Utility > Using the DDM Editor > DDM Header Information.

Utilities

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

SYSRPC Utility

The SYSRPC utility now also supports server commands for the server tasks of a selected RPC server. The prerequisite is EntireX Broker 11.0 with CIS version 13 or higher. For more information, see Executing Commands for RPC Server Tasks in the section SYSRPC Utility.

Profile Parameters

You can find detailed descriptions of all Natural profile and session parameters in the Parameter Reference documentation, unless otherwise noted.

New Profile Parameters

Parameter

Corresponding
Macro

Task Description
IMSGLOG none Write session initialization error messages to the message log This profile parameter can be used to write specified initialization error messages to the message log instead of displaying it on the primary output device, i.e. the user terminal or the CMPRINT file under batch. IMSGLOG can be useful to avoid undesired error messages on the terminal resp. CMPRINT and to avoid the Natural termination message NAT9964 with condition code 4, which can influence the execution sequence of the batch job.

Changed/Enhanced Profile Parameters

Parameter

Corresponding
Macro

Task Change/Enhancement
CMPO

Keyword subparameter GDASC=ON

NTCMPO GDA signature check When the GDASC compilation option is set to ON and a Natural object that references a GDA without a GDA signature is cataloged, the Natural error NAT0926 is no longer issued.

As before, GDA timestamps are checked at execution time if the GDA does not contain a GDA signature.

This improved handling means that you no longer have to catalog the GDA and all referencing Natural objects just because a Natural object needs to be cataloged and GDASC is set to ON.

See also GDASC – GDA Signature Check.

IMSG none Suppression of session initialization error messages This profile parameter can be used to suppress initialization error messages. It can be useful to avoid undesired error messages on the terminal or to the CMPRINT file under batch processing and to avoid the Natural batch termination message NAT9964 with condition code 4, which can influence the execution sequence of the batch job.
PRINT

Keyword subparameter DEST=DUMMY

n/a Define no device when downloading data to Entire Connection When downloading data on Entire Connection (AM=PC) with the statement PRINT WORK FILE or WRITE WORK FILE, you can now define a dummy device with the keyword subparameter DEST=DUMMY of the profile parameter PRINT or WORK.
WORK

Keyword subparameter DEST=DUMMY

n/a

Application Programming Interfaces

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

API Task Enhancement
USR1033N Find DBID/FNR of a cataloged DDM

The API now returns the type A for all Adabas DDMs.

The API now supports the new DDM type IBM MQ.

The handling of VSAM flags has been corrected.

The example program USR1033P now shows a message if appropriate.

USR2023N Get type of database

The API now provides the following additional optional parameters:

  • DB-FCTLEVEL - The database functional level (output).

  • DB-PARMTYPE - The database type as given with the DB parameter or the NTDB macro (output).

  • DB-TYPELONG - The long name of the database type (output).

  • DB-ENTRIES - The number of DBID entries to be processed (input). Default/maximum: 257.

The example program USR2023P now lists the new output values.

USR4206N List objects in a library As expected, the API now returns all objects in the given range when OPT-TYPE-OP='I' and OPT-TYPE='*' are set.
USR9208N Get Roll Server statistics This new API returns Roll Server statistics, which can be found in the SYSTP option R, followed by a subsystem name.
USR9209N Reset Roll Server interval counters This new API resets interval counters and updates the timestamp of the start of the current interval.
USR9210N List Roll Server directory entries This API, which is an extension of USR3001N, returns a list of Roll File directory entries.
USR9211N Get current subsystem ID This new API returns the currently used subsystem ID.