A screen is sometimes also known as a "dynpro", which is an abbreviation for "dynamic program". A screen is a repository object and is always a component of an ABAP program.
You create general screens using the Screen Painter in the ABAP Workbench. You generate special screens using ABAP statements.
A screen consists of the input/output mask and the screen flow logic. Screens can be defined for every executable program, every module pool and every function group.
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.
A screen consists of the input/output mask and the flow logic. 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 following diagram shows the place of screens between the GUI status and the ABAP program:
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). Screens are 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 has a GUI status, containing 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. You assign GUI statuses to screens dynamically in your ABAP programs. Each screen is linked to the current GUI status by a special screen field into which the corresponding function code is placed whenever the user chooses a function. The screen passes the function code to the ABAP program just like any other screen field. You can then read it in the program.