Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Difference between dialog and report programming

Former Member
0 Likes
3,530

Hi all,

What is the difference between Dialog and report programming. Please give me information in detail.

Regards,

Vishnu

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,049

Hi Vishnu,

Here is a clear difference between the two programmings.

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.

Dialog-driven programs, or any program started using a transaction code, are known as SAP transactions, or just transactions. The term "transaction" is used in several different contexts in the IT world. In OLTP (Online Transaction Processing), where several users are working in one system in dialog mode, the term "transaction" stands for a user request. In conjunction with database updates, it means a change in state in the database.

Programs with type M can only be started using a transaction code, in which an initial screen is defined. Programs with type 1 can be started either using a transaction code, or by entering the program name in one of the transactions SE38 or SA38. Screens call dialog modules in the associated ABAP program from their flow logic. Type M programs serve principally as containers for dialog modules, and are therefore known as module pools. Type 1 programs, or function modules can also switch to dialog mode by calling screens using the CALL SCREEN statement. The program code of the corresponding executable program or function pool must then contain the corresponding dialog modules.

Programs that are partially or wholly dialog-driven cannot be executed in the background. They are therefore sometimes referred to as dialog programs.

Reward if useful.

Thankyou,

Regards.

7 REPLIES 7
Read only

Former Member
0 Likes
2,049

hi

Here is that difference

Report Programs:

1. Reports are stand alone programs.

2. We use reports to read data base tables & represent results in Lists

3. Reports are collection of processing blocks, controlled by System calls depending on events.

4. Reports can use LDBs or SELECT STATEMENTS

defined by DEVELOPER.

5.Reports can call Dialogue programs and vice versa.

Dialog Programming

1.Dialogue programs are not stand alone programs. (we

have to link the dialogue programs to at least one or

more SCREENS & TRANSACTION CODES)

2. We use Dialogue Programs to read & change

Database tables.

3.Dialogue programs are controlled by Screen flow logic.

4.Dialogue program is also called as Module pool program

or TRANSACTION.

5.These module pools are separated in to PBO and PAI

events.

Hope this helps.

Reward if useful

regards

Read only

former_member188829
Active Contributor
0 Likes
2,049

Hi,

Check this thread..

Read only

Former Member
0 Likes
2,049

Hi vishnu,

1. normally report programming involves

a) writing code for selection screen

b) fetching data using select queries

c) showing report output using write statements or alv report

2. Where as dialog programming (also called as module pool)

involves

a) designing the screen using screen painter

(and not thru abap code)

b) implementing functionality of fetching data,

and allowing to display, add, edit data.

The above is a general kind of information.

regards,

amit m.

Read only

Former Member
0 Likes
2,050

Hi Vishnu,

Here is a clear difference between the two programmings.

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.

Dialog-driven programs, or any program started using a transaction code, are known as SAP transactions, or just transactions. The term "transaction" is used in several different contexts in the IT world. In OLTP (Online Transaction Processing), where several users are working in one system in dialog mode, the term "transaction" stands for a user request. In conjunction with database updates, it means a change in state in the database.

Programs with type M can only be started using a transaction code, in which an initial screen is defined. Programs with type 1 can be started either using a transaction code, or by entering the program name in one of the transactions SE38 or SA38. Screens call dialog modules in the associated ABAP program from their flow logic. Type M programs serve principally as containers for dialog modules, and are therefore known as module pools. Type 1 programs, or function modules can also switch to dialog mode by calling screens using the CALL SCREEN statement. The program code of the corresponding executable program or function pool must then contain the corresponding dialog modules.

Programs that are partially or wholly dialog-driven cannot be executed in the background. They are therefore sometimes referred to as dialog programs.

Reward if useful.

Thankyou,

Regards.

Read only

Former Member
0 Likes
2,049

Hi Vishnu,

Types of ABAP/4 Programs

Report Programming

Dialog Programming

Report Programming-----

1. Report Programs are used to display large amounts of data

2. Used when data from a number of tables have to be selected and processed before presenting

3. Used when reports have to have a special format

4. Used when the report has to be downloaded from SAP to an Excel sheet to be distributed across.

5. Used when the report has to be mailed to a particular person.

6. Report Programs are always Executable Programs. Program Type is always 1.

7. Every Report program corresponds to a particular Application Type i.e. either with Sales & Distribution, FI – CO etc. It can also be Cross

Application i.e. type ‘*’.

8.Report Programming is an Event-driven programming.

Dialog Programming----

1. If your ABAP program requires a user dialog then dialog programming is required.

2. A user dialog is any form of interaction between the user and the program :

Entering data

Choosing a menu item

Clicking a button

Clicking or double clicking an entry

3. It is also used when we need to navigate back and forth between screens

4. Programs which are partially or wholly user dialog driven CAN NOT BE EXECUTED IN BACKGROUND. 5. They are therefore referred to as Dialog programs.

6. Dialog programming skills are useful for developing bolt on functionality and for performing enhancements in standard R/3 applications.

7. Dialog programs are created with type as ‘M’ – Module Pool. They cannot be executed independently and must be attached to at least one transaction code in which you specify an initial screen.

8. Most of Business applications now a days require manual input of data that must be available at a later time.

9. A dialog program allows you to work interactively with the system and to change the contents of the database tables. Each dialog program has a certain sequence of screens that are processed by the system one after the other.

From the view of a user, a dialog step consists of receiving a screen for entering data, then after the users clicks a button or selects a menu entry, processing is started. From the view of the SAP system, the screen is prepared and sent. After this, the user receives it and fills it out. Then the system analyzes and processes the data contained on the screen after receiving it from the user.

10. A dialog program offer:

a user-friendly user interface

format and consistency checks for the data entered by the user

easy correction of input errors

access to data by storing it in the database.

11.ABAP/4 offers a variety of tools and language elements to meet the requirements for creating and running dialog programs.

reward if useful

thanks and regards

suma sailaja pvn

Read only

Former Member
0 Likes
2,049

Report Programs:

1. Executed directly.

2. It fetches datas from Database Table and just giving the output.

Dialaog Programs:

1. Thro Trasaction code only we can execute.

2. Thro dialog program we can enter the datas to Database Table.

- Selvapandian Arunachalam

Read only

Former Member
0 Likes
2,049

Hi Vishnu,

1)

using reports

we can dispaly the data

insert and modify the data

  • its executable program

where as in dialog programming

we can create our own screens and transactions

we can't execute directly this

2)

reports: they can be used only for data extraction(simply we can say output)

it constists of 2 screens 1.selection screen (optional) 2.listoutput

where as in dialog program they can be used for data extraction

and manipulation (can perform DML operations)

it consists of n number of screens

3)

Normal report can be run straight away by executing it and useually has a selection criteria – Attributes : 1 online program

Module pool program cannot be run straight away. It first needs to display a screen – attributes : M module pool program

Edited by: hi friend on Jan 11, 2008 8:07 AM