Skip to main content

How Uniface is building select clause. In one form, I can see few fields in select clause. In some other form, select clause has different fields though where clause is same in both form.

How Uniface is building select clause. In one form, I can see few fields in select clause. In some other form, select clause has different fields though where clause is same in both form.

Hi Ajeet,

by default Uniface compiler build a fields list of each entity included into a component; this field list is composed by:
- fields picted on paint tableau
- fields referred into component triggers
The fields list of each entity is used for DBMS access of the component.
As a developer you can change this default behaviour using the specific component property called "fields list"; possible values: [Default], AllFields, UserDefined.
More info here.

Hope it helps.

Gianni


How Uniface is building select clause. In one form, I can see few fields in select clause. In some other form, select clause has different fields though where clause is same in both form.

Hi Ajeet,

Beside the answer from Gianni have a look at $selectlist

Ingo


How Uniface is building select clause. In one form, I can see few fields in select clause. In some other form, select clause has different fields though where clause is same in both form.

Hi Ajeet,

It depends....

Uniface Query By Form....

Form A:

Fields A,B,C have values in them, and you have a read u_where / where

select clause will contain A,B,C and whatever you have in u_where/where

Form B

Fields A,D,E have values in them and no read u_where/where.

select clause will contain A,D,E.

Remember,

By default Uniface will (should!) fetch all fields in an entity - because Uniface doesn't know

until runtime what the specific database is (RMS vs Oracle vs MSS etc).  However, only the fields

listed in the fields list should be / will be formatted for output.  In the long gone past, this

formatting was done in (as far as I can remember) blocks of 4 fields...  What it is today I cannot speak to.

In addition, the $selectlist statement can be 'dangerous' - as in, there could be fields in the record

updated by another user, and you don't get to see that because the record you're looking at contains

a subset of the columns...  Use with caution....

hth,

Knut