Natural Development Server Frequently Asked Questions

#### Search Results

Search

# Natural Development Server Frequently Asked Questions

This document contains frequently asked questions concerning the Natural Development Server (NDV) under z/OS (Com-plete).

The following topics are covered:

- Natural Development Server starts and terminates immediately

- Which dataset should I analyze to get error information?

- Trace output shows: Cannot load Natural front-end ...

- Trace output shows: Transport initialization failed, EDC8115I address already in use

- Trace output shows: Error at: Template runtime connect

- Definitions required in Natural Security

- Map Environment fails with a NAT3048

- Map Environment fails with Stub RCnn

- Special characters are not translated correctly

- Characters are not displayed correctly in the terminal emulation of Natural Studio

- How do I find out which hexadecimal value must be specified for TABA1/TABA2?

- The modifications of TABA1/TABA2 do not apply to sources listed in the remote debugger

- Accessing work files

- Are there any Natural profile parameter settings required for NDV?

- NAT9915 GETMAIN for thread storage failed

- The NDV server consumes a lot of CPU time even if only a few clients are using it

- I get a NAT0873 internal error at user authentication for Map Environment

- The server fails to start with return code 4 and in the error log I find ‘Transport initialization failed‘

- Listing mainframe objects in a view needs a long time

## Natural Development Server starts and terminates immediately

At server initialization, the Natural Development Server

- allocates central control blocks,

- opens the datasets `STGTRACE`, `STGSTDO`, `STGSTDE`, `STGCONFG`,

- obtains the configuration file,

- loads the Natural front-end,

- initializes the first Natural session and

- launches the TCP/IP listener task.

If one of these steps fails, the server will not be able to continue and will terminate immediately.

Analyze the trace output (`STGTRACE`) or the error output (`STGSTE`) to find out the problem.

`STGTRACE`, `STGSTDO`, `STGSTDE` are synonyms for `serveridE`, `serveridO` and `serveridT`.

## Which dataset should I analyze to get error information?

STGSTE | Contains only error output. Each record consists of 2-4 lines, depending on whether it is a Natural error, a system error or an NDV stub error. Natural Error DayOfMonth Time TaskId UserId TaskId NDV Error: error classification Natural FrontEnd error or Natural runtime error Natural error text System Error DayOfMonth Time TaskId UserId TaskId NDV Error: error classification TaskId Sys Error: System error text NDV Stub Error DayOfMonth Time TaskId UserId TaskId NDV Error: error classification
STGTRACE | Contains NDV trace information and error information. Each trace record contains DayOfMonth Time TaskId trace information text. The string PrintError in the trace information text prefixes errors.
STGSTO | Content of the configuration file allocated to STGCONFG.
SYSOUT | Messages from LE runtime system.

## Trace output shows: Cannot load Natural front-end ...

The Natural front-end specified by the NDV configuration parameter `FRONTEND_NAME` was not found in the load library concatenation. See Single Point of Development > Natural Development Server for z/VSE > Natural Development Server for z/VSE (SMARTS/Com-plete) > Configuring the Natural Development Server.

## Trace output shows: Transport initialization failed, EDC8115I address already in use

The TCP/IP port number specified by the NDV configuration parameter `PORT_NUMBER` is already in use by another process. See Single Point of Development > Natural Development Server for z/VSE > Natural Development Server for z/VSE (SMARTS/Com-plete) > Configuring the Natural Development Server.

## Trace output shows: Error at: Template runtime connect

When a Natural Development Server initializes, it starts a Natural session using the session parameter(s) defined by the NDV configuration parameter `SESSION_PARAMETER`. The profile definition of the NDV configuration parameter `DEFAULT_PROFILE` is appended. For more information on how to configure a Natural Development Server for SMARTS on z/VSE, see Single Point of Development > Natural Development Server for z/VSE > Natural Development Server for z/VSE (SMARTS/Com-plete) > Configuring the Natural Development Server.

If the initialization of the template session fails, the server terminates immediately. The original error can be found below the message `Error at:Template runtime connect`.

Typical error situations could be:

- No Natural buffer pool defined.

- Natural system file `FNAT` not accessible.

- Natural profile parameter `ITERM=ON` (Session Termination in Case of Initialization Error).

- NDV initial user ID not defined.

## Definitions required in Natural Security

- Each client must be defined in Natural Security (NSC) if the Transition Period Logon flag in NSC is set to `NO`. Otherwise, your Map Environment attempt fails with a NAT0873 error.

- You must define an NDV initial user ID (default ID is `STARGATE`) unless you run with Natural profile parameter `AUTO=OFF` (no automatic logon).

- Each user must have either a default library or a private library. Otherwise, your Map Environment attempt will fail with a NAT1699 error.

- You must not specify a startup program that executes an I/O statement or stacks a `LOGON`, `LOGOFF` or `RETURN` command, because the program is executed whenever you change the focus to that library within the tree view.

- If you add a new user, you must specify a password for this user. Otherwise, his/her Map Environment attempt will fail with a NAT0838 error.

## Map Environment fails with a NAT3048

Specify session parameter `ETID=' '`. If you are using Natural Security, clear the ETID (Adabas User Identification) definition for that user.

## Map Environment fails with Stub RCnn

Stub return codes are raised by the NDV front-end stub, if it detects a logical processing error when dispatching the NDV request. The NDV trace output contains detailed information about the reason for the error.

The following stub return codes are possible:

Code | Meaning, Reason, Action
--- | ---
`1` | `Error during session reconnect` (for future use).
`2` | `Cannot create new session directory entry or subtask.` When Natural Studio executes a Map Environment command, the Natural Development Server allocates an entry in its session directory and creates a new subtask. If one of these actions fails, the Stub `RC 2` is raised.
`3` | `Cannot initialize new session.` This error occurs if a storage allocation for internal NDV control buffers fails due to a lack of virtual memory above 16 MB. Reason: Virtual memory above 16 MB too small. Action: Increase the virtual memory above 16 MB, decrease the number of physical storage threads, distribute the clients to several Natural Development Servers.
`4` | `Session execution failed.` Internal error. Natural Studio uses an invalid session identifier to process a request. Reason: When a Map Environment command is issued, the session ID already exists. The Natural session with the specified ID is not initialized. Action: Locate the defective session ID in the server trace file and cancel it using the monitor task, or restart your Natural Studio session.
`5` | `I/O execution not allowed.` In some situations, a Natural I/O is prohibited at the Natural Development Server. Reason: I/O execution during `LOGON` request. I/O execution while a transaction processor is executing. Action: Locate the I/O buffer in the server trace file to find out which I/O should be processed. Check for any startup program specified for the library you want to logon to.
`6` | Not applicable.
`7` | `Error during I/O execution.` The Natural Development Server cannot finish a terminal I/O. Reason: Virtual memory above 16 MB too small. I/O reply buffer sent by Natural Studio is invalid. Action: Increase the virtual memory above 16 MB. If the I/O reply buffer is invalid, contact Software AG support.
`8` | `Protocol element missing.` Internal error, contact Software AG support.
`9` | `NDV not installed on Natural system file.` Natural Development Server cannot execute the Natural module `TRPRO` located on library `SYSLIB`. Reason: The NDV modules were not loaded on the system file `FNAT`. Action: Use the Natural utility INPL to load the NDV modules.
`10` | `LOGON command required.` If you execute a program on the Natural Development Server that executes a `LOGOFF` (or a `RETURN` when no `SETUP` record is available), the logon library is undefined. In an online environment, the Natural Security logon screen is displayed in this situation. Under NDV, the Natural session rejects all requests except a `LOGON` command. This applies only if Natural Security is installed. You can issue a `LOGON` command either via the command line or by clicking on any library in your tree view.

## Special characters are not translated correctly

The ASCII-to-EBCDIC translation for NDV uses the Natural translation tables `TABA1/TABA2`. These tables are automatically or manually adapted at the customer's site.

#### Automatic Adaptation of Translation Tables

Automatic adaptation of the Natural translation tables `TABA1/TABA2` takes place if the following Natural profile parameters are set:

- `CFICU=ON` and

- `CP=value`

  where `value` can be any value except `OFF` or `AUTO`.

For further information on possible settings, see the corresponding profile parameter descriptions in the Natural Parameter Reference documentation.

At session initialization (when you map to the NDV server) Natural automatically adapts its conversion tables `TABA1/TABA2` according to the `CP` parameter definition and the code page used at the client. To verify if the conversion tables have been adapted, set NDV `TRACE_LEVEL=31`, connect to the NDV host via Natural Studio, and review the NDV trace file.

Each Map Environment starts with:

    11 07:58:02 00000003 Got new connection

some lines down you find:

    11 07:58:02 00000005 Client codepage: windows-1252
    11 07:58:02 00000005 Client operation = 18

and again some lines down you find:

    11 07:58:03 00000005 TABA1/TABA2 adapted according CP definitions

which indicates that the table has been adapted.

#### Manual Adaptation of Translation Tables

The translate tables can be modified as follows:

1. Modify source member `NTTABA1/NTTABA2` on the Natural distribution library. Reassemble `NATCONFG` and relink the Natural nucleus.

2. Specify the Natural session parameter `TABA1`/`TABA2`.

Manual adaptation requires setting `CP=OFF`. It also requires that `TERMINAL_EMULATION=WEBIO` be off. As a result, you cannot use the statements `REQUEST DOCUMENT` and `PARSE`.

Automatic and manual adaptation are mutually exclusive. If the automatic adaptation is effective, any `TABA1/TABA2` definitions are discarded. You can use either the automatic or the manual update but not a mix of both.

Do not use Natural Studio session parameters as an approach to permanently implementing these changes. You run the risk that different clients may use different translations, and this could corrupt source code the clients share. It is better to maintain the translation centrally. You can do this in two different ways:

1. Maintain the Natural parameter module, or

2. Use the NDV configuration parameter `SESSION_PARAMETER`.

   This affects the SPoD users only.

## Characters are not displayed correctly in the terminal emulation of Natural Studio

In Natural Studio, see also Tools / Options / Workspace / Terminal emulation setting in Natural Studio. The default (Latin) may not be the correct choice. For instance, in the US, you probably want to select "United States".

A simple Natural program on the mainframe can reveal the EBCDIC representation of a character which is not converting correctly:

    #A(A1) = '{'
    WRITE #A(EM=H)
    END

If none of the available code pages applies to your needs, it is possible to adapt one of the `N3270_USER 3270` translation tables in the `etc` directory. Details are in the Natural for Windows product documentation.

The web-site http://www.tachyonsoft.com/uc0000.htm is a good resource for finding valid EBCDIC and ASCII values for a given character (glyph) in various code pages.

## How do I find out which hexadecimal value must be specified for TABA1/TABA2?

Run the following program on your Natural for Windows locally.

    #A(A1) = '{'
    WRITE #A(EM=H)
    END

Output is `7B`.

Run the program on a mainframe (edit the program with the Natural mainframe editor). Output is `75`, assuming that you use a German EBCDIC table. If you use a US EBCDIC table, the output will be `C0`.

Start your Natural Development Server session with `TABA1``=(75,7B)` and `TABA2``=(7B,75)`.

## The modifications of TABA1/TABA2 do not apply to sources listed in the remote debugger

Specify the NDV configuration parameter `DBG_CODEPAGE``=USER`.

For more information on how to configure a Natural Development Server for SMARTS on z/VSE, see Single Point of Development > Natural Development Server for z/VSE > Natural Development Server for z/VSE (SMARTS/Com-plete) > Configuring the Natural Development Server.

## Accessing work files

This topic is discussed in the Natural Operations for Mainframes documentation.

## Are there any Natural profile parameter settings required for NDV?

The following Natural profile parameter values are required for NDV:

- `ETID=OFF` is required to allow multiple Natural sessions for each client.

- `DBCLOSE=ON` is required to remove database resources immediately after session termination rather than to keep them until they are removed due to a timeout.

- `ITERM=OFF` is required to continue with the Natural Development Server initialization, even if session initialization errors occur.

- `AUTO=ON/AUTO=OFF` (Automatic Logon) has a different behavior under Natural Single Point of Development. In an online Natural environment, this parameter controls whether you are prompted for your user ID and password or whether your user ID is treated to be a trusted user ID from the TP environment. With Natural Single Point of Development, you must always specify your user ID and password in the Map Environment dialog.

## NAT9915 GETMAIN for thread storage failed

The Natural front-end cannot allocate the Natural thread. Increase the SMARTS SYSPARM parameter `THSIZEABOVE`.

## The NDV server consumes a lot of CPU time even if only a few clients are using it

If you run your NDV server without a CPU time limit on session level, a Natural program might run into an endless loop. Issue a server command `list sessions` and examine whether any of the listed sessions has the status code "IO" (under the column header St. in the list output). The character I means that the client owns an initialized session, and the O flags mean that the client occupies a thread and is currently executing.

If a second `list sessions` command results in an "IO" for the same client with an unaltered Last Activity, it is probably a stuck or looping client. You can try to cancel the session using a `CANCEL SESSION` server command. If the cancelation fails, a restart of the NDV server is required.

If the `list sessions` function does not show a stuck or looping client, cancel the NDV server by using the `DUMP` option, and consult Software AG support.

## I get a NAT0873 internal error at user authentication for Map Environment

Please check the NDV trace file for the message `ExtMsg:Security system not activated (SYSPARM SECSYS)`. This message indicates that SMARTS cannot invoke the external security system specified by the `SYSPARM` parameter `SECSYS`.

## The server fails to start with return code 4 and in the error log I find ‘Transport initialization failed‘

Probably the TCP/IP environment is in error. See the system error message after the error log entry and ask your system programmer(s) for assistance.

## Listing mainframe objects in a view needs a long time

Opening a node in the Natural Server view or in the Natural Studio views in a mainframe environment can take a long time if a huge number of objects are contained in a library. See Object Lists on Mainframes in SPoD-Specific Limitations and Considerations.

### On this page

- Natural Development Server starts and terminates immediately
- Which dataset should I analyze to get error information?
- Trace output shows: Cannot load Natural front-end ...
- Trace output shows: Transport initialization failed, EDC8115I address already in use
- Trace output shows: Error at: Template runtime connect
- Definitions required in Natural Security
- Map Environment fails with a NAT3048
- Map Environment fails with Stub RCnn
- Special characters are not translated correctly
- Characters are not displayed correctly in the terminal emulation of Natural Studio
- How do I find out which hexadecimal value must be specified for TABA1/TABA2?
- The modifications of TABA1/TABA2 do not apply to sources listed in the remote debugger
- Accessing work files
- Are there any Natural profile parameter settings required for NDV?
- NAT9915 GETMAIN for thread storage failed
- The NDV server consumes a lot of CPU time even if only a few clients are using it
- I get a NAT0873 internal error at user authentication for Map Environment
- The server fails to start with return code 4 and in the error log I find ‘Transport initialization failed‘
- Listing mainframe objects in a view needs a long time