Consultor Eletrônico



Kbase 20441: 4GL/ABL: How to apply a word rule to a temp-table?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   30/11/2009
Status: Verified

GOAL:

4GL/ABL: How to apply a word rule to a temp-table?

GOAL:

How to use the -ttwrdrul startup parameter

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x
All Supported Operating Systems

FIX:

The -ttwrdrul parameter is a client startup parameter that is used to apply a word rule to a temp table within a Progress session. In Progress versions before 9.1A, a word break rule could be created, compiled and then applied to a database with PROUTIL (see solution 18429), but the rule could not be used with word indexes defined within a temp table. For example, once you create and compile the word break table into proword.14, it is applied to a Danish Version 9.1A Sports database. Subsequent execution of the code below fails with the following error 4686:

QBW syntax error - an asterisk (*) is allowed only at the end of a word. (4686)

DEFINE NEW SHARED TEMP-TABLE tt_vare NO-UNDO
FIELD tekst LIKE customer.name
INDEX tekst IS WORD-INDEX tekst.

CREATE tt_vare.

ASSIGN tt_vare.tekst = "svend tågehorn".

FOR EACH tt_vare WHERE tt_vare.tekst CONTAINS "tå*":
DISPLAY tt_vare.tekst.
END.

However, if the Progress session is started with:

prowin32.exe -cpcoll Danish -ttwrdrul 14

Then the code correctly returns the single tt_vare record.

It is important to remember that the proword.14 file must exist in the DLC directory, or the PROWD<nnn> environment variable is set allowing Progress to find the word rule.

FIX:

References to Written Documentation:

Progress Solutions:
18429, "I18N. Creating a Word-Break File for International Collation"
21596, "I18N. New Word-break Functionality For International Collations"