Progress Startup Parameters.

Last update: December 20, 2004
by George Potemkin (potemkin@******.ru)

1. The list contains server and client startup parameters as well as
parameters for some Progress utilities.

2. Where it is possible I will narrow down the origin of parameter
to the Progress patch number.

3. Plus(+) sign after Progress version means that parameter was
introduced in that release.
Minus(-) sign respectively means that parameter was obsolete.

4. Abbreviation “pkb” refers to a Progress knowledge base article.
Abbreviation “msg” refers to a Progress message number.

The Progress Email Group was a great source of information for creation
of this document. Several people have been kind enough to share their

Dmitri Levin
Geoff Crawford
Grant Maizels
Bob Brennan
Libor Laubacher
Pedro Martinez
Stefan Marquardt
Kraa de Simon

Undocumented Parameters of the Releases before V7.3B.

6.X + -, European Numeric Format (the same as -E)
6.X + -PF Parameter File (the same as -pf)
6.X + -! Fast Track Message File

Fast Track Message File contains any text data. The bounds of the data
records are defined by an index table stored in the file header.
You can refer to any record by the include file syntax {!}.

Msg ## 1722-1725 say: The -! feature is a temporary feature for Version 6
PROGRESS only. It WILL NOT be supported in future version of PROGRESS.

De facto, this feature is available up to V9.

6.X + -ct Specify how long the client will wait and gather SPX information
on the CONNECT. The -ct option is a connection parameter.
Issue #20000721-001, Patch 1st Fixed: 8.3C07 on Win32

6.X + -synchronous Enables Synchronous Debug Mode.
6.X + -Mxs Shared Memory Overflow Size. Default: -n * 300 bytes.
6.X + -I Total Private Buffers. Pkb 5633

Default: 2 * -n, Range: 0 – 32000, Type: Broker Parameter
PROGRESS tries to use private buffers for read-only operation thereby
reducing competition for shared buffers; In V7/8/9 PROGRESS still allocates
the private buffers. Set -I 0 in

6.X + -O Private Buffers

Default: 0, Range: 0 – (-I), Type: Connection Parameter

6.3 + -nap Nap Time / Initial Latch Sleep Time

Default: 10 ms before V7.3C and 20 ms in V7.3 and up. Range: 10-500 ms.
When a process is trying (-spin tries) to acquire a latch and fails
then it naps -nap ms. See promon -> R&D -> ‘debghb’ -> Administrative
Functions -> Adjust Latch Options -> Initial latch sleep time.

6.3 + -napinc Nap Time Increments

Default: 2 times
The nap time is multiple by a value of the -napinc when a process
naps -napstep times (i.g. 20,40,80,160,…).

6.3 + -napmax Maximum Nap Time (pkb 16518)

Default: 5000 (100 with V7.3C-??? – Progress bug, it should be 5000).
The maximum value to which a nap time can increase.

6.3 + -napstep Maximum Increment Steps

When a process naps -napstep times the nap time is increased by a value
of the -napinc.

6.3 + -lkhash Lock Table Hash.

Default value is a prime number greater than 1/8 the -L value where
the prime number is sourced from an internal PROGRESS array (30 entries)
from 13 to 98407 with values increasing in a geometric progression using
the approximate ratio 1 to 1.4. The prime number table is identical in
versions 6.3, 7 and 8. The same table is used for the -hash parameter
(pkb 15385).

Each entry uses 12 bytes of the shared memory. Pkb 15956 or 16580.

6.3 + -ixlru Index Block LRU Recycle Limit

Default value: 0, Range: 0-99
This is an experimental feature that is designed to give index blocks
preference over data blocks in the buffer ageing algorithm. The idea
is that when index block finds its way to the tail end of the lru chain,
we put it back on the front and let it age again before replacing it.
The recycle limit controls how many times it gets to go around.
See: promon -> R&D -> debghb -> Startup Parameters
Set: promon -> R&D -> debghb -> Administrative Functions -> Adjust
Page Writer Options -> Index block recycle limit

6.2 + -z1 Force a crash (for test purposes) between commit phases with 2PC.
CONNECT db1 -db db2 -z1.
6.3 + -znohint Turn off ALL hints sent to ORACLE; Pkb 16306
6.3 + -znotrim Don’t trim trailing blanks in where clause.
ORACLE DataServer; Pkb 13078
5.X + -zod Don’t use ORACLE TRUNC for date in where clause; Pkb 12384.
6.X + -zo Shows SQL code that Progress generates and sends off
to ORACLE. The -zo is not supported in V7.3C+. In V8 this feature has
been replaced with query tuning paramter qt_debug (-Dsrv qt_debug,SQL).

6.2 + -zp Issue a message 1408: The id of this process is .
7.3A + -zcache Issue a message 821: Reading schema cache for database…
7.3A + -zr Ignore R-Code File / Forces Session Compile. Msg 2887
7.3A + -zqil Query Index Listing (msg 1848).
Local character clients only. (But kbase #21216 says that -zqil and -zqilv
are working in GUI/CHUI and with local/remote connection).
(Some notes about undocumented parameters -zqil & -zqilv)
7.3A + -zqilv The same as -zqil parameter but with LEAF info.
7.3A + -zn Disable the special meaning of the leading underscore (“_”).

By default:
– Progress does not allow to create the temp-tables, fields, variables,
etc with the names begining with “_”.
– For the procedures with names beginning with “_” Progress applies
the same rule as for all procedures when -q parameter is used.

7.X + -m4 prosql: oidrvr32.exe -SV -S -m4 -Mi -pf

7.X + -cgw Compatible R-Codes (Oracle DataServer).

V7: Deals with the queries that use ORACLE tables with a progress_recid
column (Pkb 17397). The procedures compiled with (without) -cgw must be
run with (without) -cgw (Msg 2721, 2722).

V8: To generate r-code with a Version 8.0B client that an 8.0A client
can also run, you must specify the Compatible (-cgw) parameter when you
start your 8.0B session to compile and save the r-code.
If code references DATE columns that are mapped to the CHARACTER data
type, you will not be able to generate compatible r-code, even if you
specify -cgw.

6.X only -K Keystroke Capture/Playback. Pkb 5985.

Record keystrokes: -K record
Interactive Playback: -K playback keyfile.mstr keyfile.gen
Batch Playback: -K batch keyfile.mstr keyfile.gen
where is your master file originally recorded,
is where the results of playback will be stored.
TERM environment variable must be the same as what you set to record.

7.3A + -QA Quality Assurance Layer (Character mode only)

Record keystrokes: -QA record
Play back the keystrokes: -QA playback
Report window creation: -QA log
-QA option sets the time in seconds since the start of the UNIX epoch to 0.
The start of the UNIX epoch is 00:00 1/1/1970 GMT.

Connection Parameters (that define an process to connect to).
7.X + -SV Open Interface Driver Connection

The -N,-H,-S,-m2,-Mm,-nb,-NL,-Nv,-pp parameters followed the -SV
parameter belong to OIB/OID.
If a Parameter File (-pf) startup parameter is included in the -SV
parameter list, all parameters in the file, up to the first -db
parameter, are part of the -SV parameter list. However, all parameters
after and including the first -db in the parameter file are ignored,
and are not passed to OIDs.

6.X + -Gw Directs PROGRESS to shut down DataServer Broker. Msg 3663.
Ie. the -N,-H,-S parameters followed the -Gw parameter
belong to a DataServer Broker.

8.1A + -AS Directs PROGRESS to shut down AppServer Broker. Pkb 16288.
ie. the -N,-H,-S parameters followed the -AS parameter
belong to a AppServer Broker.

8.1A + -web WebSpeed Broker Connection
Ie. _wta -web -wtbname -wtbport -wtaminport

9.0A + -svub Indicates using unified broker service. See below.

Changes by release.

7.3B as of June 1995
7.3B + -ininame Initialization File
7.3B + -brl Bleeding Record Lock (pkb 13881, 15160)
7.3B + -dictexps Dictionary Expressions
7.3B + -checkdbe Check Double-byte Enabled
7.3B + -nocheckdbe No Check DBE
7.3B + -cpprint Printer Code Page
7.3B + -cprcodein Read Rcode Code Page
7.3B + -cprcodeout Write Rcode Code Page

7.3C01 as of Oct 12 1995
No changes.

7.3E as of Apr 17 1997
No changes.

7.3E15 + -tcponly Prevent the NLM server from starting up the SPX protocol. Pkb 19632

8.0A as of Nov 1995
8.0A + -cplog Log File Code Page
8.0A + -fldisable Field List Disable
8.0A + -noindexhint Index Hint
8.0A + -nojoinbysqldb Server Join
8.0A + -noSQLbyserver SELECT Pass Through Disable
8.0A + -OUTPUT Redirects the output from a Progress batch session
to a file. Pkb 16768.
8.0A + -rbcpreportin Report Code Page In
8.0A + -rbcpreportout Report Code Page Out
8.0A + -rbcpudfin UDF Code Page In
8.0A + -rbcpudfout UDF Code Page Out
8.0A + -rbdel Report Engine Record Delete
8.0A + -rbfile Report Engine File
-rbfile rbrun.txt This can be used when running prore.exe from the
command line. _printrb.p must first be run to
generate the rbrun.txt. This is intended for
internal testing only.

8.0A + -rbP Encoded Password (documented in V9)
8.0A + -rbstatfile Report Status File
8.0A + -rbtable Report Engine Table Name
8.0A + -rbtag Report Tag
8.0A + -rbupds Report Update Status
8.0A + -SQLlogging OID Server Connection (OID, AppServer)
8.0A + -zpfnet ?
8.0A + -zbfs ?
8.0A + -zfl Field List Reports (msg 4164, 4165)
Writes to a database log file debugging messages about re-reading
a field-list records and reports a number of records read.

8.0B as of Jul 10 1996
8.0B -spin PROGRESS implemented -spin on NT (Michael Furgal)
8.0B -directio Became supported on all platforms (Michael Furgal)
8.0B + -basekey Registry Base Key
8.0B + -evtlevel Event Level. There is EVTLEVEL environment variable.
8.0B + -hardlimit Hard Limit for -D,-nb,-mmax,-l. Pkb 16387
8.0B + -mux 0 Turn off mtlkmux() and mtfrmux() when -spin has
been set. Msgs 3717, 3718, 5797.
8.0B + -portnumber ? Obsolete in V8.1A
8.0B + -znosavepoints No Save Points

8.1A02 as of Dec 9 1996
8.1A – -portnumber Introduced in V8.0B.

8.1A + -AS Directs PROGRESS to shut down AppServer Broker.
Pkb 16288
8.1A + -con Connect Procedure
8.1A + -dis Disconnect Procedure
8.1A + -lkwtmo Lock Time Out
8.1A + -logfile Log File (compserv.lg)
8.1A + -logname Event Name
8.1A + -Mpte Shared Memory Page Table Entry Optimization
Digital UNIX. Msg 5556. Rewritten in V8.3A.
8.1A + -trace Trace (AppServer)
8.1A + -web WebSpeed Agent Connection
8.1A + -weblogerror WebSpeed Agent should create an error log file
8.1A + -wtamaxport Agent Maximum Port Number
8.1A + -wtaminport Agent Minimum Port Number
8.1A + -wtbport Broker Port Number
8.1A + -zcompsrvrbuf ?
8.1A + -znw ?

8.1C06 as of Jul 06 1998
8.1A03-8.1C06 + -ASID ? [AppServer Startup parameter]

8.2A as of Apr 28 1997
8.2A -Mpte VLM64 Page Table Entry Optimization (Digital UNIX)
Syntax was changed: an argument is not need anymore.

8.2? + -exact Allows a procopy to be made without the changes to
the master block. Pkb #16676.

8.2A + -blocksize Block Size (PROSTRCT Utility)
8.2A + -groupdelay Group Delay (Turning tips: pkb 18003)
8.2A + -index Index (PROUTIL DUMP Qualifier)
8.2A + -Mpb Maximum Servers per Broker
8.2A + -maxport Max Dynamic Server Port
8.2A + -minport Min Dynamic Server Port
8.2A + -Mms AAppServer Maximum Maintained Prestart Counter
8.2A + -Ms AppServer Maximum Prestart Counter
8.2A + -populate Disable Fast Schema Changes
8.2A + -nopopulate Enable Fast Schema Changes
8.2A + -norecover Disable DB Recovery with Off-line Backup. Pkb 17553
8.2A + -tscope ?
8.2A + -zprofile Profiler Config File:

8.2B + -verbose (proutil -C idxfix -verbose) Send the output to standart out
instead of .lg file. Does not work until V8.2C.

8.2C as of Feb 23 1998
8.2B-8.2C + -noreorder No Join Reorder (Report Builder, pkb 19119)
This option may help increase performance on reports
that contain SQL using the implicit join syntax.

8.2C + deactivate Deactivate indecies (proutil -C load deactivate)

8.2C09 as of Sep 03 1998
8.2C09 + -nofixdate

From: Brian K. Maher <>
To: <> Subject: PATCH: 8.2C07 for Win32 (95,NT)
Date: 10/08/1998

Progress failed to properly adjust a date format using 4 digit years
when using the -d ydm, -d dmy and -d mdy startup parameters. Date
formats will now be rearranged to correspond to the -d startup
parameter. The -nofixdate startup parameter can be used to disable
this change if required.

The -nofixdate parameter resolves the memory violation problem
with the code:
MESSAGE “Enter date” UPDATE v-date.

Date: 24 Nov 1998
From: (Matt Gilarde)
Subject: Re: Update date field on message line

The MESSAGE UPDATE bug has been fixed in a recent 8.3A patch.
There should be no need to use -nofixdate once you have the patch.

Matt Gilarde – PSC Development

8.3A as of Aug 05 1998
8.3A -noshm No Shared Memory on Server. Obsolete.
Starts a single server for a database rather than a broker.
The clients can connect to a database only using the -H, -S parameters.
In V8.3/9.0 the connection ends with the errors:
The server or the system has no more resources. Try a larger -n. (748)
** Server rejected login. (700)

8.3A + -bistall BI File Threshold Stall
8.3A + -bithold Recovery Log Threshold. The value is rounded down to
the nearest cluster (Britt Johnston)
Before Image Threshold must be at least 3MB.
Starting in V9 the upper limit of -bithold:
4GB * (biblocksize / 1k)

8.3A + -indexbase Index Base
8.3A + -indexlimit Index Limit
8.3A + -tablebase Table Base
8.3A + -tablelimit Table Limit
8.3A + -semsets Semaphore Sets
(-semsets is not a valid argument on NT/Windows. It is being ignored.)
8.3A + -p21 Prophet 21 for C-ISAM Dataserver. Obsolete in V9.0A
8.3A + -rbfilenodel Don’t delete p#####RB.TXT file (V8.3B readme.wri)
8.3A + -rbexpjoins Forces RB to use explicit join syntax for inner
joins (readme.wri)
8.3A + -rbclearxactions Pkb # 17016: When printing or previewing a
new transaction is started. This new transaction will
not end unless a new startup parameter is used. This
new parameter is -rbclearxactions and should be specified
on the command line where Report Builder is started
or in the file.
8.3A + -rbzsqldump This will create a log file c:\foo\sql.log which contains
all of the ESQL generated by Report Builder for a
report. The directory c:\foo must exist before Report
Builder is run with this parameter. This is also
intended for internal testing only.
(Angela Albert from PSC Tech Support)
8.3A + -rbcltoolong ?

8.3A04 as of Oct 19 1998
8.3A04 + -rbtabledb Specify which database contains the RBREPORT
table (or whatever table is specified with the -rbtable parameter).
Pkb 19145, V8.3B readme.wri.
8.3A04 + -portableframes Portable Frames

Portableframes was an attempt to make for portable r-code across
operating/windowing systems. If you have shared frames and compile
your code on different platforms (a.p compiled on machine1, b.p compiled
on machine2), and you don’t use -portableframes, you will have errors*).
There is another error if you do use the option under 8.3B.

Glen West (

*) Bug 98-09-15-066:
Shared frame layouts do not match for frame . (683)

8.3B as of Jan 29 1999
8.3B -maxport Applied to Application Broker (not in V8.2 – pkb 18382)
8.3B -minport Applied to Application Broker
8.3B + -apsvnap ? Obsolete in V9.0A
8.3B + -devevent ? Obsolete in V9.0A, re-added in V9.0B

From: “Resperger Josef” <>
To: <> Date: Dec 18, 2000

Starting with Release 9.1 there is a significant
change in the behaviour of “return no-apply” which is not the same on every
machen and it seems to be different between runtime and development version.
We have been running into that.
They suggested that we use the -devent Startup Parameter (not documented)
and this helped!

8.3B + -rereadnolock Re-read No-Lock (pkb 19063)

Patches 8.3B07 and 9.0B04 fix the bugs (issue# 19990408-006,
19990617-017) caused by the -rereadnolock parameter when you use
a browser.

8.3B12 (AIX), 8.3B14 (Win32)
8.3B + -Msc Allows correct messaging between OID and small client.
Issue #19980706-005: -Mm 16000 will core or GPF when using SQL select statements.

8.3B + -noshvarfix ? Exist in V9.1A as well

Pkb #20235, Definition of the -noshvarfix parameter

In version 7 progress never instantiated any defined shared variables
that were not referenced in the program. For example, if you defined
20 shared variables and only assign 3 of them, Progress would only
have instantiated those 3. Now in Version 8 because of bug
19950124-041 there is certain circumstances when we need all the
shared variables instantiated such as Persistent Procedures. Because
of this issue the fix was made to instantiate all variables whether
they are assigned or not. Even though this fixed the persistent
procedure problem it created another problem.

Because we now instantiate all variables, we began to receive
performance complaints from customers trying to upgrade from V7 to V8.
Their programs were taking longer to run in V8 than in V7 because of
the instantiation of all variables. So we created the fix for this bug

A patch was created for 8.3B that added a client startup parameter
-noshvarfix to ‘turn off’ fix for 19950124-041.

8.3B2X + -tgb Proutil -tgb -C dump
The tag -tgb splits the .bd file when it reaches 2000000000 bytes.
(thanks to Stefan Marquardt).
Issue #19991116-034
Alpha OSF creates binary dumps larger than the 2 GIG limit. This makes porting
the dumped file to a “smaller” platform impossible.

8.3C + -Moi [OID/OIB Startup parameter]

Set max size of the messages that OID can send to a SQL89 client.
Use the CLSDMSG environment variable to set a size of
the client’s messages.

8.3C01 (Compaq Tru64), 8.3C03 (Sun Solaris) as May 04 2000
8.3C + -noinactiveidx Prevent the compiler selecting inactive indexes.
Issue # 20000405-004
Pkb 19825: Starting a client session with this parameter will force
the compiler to only select active indexes when compiling source code.
This removes the need for an index to be deleted from the database when
trying to control the indexes that are selected by the compiler.

8.3D as of Jan 08 2001
8.3D + -fixcurtable ?
8.3D + -wrttries WebSpeed Agent Retries (see V9.1B below)
8.3D + -wrttrypause WebSpeed Agent Try Pause (see V9.1B below)

8.3D04 + -nocore The -nocore option will allow for no core files to be created Vol 3, Ed 3
08-33023 System Hangs with Core Files in NFS Drive
If a core file is created on an NFS drive, you might find that the system hangs and
does not allow any other user or process to access the NFS drive. These core files
are large and can take more than three minutes to write.

8.3E as of Nov 15 2001
-ojmode 1|2 OUTER-JOIN Mode
-ossilentfix Issue #20010712-007
When running probuild, you may receive an error such as: Unresolved: argossilentfix

-PendConnTime Pending client connection timeout

9.0A03 as of Mar 06 1999
9.0A ACCESS=all It’s the default for all databases started with
ProControl and the AdminServer (Mike Furgal).

9.0A – -apsvnap Introduced in V8.3B
9.0A – -devevent Introduced in V8.3B, re-added in V9.0B
9.0A – -p21 Introduced in V8.3A
9.0A – -portableframes Introduced in V8.3A04

9.0A -Nv Network Version. Introduced in V6.2F.
12 (for V5/V6 database) is the highest (and the only) number you can use.
20 (for V7 database) is not supported. Pkb 18900

9.0A -rptint License Usage Reporting Interval
RN#: 091B-00216
Progress Explorer erroneously allows you to set the Reporting Interval
property (-rptint) for database configurations. This property is not supported
by the Progress V9 database.

9.0A -a After-Image File Name. The -a parameter is only
valid with rfutil -C roll forward.
9.0A -g Before-Image File Name is obsolete,
9.0A -blocksize Block Size (PROSTRCT BUILDDB Utility)

9.0A – -indexbase It’s a first time when PSC renames the parameters!
9.0A – -indexlimit … and lose a way in V9.1
9.0A – -tablebase
9.0A – -tablelimit

9.0A + -baseindex Index Base Replace -indexbase
9.0A + -indexrangesize Index Range Size Replace -indexlimit
9.0A + -basetable Table Base Replace -tablebase
9.0A + -tablerangesize Table Range Size Replace -tablelimit
9.0A + -f Location of AdminServerPlugins.dat (pkb #21080)
9.0A + -port Main AdminServer listening port, where all queries,
and start/stop requests are sent. By default, this is port 20931.
9.0A + -adminport Used by databases to communicate with the AdminServer
(together with -servergroup). By default, this is port 7832. Pkb #19360
V9.1 doc says that -adminport was introduced in V9.0B.
9.0A + -AppService Application Service Name
9.0A + -Bp Private Read-only Buffers

9.0A + -classpath SQL-92 Server Java Classpath
9.0A + -DataService Data Service. Connect a client through
a NameServer to the broker. See also the -nonameserver parameter.

9.0A + -debugalert Sets SESSION:DEBUG-ALERT to YES. Documented in V9.1.
9.0A + -list Obtaining Storage Area Descriptions Using PROREST
9.0A + -m5 ?
9.0A + -nonameserver The same as -DataService “none”. .
ReadEng.hlp: For diagnostic purposes only, it is acceptable
to bypass the NameServer connection and connect directly to the
broker instance. To do this, specify the reserved DataService
name “none” as follows: -DataService none

9.0A + -omsize Storage Object Cache Size (msg 8527)
9.0A + -profile Profiler Config File (enhanced -zprofile).
See %DLC%\src\samples\profiler\readme.doc
9.0A + -properties (Copy of) Configuration Properties File (
Used by *config utilities to validate the copy of Configuration Properties File.
Ignored by proadsv. Check -propertyfile introduced in V9.1.
9.0A + -relative Suppresses conversion of a Relative Path Database
with a procopy/prorest. By default, new database’ll have the full paths
embedded. Note: prodb = procopy -silent -relative.

9.0A + -servergroup Server Group Name
No Stored Procedures if DB Started Using Progress Explorer
RN#: 091A-00533
On Windows NT, if the Database is started from Progress Explorer, it is
impossible to create or execute a stored procedure. The stored procedure can
be created if the Databases have been started from the NT command line.
Starting the Broker from the command line using the -servergroup and
-adminport arguments will allow the Broker to be managed by the AdminServer.
Use the db, configuration, and servergroup names that were created with
the Progress Explorer, and the default value of 7832 for -adminport.

proserve -servergroup mydb.myconfig.myservergroup -adminport 7832

9.0A + -svrefresh ?
9.0A + -svub Indicates using unified broker service

ReadEng.hlp -> Index ->
3.6.1 Configuring in the Explorer Framework on NT
8. To continue configuring the broker, choose the Server Parameters tab
and provide the required information:

Server Parameters – The -svub parameter is required for a broker
connection in the Progress Explorer framework.

4.2.5 Starting the DataServer in the Explorer Framework and
Connecting a Client

If you do not set the required -Dsrv SVUB,1 and optional -DataService
data-service connection parameters as described in this section, the
client is assumed to be configured for a standard Progress broker and
the -H and -S parameters are used to locate a probrkr executable on the
appropriate host machine. By setting the SVUB parameter on, you redirect
the -H and -S parameters to locate the appropriate NameServer and/or
broker for the Progress Explorer on the host machine.

9.0A + -ubpid UBroker PID no. needed by agents at startup
9.0A + -ubpropfile UBroker properties file name (ie.
9.0A + -Wb ?
9.0A + -wss Windows Single Session
9.0A + -wtainstance Web Agent instance number, needed when starting agent
9.0A + -wtbname WebSpeed Broker Name as specified on broker’s
startup with the -i parameter. Used to start a WebSpeed Agent or to pass
back to the name server.
9.0A + -yr4def Date Default Format with Four Digit Years (pkb 18505)
9.0A + -z92 ?
9.0A + -zallowdlc Allowes to connect (at command line only) to a database
in $DLC. Otherwise you’ll get the message 1379.

9.0B as of May 08 1999
9.0B + -devevent ? Exist from V8.3B, deleted in 9.0A
9.0B -basetable Default is now set to 1.
9.0B -tablerangesize Default is now set to 50.
9.0B -baseindex Default is now set to 1.
9.0B -indexrangesize Default is now set to 50.
At run time, you can change the table base or the index base:
e.g. find first _StatBase. assign _TableBase=51 _IndexBase=21.

9.0B02-9.0B15 (9.0B11 as of Sep 15 1999 – for Win32)
9.0B + -nolkctr

Issue # 19990910-030: To alleviate the problem of a large number of
error 395’s (warning – pcondb for db %s has lkctr %d)
being written to AppServer log file, introduce a startup parameter
to turn off error 395.

9.1A02 as of March 22, 2000
9.1A – -baseindex V9.1 drops the V9.0 set of parameters and re-introduced the V8.3 set.
9.1A – -basetable Bug number 20000523-004

9.1A ? -indexrangesize V9.1 drops them on Windows and still support on Unix
9.1A ? -tablerangesize
9.1A + -indexlimit
9.1A + -tablelimit

9.1A + -addcomp Add Components (setup.exe)
9.1A + -indexbase V9.1 re-introduced the V8.3 set of parameters.
9.1A + -tablebase See note above.

9.1A + -propertyfile Configuration Properties File (
Used by proadsv. The *config utilities still use the -properties parameter.
9.1A + -asyncinterval ?
9.1A + -asyncqueuesize Async Queue Size (AppServer’s client).
9.1A + -C Used with SQLDUMP / SQLLOAD utilities to specify the code page
of the dump file / the database utility.
9.1A + -extents PROSTRCT UNLOCK utility. Replaces missing extents with empty
extents if any database files are missing.
9.1A + -isnoconv Initial Value Segment No Convert. (Compile-Time)
Each initial value or :U string that contain non-ASCII characters
add 8 bytes to a r-code action segment if the r-code was compiled
without the -isnoconv parameter. The strings with the same length but
with ASCII characters only produce an action segment as if the r-code
was compiled with the -isnoconv parameter.
RN#: 091A-00121
INIT strings and :U strings are codepage converted if they contain
non-ASCII characters. It is possible that compiling existing code
may result in larger r-code segments and compilation may fail due to
exceeding segment limits. There will be no change if the strings are
all ASCII.

To turn off the new behavior, a new command line option, “-isnoconv”,
standing for “Initial value Segment NO CONVERT”, has been added.

9.1A + -noshvarfix Described in 8.3BXX section.
9.1A + -numdec Fractional Separator
9.1A + -numsep Thousands Separator
9.1A + -ttwrdrul Temp-table word-break rule (undocumented).
Default value is the default rules (0).
9.1A + -wtbhostname ?
9.1A + -zgenkwlist Generate keyword list. In DOS (important!) prompt run:
prowin32.exe -zgenkwlist > keywords.txt
(Thanks to Julian Lyndon-Smith and Simon L. Prinsloo)
9.1A + -znnic No Null in Index Components
RN#: 091A-00677
* For the DataServer for ODBC
As of 9.1A, the DataServer for ODBC can perform data retrieval against
any data source that allows nulls in a component that is used to identify
an index. Prior to version 9.1A, the default behavior was to require that all
components used to identify an index not be null. To restore this behavior you
can use the -znnic startup parameter to start a Progress client or self
service session.

The -znnic startup parameter is not documented in Chapter 4 of the DataServer
for ODBC Guide nor is it documented in the Startup Command and Parameter
Reference or online help. It is described in the topic “Unknown Values and
Sorts,” in Section 2.2.3 of the DataServer for ODBC Guide.

* For the DataServer for SQL Server
The DataServer for SQL Server can perform data retrieval against any data
source that allows nulls in a component that is used to identify an index.

The default behavior allows nulls in any component that is used to identify
an index. To switch the default behavior so that it requires that all
components used to identify an index not be null, use the -znnic startup
parameter to start a Progress client or self service session.

8.3C, 9.0B38, 9.1A16 and 9.1B
-ojmode 1|2 OUTER-JOIN Mode
-ojmode 1 – the inner join behavior predominated for the most part.
-ojmode 2 – the outer join predominate (thus more records were included
in the combination of outer/inner join than before).

9.1B as of August 17, 2000
9.1B + -useOsLocale Causes Progress to set the Date Format (-d), Fractional
Separator (-numdec) and Thousands Separator (-numsep) attributes based on
the current Windows locale settings.

9.1B + -nohostverify No Host Verification while connecting
to Web-enabled AppServers.
When you are connecting to a SSL enabled AppServer, you will get
an error during the authentication of the Server Certificate resulting in:
“-55 error code: Connect HostName: does not match Certificate (9318)”.
To workaround this problem specify the -nohostverify option on the URL
connect statement.

In V9.1C -nohostverify does not work until patch #11

9.1B + -noinactiveidx Prevent the compiler selecting inactive indexes.
Pkb 19825

Two new startup parameters that allow a 4GL client to connect to
an AIA or AIA/S mediated AppServer through a local firewall.

9.1B + -proxyhost Proxy Host specifies the host name or IP address
of an HTTP-based proxy server
9.1B + -proxyport Proxy Port specifies the port on which
the HTTP-based proxy server is listening.

RN#: 091B-00225
A client started with the -proxyhost, -proxyport startup parameters (in order
to use a proxy server) will fail to connect to a Secured Socket Layer (SSL)
enabled web server. Upon issuing the connect, the client will appear to hang
and eventually will time-out with the following error message

“Secure Socket Layer (SSL) failure. error code 5: SSL certificate handshake
error (9318)”.

9.1B + -SS Sort File Directory Specification
(proutil -C load build indexes)
9.1B + -URL Connect to AppServer using AIA.
If the -URL connection parameter is specified, the -H, -S, and
-AppService parameters are ignored. The -URL parameter allows you to
specify AppServer connections using the following protocols: HTTP,
HTTPS and AppServer.

9.1B + -wrttries WebSpeed Agent Retries (? Exists in V8.3D
9.1B + -wrttrypause WebSpeed Agent Try Pause (?)
I guess both parameters are related to the kbase #21009
WebWrite() error 6404
This error message indicates that a problem occurred in the
WebSpeed agent while attempt to send data to the WebSpeed
messenger, this could be caused by the messenger process
dying or a problem in the socket connection, when the agents
detects the write() , it retries to send the information just
to check if the problem was temporal, if the communication
“wakes up” again, then the message is delivered , if not then
you’ll see a lot of messages about the retries in the log file
of the agents.

9.1B01 + -extravc Revert to old value-changed behavior – if user selects
currently selected browse row, value-changed trigger fires.
Issue #20000922-033. Kbase 22047, New -extravc Startup Parameter

9.1B02 + -origbrowsel Pkb #20899, New -origbrowsel Startup Parameter:
In version 8, it was possible to make a multiple selection in a
read-only browse by clicking on the rows.
However in version 9, you have now to press the CTRL key in order to
achieve it.

Since the patch version 9.1B02, a new client startup parameter
(-origbrowsel) has been added in order to ensure the version 8
behaviour could still be used.

Patch 9.1B02, Issue #20000625-007:
A browse widget with multiple selection no longer allows
the user to click a row with the mouse to select/deselect it. When the user
does this the browse deselects all other rows and selects the row the user
clicked on.

9.1BXX + -nocore The -nocore option will allow for no core files to be created Vol 3, Ed 3

9.1BXX -zod Compile-time parameter, Oracle DataServer (Pkb #20826, 20985)
This will prevent the DataServer client from adding unique_id_0 to the
ORDER BY when the ordering is due to a USE-INDEX or the index is
chosen by the 4GL compiler. This has the potential of producing
unexpected results if the value is not unique in the table.

The -zod session parameter will suppress the entire ORDER BY clause
a join that would not otherwise be ordered at compile time.

9.1B1X + -PendConnTime Pending client connection timeout
Issue #20010329-003 – IPQoS scan breaks Broker load balancing.
Msg 10357:
It indicates the maximum time in seconds the broker will wait for a remote (-S)
client to connect to the server it was assigned, before it will release the resources
being reserved for the client.
Pkb #20905, -PendConnTime parameter for Database Server

9.1C as of June, 2001
9.1C + -Bpmax Maximum private buffers per user
It indicates the per user maxumum number of private read-only database buffers
currently configured for use by the database broker.
9.1C + -expandbrow Sets the FIT-LAST-COLUMN attribute to TRUE for each browse
in that session. Is overridden by NO-EMPTY-SPACE attribute for an individual browse.
9.1C + -fixcurtable ?
9.1C + -maxxids Size of global transaction table (Database Broker)
Since maxxids must be a multiple of 64, it may be different than what was specified
on the command line.
Exchange Identifier (XID) is an eight digit number which usually begins 05D, and identifies
the Physical Unit associated with the control point.

9.1C + -nozgrouping [Client Session startup parameter]

Stops all windows in a PROGRESS session being brought to
the front when focus is given to a window. This was to allow
you to keep lots of windows open, whilst still being ableto see
your internet, market data, excel data etc.

9.1C + -opaque 0|1 The value of 0 turn the option off and 1 turns it on.
The default value is 1 (ON).

About -opaque was introduced because of the problems with VALID-HANDLE Function
over WinY2K causing troubles with the handles (see Kbase 20363).

Now the -opaque has been introduced for forcing always progress to returns you
a handle number generated by progress, not by the OS.

So the parameter is only needed if you think there is a bug caused by
having it on. In that case you can turn it off and see if the bug goes
away. Of course, if turning it off fixes the bug, it still does not
tell us much since memory is arranged differently with and without the

You can tell if opaque handles are in use in a session by creating an
object and looking at its handle:


If h is a small number like 1001 or 1002 etc., then it is an opaque
handle and not a direct memory address.


20363, VALID-HANDLE, Persistent Procedures, UNIQUE-ID and Win 2000
16355, Problems with Persistent Procedures and Valid-Handle.
15673, PROCEDURE : UNIQUE-ID attribute is unique value for session

RN#: 091C-00239, Widget handles recycled on Windows
You cannot use n = 0 on 64-bit machines where only opaque handles are

9.1C + -prowcapp WebClient Application (.prowcapp) file.
9.1C + -zdlc Webclient installation directory (prowc.exe – Webclient Initializer)

Pkb #20814, Webclient : unable to open message file: PROMSGS

Pkb #20498, Webclient application does not start

The format of the command line used to start the Webclient application is:
[StartupParameters from your Prowcapp file]
[Additional Parameters from the Webclient Application Manager]
-zdlc “”

9.1C + -zwclog WebClient log file?

9.1C -debugalert Now supported in batch mode, WebSpeed Agents, and AppServers
If developers run a non-interactive client with the -debugalert parameter, they can see
the Progress 4GL-stack trace for the current Progress session in the procore file.

9.1C08 as of 2001/09/21

9.1C0X + -ossilentfix ?

When running probuild, you may receive an error such as:
Unresolved: argossilentfix

9.1C0X + -baseADE Allows developers to specify the location
of ADE r-code.

Progress will add this directory and all of the .pl’s in that
directory to PROPATH at startup INSTEAD of adding %DLC%/gui(tty)
and the .pl’s from %DLC%/gui(tty).

9.1C0X + -noutf8warning Startup param to disable utf-8 warning.
Issue #20010919-036

9.1C1X + -AdminMsgTimeout Specifies the time in seconds the broker will wait
for a response after sending the adminserver
a connection request message.
The existing 10 second timeout will be the default and only values
in the range of 10 to 900 seconds can be specified. Useful when
autostarting up a lot (20+) of databases from the AdminServer.

9.1C1X + -browcoltype If specified, browse-column type returns “BROWSE-COLUMN”
else it returns “FILL-IN”. Issue #20011220-015

9.1C1X + -lbimod [0|1|2] [Client Session startup parameter]

Use the “-lbimod n” startup parameter to keep the dbimage up to
date with the lbi file.

0 just the same as before
1 fixes bug 20010625-003
2 fixes both 20010625-003 and 20011106-008

Please note that each increased value is more restrictive then
the previous value.


We keep pointers into the lbi file in memory, in the record buffers
whose records have been written to the lbi file. If you update
the same record multiple times, you do not want multiple copies
of it going into the lbi file. So if the record has already been
written once during the current accept/reject unit (DO, REPEAT etc.
block), then an lbi note referring the the earlier image is used,
instead of the an lib note with the entire record.

The bugs that came up had to do with nulling those pointers into
the lbi file. The pointers were being nulled a little too late
in some cases. This left the in-memory pointers pointing into
the lbi file to a place that had already been either committed
or rejected, and thus to garbage. Also, sometimes the pointers
would simply be out-of-date, pointing at the wrong image.

-lbimod 1

makes us go back over all the in-memory buffers and null out any
pointers that point beyond the new endpoint of the lbi file whenever
we reset the lbi endpoint to some position earlier than what it was
— e.g. after a commit or reject, to prevent any possible pointing
into garbage.

-lbimod 2

makes us reset a given buffer’s in-memory lbi pointer to the latest
version of a change whenever we before-image an update, so it can’t
end up pointing at some earlier update. And of course, -lbimod 2
includes the functionality of -lbimod 1 (-lbimod 2 is a superset
of -lbimod 1).

Setting to 2 is “stronger” than 1 (if set to 1 didnot help).

P4133, “omIDToarea called with 0 Objectnumber” error occurs in Data
P8598, Memory Violations occurs with “omIDToarea called
with 0 objectNumber”

9.1D as of May 8, 2002

9.1D -pwqdelay [Database Broker startup parameter]

Determines how often the APW queue is checked, in milliseconds.
The default is 100 milliseconds.
The gist of what we did was to change the clock rate which governs
the apws cycle of sleeping and writing dirty blocks from the
checkpoint queue. Before, it was measured in multiples of seconds.
Now it is in 100 ms cycles.

You can use -pwqdelay to make the cycle time shorter if necessary.
I have no evidence at this time to indicate it should be smaller.

9.1D -URL AppServerDC:{//host[:port]} [AppServer basic connection param]

An HTTP or HTTPS-based URL to an AIA, or an AppServer-based URL to
an AppServer that you connect to directly or through a NameServer.

9.1D + -admingroup group[:group…] [AdminServer startup parameter]

Authorization with the AdminServer. To perform AdminServer
functions, the user has to be a valid account in one of the groups.

9.1D + -clientlog [Client Session parameter]

Name of log file used for messages and 4GL stack trace
information (-debugalert).

All error messages and messages that would normally appear in an
alert box will also be written to the specified file. In addition
to the message, some additional information, including time-stamp
and process id will be written in the log. On connect and disconnect
from a DB, an entry will appear in the client log file identifying
the DB and UserID (For multi-user connections). This information
can be used to relate log messages with DB log messages.

P45054, What does the -clientlog parameter accomplish?
P5706, -clientlog parameter has no effect

9.1D + -DBService [replagent | replserv] [Database Broker startup param]

Pre-register a DB Service.
When the database server was started one or more database services
were started as well (-DBService service). Connections to this
database will not be allowed until all of these service have
completed their startup and initialization work.

E.g. -DBService replagent instructs the broker to start
the Fathom Replication agent.

9.1D + -DirectConnect [AppServer basic connection parameters]

If specified, the -H and -S parameters are interpreted as
the network address and TCP/IP port number of an AppServer
connection. Otherwise, the -H and -S parameters are interpreted
as the network address and UDP port number of a NameServer.

9.1D + -ERO [Database Broker startup parameter]

Enhanced Read-Only mode. If a database is started in enhanced
ready-only mode the clients cannot updates the database.

9.1D + -filterocxevents [Client Session parameter]

Filtering Asynchronous COM Events.
By default, asynchronous COM events are handled when any of
the following conditions occur:

1. While an application is waiting for user input, such as during
a WAIT–FOR or UPDATE statement.
2. While an alert box from a MESSAGE statement is on the screen.
3. During trigger processing, if the MultitaskingInterval parameter
is set to a number greater than 0.

Handling COM events during the second and third conditions might
cause random problems in your application, depending on what 4GL
code is executed in the event trigger. You use the –filterocxevents
startup parameter to prevent asynchronous COM events from being
handled during the second and third conditions.

9.1D + -icfparam [Client Session parameter]

Dynamics Parameter. You can access this string using

9.1D + -logappend [0|1] [Client Session parameter]

Specifies if a new log file should be created even if the file
specified by -clientlog exists, or if the log entries should be
appended to the log file.

Possible values: 0 – create new broker log file
1 – append to the existing log file
Default: 0

9.1D + -logentrytypes [0-2] [Client Session parameter]

Specifies the type of information recorded when performing
diagnostic logging.

This property should be set to 0 unless directed by PSC TS.
Possible values: 2 – 4GL Tracing
The parameter is changed in V10.

Starting in 9.1D01 (and later Service Packs) and 9.1E there is
a new diagnostic feature that will record the execution of
the following 4GL statements in a log file:
* User-defined FUNCTIONS

The 4GL Tracing is enabled when the logginglevel parameter is set
to 4, and the logentrytypes parameter is set to 2.
To set these parameters:

Specify the startup parameters -logginglevel 4 -logentrytypes 2,
for GUI / TTY clients. For example:

prowin32.exe -clientlog mylog.lg -logginglevel 4 -logentrytypes 2

or set srvrLoggingLevel to 4 and srvrLogEntries to 2 in the file, for AppServer and / or WebSpeed instances.
For example:


9.1D + -logginglevel [0-4] [Client Session parameter]

Specifies the amount of information to be written to
the -clientlog file.
Possible values: 0 – None
1 – Error only
2 – Basic (Terse)
3 – Verbose
4 – Extended (Diagnostic)

In V10 you can read/set the value using LOG-MANAGER:LOGGING-LEVEL

9.1D + -logthreshold [Client Session parameter]

Use Log Threshold (-logthreshold) to specify the file size
threshold of log files. When the current log file becomes equal to
or greater than the specified size, OpenEdge renames and saves
the log file and creates a new log file.

0 — This means there is no limit other than what the operating
system imposes.

Value range: 0 or between 500000 and 2147483647 (bytes).
Default value: 0

The logThreshold property is not used in V9.1D. The value should
always be set to 0.

In V10 you can access the value using LOG-MANAGER:LOG-THRESHOLD
Also see the -numlogfiles parameter in V10.

9.1D + -md5mode 1|2 [Compiler Session parameter]

The implementation of the MD5 Message-Digest Algorithm used by
Progress Software Corporation in certain of its products is
derived from the RSA Data Security, Inc.
Generate-MD5 Compile Option Will Generate a Different Value
Between 9.1C and Later Versions for the Same Code

RN#: 091D-00296
When you use the compiler option GENERATE-MD5=yes in 9.1C, the MD5
value generated was based solely on the expanded source code being
compiled (i.e., the .p or .w file including all the include files).
Starting in 9.1D the MD5 hash value will take other things into
account, such as the schema of temp-tables or temp-table fields
that are defined LIKE a database table or its fields. Therefore,
if you upgrade from 9.1C, even if you do not modify your source
code, but you do recompile with GENERATE-MD5=yes, the MD5 value for
each file will change. Since the Application Assembler bases its
decision of whether to include a .r in an update .CAB on whether
the MD5 value has changed, it will determine that all recompiled
.r code has been modified. Thus all such .r code will be re-deployed
to your WebClient end-users with your next application version.

You can avoid having this happen by running Progress with the
following new startup parameter when it is run to compile your
application code:

-md5mode 1

This will cause the compilation to revert to the 9.1C algorithm
and only take the source into account when generating the MD5 hash
value. However, it is recommended that at some point you accept
the default behavior so that you are guaranteed that schema changes
that affect your .r’s will cause re-deployment of those .r’s.
Specifying -md5mode 2 will give you the new behavior. Since this
is the default, there is no need to use the startup parameter at all
to get the new behavior.

You can access the MD5 value stored in an r-code file
using RCODE-INFO:MD5-VALUE attribute

9.1D + -nochkttnames [Client Session parameter]

No Check Temp-table Names.
Use the No Check Temp-Table Names (-nochkttnames) parameter to
suppress the limited checking of temp-table column names when
passing temp-table as parameters to procedures.

9.1D + -pi [replserv | replagent]
Enables database for site replication.

Msg 10519, 10356:
You must first used the proutil command to enable site replication:
proutil -C enablesitereplication [source | target]

9.1D + -pica Allocates storage for the IPC queue between ROCKET
and replication. The larger space the less time
the ROCKET will spend waiting for Replication.
Default value: 4

9.1D + -pids Allocates additional resources for DB Service manager.
The DB Service cannot be started at this time. (9871)

9.1D + -pinshm [Database Broker startup parameter]

Pin Shared Memory will prevent the database engine from swapping
shared memory contents to disk.
Using this parameter will cause the database manager to create
shared-memory segments that cannot be paged out. They are “pinned”
in memory.

Note that on Solaris, since version 8, we have been using a shared
memory option called “initmate shared memory” or ISM, in addition
to changing how TLB registers are used for shared memory, also has
this same effect, so -pinshm is not required on Solaris.

I initially wanted it to be the default, but eventually decided
against it because:

1. One Solaris system we tried it on crashed unless you had
an os patch. And you don’t need it on Solaris anyway. But maybe
there are other systems that also need patches. I don’t know of
any and we didn’t run across any during testing — but we can’t
test every version of every os with and without all the patches.

2. If you have an existing installation where shared memory /is/
being paged, and you have a many databases on the same machine,
it could cause the application processes to be paged even more,
and might make things worse. Figuring out what is going on would
be /very/ difficult. While I think this is unlikely to happen,
there are so many different environments and configurations out
there that we decided off was a better choice.

HOWEVER: The risk of bad side effects is small, and I still think
it is a good idea to turn it on. It is a good preventive

Paging shared memory i/o buffers is a horrible thing: if you are
reading something from the database into memory, having to read
the buffer from the pagefile first is a complete waste of time
and disk I/o. Similarly, having to read a chunk in from the
pagefile in order to write it to the database is not good.
Paging almost anyhting else is almost always better.

9.1D + -pmpf [Unknown]

A wild guess: Plugin Manager Property File (

9.1D + -proxyUserid [Client Session parameter]

User-id used to authenticate an AppServer client to the HTTP-based
proxy server.
The value can be accessed using SESSION:PROXY-USERID attribute.

9.1D + -proxyPassword [Client Session parameter]

Password used to authenticate the AppServer client to
the HTTP-based Proxy server.
The value can be accessed using SESSION:PROXY-PASSWORD attribute.

9.1D + -qsize [Socket connection parameter]

The length of the pending-connection queue — that is, the maximum
number of connection requests you want the server to queue while
it processes the connections already accepted. If the queue is
full when a connection request is received, it is refused.
The default length of the queue depends on the platform.

9.1D + -ServerType [4GL|SQL|Both] [Login Broker parameter]

Type of Server to Start.

There is ServerType in but it does not
restrict access to broker when defined in Progress Explorer.
Bug #20020920-010 fixed in V9.1D07.

P24369, What does -ServerType parameter do ?
P7843, How to configure a secondary SQL92 Broker for Progress 9.1D

9.1D + -SQLCursors [SQL92 Login Broker parameter]

SQL Server Max Open Cursors.
-SQLCursors requires 9.1D06 or higher.
Instead use OPEN_CURSORS environment variable.
Value range: 16 – 512. Default value: 50.

See 9.1D06 for details.

9.1D + -SQLMa [SQL92 Login Broker parameter]

Maximum SQL Clients Per Server (msg 10020).
The default is the maximum number of users (-n) divided by
the maximum number of servers (-Mn).

9.1D + -SQLMi [SQL92 Login Broker parameter]

Minimum SQL Clients Per Server (msg 10021)
Default is 1.

9.1D + -SQLStack [SQL92 Login Broker parameter]

Documentation refers it as the -SQLStackSize parameter.
Size of SQL-92 Stack that is an internal memory area used by
SQL program modules and allocated to each thread.

Value range: 1000 – 2000. Default value: 1000 (KBytes).

Increase if O/S complains of using too much stack
Settings can cause unnecessary paging if set too high.

The value can be set as PROGRESS_STACK_MIN environment variable.

9.1D + -SQLStmtCache <# of statements> [SQL92 Login Broker parameter]

Documentation refers it as -SQLStmtCacheSize.
The number of prepared statements to be stored in SQL Stmnt Cache.
-SQLStmtCache requires 9.1D06 or higher (solution P24543).
Instead use CACHED_STATEMENTS environment variable.
Value range: 16 – 1024. Default value: 100 (statements).

See 9.1D06 for details.

9.1D + -SQLTempStoreBuff [SQL92 Login Broker parameter]

Size of SQL Server temp table buffer.
In V9.1D06 it’s replaced by the -SQLTempBuff parameter.
Instead use TPE_MM_CACHESIZE environment variable.
Value range: 100 – 200000. Default value: 1000 (KBytes).

9.1D + -SQLTempStoreDisk [SQL92 Login Broker parameter]

Size of SQL Server temp table disk storage.
In V9.1D06 it’s replaced by the -SQLTempDisk parameter.
Instead use TPE_MM_SWAPSIZE environment variable.
Value range: 5000 – 100000000. Default value: 500000 (KBytes).

9.1D + -SQLTempStorePageSize [SQL92 Login Broker parameter]

Size of SQL Server temp table data page.
In V9.1D06 it’s replaced by the -SQLTempPgSize parameter.
Instead use TPE_MM_BLOCKSIZE environment variable.
Value range: 4 – 256. Default value: 7

9.1D + -zdbo 6311 [Rollforward Utility]

Allows the updates of a replication target with proutil & rfutil.

9.1D01 as of Aug, 2002

9.1D01 + -ASK [Unknown]
9.1D01 + -NOREPL [Unknown]
9.1D01 + -REPL [Unknown]

These changes add a latent support for site replication.

9.1D02 as of Oct 27 2002

9.1D02 + -socketAddr (Removed in the next Service Packs)

9.1D03 as of Dec 4 2002
Solution P34002:
9.1D03 was a re-packaging of the 9.1D02 Service Pack.
There are no new bug fixes.

9.1D04 as of Dec 20, 2002
It’s a full commercial re-release for Sun Solaris 64-bit

9.1D05 as of Feb 12 2003

9.1D05 + -noautoreslist [Client Session parameter]
A static or dynamic query causes the SRT file to grow until all
rowids are stored. When the query is closed, the space is freed.
This is necessary for scolling queries, but can be avoided for
non-scrolling ones. To avoid the use of the SRT file for
non-scrolling queries, use the startup option -noautoreslist,
or use the new query attribute FORWARD-ONLY. You will then get
errors for PREV and LAST and REPOSITION etc.

Also check solution P18639:
How can I reduce the size of the .SRT file in Progress?

9.1D05 + -oldDebugger [Client Session parameter]
With the Service Pack 5, Progress includes a new debugger for
the Win32 platform, this debugger is based in Java and requires
some Java components to be correctly installed and configured,
if you want to use the old debugger you still can start
the Progress session using the -oldDebugger parameter,
this debugger does not work in UNIX.

9.1D06 as of May 16 2003

In order to better manage Progress SQL-92 temp table resources,
Progress 9.1D06 introduced new startup parameters.
Following are new startup parameters for SQL-92:
-SQLCursors -SQLTempBuff -SQLTempDisk -SQLTempPgSize

P23229, What are the new SQL parameters for Progress 9.1D?
P37596, Where to place the -SQLStack, -SQLStmtCache, and -SQLCursor

Exchange 2003 Presentation:
BP1490: OpenEdge SQL92 Performance Tips…

RN#: 100A-10179 in V10 README.PRO
Temp table startup parameters

9.1D06 -SQLCursors [SQL92 Login Broker parameter]

SQL Server Max Open Cursors sets the maximum number of cursors
per thread.

Value range: 16 – 512. Default value: 50.

Although this takes up some memory, it has very little overhead
as the memory associated with the cursor information is freed
when the cursor is closed or the transaction ends.
Increase if -20125 error encountered.

The value can be set as OPEN_CURSORS environment variable.

P31698, Error 7612 and new 9.1D -SQLCursors parameter

9.1D06 -SQLStmtCache <# of statements> [SQL92 Login Broker parameter]

Documentation refers it as -SQLStmtCacheSize.
The number of prepared statements to be stored in SQL Statement
Cache per connection. It’s not shared among connections.
-SQLStmtCache requires 9.1D06 or higher (solution P24543):
Bug #20030108-006, the Mgr for Prepared statements has a small
buffer limited to 100 prepared statements (solution P24528).

Value range: 16 – 1024. Default value: 100 (statements).

Large performance benefit. The overhead here is that the size of
the cache grows but never shrinks. It can consume a great deal of
memory depending on the statement due to it maintaining
the execution tree information

Update if the number of concurrent prepared statements > 100.
Increase if error -210048 encountered

The value can be set as CACHED_STATEMENTS environment variable.

P25743, Is the limit of 1000 statements defined by CACHED_STATEMENTS
P25760: How to test CACHED_STATEMENTS or -SQLStmtCache startup
parameter from JDBC programs?
P22575: SQL clients recieve The SQL engine Statement Manager
statement cache overflowed
P26935: Error 9799 when creating repeatedly more than 100 records
within a Table that is having lvarbinary Datatype
(Bug #20030612-003)

9.1D06 + -SQLTempBuff [SQL92 Login Broker parameter]

Size of SQL Server temp table buffer (in memory cache).
It replace the -SQLTempStoreBuff parameter.

Value range: 100 – 200000. Default value: 1000 (KBytes).

The value can be set as TPE_MM_CACHESIZE environment variable.
There is 1 SQL temp table buffer for each connection to the
database. The buffer holds temp table data pages in memory.
The buffer is shared as needed across the sql statements in
a transaction. By default, its size is 1000 1K byte units,
for 10**6 bytes. As the buffer is made larger, more temp table
data can remain in memory, rather than going to disk. A buffer
which is too large can diminish the memory available to other
server uses, or cause higher paging rates.

SQL92 server uses a separate cache per each connection
to the database (they are not shared among connections).
Large values avoid paging to disk
Increase if “no cache block” (-16003, -16005) error

9.1D06 + -SQLTempDisk [SQL92 Login Broker parameter]

Size of SQL Server temp table disk storage (disk swap space).
It replaces the -SQLTempStoreDisk parameter.

Value range: 5000 – 100000000. Default value: 500000 (KBytes).

The value can be set as TPE_MM_SWAPSIZE environment variable.
There is 1 SQL temp table backing store (temp file) for each
connection to the database. The backing store holds temp table
data pages. There is 1 on-disk backing store page for every
data page. The backing store is shared as needed across the sql
statements in a transaction. By default, its size is 500000 1K
byte units, for 500*10**6 bytes. This size controls the maximum
total amount of data which can be sorted by a single statement.

Increase if MM I/O type error (-16001) in .lg file
Unused space has no runtime overhead

P23229, What are the new SQL parameters for Progress 9.1D?
P33960, Certain SQL-92 queries are giving error 7631.

9.1D06 + -SQLTempPgSize [SQL92 Login Broker parameter]

Replace the -SQLTempStorePageSize parameter (see above).
Size in Kilobytes of a temp table data page (aka MM data block).

Value range: 4 – 256. Default value: 7 (It should be 8!)
The maximum recommended value is 32 (solution 21112).

It’s an upper limit of temp table record size) and I/O unit of
cache to disk writes. Temp file located in $WRKDIR directory.
A temp table data page contains an integral number of data rows.
Temp table data rows cannot span pages. All temp tables have the
same page size. The page size controls how big one row of data
(being sorted, for example) can be. A larger page size supports
sorting data with larger rows. A larger page size can also cause
wasted space.

Increase if sorting very large records
Increase if “row too big” (-16000) error during sort

The value can be set as TPE_MM_BLOCKSIZE environment variable.

P27124, Running larger SQL queries produces error (7631) on 9.1D
P55344, MM Insertion error occurs with Complex SQL Query
that uses Left outer join
P20605, Running Update Statistics on table yields error 7721
when using high TPE_MM_BLOCKSIZE

9.1D06 + -checkwidth [0|1|2] [Client Session parameter]
It allows Progress to compare the width of data in a character,
decimal, or raw field with the value of the _width property for
that particular field.

0 – keep the current behavior, storing beyond the _width
(i.e. ignores _width value).
1 – keep the current behavior generating a warning message before
storing data larger than _width.
2 – raise an error and do not store anything if data is too long.

WARNING: Width of data is greater than .

. (rowid ) _width. (10840) ERROR: Width of data is greater than .. (rowid ) _width. (10841)

9.1D06 + -XMLcharesc [Client Session parameter]
A new startup parameter -XMLcharesc was added to enable a user
to choose the default behavior (which is to save the ‘ ” and >
characters as ‘ ” and > respectively) when doing
a DOM save, or to save these characters as the symbols themselves.

9.1D07 as of Sep 24 2003

9.1D07 -checkwidth [0|1|2] [Client Session parameter]

The violation of -checkwidth is recorded to a database log as well
and not only to a screen. Issue #20030813-021

9.1D07 -ERO [Database Broker startup parameter]

Enhanced Read-Only mode is disable outside Fathom Replication:
ERO is not a supported startup argument at this time. (11170)
Issue #20030528-049

9.1D07 + -combofont [Unknown]

No arguments required.

9.1D07 + -mc [Client/AppServer Session parameter]

Turn On Message Compression.
Issue #20030903-030: need compression for appserver-client.
This functionality is not available until V9.1D08

9.1D07 + -SG Number of Sort Groups [Idxbuild utility parameter]

Value range: 8 through 64, default value is 48.

* The index rebuild utility allocates more memory for sorting and
merging. This additional memory reduces the elapsed time
required for sorting and merging key values. In this release,
amount of memory required for buffers is:

(number of sort groups) * (-TB) * (-TM + 1) kilobytes.

* This release of the index rebuild tool requires approximately
the same amount of disk space for sorting and merging as
the previous version.

* This release of the index rebuild tool uses more temporary
files than the previous version. A set of temporary files
may be opened for each sort group for each entry in the file
that specifies size and location of scratch files used by
index rebuild.

P43351, Progress 9.1D07 service pack provides enhanced reindex
P46614, How to make idxbuild faster (starting with 9.1D07)?

9.1D07 + -tmpbsize [1|8] [Client Session parameter]

Temp-table Block Size.
Possible values: 1 and 8. Default value: 1.

In addition, the behaviour of the client startup parameter “-Bt”
has been changed. Previously, the value specified was
in kilobyte units. It is now the number of buffers, consistent
with the -B database parameter.

Temp-table block size used in early versions:
BlkSz RPB Progress
1K 32 V8 on Unix
4K 32 V8 on Windows
8K 128 V9.0+
1K 32 V9.1A0X (Issue #20010605-015)
8K 256 V9.1D05 (Issue #20021208-001)
1K 32 V9.1D07 with default value of -tmpbsize
8K 256 V9.1D07 with any value differed from default.

P43350, Progress 9.1D07 service pack provides enhanced performance
20339, How Parameter -Bt Works With Temp-Tables

9.1D07 + -XMLattresc [Client Session parameter]
XML: decoding of attribute values XML characters ‘
and > are erroneously decoded when used in attribute values.

9.1D07 + -zLmc See msg 11237 [Client/AppServer Session]

Compresion level used to compress messages to and from the server.
Value range: 1 – 9
-zLmc 1 gives the best speed, 9 gives the best compression.

The functionality behind the -Z*mc parameters is not available
until V9.1D08

9.1D07 + -zMmc See msg 11236 [Client/AppServer Session]

The value in kilobytes identifing the size of the buffer used
to compress messages to and from the server.
Value range: 8 – 32

9.1D07 + -zMminmc See msg 11238 [Client/AppServer Session]

The minimum size for an uncompresed message before it is
considered for compression.
Value range: 0 – 32,000

9.1D08 as of Jan 20 2004

9.1D08 -mc [Client/AppServer Session parameter]

Turn On Message Compression.
Also see the -zMmc, -zLmc, -zMinmc parameters.

Issue #20030903-030: need compression for appserver-clien

Message Compression (20040116-003)

The message compression startup switch, “-mc”, should be set only
for Progress clients talking to compatible servers. Use the “-mc”
startup switch between Progress 9.1D08 clients and Progress 9.1D08

9.1D08 clients to other versioned servers and viceversa are also
unsupported. Attempting to exercise compression between
incompatible client\server combinations will result in communication
errors which will be resolved in subsequent patches to both versions.

Regardless, it is important to remember that compression will be
disabled when clients that turn on compression connect to AppServers
that do not have this capability.

9.1D08 + -glbshvarfix [Compiler Session parameter]

Bug# 20030924-031 deals with the fact that if a procedure has
global shared variables with initial values, the compiled r-code
for that procedure is not fully portable between OS platforms.
This was fixed on both OE10 and 9.1D08, but as it required a change
in r-code format.
Because of this, 9.1D08 contains the -glbshvarfix parameter to
explicitely activate the fix -it must be specified for the compiler
session for the bug fix to take effect- to safeguard the rcode
compatibility with earlier service pack levels.

9.1D08 + -noincrwarn [Client/AppServer Session parameter]
Suppress warning messages (5407),(5408),(5409),(5410):
WARNING: [-nb|-l|-mmax|-D] exceeded.
Automatically increasing from to . (54XX)

KB-P79795: How to suppress warning messages (5407),(5408),(5409),(5410)
from displaying on client screens. From 9.1D08 onward.

9.1D09 as of May 26 2004
9.1D09 -sbhelp [Unknown]

10.0A as of Dec 13 2003

10.0A -cpinternal/-cpstream

These parameter now support Unicode for interactive GUI clients
(Unicode GUI clients)

V9.1D/3.1D Webspeed supports Unicode

In version 9.1B, Progress supports Unicode as an internal code page
in the Batch Client, Application Server, SQL-92 Server, and
Database Server.
Unicode is not supported in WebSpeed agents, GUI and Character
Clients, and Dataservers.

10.0A -logentrytypes [Client Session parameter]

A character string that specifies a comma-separated list of
log entry types.
By default, the logging level you specify using the Logging Level
(-logginglevel) startup parameter applies to all log entry types
specified. However, you can specify a different logging level
for each entry type, as follows: log-entry-type[:level]
A logging level has value between 0 and 4.

The value can be change using LOG-MANAGER:LOG-ENTRY-TYPES.

10.0A + -Binding [Web Service connection parameter]

Local name of the binding element contained in the WSDL document.
Used in conjunction with SoapEndpoint. This parameter is optional
if the WSDL contains only one binding.
If -Binding is specified in the SERVER:CONNECT connect-options
string, -SOAPEndPoint must also be specified.
If -Service and/or -Port are specified in the SERVER:CONNECT
connect-options string, neither -Binding nor -SOAPEndpoint is valid.

10.0A + -BindingNamespace [Web Service connection parameter]

The namespace of the binding element within the WSDL document that
the application will use. This optional field is needed only
if the local binding-name is not unique.

10.0A + -debugReady [0 | port-number] [Client Session parameter]

The port on which Progress opens a socket for connecting to
the attachable Debugger.

10.0A + -IB [Unknown]

10.0A + -connectionLifetime [AppServer session model connection]

The maximum number of seconds that a given connection can be used
before it is destroyed. Connections whose lifetime exceeds
the specified value are destroyed as they become available.
Default value: 300.

An available connection is one that is not currently reserved to
run a request. Bound connections associated with remote persistent
procedures are not available for re-use until the persistent
procedure is deleted. So, bound connections remain available as
long as necessary, even if they exceed the specified value.

10.0A + -initialConnections [AppServer session model connect]

The number of connections established when the CONNECT() method
executes on a given server handle. If the specified number of
connections cannot be created, the CONNECT() method fails and
any successfully-created connections are closed.
Values should be great than zero. Default value: 1.

10.0A + -maxConnections [Web Service connection param]

Maximum number of connections maintained between the client and
the Web Server for asynchronous requests.
If num connections is less than or equal to 0, the application is
requesting no predefined limit on the number of connections.
If the client application exceeds the specified number of
connections, the asynchronous requests are queued.

10.0A + -minConnections [Web Service connection parameter]

10.0A + -nsClientDelay [AppServer session model connection]

The interval, in milliseconds, that the client waits between
attempts to get a valid UDP port number when attempting
to communicate with the NameServer.
Default value: 0.

10.0A + -nsClientMaxPort [AppServer session model connection]

The maximum value for the UDP port number used by the client when
communicating with the NameServer. If this value is zero, OpenEdge
chooses the NameServer client port randomly.
Default value: 0.

10.0A + -nsClientMinPort [AppServer session model connection]

The minimum value for the UDP port number used by the client when
communicating with the NameServer. If this value is zero, OpenEdge
chooses the NameServer client port randomly.
Default value: 0.

10.0A + -nsClientPicklistExpiration [AppServer session model]

The maximum amount of time, in seconds, that the client retains
an AppServer pick list for an application service.
Default value: 300.

10.0A + -nsClientPicklistSize [AppServer session model connection]

The number of AppServer picks to request from the NameServer each
time it looks up the available AppServer connections for a given
application service name.
Default value: 1

10.0A + -nsClientRetry [AppServer session model connection]

10.0A + -numlogfiles [Client Session parameter]

The number of log files to keep. You also can use the NUM-LOG-FILES
attribute on the LOG-MANAGER system handle.
Value range: 0, 2 or greater.
0 means there is no limit on the number of log files to keep.
Default value: 3.

10.0A + -Port [Web Service connection parameter]

The local name of the port element contained within the service
element. Used in conjunction with -Service.
This parameter is optional if -Service contains only one port.

10.0A + -Service [Web Service connection parameter]

The local name of the service element within the WSDL document
that the application will use. This field is optional.
Many WSDL documents only support one service and this parameter is
optional if there is only one (or zero) service elements defined.
Used in conjunction with -Port.

10.0A + -ServiceNamespace [Web Service connection]

The namespace of the service element within the WSDL document that
the application will use. Most WSDL documents only support one
service and this parameter is optional if there is only one service
defined. This parameter is used in conjunction with -Service and
is ignored if -Service was not specified.
This parameter is optional if namespace is included in -Service.

10.0A + -SOAPEndpoint [Web Service connection parameter]

The URL identifying the endpoint for this Web Service.
Used in conjunction with Binding. It is an error to use
this parameter in conjunction with -Service or -Port.

10.0A + -SOAPEndpointUserid [Web Service connection parameter]

Optional user account name to use to connect to a Web Service
that hosts the Web Server application. If -SOAPEndpointUserId
is specified and -SOAPEndpointPassword is not, OpenEdge uses
a blank password.

10.0A + -SOAPEndpointPassword [Web Service connection parameter]

Optional password to use with the -SoapEndpointUserId.
This attribute is ignored if -SoapEndpointUserId is not specified.

10.0A + -TargetNamespace [Web Service connection param]

The namespace contained in the WSDL document. This parameter can
be used as a version check. The information in this parameter is
compared against the -TargetNamespace contained in the WSDL
document. If they do NOT match the CONNECT() method fails.

10.0A + -WSDL [Web Service connection parameter]

The location of the WSDL document. This required parameter is
the URL specified location of the WSDL document. The document can
be local or remote. The location can optionally contain a users
account name and password to use when connecting to the Web Server.
If the protocol is not part of the wsdl-document’s URL, the ‘file’
protocol is assumed. Additionally, the ‘file’ can be a relative
pathname as it is relative to the current-working directory.
The -WSDL parameter must be specified when connecting to
a Web Service

10.0A + -WSDLUserid [Web Service connection parameter]

Optional user account name to use to connect to a Web Service that
hosts the WSDL document. If -WSDLUserId is specified
and -WSDLPassword is not, OpenEdge uses a blank password.

10.0A + -WSDLPassword [Web Service connection parameter]

Optional password to use with the -WSDLUserId. This attribute is
ignored if -WSDLUserId is not specified.

10.0A + -xbsa [Backup Services API ?]
10.0A + -xbsahost [Backup Services API ?]
10.0A + -xbsapolicy [Backup Services API ?]
10.0A + -xbsaschedule [Backup Services API ?]

10.0B as of Aug 5 2004

10.0B + -REPLTargetCreation [Online Utility parameter]

KB-P92539: Fathom High Availability Replication 10.0B
Specify the -REPLTargetCreation parameter anytime an online backup
or a proquiet is performed against a Replication Source database.

10.0B + -certstorepath [Unknown]
SSL Certificate Store Path (msg 12265)
certStorePath in file
under the CGIIP section.
Default is $DLC/certs (?) – msg 12171.

10.0B + -keyalias [Database Server parameter]

keyAlias in file.
Specifies the alias name of the Secure Sockets Layer (SSL) private
key/digital certificate key-store entry to use.
Use Key Alias (-keyalias) to identify a SSL private key/digital
certificate key-store other than the default.

10.0B + -keyaliaspasswd [Database Server parameter]

keyAliasPasswd in file.
Specifies the encrypted Secure Sockets Layer (SSL) Key Alias Password
to use to access the server’s private key/digital certificate
key-store entry.
The default is “password”.
Use Key Alias Password (-keyaliaspasswd) to allow access to
the Key Alias when you use a Key Alias other than the default.
The key-alias-password value must be encrypted.
You can use the genpassword utility, located in your installation’s
bin directory, to encrypt the password.

10.0B + -keystorepasswd [Unknown]
keyStorePasswd in file.

10.0B + -keystorepath [Unknown]

keyStorePath in file.
Default is $DLC/keys/

10.0B + -nosessioncache [Login Broker parameter]

noSessionCache in file.
Use No Session Cache (-nosessioncache) to disable SSL session caching.
Session caching allows a client to reuse a previously established
session if it reconnects prior to the session cache timeout expiring.
Use No Session Cache (-nosessioncache) to disable this feature.
Session caching is enabled by default.

10.0B + -nosessionreuse [Client Session parameter]

Use No Session Reuse (-nosessionreuse) when you do not want to reuse
a Secure Sockets Layer (SSL) session ID to reconnect to the same
SSL-enabled database server.

10.0B + -sessionModel [AppServer Connection parameter]

This property must be set for session-free application.
It is optional for session-managed applications.
The value for the -sessionModel parameter is case-sensitive. (KB-P40074)

Possible values: Session-managed

Example: :CONNECT(“-sessionModel Session-free…….”).

10.0B + -sessiontimeout [Login Broker startup parameter]

Specifies in seconds the length of time a SSL session will be held
in the SSL session cache.
The default is 180 seconds.
Use Session Timeout (-sessiontimeout) to change the length of time
that a SSL session will be cached.
SSL session caching allows a client to reuse a previously established
SSL session if it reconnects prior to the SSL session cache timeout

10.0B + -ssl [Client/Login Broker parameter]

Also sslEnable in file.
Use SSL-based Connection (-ssl) to specify a Secure Sockets Layer (SSL)
connection to all database and client connections for data privacy.
SSL provides an authenticated and encrypted peer-to-peer TCP connection.

Note: Be sure you need SSL before using this parameter.
SSL incurs more or less heavy performance penalties,
depending on resources and load.

This parameter applies to ALL database connections from current
client session (KB-P85399).

Example: proserve -S -ssl

10.0B + -sslalgorithms [Unknown]

See in


10.0B01 as of Dec 9 2004

10.0B01 + -ttmarshal
Issue #20040901-001:
A new startup option is needed to allow temp-table marshalling
to be controlled from the session level. Also a new property of
temp-tables is needed to allow full marshal to override the session
startup. The startup will be -ttmarshal and the property will be
SCHEMA-MARSHAL. NOTE: using -ttmarshal with n > 2 or
using NO-SCHEMA-MARSHAL or NONE may cause GPFs if the receiving
table is a ? handle or has mismatched fields.


Credits/Source: George Potemkin,


Please login or register