The following table lists all user selectable USYS$UD8_PARAMS assignments.

UD8 driver options

SUPPRESSZEROENABLE* DISABLE Numeric fields have/don’t have leading zeroes
Use this parameter in conjunction with nopra, (and the default settings translate and translatechars \n), to allow UD8/CSV to read delimited text files that contain more than one record layout, containing different numbers of fields.

The different layouts must be uniquely identified IN THE PRIMARY KEY.

single character
or an escaped
(see notes).If you DELETE a record from a delimited text file using UD8/CSV or you UPDATE a record so that it is smaller, then UD8/CSV pads the end of the file using this character.

The padding character can be specified either by the word SPACE, a single letter, or a standard escape character:

\aalert (bell) character
\?Question mark
\'single quote
\"double quote
\rcarriage return
\ooooctal number
\thorizontal tab
\xhhhexadecimal number
\vvertical tab

If a single uppercase character is specified it is converted internally to lowercase. If you wish to use an uppercase character as a separator, use the ASCII character code.

Do not check for duplicate primary keys on write. This option should be used when writing ‘dumps’ of a table, it improves the performance considerably.

Note: The UD8 driver only ever checks the PRIMARY key (key number 1) for uniqueness, not other ‘candidate’ keys.

Do not read or write from files, but generate blank occurrences. The setting for STEP SIZE sets the number of occurrences retrieved with each ‘retrieve’ proc statement.
When used in conjunction with BLANKDRV and PKEYVAL sets the value of the primary key field(s) of the entity incrementally.
PKEYVAL N When used in conjunction with BLANKDRV and AUTOPKEY sets the value of the primary key field to this value, then increments it each time an occurrence is read.
BECOME driver dllname,
UD none
Switch to the named driver. This allows the developer to dynamically re-assign which database type a table is stored in.

Similar to the sql ":TABLENAME:create:c:\filename" which allows the actual ‘tablename’ to be redefined, when the path is closed then re-opened, it will be re-opened as the named driver.

To close the path without these effects issue the proc command sql "become UD","$UD8".

Do not send any ‘become’ command to the UD8 driver other than "UD" or the driver specified in the setting in the assignment file. ie: if in the assignment file you specified become SOL, then from proc you can only issue sql "become SOL so7222","$UD8" or sql "become UD none","$UD8". Do not add .DLL to the end of the DLL name.

Even though the entity has ‘become’ assigned to a new path (eg: SOL), you should still refer to it as $UD8 (eg: close "$UD8").

The ‘become’ setting greatly effects the general behavior of the UD8 driver. Most of the default data type mapping and many other features are effectively ‘overwritten’ by the ‘becoming’ driver. This can be catered for in your application model (eg: use Numerics and packing code C). You should always use translatechars binary while testing this option to ensure that it will not produce binary data (eg: ASCII zero).

March Hare strongly suggest exhaustive testing of this feature in the required environment before deployment. Limited testing has been performed on the following drivers:


The first time the driver open’s, it will log in as UD8. The second time as the ‘become’ driver, then it will revert back to UD8. You can force it to once again become using the sql "become SOL SOL7222","$UD8" proc command.

GOOK filename Randomly encrypt the fields named in filename. This is useful for producing test data. Note: the fields are not qualified, so if you have two fields with the same name, or part-name, then both will match. Eg:

Table1 has two (2) fields rat and rathelsdorp. If the field name rat is placed in the file filename then both the field rat and rathelsdorp are converted.

The file must have 1 one only 1 line.

If you wish to use the delete function then PRA must be disabled.
ALERT   Inform the user if a write operation caused a field to be quoted.
Strings Don't have / Do have leading spaces
Strings don't have / do have trailing spaces
Numeric float exponents not supported
STEP SIZE N Set hitlist increment size. This parameter defaults to 10.
Ignore the first line(s) of the file as a ‘heading’.

If IGNORELINES is also specified, then the lines containing the string are ignored, otherwise the first line is ignored.

If IGNORELINES is not specified, when records are written to a ‘new’ file, then a line is written at the beginning of the file as a dummy heading.

IGNORELINES string Ignore lines at the start of the XML file that begin with this string. This is only used if HEADING is specified also, e.g.: heading, ignorelines ; CONT_ID.

If HEADING and IGNORELINES are both specified, then no dummy heading is written to the beginning of a ‘new’ file.

Quotes fields of this data type. Not compatible with quotestrings setting.

C Character Strings
U TRX Format
R Raw
N Number as ASCII String
P Packed decimal
Q Packed decimal sign last
I Signed binary Integer
F Floating Point
G Floating Point (VMS only)
D Date
T Time
E Combined Date Time
B Boolean
M Money
J Number as ASCII String with no Decimal Point
O Zoned Numeric
Y User defined
Z User defined


N Force booleans to format N.

1:ASCII Boolean (0|1)
2:ASCII Boolean (F|T)
3:ASCII Boolean (N|Y)
4:Binary Boolean (0|1)
5:Binary Boolean (0|-1)

DATEFORCE N Force dates to format N.

1:ASCII Date dd-mmm-yyyy
2:ASCII Date yyyymmdd
3:ASCII Date ddmmyyyy
4:ASCII Date yymmdd
5:ASCII Date ddmmyy
6:Binary Date yymd
7:Binary Date dmyy
8:Binary Date ymd
9:Binary Date dmy
10:Binary Date yymmdd
11:Binary Date ddmmyy
12:ASCII Date mm/dd/yyyy
13:ASCII Date yyyy-mm-dd

BEATFORCE N Force time to format N.

1:ASCII Time hh:nn:ss
2:ASCII Time hhnnss
4:Time hh:nn:ss
5:Time hh:nn:ss.s

TIMEFORCE N Force datetime to format N.

1:SYBASE linear four-byte Date and four-byte Time
2:RMS linear Datetime
3:ASCII Date ddmmyyyy Time hh:nn:ss
4:ASCII Date ddmmyyyy Time hhnnss
5:Ingres Date dd-mmm-yyyy Time hh:nn:ss
6:ORACLE internal Datetime format
7:SYBASE ASCII Date mm/dd/yyyy
8:ASCII Datetime yyyymmddhhnnss (like 2)
9:SYBASE binary Small Datetime
10:ASCII Datetime yyyy-mm-dd hh:nn:ss
11:Rdb date yyyy-mm-dd Time hh:nn:ss
13:Rdb date yyyy-mm-dd Time

DOTFORCE   Force numerics to include a decimal point
LEADFORCE   Force numerics to have the sign leading
MULTIBYTE   Should use a multi-byte character set
single character
or an escaped
(see notes).The separator can be specified either by the word COMMA, a single letter, or a standard escape character:
\aalert (bell) character
\?Question mark
\'single quote
\"double quote
\rcarriage return
\ooooctal number
\thorizontal tab
\xhhhexadecimal number
\vvertical tab

If a single uppercase character is specified it is converted internally to lowercase. If you wish to use an uppercase character as a separator, use the ASCII character code.

single character
or an escaped
(see notes)See notes on SEPARATOR. Default is double quote (").
a single character
or an escaped
(see notes)See notes on SEPARATOR.
a sequence of
escape codes to
\aalert (bell) character
\?Question mark
\'single quote
\"double quote
\rcarriage return
\thorizontal tab
\vvertical tab

The default characters to translate are \n and \r. To use this option you must also set translate.

If BINARY is specified all non-ASCII characters are translated into \xhh and \ is translated to \\. If BINARY is not specified, then all Uniface BINARY types (Raw, and VC* for instance) are mapped to the TRX data type. Note: if the entity (not the field) has an interface definition that maps it to TRX then the BINARY parameter will not effect it (eg: FORMPIC.UFORM.DICT). Using TRANSLATECHARS BINARY uses more space in your CSV file and is slower to process. Use TRANSLATECHARS BINARY only if you need to process binary data outside of Uniface.

Instructs the driver to interpret two consecutive quote characters as a single quote character. The character used as the quote character is defined using the QUOTECHAR setting.
EXTENSION 3 character
Default is CSV.
If set use optimistic locking as default.
If a string field contains the character separator then quote the contents of the field with the quote character.

Using quoting without using translate can cause unpredictable results.

Translate cr & lf into \r & \n and translate \ to \\.

Do not disable this feature without first carefully checking your data for Special Strings (SS) that contain carriage returns.

If a line ends in the CSV file with a carriage return then an entire record may not have been entirely read if one of the fields has an embedded carriage return.

If you are reading the CSV file outside of the UD8 driver, you also need to take into account cases where the last field is NULL.

LISTOPTIONS   Display these settings in the message frame.

Note * = default.

If the "Possible values" column is blank, this indicates that the option is disabled by default and enabled if the option is listed, eg: USYS$SOL_PARAMS listoptions enables this feature.

The following options are not supported in this version of the driver:

exponents, dotforce, leadforce, multibyte.

$Revision: 1.11 $ $Date: 2011/02/28 02:56:33 $[go to top]