Copyright 2021 - BV TallVision IT

A screen that has input fields differs from a screen used for reporting output... The screen with input fields has a setup with Process Before Output and Process After Input which both revolve around an actual screen object (identified by the screen number).

A program can have several screens which should be regarded as seperate "objects" of the program.

The screen painter is the tool to design a screen and define it's PBO and PAI processing, alternatively (and only for selection screens) the statements PARAMETERS and SELECT-OPTIONS (with a wide variety of options) can be used to design a screen, for which the system will generate a screen (by default number 1000).

The power of generating a screen from some ABAP statements is that the purpose of the screen is already known beforehand: selection. This means that a variety of functionality which should be available on any selection screen can be set up centrally. A short overview: Variants - by pressing the save button on (any) selection screen, the entered settings can be saved Executing in the background - can be done on (any) selction screen, via the menu Ranges - can be set up (or rather filled in) on SELECT-OPTIONS fields, with a button leading to a popup about possible values Texts and variabele placement - gives all selection screens the same look and feel, allowing our end user to feel at home

Here's how a 9 line program gets the look and feel of a full-grown report:

REPORT Z_SIMPLE_REPORT.

TABLES: MARA.

PARAMETERS:     P_MTART LIKE MARA-MTART.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.

SELECT * FROM MARA 
  WHERE MTART EQ P_MTART AND
        MATNR IN S_MATNR.
  WRITE: / MARA-MATNR, MARA-MTART.
ENDSELECT.