Kbase P18139: Running application with AppServer fails to populate smartBr
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/25/2003 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1D
SYMPTOM(s):
SmartBrowse is not being populated when an AppServer partition is used
SmartBrowse is being populated when the Appserver partition is removed and there is a direct connection to the database.
Two SmartDataObjects mapped on a Foreign field.
First SmartDataObject built against a table.
Second SmartDataObject built against a temp-table.
SDO based on temp-table is populated via publish/subscribe using a procedure in the first SDO
CAUSE:
Misunderstanding of appserver architecture as it applies to sdos.
There are two(2) important concepts regarding sdos on appserver.
1) When an sdo is running on an appserver it is alone there, so trying to run something in a procedure that is available on the client is not going to work when the sdo is running on the appserver.
2) SDOs defined against temp-tables use the server-side temp-table only to populate the rowObject temp-table.
In this case, because of the reasons described in #1 above, the temp-table was being populated on the client only so the info was never being copied into rowObject.
FIX:
The SDO based on the temp-table should not require the presence of another object (SDO in this case) because when it runs on the AppServer it can not run the subscribed procedure since the Temp-Table SDO is running on its own session.
Populate the temp-table using a procedure in the same SDO.