With standard ALV functions, you can only handle events at two specific time points: When the user has performed a function or when he or she has completed a function. You do not receive any information about which standard ALV functions the user has chosen.
With self-defined functions, however, you can determine which functions the user chose.
The event ON_FUNCTION has been provided to handle self-defined functions.