Description

Multi Language Fields (MLFs) are fields for which each record in the table has values in a number of data languages. When a data language is added, it is necessary to run the bdbmlf program in order to establish the fallback to the base language for the new data language in the database. When a data language is removed, it is necessary to run the bdbmlf program in order to remove values from the database.

Caution: 
The bdbmlf program is used by sessions in LN Tools. Do not use it from the command line, or the database can become inconsistent.

The bdbmlf tool reads tables for given company numbers, adds or removes values for certain data languages to the database, and writes a report to the file specified by the –R option.

The bdbmlf tool prints information such as names, the number of records, and any errors. To suppress the messages that are produced by bdbmlf at run time, use the –s option.

You can inspect the database without making changes by omitting the –r option (repair). There is a ‘detail’ modus in which the program checks for various inconsistencies with regard to translations (option –d).

These options are available with bdbmlf:

  • –U/u

    Usage information.

  • –V/v

    Version information.

  • –p package combination

    The name of the package combination to be used.

  • –s

    This suppresses error messages and other information.

  • –C

    Company numbers for a given table in these formats:

    • Specific company numbers, for example, 001 002.
    • Range of company numbers, for example, 001-010.
  • –I file

    Process all tables whose names are listed in file. Each table name in file must be on a separate line. A table name can include a company number. For example, table tccom100 in company 570 is specified as tccom100570.

  • –N table [table…]

    List of tables to be processed.

  • –E file

    Redirects errors to error file.

  • -r

    This option turns on the repair modus: the program actually fixes the problems that are reported.

  • -d

    This option turns on the ‘detail’ modus. The program will check for missing translation records for all languages in the database.

  • EXIT STATUS

    The exit status of the bdbmlf program is a bit pattern that can have a value that is a combination of the values shown in the table. Note that the values are in octal representation:

EXIT status values
NAME Value Description
INIT_ERROR 001 Initialization error. If this occurs, the bdbmlf program halts.
ERROR 002 An error for one or more tables occurred.
RET_REPAIR 004 There are changes to do (if –r not specified: the changes are not executed).
RET_LOCKED 010 when executing repair actions, there were locking errors.

The bits in the bit pattern are set in various circumstances, specified in the following table (this table is not exhaustive):

Example error codes
NAME ERROR Report entry
unknown user INIT_ERROR n/a
unknown PACC INIT_ERROR n/a
compnr range param wrong INIT_ERROR n/a
init bdb api problem INIT_ERROR n/a
no rows - 0
Table does not exist - 0 table does not exist
Logical table - 0 ignoring logical table
Unknown table ERROR 513 unknown table ‘ppmmmnnn’
dd corrupt ERROR 512 dd corrupt
Invalid table name ERROR 513 invalid table name
BDB errors ERROR nnn Message with details
Something (to) be repair(ed) REPAIR 0 Message with details
Lock error during repair LOCK|ERROR Skip record due to LOCKED