Kbase P22909: External procedure is dynamically creating a temp-table, passing the temp-table handle back to the c
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/15/2008 |
|
Status: Verified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
External procedure is dynamically creating a temp-table and passing the temp-table handle back to the caller
The temp-table handle passed back to the caller contains the unknown value
The external procedure is storing all of the dynamic objects in a named, persistent widget-pool
The named, persistent widget-pool is being deleted at the last line of code before the external procedure ends
CAUSE:
When a named widget-pool is deleted via the DELETE WIDGET-POOL statement, the memory associated with each object contained in the widget-pool is deleted immediately. In this scenario, this means that the entire dynamically created temp-table is deleted before it is passed back to the caller.
FIX:
Remove the PERSISTENT phrase from the CREATE WIDGET-POOL "<name>" statement and remove the entire DELETE WIDGET-POOL "<name>" statement (it is not needed as a non-persistent widget-pool will automatically be deleted when the procedure it was created in ends).