Command Line options for DP4 network programs.

This section summarises in table form the command tails available for and network requesters and manager respectively in all the operating environments supported. For further details on individual operating environments see the respective sections of this document. A few options that are rarely if ever used now have been omitted, but are documented on the platform specific pages. The command tails for AUXDISTR and SRVn are NOT listed here (they may be added in a later version). Please consult the pages that deal with loading specific network configurations.

DP4 programs do not usually complain if they are passed a spurious command tail. Therefore it is rather easy, especially in a resilience environment, to put a command tail on the wrong program.

Tails Used on Both Network Manager and Network Requester.

Tail Parameter Action
-debug
-debug_connect
-debug_error
  Enable diagnostics. -debug_error = error diagnostics only. -debug = complete diagnostics. -debug_connect=error diagnostics + diagnostics relating to making and breaking connections. Refer to Unix Specific information for command line options for Unix diagnostics.
-dosidle   Should be used on MS-DOS versions of DP4 network programs loaded in Windows DOS Boxes. See 16 bit Windows notes for more information.
-lana lananum Works for Win32 NetBIOS software on Windows NT. Selects the underlying network transport to be used. See NetBIOS notes for more information.
-nokeepalive   turn off keepalive mechanism
Should be specified on both server and client when used. TCP/IP specific
-server 1 - 65535 server number for remote operations. Restricted to 1..99 for multiple resilience.
-socket port number specifies the port number to use when making a tcp connection and must be specified at both client and server. Port 5000 is used by default. Applies only to TCP/IP programs
-timeout seconds specifies the length of time to wait for a reply before returning an error
The default timeout for status and keepalives is also based on this value, so when used the same value should be given on both manager and requester.

Network Requester command tails

Tail Parameter Action
-address_nn a.b.c.d Specify ip-address of server nn. You should not normally use this option. Applies to TCP/IP only.
-connect_timeout n

Specify number of seconds to wait for connections to be established. The default value is the same as the regular timeout. A value of 0 will cause TCPW to wait indefinitely if a connection is possible, but will usually return immediately if the server is not running. However for machines with a permanent IP address listed in DNS that are unreachable it may take up to 20 seconds for a connection attempt to fail. You may want to specify a much smaller value to guard against this, particularly if you use a poller type program that is connecting to multiple remote servers looking for updates to collect. On a LAN a connect timeout of 1 is almost always sufficient. Over the Internet it may take 3 or 4 seconds to establish a connection.

Applies to Windows TCP/IP only.

-distributed   Selects local resilience operation. Click here for further information.
-dp4serverNN net.node.socket Alternative to use of spx_servers section for ipxw. Applies to IPX/SPX networking only. You cannot use this command tail with TCP/IP networking.
-local_port n

Applies to TCP/IP only. Specifies a port number to use for the local end of connections. Normally the operating system will pick a port automatically, and there is no need to use this command tail. However this causes problems when connecting to FlexOS servers, and in this case it is better to use a fixed port number.

Currently only implemented on 4.621+ Windows TCP/IP clients, but might be added to Unix/Linux in future.

-multiple   Selects multiple resilience operation. Click here for further information.
-noblock   turns off block fetch optimisation - see below. Does not apply from 4.621
N.B. This tail was previously documented incorrectly.
-nodetach   do not detach from console, for debugging use. Applies to Unix/Linux and 4690 OS.
-nofaster   turns off block post optimisation - see below. Does not apply from 4.621.
N.B. This tail was previously documented incorrectly.
-remain
-noremain
  -noremain: stop DP4 service after all DP4 applications have terminated (Windows)
-remain: stay loaded after all DP4 applications have terminated (others)
-retry number number of times to try to make TCP connection before returning an error, default 3. Applies to tcp2.exe only.
-server_name server hostname Specifies location of DP4 server by hostname. Cannot be used with multiple resiliency. Applies to TCP/IP only. From 4.620 hostname may also be in the form #<ip_address>, for example #192.168.160.13 , though you are recommended not to use this facility unless absolutely necessary.
-threads n Applies to 32 bit Windows requesters only. Specify number of threads to be available for processing requests on remote servers. The default value is 1 if multiple resilience is in use, or otherwise two threads per installed processor. If you are not planning to make use of the named connection facility that allows simultaneous connections to multiple servers you may want to specify -threads 1 to disable multi-threading as it will not be beneficial.

Network manager command tails:

Tail Parameter Action
-allow_execute   enables the facility for DP4 requesters to run programs on the server (required for DP4 Terminal Server operation).
This option, introduced in release 4.620, removes a potential security hazard from DP4 Server operation. can be used where security of files on the server is important.
-aux   Used in Multiple Resilience Combined Client/Server configuration and Named Connection Configuration
-chain number Used in Multiple Resilience Combined Client/Server configuration
-deadtime seconds see TCP/IP specific section
-detach   causes network manager to detach itself from the console
-hostname host name force the use of a specified host name. TCP/IP Specific. This command tail is not used from 4.621 as TCPMGR automatically accepts connections on any available network adapter.
-nocopy   disables remote file facilities (and hence prevents some DP4 utilities from working) as a protection against malicious use of DP4 to gain unauthorised access to a computer's file systems.
This option, introduced in release 4.620, can be used where security of files on the server is important. Refer to Secure Operation of DP4 in the Guide to DP4 Configuration for more information.
-nonames   stops TCPMGR from attempting to resolve IP addresses to names for display purposes. You should probably always use this option if you expect connections to made over a private WAN or the Internet.
-online   This option can be used in Duplex Configurations. It causes the network manager to notify AUXDISTR at commit time when a server has come back online that should be updated.
-quiet   Network Manager uses a cut-down form of its display that does not use the DP4 terminal manager. This is useful if you want to see diagnostic messages from the network manager on operating systems other than Windows.
-reverse   Instructs tcpmgr to attempt to run another program each time a new machine is connected. The other program is specified in the onconnect entry in the [tcpmgr] section of the DP4 Configuration file. Normally the program will attempt to create a "reverse" connection using the requester machine as a server. The requester machine wlil normally be configured using the named connection configuration.
This option is new in release 4.620.
-rocopy   prevents remote file facilities from writing to files on the server (and hence prevents some DP4 utilities from working) as a protection against malicious use of DP4 to gain unauthorised access to a computer's file systems..
This option, introduced in release 4.620, can be used where security of files on the server is important, but where the DP4 Terminal Server is required.Refer to Secure Operation of DP4 in the Guide to DP4 Configuration for more information.
-scrnsave timeout in seconds The display of DP4 network managers is switched to a "screen saver" after the timeout has elapsed. The normal display is restored when a key is pressed. Probably only useful on Unix
-shutdown hh:mm, time in hours and minutes if running in foreground mode, causes the network manager to exit if no users are logged on at the time specified
-spx_socket number Used to change the IPX/SPX socket number used by IPXMGR.NLM from the default of 16384.
-stimeout seconds See Network Status Table in Configurations Using Multiple Resilience section.
-usenames Causes IPXMGR.NLM to attempt to display computer name rather than socket address.

DP4 Terminal Client command tails:

Tail Parameter Action
-debug
-debug_error
  Enable diagnostics. -debug_error = error diagnostics only. -debug = complete diagnostics.
-nodetach   do not detach from console, for debugging use. Applies to Unix/Linux
-hostname host name force the use of a specified host name.

Network Router (AUXDISTR) command tails

Tail Parameter Action
-debug
-debug_error
  Enable diagnostics. -debug_error = error diagnostics only. -debug = complete diagnostics.
-mustuse n Specify vital server number to access for tables using default layout. Usually specified at most once but can be specified multiple times. See Vital Servers for further information.
-noblock   turns off block fetch optimisation - see below. Does not apply from 4.621
N.B. This tail was previously documented incorrectly.
-nocrash
-nofail
-nocrash -readlocal
  Resilience Command Tails. See Network Error Handling Options with Multiple Resilience for details.
-nodetach   do not detach from console, for debugging use. Applies to Unix/Linux and 4690 OS.
-nolocal   Specifies that there are no local databases
-prefer_vital   Specifies that where a table can be fetched from more than one server that AUXDISTR should use one of the "vital" servers in preference to the local machine. This option is only meaningful where there is at least one "vital" server, usually specified via the −mustuse command tail.
-remain
-noremain
  -noremain: stop DP4 service after all DP4 applications have terminated (Windows)
-remain: stay loaded after all DP4 applications have terminated (others)
-server n Specifies that this is a combined client/server machine. See How to Load Multiple Resilience Combined Client/Server for details.
-use n Specify server number to access for tables using default layout. Can be specified multiple times

Automatic Reconciliation Program (ONLINE) command tails

Tail Parameter Action
-dbdbname

Name of application database to be brought up to date

-localfilefilename Specify file to read on local machine instead of default transaction log

-lockup

 

Lock up local server after processing

-remotefilefilename

Specify file to read on remote machine instead of default transaction log

-servernumber

Number of database server from which to copy application database

-setsessn 

Perform equivalent of a SETSESSN -DELETE on both databases after processing

-nofaster and -noblock Tails [4.520]

The information in this section applies for release prior to 4.621. These command tails have no effect on DP4 network requesters from version 4.621, both of the optimisations to which they were relevant have been removed - block fetch optimisations should be done using the bf_() functions in C/C++ code, and are done automatically by QAB and other DP4 utilities. The effect of the old block post optimisation is now automatically enabled on TCP/IP because DP4 no longer requires an immediate response from the server for calls to rec_post() or a number of other functions.

These command tails were not documented correctly in earlier releases. Prior to 4.520 -nofaster disabled both block fetch and block (queued) updates.

The network requester contains code to "queue" updates to the database in order to reduce the number of calls across the network, and code to "block fetch" records being fetched with a sequence of rec_fetch_main(NEXT) or rec_fetch_main(PREV) calls. This code can be disabled using -nofaster. The block fetch can be disabled with -noblock. Normally both these command tails are supplied to the network requester. When multiple resilience is used, the -noblock command tail should be specified on auxdistr instead. From 4.521/4.617 onwards, queued updates are automatically disabled when auxdistr is in use.

It is suspected that the former feature no longer improves performance significantly - (except during batch updates, where it can be quite effective) . The block fetch feature is potentially beneficial. However applications can perform block fetching more efficiently for themselves using the bf_fetch() family of functions. QAB does this for multiple choice access and also for sorts. However, these features are retained until such time as we can test a wide range of applications on different network configurations.

You are therefore recommended to experiment with loading the requester software with and without the -nofaster command tail and to use whichever configuration performs best. We would be interested to here whether performance is better with or without -nofaster.