Login
`
Templates, Tools and Utilities
|
||
Icetips Article
Back to article list
Search Articles
Add Comment
Printer friendly
Direct link
Par2: Acting after UpdateProcedure 2005-02-22 -- Jim Gambon > I want to perform some calcs when returning from an Insert, Change or
> Delete. I see embeds after parent call for each, but is there one embed I
> can use for all?
One of the secrets of successful OOP is to find the object method that most
specifically does the work that needs to be modified. In ABC all the Insert,
Update, and Delete actions eventually funnel through one method that is used
to call the actual UpdateForm. That method is prototyped like this:
ThisWindow.Run PROCEDURE(USHORT Number,BYTE Request)
If your Windows has more than one Browse, and each has their own call to it's
own UpdateForm, then the "Number" parameter will be used to choose which
update form to call. The "Request" parameter will be a value that tells the
UpdateForm whether it is Inserting, Updating, etc.
In that method you will see code like this:
GlobalRequest = Request
UpdateForm
ReturnValue = GlobalResponse
So, in priority 8500 or so you can put a Case statement to check the "Request"
(InsertRecord, ChangeRecord, DeleteRecord), and also whether the "response"
from the form was Completed or Cancelled.
Something like this:
IF GlobalResponse = RequestCompleted ! Form Completed
CASE Request
OF InsertRecord
! Insert was successful
OF ChangeRecord
! Change was successful
OF DeleteRecord
! Delete was successful
END !CASE
END !IF
Using embeds within the Run method means that you are attempting to modify the
behavior of how the UpdateForm is called, however it is called. It gets the
logic of your code closer to the call of the UpdateForm, and makes sure that
it fires only when the form is called.
Note: there are two Run methods. The one without any parameters is the one
that Run's the Window. That is not the one you want.
Today is November 21, 2024, 3:31 am This article has been viewed 35221 times.
|
|