Screens (also known as dynpros) are the most general type of user dialog in SAP applications before SAP NetWeaver.
You do not define them in ABAP programs, but instead in the Screen Painter.
A screen consists of the layout and the flow logic.
You can define screens for any program with type 1 (executable), M (module pools), or F (function groups).
Screens are some kind of dynamic programs, and have their own data objects, called screen fields. These are linked to the input/output fields that appear on the screen itself. When the screen is displayed, and when it finishes processing, the system passes data between the screen fields and data objects in the ABAP program. Data is copied between identically-named fields.
Each screen needs a GUI status to be assigned at runtime during PBO in your ABAP program. The GUI status contains a menu bar, standard toolbar, and an application toolbar. Like screens, GUI statuses are independent components of the ABAP program. You create them in the ABAP Workbench using the Menu Painter.
The screens in a single ABAP program can be combined to form screen sequences. You can call single screens or screen sequences either using a transaction code from outside the ABAP program, or by using the CALL SCREEN statement in the corresponding ABAP program. When you call a screen or screen sequence, the screen flow logic takes control of the ABAP program execution. You can define screen sequences dynamically by setting the next screen attribute for a screen dynamically in the ABAP program.
Selection screens are special screens that use the same technology but are not created using the Screen Painter. Instead, they are defined via ABAP statements PARAMETERS, SELECT-OPTIONS, SELECTION-SCREEN, etc.
The screen flow logic is divided into the Process Before Output (PBO) event, which is processed before the screen is displayed, and the Process After Input (PAI) event, which is processed after a user action on the screen. The screen flow logic calls dialog modules in the ABAP program, either to prepare the screen for display (PBO event) or to process the user's entries (PAI event).