Kbase P109948: RowObject Handle is not valid on client side of Appserver boundary
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/21/2005 |
|
Status: Unverified
FACT(s) (Environment):
Dynamics
OpenEdge 10.x
SYMPTOM(s):
RowObject Handle is not valid on client side of Appserver boundary
getRowObject function returns invalid handle if SDO query has not been opened.
RowObject handle is invalid on the client side after the query has been opened with a dynamic SDO, but it is valid with a static SDO.
CAUSE:
Bug# 20051017-002
FIX:
Development recognize the fact that this works in client server connections, but does not work over the appserver boundary due to the fact that in order to retrieve data in initializeObject each SDO will need to manage its own data request. This will cause an appserver hit for each SDO on start up of a container and typically also multiple appserver hits when a new batch is retrieved for a parent or when navigating data with viewers with SmartSelects. To change this behaviour would have a disastrous effect on the performance of Appserver applications with more than one SDO.
In order to resolve this problem there are several alternatives:
1. To achieve the exact desired behavior:
- Make sure the container is non-appserver aware.
a) Localize the shipped dynamic container renderers and turn off the appserver aware property on the Appbuilder procedure settings (rydyncontw.w rydynframw.w rydyntreew.w).
b) Use static containers (currently defaults to non appserver aware)
2. To solve the actual problem.
Move the post initialize logic to a separate procedure and call it from receiveData ALSO, receiveData is called the FIRST time a dynamic SDO gets the data from the client.
There is thus a problem with this approach for static SDOs as receivedata only is called for dynamic SDOs. This can be worked around by calling the post initialize logic from openDataQuery which always is called, but would also require logic to ensure it only is done once. The fact that receiveData is not called for static SDO's has been logged as Enhancement Request# 20051021-013