Icon View Incident Report

Minor Minor
Reported By: Uli Becker
Reported On: 4/28/2008
For: Version 1.09 Build 3
# 2623 KeepTablesOpen Property is Preventing Changes From Being Detected During Table Opens

I use the following stored procedure (short form) to show items of an invoice.

I call this procedure like this:

with dm.ShowPostenSP do
begin
close;
ParamByName('RechnungenID').asInteger := iRechnungenID;
ParamByName('StatusID').asInteger := iStatusID;
open;
end;

Now the problem:

After deleting some items of the invoice by using another procedure, the above code shows the same (meanwhile deleted) items as before.

Whereas this shows the actual data:

with dm.ShowPostenSP do
begin
ParamByName('RechnungenID').asInteger := iRechnungenID;
ParamByName('StatusID').asInteger := iStatusID;
if not active then
open
else
refresh;
end;

PROCEDURE "ShowPosten" (IN "RechnungenID" INTEGER, IN "StatusID" INTEGER)
BEGIN
  DECLARE Result CURSOR WITH RETURN FOR Stmt;
    PREPARE Stmt FROM
      'SELECT P.*, if (ziffer like ''#%'' then ''Abzug Einzelziffern wegen Höchstwert '' + ziffer else text ) 
      as Text from Posten P left outer join Ziffern Z
      on P.Ziffer = Z.Ziffer where RechnungenID = ? order by Datum, orderID';
  OPEN Result using RechnungenID ;
END



Comments Comments and Workarounds
The issue was the use of the KeepTablesOpen property. It was preventing the change detection from detecting the changes from during the table open. Using Refresh instead of Open as a workaround will fix the issue.


Resolution Resolution
Fixed Problem on 4/30/2008 in version 1.09 build 4


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image