What are different types of ABAP programs? Please explain

In ABAP, there are two different types of programs:

Report programs

Report programs follow a relatively simple programming model whereby a user optionally enters a set of parameters (e.g. a selection over a subset of data) and the program then uses the input parameters to produce a report in the form of an interactive list. The output from the report program is interactive because it is not a passive display; instead it enables the user, through ABAP language constructs, to obtain a more detailed view on specific data records via drill-down functions, or to invoke further processing through menu commands, for instance to sort the data in a different way or to filter the data according to selection criteria. This method of presenting reports has great advantages for users who must deal with large quantities of information and must also have the ability to examine this information in highly flexible ways, without being constrained by the rigid formatting or unmanageable size of "listing-like" reports. The ease with which such interactive reports can be developed is one of the most striking features of the ABAP language.
The term "report" is somewhat misleading in the sense that it is also possible to create report programs that modify the data in the underlying database instead of simply reading it.

A customized screen created using Screen Painter,which is one of the tools available in ABAP workbench(T-code = SE51).

Online programs

Online programs (also called module pools) do not produce lists. These programs define more complex patterns of user interaction using a collection of screens. The term "screen" refers to the actual, physical image that the users sees. Each screen also has a "flow logic"; this refers to the ABAP code invoked by the screens, i.e. the logic that initializes screens, responds to a user's requests and controls the sequence between the screens of a module pool. Each screen has its own Flow Logic, which is divided into a "PBO" (Process Before Output) and "PAI" (Process After Input) section. In SAP documentation the term "dynpro" (dynamic program) refers to the combination of the screen and its Flow Logic.
Online programs are not invoked directly by their name, but are associated with a transaction code. Users can then invoke them through customizable, role-dependent, transaction menus.

Apart from reports and online programs, it is also possible to develop sharable code units such as class libraries, function libraries and subroutine pools.

No comments:

Post a Comment