Consultor Eletrônico



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).