There are seven user exits in BRP. Each is named and corresponds to a major division of processing, or step, in a BRP run. The names are listed below in the order they are executed:
With the exception of the Setup and End user exits, each is executed as the very first task of the corresponding BRP step. For example, in the Generation step the Generation user exit is executed followed by executive report generation and WebGen generation.
There are some essential tasks that occur during the Setup step that make it impractical for user exit execution to be first. The Setup step is where the main BRP log is opened and all parameter values are generated, if necessary, and checked for validity. The Setup user exit occurs after the log file is created, but before parameter values are generated and checked.
The End user exit occurs at the very end of the BRP run. There are no tasks that occur after it other than closing the main BRP log file.
Which user exit should be used to execute a particular piece of functionality depends upon the task that needs to be accomplished. For example, source code pre-processing usually needs to occur prior to the sources being loaded into the workspace. This would make the Staging or Update user exits ideal. However, it is best to do source code pre-processing once all sources are in a single spot and are guaranteed to have proper file extensions. That would eliminate the Staging user exit, since it is during Staging that file extensions are added, if necessary. Therefore, the best place to execute source code pre-processing utilities is the Update user exit.
Other common uses of user exits are to run specific reporting or analysis functions. These typically require that the verification step has been completed. Therefore, the Generation user exit will typically work best for these situations.