The following table lists all user selectable USYS$UD8_PARAMS assignments.
Option | Possible values | Description |
SUPPRESSZEROENABLE* |
DISABLE |
Numeric fields have/don’t have leading zeroes |
NOFIELDCOUNT |
ENABLE, DISABLE* |
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.
|
PADDINGCHAR |
SPACE*, a
single character
or an escaped
character |
(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:
\a | alert (bell) character |
\\ | backslash |
\b | backspace |
\? | Question mark |
\f | formfeed |
\' | single quote |
\n | newline |
\" | double quote |
\r | carriage return |
\o | oooctal number |
\t | horizontal tab |
\xhh | hexadecimal number |
\v | vertical 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.
|
NOKEYCHECK |
ENABLE*, DISABLE |
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.
|
BLANKDRV |
ENABLE*, DISABLE |
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. |
AUTOPKEY |
ENABLE*,
DISABLE |
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:
DB3
SOL
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.
|
PRA |
ENABLE*,
DISABLE |
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. |
LEFTTRIM |
ENABLE*,
DISABLE |
Strings Don't have / Do have leading spaces |
RIGHTTRIM |
ENABLE*,
DISABLE |
Strings don't have / do have trailing spaces |
EXPONENTS |
ENABLE,
DISABLE* |
Numeric float exponents not supported |
STEP SIZE |
N |
Set hitlist increment size. This parameter defaults to 10. |
HEADING |
ENABLE,
DISABLE |
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.
|
QUOTEALL |
DISABLE,
data-type |
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
|
BOOLFORCE |
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
6:Time hh:nn:ss.ss
|
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 hh:nn:ss.tt
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 hh:nn:ss.ss
|
DOTFORCE |
|
Force numerics to include a decimal point |
LEADFORCE |
|
Force numerics to have the sign leading |
MULTIBYTE |
|
Should use a multi-byte character set |
SEPARATOR |
COMMA*, a
single character
or an escaped
character |
(see notes).The separator can be specified either by the word COMMA, a single letter, or a standard escape character:
\a | alert (bell) character |
\\ | backslash |
\b | backspace |
\? | Question mark |
\f | formfeed |
\' | single quote |
\n | newline |
\" | double quote |
\r | carriage return |
\o | oooctal number |
\t | horizontal tab |
\xhh | hexadecimal number |
\v | vertical 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.
|
QUOTECHAR |
COMMA, a
single character
or an escaped
character |
(see notes)See notes on SEPARATOR. Default is double quote ("). |
EORCHAR |
DISABLE,
COMMA*,
a single character
or an escaped
character |
(see notes)See notes on SEPARATOR. |
TRANSLATECHARS |
BINARY, or
a sequence of
escape codes to
translate. |
\a | alert (bell) character |
\\ | backslash |
\b | backspace |
\? | Question mark |
\' | single quote |
\" | double quote |
\r | carriage return |
\t | horizontal tab |
\v | vertical 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.
|
DOUBLEQUOTE |
ENABLE,
DISABLE* |
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
extension |
Default is CSV. |
OPTLOCKING |
ENABLE,
DISABLE* |
If set use optimistic locking as default. |
QUOTESTRINGS |
ENABLE,
DISABLE* |
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 |
ENABLE,
DISABLE* |
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.
exponents, dotforce, leadforce, multibyte.