Structure and Usage of the npr.ini File

The information contained in the npr.ini file is used to define the behavior of a server process. This document covers the following topics:


Sections

The npr.ini file is structured in a single or multiple sections:

DEFAULTS

A DEFAULTS section is used to define default values for the [<NPR identifer>] sections. Any item defined in the DEFAULTS section can also be defined in any <NPR identifier> section. It an item is not defined in such a section, the definition of the DEFAULTS section is being used. Note that this does not hold for parameters such as Server_Local or IPC_Prefix which are specific to a particular section and have no default.

NPR Identifier

For each NPR service provided on a given machine, one [<NPR identifer>] section is to be defined. Additional sections can be defined for remote services (on other machines), so that they can be controlled by the nprmgr utility.

Local Node

Local nodes are special NPR nodes which are invoked directly from a Natural session

  • on the same machine where the Natural session is executed;

  • without EntireX Broker communication.

To enable different log and trace settings for multiple local NPR nodes, the environment variable NPR_LOCAL_SECTION has to be set, and if the defined section exists in npr.ini, the settings from the local node will be used from that section. To use this feature, the variable NPR_LOCAL_SECTION is to be set before the invocation of Natural for NOP online or Monitor or RPC server, example:

Shell script code:

NPR_LOCAL_SECTION=npr_local_1
export NPR_LOCAL_SECTION
natural parm=...
...

npr.ini::

[npr_local_1]
Log_File_Prefix=log_local_1
Trace_File_Prefix=trace_local_1
Trace_Level=100
Command_Log_Level=4
...
[npr_local_2]
Log_File_Prefix=log_local_2
Trace_File_Prefix=trace_local_2
Trace_Level=0
Command_Log_Level=0
...

NPRMGR

The NPRMGR section is relevant for the utility nprmgr only. The following parameters can be specified in this section:

  • Locale_String

  • Command_Log_Level

  • Trace_Level

  • Log_File_Prefix

  • Trace_File_Prefix

DRIVEMAP

Definition of file server drives within Entire System Server for Windows: The npr.ini file can have the optional section DRIVEMAP.

The definitions made here must match the settings that can be retrieved with the Windows NET USE command.

Each definition for a network drive consists of one line. A line must contain these 3 keyword parameters:

Local

The local drive letter, followed by ':', example: G:

Remote

The remote path, example: \\daefs01\sagtemp

Type

Must match one of the following:

Microsoft for Windows file servers
NetWare for Novell Netware

Example:

[DRIVEMAP]
     Local=G: Remote=\\sag-hq\temp Type=Microsoft
     Local=T: Remote=\\daefs01\sagtemp Type=NetWare

An npr.ini Sample File

; Entire System Server
; Version 2.1.2 PL 0
; (C) 2001, Software AG
; Entire System Server INI file
; This file has been customized during the installation process,
; but it is possible to modify this information at any time using
; any text editor available on the system

[DEFAULTS]
Local_node=<node name>
Integration_Mechanism=ETB,<ETB id>
ETB_Wait=30
ETB_Replica=no
Log_File_Prefix=default
Trace_Level=0
Trace_File_Prefix=trdef
Command_Log_Level=0
IPC_Prefix=aaaa
Administrator=sag

[nprdemo]
Local_node=DEMONODE
Integration_Mechanism=ETB,ETB098
ETB_Wait=30
ETB_Replica=no
Log_File_Prefix=nprdemo
Trace_Level=10
Trace_File_Prefix=trdemo
Command_Log_Level=0
IPC_Prefix=dddd

Parameter Description

The following parameters are available:

Server=<server>

Default Description
localhost Host name of the machine on which the NPR service is executed. With Server=localhostthe local machine can be specified. This value is always converted to upper case before it is passed to the Broker.

Notes:

  1. Before version 2.1.2.10, the keyword 'Local_Node' was used for this parameter. For compatibility reasons, 'Local_Node' is still supported.
  2. For Local node sections, you can specify Server=localhost.

Server_Local={yes|no|compare}

Default Description
compare Determines how nprmgr shall access the service.
yes The service is handled as executed as own process on the local host.
no The service is handled as executed as own process on a remote host.
compare The name of the server defined in Server=, and the local host name will be compared to it. If they match, the service will be treated as local.

Note:
This keyword cannot be overridden from the [DEFAULTS] section. It must be defined specifically for the service.

Integration_mechanism=ETB,<broker id>

Default Description
None Integration mechanism. This item identifies the integration mechanism by the NPR server. EntireX Broker and UCI are supported as integration mechanisms.

Examples for broker ID:

BKR034 Standard definition.
etb034:3800:TCP Use TCP/IP, host ibm1, port 3800 (for EntireX TCP/IP communication)
pcsn2:1958:SSL Use SSL, host pcsn2, port 1958 (for EntireX SSL communication)

ETB_Wait=<seconds>

Default Description
30 EntireX Broker timeout.

ETB_Replica={yes|no}

Default Description
no Replica server option. Currently not supported.

ETB_Dup_Check={yes|no}

Default Description
yes If yes, the NPR service checks first if a service with the same name is already registered at the EntireX Broker. If this is the case, the second service will shut down immediately. If no is specified, the duplicate check will not be performed.

Log_File_Prefix=<string>

Default Description
Default Global log file prefix. This item identifies the prefix of the global log file that will be generated in the $NPR_HOME/work directory.

Trace_Level=<integer>

Default Description
0 Trace level for server's trace file. 0 (zero) means: no trace. Values can range from 0 to 999.

Trace_File_Prefix=<file name>

Default Description
nprtrace The trace output will be written to $NPR_HOME/work/file-name.log.

Command_Log_Level=<number>

Default Description
0
  • 0 no command logging

  • 1 log after NPR call

  • 2 log before and after NPR call

  • 3 log before and after NPR call plus EntireX Broker error code logging

  • 4 like 3, with more call parameter logging

Log data is written to the trace file.

IPC_Prefix=<4 hexadecimal digits>

Default Description
aaaa Prefix for IPC resources.

Note:
This parameter cannot be overridden in the [DEFAULTS] section. It must be defined specifically for the service.

Use_Pam={yes|no}

Default Description
yes Linux
PAM user authorization method is used.
no for all other operating systems
The traditional authorization method is used.

Note:
This parameter is meaningful only for UNIX-like operating systems that allow PAM user authentication. The parameter can be set for local nodes, too.

Locale_String={yes|no|<string>}

Default Description
no If yes, Locale_String for the Broker equals the value retrieved by the setlocale function. If no, no locale string is passed to the Broker. If a string is defined, it will be passed unchanged to the Broker. The maximum string length is 40 characters.

Note:
To enable communication of the utility nprmgr with EntireX Broker, this parameter must be specified in section NPRMGR.

SSL_Trust_Store=<full qualified path to a SSL certificate file>

Default Description
none If this parameter is set, SSL Broker communication will be used, and the given full qualified file name is taken as SSL certificate file. If this parameter is not set, SSL Broker communication will not be used.

Note:
This parameter is required for SSL Broker communication only.

Broker_User=<user name for Broker>

Default Description
none User name to be used for Broker security. This user ID is used for the Broker logon. The parameter Broker_CPW is required, too.

Note:
This parameter is required only if Broker security is used. Otherwise, this parameter has no meaning.

Broker_CPW=<ciphered password for Broker_User>

Default Description
none If Broker security is used, the ciphered password for the Broker logon must be specified here. To cipher a given password, invoke the utility nprpwc which prompts for a password and returns the ciphered password. Invoke nprpwc in a command shell.

Note:
This parameter is required only if Broker security is used.

Administrator=<admininstrator user name>

Default Description
none User name that has privileges over the server process. The parameter Admin_CPW is required, too.

Note:
This parameter is required for some nprmgr functions in non-interactive mode.

Admin_Group=<admininstrator group name>

Default Description
none Group to be used for the administrator.

Note:
This parameter is required for some nprmgr functions in non-interactive mode.

Admin_CPW=<administrator's ciphered password>

Default Description
none Ciphered password for the administrator. To cipher a given password, invoke the utility nprpwc which prompts for a password and returns the ciphered password. Invoke nprpwc in a command shell.

Note:
This parameter is required for some nprmgr functions in non-interactive mode.

Autostart={yes|no}

Default Description
no The NPR service is to be started automatically during system startup, if 'yes' is defined here.

Note:
Available on Linux operating systems only.

EOR_WORK=<EOR (NOP) work directory>

Default Description
none The EOR (NOP) work directory can be defined here.

Notes:

  1. A default for all service sections can be specified in the [DEFAULTS] section. You may use different work directories for each NPR service if you specify this parameter on the section level.
  2. This setting always overrides the environment variable EOR_WORK.
  3. This parameter must be used, if the NPR service(s) are to be started automatically during system startup.

EOR_NOM=<NOM work directory>

Default Description
none The EOR (NOM) work directory can be defined here.

Notes:

  1. A default for all service sections can be specified in the [DEFAULTS] section. You can use different work directories for each NPR service if you specify this parameter on the section level.
  2. This setting always overrides the environment variable EOR_NOM.
  3. This parameter must be used, if the NPR service(s) are to be started automatically during system startup.

ETBLNK=<path to EntireX Broker shared library>

Default Description
none A default for the environment variable ETBLNK can be defined here.

Notes:

  1. Scope: nprmgr
  2. This parameter can be defined in the [DEFAULTS] section only.
  3. This setting will be used only if the environment variable ETBLNK was not defined.
  4. This parameter can be used for situations, where the environment variable ETBLNK is not available otherwise.

Open_File_Timeout=<seconds>

Default Description
0 seconds (no timeout check) Entire System Server periodically checks for files opened by the own process which were not accessed during the last seconds.

Notes:

  1. If this parameter is missing, or if Open_File_Timeout=0, no file timeout check will be performed.
  2. If run standalone (as a Broker service): Entire System Server checks its internal file table and the file descriptors of its own process.
  3. If run in local mode: Entire System Server checks its internal file table only. Any files opened by the calling process remain untouched (e.g. Natural workfiles).
  4. Each forced file closure by timeout will be logged in the Entire System Server trace file

Setting the Environment Variables with sagenv.new

Before you start your product, it is recommended that you run (source) the sagenv.new script in the <install-dir>/bin directory. This sets the environment variables needed to run your product and other Software AG products.

Important:
The sagenv.new file is replaced with every new installation. If you have set up your own environment settings file (for example, with the name sagenv), replace only the modified product-specific part in your existing sagenv file.

Important:
It is recommended that you start a new shell before switching to a different installation directory and running the sagenv.new script (for example, when switching from the directory for a test environment to the directory for a production environment).