

{"id":92395,"date":"2021-05-15T09:00:12","date_gmt":"2021-05-15T03:30:12","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=92395"},"modified":"2021-04-30T18:22:11","modified_gmt":"2021-04-30T12:52:11","slug":"sap-abap-dialog-report-programming","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/","title":{"rendered":"SAP ABAP Dialog Programming | SAP ABAP Report Programming"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">In this tutorial, we\u2019ll be learning about two elements of SAP ABAP report programming and dialog programming. They are fundamental features in ABAP selection screens, and we will learn how they are used and why.<\/span><\/p>\n<h3>What is a Report and Report Programming in SAP?<\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">SAP ABAP supports the creation of \u2018reports\u2019<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A report is a structure that presents data in an orderly manner<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Creating reports means we can write a report in SAP ABAP<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A report usually uses the WRITE statement within an iteration i.e. a loop<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We also have pre-defined reports that we can use, that are triggered based on user input<\/span><\/li>\n<\/ul>\n<h3>Use of SAP ABAP Report Programs<\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Reports are used when we have to select sections of data from one or more tables<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Report programs are used when we need reports of a special format<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">They are also used when we need to send the report to someone via email<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Report programs can be used when we need to download the report from SAP and send it across for distribution<\/span><\/li>\n<\/ul>\n<h3>What are Events in SAP ABAP?<\/h3>\n<table>\n<tbody>\n<tr>\n<td><b>EVENT<\/b><\/td>\n<td><b>DEFINITION<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">INITIALIZATION<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This event is triggered at the starting point before the program displays the selection screen<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">AT SELECTION-SCREEN<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This event is triggered on user input &#8211; it processed user input to perform actions<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">START-OF-SELECTION<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This event is triggered when the user selects \u2018execution\u2019 option i.e. when we want to exit the selection screen<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">END-OF-SELECTION<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This event is triggered when we execute the last line of the START-OF-SELECTION statement<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">TOP-OF-PAGE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This event is triggered on the first WRITE statement at the top of the page<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">END-OF-PAGE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This is the last event, it is triggered when we reach the end of the page<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Example of Events in SAP ABAP<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">REPORT ZR_SS_DATAFLAIR_SAMPLE_001 NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 50 LINE-COUNT 75(4).\r\n\r\nDATA : BEGIN OF IT_PLANT OCCURS 0,\r\n        MATNR LIKE MARA-MATNR,\r\n        WERKS LIKE MARC-WERKS,\r\n        PSTAT LIKE MARC-PSTAT,\r\n        EKGRP LIKE MARC-EKGRP,\r\n       END OF IT_PLANT.\r\n\r\nDATA : BEGIN OF IT_PONO OCCURS 0,\r\n        EBELN LIKE EKKO-EBELN,\r\n        EBELP LIKE EKPO-EBELP,\r\n        MATNR LIKE EKPO-MATNR,\r\n        WERKS LIKE EKPO-WERKS,\r\n        LGORT LIKE EKPO-LGORT,\r\n       END OF IT_PONO.\r\n\r\nTABLES EKKO.\r\nSELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.\r\n\r\nPARAMETERS : P_WERKS LIKE MARC-WERKS MODIF ID S1.\r\nSELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.\r\n\r\nSELECTION-SCREEN END OF BLOCK B1.\r\n\r\nSELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.\r\n\r\nSELECTION-SCREEN BEGIN OF LINE.\r\nPARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.\r\nSELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.\r\nSELECTION-SCREEN END OF LINE.\r\n\r\nSELECTION-SCREEN BEGIN OF LINE.\r\nPARAMETERS : R2 RADIOBUTTON GROUP G1.\r\nSELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.\r\nSELECTION-SCREEN END OF LINE.\r\n\r\nSELECTION-SCREEN END OF BLOCK B2.\r\n\r\nINITIALIZATION.\r\n\r\nP_WERKS = '999'.\r\n\r\nS_EBELN-LOW = '6729482600'.\r\nS_EBELN-OPTION = 'EQ'.\r\nS_EBELN-SIGN = 'I'.\r\nAPPEND S_EBELN.\r\nCLEAR S_EBELN.\r\n\r\nAT SELECTION-SCREEN OUTPUT.\r\n\r\n  LOOP AT SCREEN.\r\n\r\n    IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.\r\n      SCREEN-INPUT = 0.\r\n      MODIFY SCREEN.\r\n    ENDIF.\r\n\r\n    IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.\r\n      SCREEN-INPUT = 0.\r\n      MODIFY SCREEN.\r\n    ENDIF.\r\n\r\n  ENDLOOP.\r\n\r\nat selection-screen.\r\n  SELECT SINGLE *\r\n           FROM EKKO\r\n           INTO EKKO\r\n           WHERE EBELN IN S_EBELN.\r\n\r\n  IF SY-SUBRC &lt;&gt; 0.\r\n    SET CURSOR FIELD 'S_EBELN-LOW'.\r\n    MESSAGE E999 WITH TEXT-005.\r\n  ENDIF.\r\n\r\nSTART-OF-SELECTION.\r\n\r\n  IF R1 EQ 'X'.\r\n\r\n    SELECT MATNR\r\n           WERKS\r\n           PSTAT\r\n           EKGRP\r\n       FROM MARC\r\n       INTO TABLE IT_PLANT\r\n       WHERE WERKS = P_WERKS.\r\n\r\n    LOOP AT IT_PLANT.\r\n\r\n\r\n      WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,\r\n             21 SY-VLINE , 22  IT_PLANT-WERKS COLOR COL_KEY,\r\n             27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,\r\n             43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.\r\n\r\n\r\n    ENDLOOP.\r\n\r\n  ENDIF.\r\n\r\n  IF R2 EQ 'X'.\r\n\r\n    SELECT EBELN EBELP MATNR WERKS LGORT\r\n           FROM EKPO\r\n           INTO TABLE IT_PONO\r\n           WHERE EBELN IN S_EBELN.\r\n\r\n    LOOP AT IT_PONO.\r\n\r\n      WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,\r\n             12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,\r\n             18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,\r\n             37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,\r\n             44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..\r\n    ENDLOOP.\r\n  ENDIF.\r\n\r\nTOP-OF-PAGE.\r\n\r\n  IF R1 EQ 'X'.\r\n\r\n    WRITE : SY-VLINE ,2 'MATERIAL NUMBER',\r\n            21 SY-VLINE , 22 'PLANT',\r\n            27 SY-VLINE , 28 'STATUS',\r\n            43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.\r\n\r\n    ULINE AT \/1(48).\r\n\r\n  ENDIF.\r\n\r\n  IF R2 EQ 'X'.\r\n\r\n    WRITE : SY-VLINE , 2 'PO NUMBER',\r\n           12 SY-VLINE, 13 'ITEM',\r\n           18 SY-VLINE,19 'MATERIAL NUMBER',\r\n           37 SY-VLINE, 38 'PLANT',\r\n           44 SY-VLINE, 45 'GRUP',\r\n           49 SY-VLINE.\r\n    ULINE AT \/1(50).\r\n  ENDIF.\r\n\r\nEND-OF-PAGE.\r\n<\/pre>\n<p><span style=\"font-weight: 400;\"><strong>Output<\/strong><\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-92995\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1.png\" alt=\"SAP ABAP Report Programming\" width=\"869\" height=\"668\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1.png 869w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1-300x231.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1-150x115.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1-768x590.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1-720x553.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1-520x400.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image1-320x246.png 320w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><\/a><\/p>\n<h3>What is Dialog Programming in SAP ABAP?<\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Dialog programming contains objects that are linked to the main program<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">ABAP links these objects to each other in a hierarchical manner and executes them sequentially<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The ABAP workbench contains tools to develop dialogs in programming<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The main constituents of dialog programs are as follows &#8211;\u00a0<\/span>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Screens<\/strong>: These are the various windows we see in a program<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Menus<\/strong>: These are elements that provide options for navigation or selection<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Module pools<\/strong>: They are modularization techniques having a collection of screens, flow logic, menu bars<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Subroutines<\/strong>: These are modularisation techniques that comprise chunks of code that we can reuse<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Transactions<\/strong>: These are actions performed to and from a source<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<h3>Components of SAP ABAP Dialog Programming<\/h3>\n<h4>1. T-code<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">T-codes are transaction codes<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The repository browser creates t-code and stores them in ABAP workbench<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We can also use t-code SE93 to create them<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The transaction codes help with the initialisation of screens or programs in ABAP<\/span><\/li>\n<\/ul>\n<h4>2. Screens<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">All programs in ABAP are made up of screens that are related or connected to each other in some way<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We can create a screen using t-code SE51<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We can also use Screen Painter from ABAP Workbench to create screens<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The layout or design of screen determines where the input\/output and other elements are placed on the screen and how it will appear to the user<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The screen also decides the logic and steps to follow for processing<\/span><\/li>\n<\/ul>\n<h4>3. GUI Status<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">GUI stands for Graphical User Interface, the display that we see on screen<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The GUI status controls the various toolbars available &#8211; menu, standard, application, etc.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We can create GUI status using the Menu Painter from ABAP Workbench<\/span><\/li>\n<\/ul>\n<h4>4. ABAP Program<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The ABAP program contains dialog modules<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It basically links the screen, GUI status, screen flow logic, etc. into one integrated unit<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The dialog modules process user input and thus help the GUI status with its function as well<\/span><\/li>\n<\/ul>\n<h4>5. Screen Flow Logic<\/h4>\n<p><span style=\"font-weight: 400;\">The screen flow logic consists of several events, which are as follows:<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>a. Process Before Output (PBO):<\/strong> Here the event we have is processed before the program displays the screen<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>b. Process After Input (PAI):<\/strong> where the event we have is processed after the user performs some action on the screen<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>c. Process On Help request (POH):<\/strong> where the event we have is processed after user presses key \u2018F1\u2019<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>d. Process On Value request (POV):<\/strong> where the event we have is processed after user presses key \u2018F4\u2019<\/span><\/p>\n<h4>6. Dynpro<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A Web Dynpro is a dynamic program<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It combines the flow logic with the screen<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It is part of dialog program execution<\/span><\/li>\n<\/ul>\n<h4>7. Module Pool<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A module pool is a pool or group of all above components<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It also includes the dialog programs<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Module pool is what ties up the loose ends and brings the dialog programming together<\/span><\/li>\n<\/ul>\n<h4>8. Toolset<\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We must link all objects in dialog programming to the main program<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">This will make navigation easier, and moving from one object to another seamless<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Here are the components with the tools and transactions they need &#8211; <\/span><\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td><b>TOOL<\/b><\/td>\n<td><b>COMPONENT<\/b><\/td>\n<td><b>TRANSACTION<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Object Browser<\/span><\/td>\n<td><span style=\"font-weight: 400;\">All<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SE80<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Screen Painter<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Screen<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SE51<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">ABAP\/4 Editor<\/span><\/td>\n<td><span style=\"font-weight: 400;\">ABAP\/4 Module Pool<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SE38<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Menu Painter<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Menu<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SE41<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Maintain Transaction<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Transaction (txn)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SE93<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">ABAP\/4 Dictionary<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Dictionary object<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SE11<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Creating &amp; Executing Dialog Programs in ABAP<\/h3>\n<p><span style=\"font-weight: 400;\">1. Go to SAP system<\/span><\/p>\n<p><span style=\"font-weight: 400;\">2. Choose transaction code SE80<\/span><\/p>\n<p><span style=\"font-weight: 400;\">3. Click on \u2018Program\u2019 from the dropdown menu<\/span><\/p>\n<p><span style=\"font-weight: 400;\">4. Input name for the program &#8211; e.g. \u2018ZDATAFLAIR_SCREEN\u2019<\/span><\/p>\n<p><span style=\"font-weight: 400;\">5. Select from popup, option \u2018With TOP INCL\u2019<\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-92996\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2.png\" alt=\"Dialog Programming in ABAP\" width=\"974\" height=\"502\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2.png 974w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2-300x155.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2-150x77.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2-768x396.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2-720x371.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2-520x268.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image2-320x165.png 320w\" sizes=\"auto, (max-width: 974px) 100vw, 974px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">6. Select the \u2018Yes\u2019 button<\/span><\/p>\n<p><span style=\"font-weight: 400;\">7. Input a name for the top and check the radio button<\/span><\/p>\n<p><span style=\"font-weight: 400;\">8. Enter a title and click on \u2018Save\u2019<\/span><\/p>\n<p><span style=\"font-weight: 400;\">9. Add a screen by going to Create \u2192 Screen<\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-92997\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3.png\" alt=\"SAP ABAP Dialog Programming\" width=\"558\" height=\"362\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3.png 558w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3-300x195.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3-150x97.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3-520x337.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/image3-320x208.png 320w\" sizes=\"auto, (max-width: 558px) 100vw, 558px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">10. Enter name for the screen and a title for the attribute \u2192 Hit \u2018Save\u2019 again<\/span><\/p>\n<p><span style=\"font-weight: 400;\">11. Input a screen number e.g. \u20180211\u2019 and move ahead<\/span><\/p>\n<p><span style=\"font-weight: 400;\">12. In the Text screen, add text e.g. \u2018Hello World\u2019<\/span><\/p>\n<p><span style=\"font-weight: 400;\">13. Hit \u2018Save\u2019 and activate screen (Ctrl+F2, Ctrl+F3)<\/span><\/p>\n<h3>Difference between Report and Dialog Programming in SAP ABAP<\/h3>\n<table>\n<tbody>\n<tr>\n<td><b>REPORT PROGRAM<\/b><\/td>\n<td><b>DIALOG PROGRAM<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">The relationship between report and database is only one-way<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The relationship between dialog and database is two ways<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">The report reads and analyses the data<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Dialog works interactively with screen<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Report does not change the content of the database<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Dialog programs can change the contents of the database<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Summary<\/h3>\n<p><span style=\"font-weight: 400;\">Thus, in this tutorial, we learnt about SAP ABAP report and dialog programming. They are additional features that form ABAP language\u2019s base, and can be used within selection screens and other elements for user input and reading from the database.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we\u2019ll be learning about two elements of SAP ABAP report programming and dialog programming. They are fundamental features in ABAP selection screens, and we will learn how they are used and&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":92994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23786],"tags":[24096,24097],"class_list":["post-92395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sap-abap","tag-sap-abap-dialog-programming","tag-sap-abap-report-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SAP ABAP Dialog Programming | SAP ABAP Report Programming - DataFlair<\/title>\n<meta name=\"description\" content=\"Learn about SAP ABAP Dialog Programming and SAP ABAP Report programming with their features, examples and differences.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SAP ABAP Dialog Programming | SAP ABAP Report Programming - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Learn about SAP ABAP Dialog Programming and SAP ABAP Report programming with their features, examples and differences.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-15T03:30:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/ABAP-Report-or-Dialog-Programming.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SAP ABAP Dialog Programming | SAP ABAP Report Programming - DataFlair","description":"Learn about SAP ABAP Dialog Programming and SAP ABAP Report programming with their features, examples and differences.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/","og_locale":"en_US","og_type":"article","og_title":"SAP ABAP Dialog Programming | SAP ABAP Report Programming - DataFlair","og_description":"Learn about SAP ABAP Dialog Programming and SAP ABAP Report programming with their features, examples and differences.","og_url":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2021-05-15T03:30:12+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/ABAP-Report-or-Dialog-Programming.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"SAP ABAP Dialog Programming | SAP ABAP Report Programming","datePublished":"2021-05-15T03:30:12+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/"},"wordCount":1048,"commentCount":1,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/ABAP-Report-or-Dialog-Programming.jpg","keywords":["SAP ABAP Dialog Programming","SAP ABAP Report Programming"],"articleSection":["SAP ABAP Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/","url":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/","name":"SAP ABAP Dialog Programming | SAP ABAP Report Programming - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/ABAP-Report-or-Dialog-Programming.jpg","datePublished":"2021-05-15T03:30:12+00:00","description":"Learn about SAP ABAP Dialog Programming and SAP ABAP Report programming with their features, examples and differences.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/ABAP-Report-or-Dialog-Programming.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/04\/ABAP-Report-or-Dialog-Programming.jpg","width":1200,"height":628,"caption":"SAP ABAP Report and Dialog Programming"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/sap-abap-dialog-report-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"SAP ABAP Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/sap-abap\/"},{"@type":"ListItem","position":3,"name":"SAP ABAP Dialog Programming | SAP ABAP Report Programming"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/92395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=92395"}],"version-history":[{"count":3,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/92395\/revisions"}],"predecessor-version":[{"id":92999,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/92395\/revisions\/92999"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/92994"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=92395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=92395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=92395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}