Kbase P46452: "Could not create buffer object for table TBM_STATE. (7334)"
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  25/11/2003 |
|
Status: Unverified
FACT(s) (Environment):
Dynamics 2.0A
SYMPTOM(s):
"Could not create buffer object for table TBM_STATE. (7334)"
tbm_state is the DB table that is used by the Dynamic SDO and Dynamic Viewer for a particular window.
Create buffer statement fails
Global filter stored in the "InitializeObject" IP of adm2/custom/datacustom.p is not working in an AppServer environment.
It works fine in the client/server environment when directly connected to a DB.
CAUSE:
The create buffer will fail when no database is connected and will not work in
initializeObject on a client. This is expected behavior.
Code that references database need to be conditionally compiled inside the DB-
REQUIRED preprocessor.
There are also properties besides the BaseQuery that need to be set if one want
to add buffers to an object, Tables, PhysicalTables, DataColumnsByTable,
AssignList. UpdatableColumnsByTable. Setting these properties is the only way to do this safely AND it would also work on the client. The properties decides how the buffer is defined on the server. Although it is possible to achieve this by changing these properties any code that does this will need to be revisitted for each release as the required properties may change.
There is also a defineDataObject API that allows one to create a completely
dynamic data object, but this is not a reusable object.
FIX:
Expected behavior. Code that references database need to be conditionally compiled inside the DB-REQUIRED preprocessor.