There are two ways to edit features in an ArcSDE geodatabase, with and without versioning.
Versioning implements a form of optimistic change management, but it does not follow that
using SQL transactions uses a pessimistic change management protocol (in the context of
versioning, pessimistic change control would duplicate the entire contents of the database
at BEGIN TRANSACTION, and that certainly doesn't happen). Edits committed during short
transactions are fully available to those granted SELECT access immediatedly upon COMMIT.
You can certainly code a module that locks tables for writing using the ArcSDE or ArcObjects
APIs (though ArcObjects would be much easier to implement). And you can do this with or
without versioning, too, since versioning is orthagonal to locking (except during reconcilliation).
Any popup windows would have to be coded using your application language of choice, since
ArcSDE doesn't have anything to do with UIs.
What are you really trying to accomplish? Most folks dread the probabability that they'll spend
a long time locked out of edits by a long-running process, and if you really want to restrict all
users from making changes, you can achieve that through RDBMS security (make non-editors
a member of a role that only has SELECT access)?
- V