{"id":7342,"date":"2025-08-03T12:24:31","date_gmt":"2025-08-03T06:54:31","guid":{"rendered":"https:\/\/www.sapewmhelp.com\/?question=classical-report-events-in-sap-abap"},"modified":"2025-08-03T12:24:31","modified_gmt":"2025-08-03T06:54:31","slug":"classical-report-events-in-sap-abap","status":"publish","type":"question","link":"https:\/\/www.sapewmhelp.com\/?question=classical-report-events-in-sap-abap","title":{"rendered":"Classical Report Events in SAP ABAP"},"content":{"rendered":"<p>Classical Reports in ABAP use a sequence of predefined events during program execution. These events let you structure your code based on data fetching, formatting, and output rendering.<\/p>\n<table>\n<thead>\n<tr>\n<th>Event<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>LOAD-OF-PROGRAM<\/code><\/td>\n<td>Triggered once when the program is loaded into memory (before anything else)<\/td>\n<\/tr>\n<tr>\n<td><code>INITIALIZATION<\/code><\/td>\n<td>Called before the selection screen is displayed<\/td>\n<\/tr>\n<tr>\n<td><code>AT SELECTION-SCREEN<\/code><\/td>\n<td>Called after user input is entered on the selection screen<\/td>\n<\/tr>\n<tr>\n<td><code>START-OF-SELECTION<\/code><\/td>\n<td>Main logic block, starts after selection screen input<\/td>\n<\/tr>\n<tr>\n<td><code>TOP-OF-PAGE<\/code><\/td>\n<td>Used to print page headers<\/td>\n<\/tr>\n<tr>\n<td><code>END-OF-PAGE<\/code><\/td>\n<td>Used to print page footers<\/td>\n<\/tr>\n<tr>\n<td><code>END-OF-SELECTION<\/code><\/td>\n<td>Called after START-OF-SELECTION, typically for final output<\/td>\n<\/tr>\n<tr>\n<td><code>AT LINE-SELECTION<\/code><\/td>\n<td>Triggered by user double-click (F2) on output<\/td>\n<\/tr>\n<tr>\n<td><code>AT USER-COMMAND<\/code><\/td>\n<td>Triggered when a custom function key is pressed<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code><!--StartFragment --><span><span>REPORT\u00a0<\/span>zrep_lclclass<span>.<\/span>\r\n\r\n<span>TABLES<\/span><span>:\u00a0<\/span>mara<span>.<\/span>\r\n<span>data<\/span><span>:\u00a0<\/span>lt_mara\u00a0<span>type\u00a0<\/span><span>table\u00a0<\/span><span>of\u00a0<\/span>mara<span>.<\/span>\r\n\r\n<span>\"\u00a0Selection\u00a0Screen<\/span>\r\n<span>SELECT-OPTIONS<\/span><span>:\u00a0<\/span>s_matnr\u00a0<span>FOR\u00a0<\/span>mara<span>-<\/span>matnr<span>.<\/span>\r\n\r\n<span>\"\u00a0LOAD-OF-PROGRAM<\/span>\r\n\r\n<span>LOAD-OF-PROGRAM<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'&gt;&gt;\u00a0<span>Program\u00a0<\/span>loaded\u00a0<span>into\u00a0<\/span><span>memory<\/span><span>.<\/span>'<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0INITIALIZATION<\/span>\r\n\r\n<span>INITIALIZATION<\/span><span>.<\/span>\r\n\u00a0\u00a0s_matnr<span>-<\/span><span>sign\u00a0\u00a0\u00a0<\/span><span>=\u00a0<\/span>'I'<span>.<\/span>\r\n\u00a0\u00a0s_matnr<span>-<\/span>option\u00a0<span>=\u00a0<\/span>'EQ'<span>.<\/span>\r\n\u00a0\u00a0s_matnr<span>-<\/span>low\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>'1'<span>.<\/span>\r\n\u00a0\u00a0s_matnr<span>-<\/span>high\u00a0<span>=\u00a0<\/span>'9999'<span>.<\/span>\r\n\u00a0\u00a0<span>APPEND\u00a0<\/span>s_matnr<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0AT\u00a0SELECTION-SCREEN<\/span>\r\n\r\n<span>AT\u00a0<\/span><span>SELECTION-SCREEN<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>IF\u00a0<\/span>s_matnr[]\u00a0<span>IS\u00a0<\/span><span>INITIAL<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>MESSAGE\u00a0<\/span>'Please\u00a0enter\u00a0a\u00a0carrier\u00a0ID'\u00a0<span>TYPE\u00a0<\/span>'E'<span>.<\/span>\r\n\u00a0\u00a0<span>ENDIF<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0START-OF-SELECTION<\/span>\r\n\r\n<span>START-OF-SELECTION<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'&gt;&gt;\u00a0Start\u00a0<span>of\u00a0<\/span>selection'<span>.<\/span>\r\n\u00a0\u00a0<span>SELECT\u00a0<\/span>*\u00a0<span>FROM\u00a0<\/span>mara\u00a0<span>INTO\u00a0<\/span><span>TABLE\u00a0<\/span>lt_mara\r\n\u00a0\u00a0<span>WHERE\u00a0<\/span>matnr\u00a0<span>IN\u00a0<\/span>s_matnr<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>IF\u00a0<\/span>sy<span>-<\/span>subrc\u00a0<span>=\u00a0<\/span><span>0<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>LOOP\u00a0<\/span><span>AT\u00a0<\/span>lt_mara\u00a0<span>INTO\u00a0<\/span><span>DATA<\/span><span>(<\/span>ls_matnr<span>)<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0ls_matnr<span>-<\/span>matnr<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ls_matnr<span>-<\/span>ernam<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ls_matnr<span>-<\/span>ersda<span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>ENDLOOP<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>ELSE<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'No\u00a0<span>data\u00a0<\/span>found'<span>.<\/span>\r\n\u00a0\u00a0<span>ENDIF<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0END-OF-SELECTION<\/span>\r\n\r\n<span>END-OF-SELECTION<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'&gt;&gt;\u00a0<span>End\u00a0<\/span><span>of\u00a0<\/span>selection\u00a0processing<span>.<\/span>'<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0TOP-OF-PAGE<\/span>\r\n\r\n<span>TOP-OF-PAGE<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'Material\u00a0Master\u00a0Report'<span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-<span>-<\/span>-'<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0AT\u00a0LINE-SELECTION<\/span>\r\n\r\n<span>AT\u00a0<\/span><span>LINE-SELECTION<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>MESSAGE\u00a0<\/span>'You\u00a0clicked\u00a0a\u00a0line!'\u00a0<span>TYPE\u00a0<\/span>'I'<span>.<\/span><\/span> <\/code><\/pre>\n<p>Output:<br \/>\nExecute<br \/>\n<img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/classical-rep-event.png\" \/><\/p>\n<p><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/classical-rep-event2.png\" \/><br \/>\n<img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/classical-rep-event3.png\" \/><\/p>\n<\/div>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","question-category":[158],"question_tags":[178,267,268,189,177],"class_list":["post-7342","question","type-question","status-publish","hentry","question-category-abap","question_tags-abap","question_tags-classical-report","question_tags-event","question_tags-report","question_tags-sap"],"_links":{"self":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question\/7342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question"}],"about":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/types\/question"}],"author":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7342"}],"wp:attachment":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7342"}],"wp:term":[{"taxonomy":"question-category","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion-category&post=7342"},{"taxonomy":"question_tags","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion_tags&post=7342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}