In this tutorial you will learn:

Selection Screen Events in an ABAP Report Program Formatting the report Interactive Report Programming Logical Databases

Purpose/Use of Report Programs

They are used when data from a number of tables have to be selected and processed before presenting Used when reports demand a special format Used when the report has to be downloaded from SAP to an Excel sheet to be distributed across. Used when the report has to be mailed to a particular person.

Important Points to Note About Report Program

Selection Screen

“Selection screen” is the screen where one specifies the input values for which the program should run. The selection screen is normally generated from the

Parameters Select-Options

Syntax Parameters Parameters help one to do dynamic selection. They can accommodate only one value for one cycle of execution of the program. Syntax Defining parameters as a data type Defining parameters like a table field. Parameters can be Checkboxes as well as Radiobuttons. Parameters can be listbox. Select Options A Select-Option is used to input a range of values or a set of values to a program Syntax

You can also define a select option like a variable

Events in an ABAP Report Program

ABAP report programs are event driven programs. The different events in a report Program are: Load-of-program

Triggers the associated event in an internal session after loading a program of type 1, M, F, or S. Also runs the associated processing block once and once only for each program and internal session. The processing block LOAD-OF-PROGRAM has roughly the same function for an ABAP program of type 1, M, F or S as a constructor has for classes in ABAP Objects

Initialization.

This event is executed before the selection screen is displayed . Initialization of all the values. You can assign different values other than the values defaulted on the selection screen . You can fill your selection screen with some values at runtime.

At Selection-Screen.

The event is processed when the selection screen has been processed (at the end of PAI ). Validation & Checks of inputted values happen here

Start-of-Selection.

Here the program starts selecting values from tables.

End-of-selection.

After all the data has been selected this event writes the data to the screen.

Interactive Events

Used for interactive reporting. It is used to create a detailed list from a basic list.

Formatting the report

ABAP allows the reports to be formatted as the user wants it to be. For example, “Alternate Lines” must appear in different colors and the “Totals” line should appear in Yellow. Syntax n may correspond to various numbers Please note that there are other additions along with format as well

Interactive Report Programming

Using Interactive Programming users can actively control the data retrieval and display of data Used to create a detailed list from a very basic list The detailed data is written on a secondary list. The secondary list may either completely overlay the first screen or one can display it in a new screen The secondary lists can be themselves interactive. The first list may also call a transaction. There are different events associated with interactive programming.

Some commands used for interactive programming Hotspot If one drags the mouse over the data displayed in the report the cursor changes to a Hand with an Outstretched Index finger. An hotspot can be achieved using the FORMAT statement. Hide This command helps you to store the field names based on which one will be doing further processing to get a detailed list. It is written directly after the WRITE statement for a field. When a row is selected the values get automatically filled in the variables for further use.

Logical Databases

Instead of using “Select” queries you can use logical database to retrieve data for a program. Logical databases are created by transaction SE36 The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix. The data is selected by another program and one can access the data using GET command which places the data in the work area .

Advantages of a logical database over normal Select queries.

It offers check conditions to see whether the input is correct, complete and plausible It contains central authorization checks for database access Enhancements such as improvement in performance immediately apply to all reports which use logical database.