You are on page 1of 3

EVENTS IN ABAP PROGRAM:-

There is no mandatory event in a report program. Events are actually used to


organize the statements and control the flow of the program.

If the program contains no explicitly defined event blocks, all the statements in the
program form the entire event block START-OF-SELECTION.

ABAP runtime environment automatically introduces a START-OF-SELECTION


at the first execution line.

ABAP/4 report programs are event driven programs. Following events are
triggered in a report.

1. LOAD OF PROGRAM. - If program is of type 1, M, F, or S; then


LOAD-OF-PROGRAM is trigerred first and then INITIALIZATION. The
purpose of load of program is to load the program into system memory so
that the program can be executed.

2. INITIALIZATION. - just once.

3. AT SELECTION-SCREEN OUTPUT. - when there is selection-screen

4. AT SELECTION-SCREEN. - when user interacts.

5. START-OF-SELECTION. - when F8.This is the default event in ABAP.

6. END-OF-SELECTION. - At the end


EVENTS IN A CLASSICAL REPORT:
1. INITIALIZATION: This is triggered when the report is loaded in memory.

2. AT SELECTION-SCREEN OUTPUT: This is triggered when the selection


screen is loaded in memory before being displayed.

3. AT SELECTION-SCREEN/<field> : This event is triggered before leaving the


selection screen.

4. START-OF-SELECTION: This is the the first and default event for displaying
the report. Data retrieval logic is written under this event.

OUTPUT EVENT(5, 6):


5. TOP-OF-PAGE: This event is triggered every time a new page is started in the
list.

6. END-OF-PAGE : This event is triggered every time the list data reaches the
footer region of the page.

7. END-OF-SELECTION:

This event is triggered after the START-OF-SELECTION is completed.

This event is used when there is use of logical data base in the report.

It is triggered in type 1 programs once the logical database completes reading all
data i.e. all the selection is finished and before the list processor is started. This
statement tells the server that all the database reading is completed and no more
data reading is going to take place. END-OF-SELECTION is generally used for
the summary/results of reports. In an executable program without logical data
base, there is no need to implement the event block END-OF-SELECTION.
After a program is executed by the user, the database is locked when it
encounters a START-OF-SELECTION statement and the lock is released
when an END-OF-SELECTION statement is encountered (to maintain the
consistency). Data selection is done between START-OF-SELECTION and END-
OF-SELECTION. Now if we don’t write the END-OF-SELECTION statement, the
database will remain locked till the programs get terminated. Hence, the
performance will be reduced. So it is always good practice to write END-OF-
SELECTION statement after finishing the data selection from database.
EVENTS IN AN INTERACTIVE REPORT:
In addition of the above, the following events are possible in case of Interactive
Reports.

1. Top of page during line selection : top of page event for secondary list.

2. At line-selection : evey time user dbl-clicks(F2) on the list data.

3. At pF<key> : function key from F5 to F12 to perform interactive action on the


list.

4. At user-command.

If you debug your report program from the Abap editor screen then it triggers
from

1. Initialization,
2. At Selection-screen,
3. Start-of Selection,
4. End-of Selection,
5. Top-of-page,
6. End-of-page.

But if you debug from the selection-screen then it triggers from

1. At Selection-Screen,
2. Start-of-selection,
3. Top-of-page,
4. End-of-page.

You might also like