Operation

This document describes how to operate a Natural Subprogram Server under z/OS (Batch).

This document covers the following topics:


Starting the Natural Subprogram Server

The Natural Subprogram Server can be started as a "started task":

//NPISRV  PROC                                      
//KSPSRV   EXEC PGM=NATRNPI,REGION=4000K,TIME=1440, 
// PARM=('POSIX(ON)/NPISRV1')                        
//STEPLIB  DD DISP=SHR,DSN=NPIvrs.LOAD   
//         DD DISP=SHR,DSN=NATvrs.LOAD              
//CMPRINT  DD SYSOUT=X                             
//STGCONFG DD DISP=SHR,DSN=NPIvrs.CONFIG(SRV1)    
//STGTRACE DD SYSOUT=X                             
//STGSTDO  DD SYSOUT=X                             
//STGSTDE  DD SYSOUT=X

where vrs is the version, release, and system maintenance level number of the Natural Subprogram Server.

For the currently applicable versions, refer to https://empower.softwareag.com/.

Notes:

  1. PARM=('POSIX(ON)/NPISRV1') - POSIX(ON) is required for a proper LE370 initialization, with NPISRV1 being the server name. This server name is used for referencing server-related resources.
  2. The name of the started task must be defined under RACF and the z/OS Linux System Services.

Terminating the Natural Subprogram Server

The Natural Subprogram Server can be terminated using z/OS operator commands.

STOP NPISRV stops the server with the started task name NPISRV.

F NPISRV,APPL=TERMINATE sends the TERMINATE command to the started task. This also stops the Natural Subprogram Server. For more information, see the Monitor Communication section.

Active Natural Sessions are canceled during the Natural Subprogram Server shutdown.

Monitoring the Natural Subprogram Server

To enable the administrator to monitor the status of the Natural Subprogram Server, a monitor task is provided and is automatically initialized at server startup. Using the monitor commands described below, the administrator can control the server activities, cancel particular user sessions, terminate the entire server, etc.

This document covers the following topics:

Monitor Communication

To communicate with the monitor, you can use the MODIFY operator command. The commands in the Monitor Commands section can be used to execute the monitor commands. The output of the executed monitor command will be written to the system log.

Example:

F jobname,APPL=ping

sends the ping command to the Natural Subprogram Server running under the jobname job.

Monitor Commands

The Natural Subprogram Server supports the following monitor commands:

Monitor Command Explanation
ping

Verifies whether the server is active. The server responds and sends the string

I'm still up

terminate Terminates the server.
list sessions Returns a list of active Natural sessions within the server. For each session, the server returns information about the user who owns the session, the session initialization time, the last activity time, and an internal session identifier (session-id).
help Returns help information about the supported monitor commands.

Runtime Trace Facility

For debugging purposes, the server code has a built-in trace facility which can be switched on.

This document covers the following topics:

Trace Medium

A remote Natural Subprogram Server writes its runtime trace to the logical system file SYSOUT of the FSIO task.

Trace Configuration

The trace is configured by a trace level, which defines the details of the trace. See also Trace Level.

Every Natural session is provided with a 32-bit trace status word (TSW) which defines the trace level for this session. The value of the TSW is set in the TRACE_LEVEL configuration parameter. The trace is switched off if the value is zero.

Trace Level

Each bit of the TSW is responsible for certain trace information, starting with the rightmost bit:

Bit 31 Trace main events (server initialization/termination, client request/result).
Bit 30 Detailed functions (session allocation, detailed request processing).
Bit 29 Dump internal storage areas.
Bit 28 Session directory access.
Bit 27 Free.
Bit 26 Free.
Bit 25 Free.
Bit 24 Free.
Bit 23 Callback requests (Natural runtime calls front-end stub).
Bit 22 Callback memory functions (Natural runtime calls front-end stub for memory allocation).
Bit 21 Trace NSC Logon processing.
Bit 20 Worker pool events (add/delete/post worker).
Bit 19 Worker pool content traced at each add/delete worker.
Bit 18-00 Free.