Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Data archtectural conundrum
Message
De
17/10/1999 14:55:11
 
 
À
17/10/1999 12:56:35
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00277457
Message ID:
00277472
Vues:
22
>Hi All,
>
>Here's the situation: I have a row buffered master table, showing the description and applicable dates of a business process. I have a view, optimistically table buffered, of steps in the process. Each step may have none, one, or more forms that have to be printed. I am storing this in a view. This, too, is optimistically table buffered.
>
>Let's call these tables: Process, lvProcSteps, and lvStepForms
>
>My problem is this: While I lock in the current Process record when an edit has begun, the user could jump between lcProcSteps records, rearranging them adding detail, and whatnot. Not a problem, as it's table buffered and I can revert or update all changes. My problem is with the lvStepForms view. If the record pointer is moved in lvProcSteps, I have to REQUERY lvStepForms. If I do that, I must save or revert changes to lvStepForms. If I save changes during the edit in lvStepForms, and then Revert the overall edit, it's only going to revert changes to lvStepForms since the last change of record in lvProcSteps during the edit. There could be orphans; or otherwise unexpected data
>
>What to do? Any suggestions? I have ways to resolve this involving orphan checking, change tables, etc. but they're all sloppy.

It's probably not the most desirable, but I force the user to deal on a child by child basis. IOW, before adding grandchildren to a different parent, they have to save the ones they were adding. IOW, it becomes a parent-centric process instead of a grand-parent centric process.

But here's an idea if you don't like that: Define your grandchild view to hold all of the forms for all of the steps for a given process. Then set filters when switching beween parents. This way all of the records stay in the same cursor, with no need to commit when switching Process steps. When the user is ready to save everything, remove the filter and TABLEUPDATE().
Erik Moore
Clientelligence
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform