Salesforce

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

Information

 
Title4GL/ABL: How to apply a word rule to a temp-table?
URL Name20441
Article Number000156358
EnvironmentProduct: Progress
Version: 9.1x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
4GL/ABL: How to apply a word rule to a temp-table?

How to use the -ttwrdrul startup parameter
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
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, but the rule could not be used with word indexes defined within a temp table. For example, after creating and compiling the word break table into proword.14 and applying it to a Danish Version 9.1A Sports database, subsequent execution of the code below fails with the error "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 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 must be set allowing Progress to find the word rule.

Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:35 AM

Powered by