Kbase P3443: AppBuilder-generated browse unexpectedly shows records from another schema table.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
Browser shows records from another table.
Browser uses metaschema tables such as: _User, _File, _Index, _Index-Field.
Browser is generated via the AppBuilder.
Multiple databases connected.
CAUSE:
When the 'Qualify Database Fields with a Database Name' option within the AppBuilder preferences is disabled in the AppBuilder, the table names in the queries are not fully qualified with a database name, and the following reasoning applies.
With user tables (for instance: customer, order, state) and that option disabled in the AppBuilder preferences, referencing the name of a table residing in multiple databases would generate the following compilation error:
Table <table> is in database <db name> and <db name> (425)
On the other hand, if the ambiguous table name refers to one of the metaschema tables (for example: _User, _File, _Index, _Index-Field) there is no compilation error, and the ambiguity is automatically resolved by Progress by picking the metaschema tables in the database to which the DICTDB alias currently points.
This may not be what you want.
The end result of this behaviour is that your browser compiles correctly, but then it shows records from a database different from the one you expect.
FIX:
Open the AppBuilder preferences (menu Options -> Preferences), make sure you are on the General tab, tick the option 'Qualify Database Fields with a Database Name'.