Subject Re: [IBO] OAT-Handling
Author guido.klapperich@t-online.de
> > I'm just fighting with the OAT-Management of my app. I don't want to use
> > the TimeoutProps of IB_Transactionen, so therefore I have to do this on
> > my own.
>
> May I ask why?

Yes. When I understood it the right way, it is so, that, when the TimeoutProps
fire, they always try to fetch
some or all records. In my app, this behaviour is not usable, because
there are many datasets open, so that only these records should be
fetched, that the user wants to see.

One suggestion: It would be great, when the TimeoutProps would work, depending
on the Commit Action.
caFetchAll: as it is implemented yet
caClose: when AllowCheckOAT, Attempt or AttemptRetry fire, the transaction
tries to commit and then close the datasets
caRefresh, caRefreshKeys: when AllowCheckOAT, Attempt or AttemptRetry fire,
the transaction tries to commit and then refreshes the datasets
caInvalidateCursor: when AllowCheckOAT, Attempt or AttemptRetry fire, the
transaction tries to commit and then the datasets stay as they are.

> > I mean no post and no scrolling. Now I do
> > a commit in the OnPost-Event of the datasets, but it would be more
> > comfortable, if the transaction could react on the post, so I have not
> > use the all the OnPost-Events, but one OnPostDataset-Event, for example,
> > of a transaction. But how to find out, that no post and no scrolling has
> > been done to the datasets for a period of time. And what then, should I
> > do a commit or a pause to the transaction ?
>
> I'm a little confused about what exactly you are trying to accomplish. It
> sounds a little dangerous to me.
>

In my app, I have many forms, that display data. At one time, there is only
form visible, the other forms are not visible for the user.
First Problem, what should I do with data of the invisible forms. I don't want
to close the datsets, because of the performance. when a form becomes visible,
the data should be there at once. So the CommitAction of my datasets is
caInvalidateCursor. Sould I commit the transactions of the datasets every, for
example, 30 seconds or should I pause the transactions ?
Second problem is the data of the visible form. When the user don't use them,
because he is on lunch or went home. How recognize I this and when I
recognized it, should I commit or pause the transactions ?
I hope, it is clearer now.


Guido