The Select Pattern
When a transaction is started with a record as a parameter, the transaction sometimes need extra information to decide how the transaction needs to behave. When using the OnRun() trigger of a Codeunit to start the transaction, we can only use one table as a parameter to the function. The Select pattern helps us in working around this limitation in an elegant way, allowing us to write clean and readable code.
Note
More information about the pattern can be found in the How Do I video at https://www.youtube.com/watch?v=SxywT2XSpcI&list=PLhZ3P-LY7CqmVszuvtJLujFyHpsVN0U_w&index=7.