Consultor Eletrônico



Kbase P138128: Deleting a dynamic DATASET also deletes TEMP-TABLE of DATASET
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/12/2008
Status: Unverified

SYMPTOM(s):

Deleting a dynamic DATASET also deletes TEMP-TABLE of DATASET

Dynamic TEMP-TABLEs are automatically deleted when proDataSet is deleted

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.x
OpenEdge Language Category: ProDataSets

CAUSE:

This is expected behavior. The proDataSet has a built in feature that automatically cleans up all dynamic children when it is deleted.

FIX:

If this behavior is undesirable you should set AUTO-DELETE to false on the buffer you added to the proDataSet after adding it to the dataset.

e.g.
DEFINE VARIABLE hTempTable AS HANDLE NO-UNDO.
DEFINE VARIABLE hDataSet AS HANDLE NO-UNDO.

CREATE TEMP-TABLE hTempTable.
hTempTable:ADD-NEW-FIELD("a","CHAR").
hTempTable:TEMP-TABLE-PREPARE("tt").

CREATE DATASET hDataSet.
hDataSet:SET-BUFFERS(hTempTable:DEFAULT-BUFFER-HANDLE).
hTempTable:DEFAULT-BUFFER-HANDLE:AUTO-DELETE = FALSE.

DELETE OBJECT hDataSet.
MESSAGE "TempTable tt is " + (IF VALID-HANDLE(hTempTable) THEN "still valid." ELSE "no longer valid.")
VIEW-AS ALERT-BOX.