A module pool is a collection of screens, flow logic, menu bars and ABAP code that you use to build an application. Typically the transaction code that calls the application will refer to the module pool and the initial screen number.
Module pool programs are created in ABAP development workbench (TCODE: SE80).
Here we can do all the works whatever you can do in ABAP.
Module pool programs are also called dialogue programs. Module Pool programs are meant for Dialog Programming purpose so you can't use Report statement.You can't execute the Module Pool directly for that you have to create a Transaction using SE93 TCODE.
The module Pool is reports prepared for different screens and to manage the sequence of events of these screens, in the transaction SE80 you can see all the dynpros that you have for this kind of report, add new ones, add all types of the element to the report.
Process Before Output is the part of the Dynpro code that is processed before the user can do anything with the data in the screen
Process After Input is the part of the Dynpro code that is processed after the interaction with the user.
module pool programs are executed using Tcodes