Getting Started with TRANSACT (32247-90007)
170 Chapter9
Creating Custom Applications
User Exits
User Exits
In general, there are two types of application development environments. First there are
application software companies who build application solutions to sell to other companies.
Second, there are companies who build application solutions for use internally.
Localization is attractive to both environments. Ignoring the fact that the software is sold
in one case, both types of environments have a similar structure. There is a central group
responsible for maintaining and enhancing the core system. There are one or more user
organizations who accept the basic system functionality, but who have unique needs from
the other users. Until these needs become the common needs of the majority of the system
users, the central group typically resists adding the functionality to the core system.
If, however, the central group provides ways in which the individual users can modify the
system to include the functionality they need without destroying the functionality of the
core system, then both groups become winners.
The concepts discussed earlier, plus the concept of user exits provide this capability.
It is probably much easier for the software engineers developing software for sale to build
in user exits, since they are acutely aware of the many unique demands their customers
make.
It is no doubt much more difficult for a software engineer building internal software to
distinguish between capabilities that should be a part of the core system versus
capabilities that should be extensions or localization of the core system, since his users are
also internal.
Providing the capability for user exits and deciding on the timing of this capability are up
to the designer of the core system. For example, a designer may only want to allow user
intervention after data has been entered. Another designer may want to allow user
intervention before and after data entry, as well as before and after database update.
Naturally, the more a designer provides this capability, the better the possibility that the
user can solve his unique problem outside of the core system.
The example below illustrates one way to implement user exits within Transact. It
implements a structure that allows the user to do some processing just after data has been
entered.