1. Check for dirty
record
Is record dirty Close Record
No
Close Record
Prompt user to
Save or Discard
data changes
Did user click
Cancel?
Did user click
Discard?
Yes
Did user click save
changes?
Cancel Closing
action
Yes
Prompt user to
confirm discard
No
Yes
No
Discard?
Cancel Closing
action
No
Prompt: Tell user
changes have
been discarded
Close Record
Yes
Validate Record
Yes
Are changes
Valid?
Save Changes
Yes
Prompt user with
warning message
to correct errors on
the form
Cancel Closing
action
No
Prompt user that
changes have
been saved