Hi there,
After a table has been version-enabled, I've found that a user cannot edit a record more than once before they post the change and refresh the dataset.
i.e. I version enabled a table called AC_CLAIM. After I do this, Oracle renames the table to AC_CLAIM_LT and creates a view called AC_CLAIM, which I use whenever I want to edit claim information. If a user makes a change to a record in AC_CLAIM that record will be removed from the view and will be replaced by the most recent record in the AC_CLAIM table. I understand that this is why a user cannot change a record more than once in a version-enabled table, but is there a way to replace the old record in my dataset with the most recent record (after it's been changed of course) without having to refresh the entire dataset?
I tried calling RefreshRecord in the AfterPost event, but that didn't work, probably because RefreshRecord is using the RowID to perform the refresh. Essentially I'd be able to do it if I could change the RowID of a record in the AfterPost event. But I don't think that's possible.
To circumvent this problem I'm using cached updates because I can control when the change is posted to the database. I can also force the dataset to perform a full refresh whenever changes are posted. However, I'd rather not do this because Oracle transactions are much nicer to use.
Thanks a lot,
Dave Reid
After a table has been version-enabled, I've found that a user cannot edit a record more than once before they post the change and refresh the dataset.
i.e. I version enabled a table called AC_CLAIM. After I do this, Oracle renames the table to AC_CLAIM_LT and creates a view called AC_CLAIM, which I use whenever I want to edit claim information. If a user makes a change to a record in AC_CLAIM that record will be removed from the view and will be replaced by the most recent record in the AC_CLAIM table. I understand that this is why a user cannot change a record more than once in a version-enabled table, but is there a way to replace the old record in my dataset with the most recent record (after it's been changed of course) without having to refresh the entire dataset?
I tried calling RefreshRecord in the AfterPost event, but that didn't work, probably because RefreshRecord is using the RowID to perform the refresh. Essentially I'd be able to do it if I could change the RowID of a record in the AfterPost event. But I don't think that's possible.
To circumvent this problem I'm using cached updates because I can control when the change is posted to the database. I can also force the dataset to perform a full refresh whenever changes are posted. However, I'd rather not do this because Oracle transactions are much nicer to use.
Thanks a lot,
Dave Reid