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

Differences between ABAP Programming and Dialog Programming

Former Member
0 Likes
1,907

Can any one explain me the Differences between ABAP Programming and Dialog Programming

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,568

Hi

ABAP Programs are only extracting data and display purpose only.

Whereas Dailog programs are displaying data as well as updating the data in database also.

We can update data using abap programs also but it does'nt ensure that data integrity. There is no validation here.

Where as in dailog program validations can be done by using primary and foreign keys.

Reward me if useful.

8 REPLIES 8
Read only

Former Member
0 Likes
1,568

Hi,

Report Programming is used to give you a list as output. But dialog programming allows you to modify screen output based on use actions.

The following is a good document on this regard.

http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb2d5a358411d1829f0000e829fbfe/frameset.htm

http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb2d81358411d1829f0000e829fbfe/frameset.htm

regards,

Renjith Michael.

Edited by: Renjith Michael on Jan 29, 2008 9:58 AM

Read only

Former Member
0 Likes
1,569

Hi

ABAP Programs are only extracting data and display purpose only.

Whereas Dailog programs are displaying data as well as updating the data in database also.

We can update data using abap programs also but it does'nt ensure that data integrity. There is no validation here.

Where as in dailog program validations can be done by using primary and foreign keys.

Reward me if useful.

Read only

Former Member
0 Likes
1,568

Hi Steve,

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 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.

Read only

Former Member
0 Likes
1,568

Hi,

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.

Regards,

Priyanka.

Read only

Former Member
0 Likes
1,568

Hi,

using reports

we can dispaly the data

insert and modify the data

is a excecutable program

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

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

Dialog is a module pool program.

It has to be executed via a transaction only.

Dialog programming is used for customization ofscreens

we can create our own screens and transactions

we can't execute directly this

they can be used for data extraction and manipulation (can perform DML operations)

it consists of n number of screens

with regards,

sowjanya.gosala

Read only

Former Member
0 Likes
1,568

Steve,

Check below links,

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.

Don't forget to reward if useful...

Read only

Former Member
0 Likes
1,568

hi,

the main difference is that dialog programs are run only through transaction codes.

Dialog programming is used for customization ofscreens

reward if useful..

Read only

Former Member
0 Likes
1,568

Hi,

ABAP PROGRAMING:

An ABAP program consists of individual ABAP statements. Each statement begins with a keyword and ends with a period.

PROGRAM FIRST_PROGRAM.

WRITE 'My First Program'.

This example contains two statements, one on each line. The keywords are PROGRAM and WRITE. The program displays a list on the screen. In this case, the list consists of the line "My First Program".

The keyword determines the category of the statement. For an overview of the different categories, refer to ABAP Statements.

You can execute different parts of programs conditionally or in loops using the standard keywords IF, CASE, DO, and WHILE.

When controlling the flow of an ABAP program, remember that the structure of the program is made up of processing blocks that cannot be nested. This section describes how to control the flow of a program within a processing block. The keywords covered here do not allow you to branch outside the processing block in which you use them. You can regard this as internal control of an ABAP program, as opposed to the external control provided by events in the ABAP runtime environment.

To control the internal flow of a processing block, you can use control structures to divide it up into smaller statement blocks according to the principles of structured programming.

DIALOG PROGRAMING:

This is a classical programming method that is based on dynpros and dialog transactions.

Classic Application Programming

Separating the application layer from the presentation layer means that when you run an ABAP application program requiring user interaction, control of the program is continually passed backwards and forwards between these layers. While a screen is ready for input, the corresponding SAP GUI of the presentation layer is active. During this time, the application layer is not active for the application program. Therefore, the ABAP application servers are free for other tasks. Once the user has entered data on the screen, program control passes back to the application layer. Now, the presentation layer is inactive. The SAP GUI is still visible to the user during this time, and it is still displaying the screen, but it cannot accept user input. The SAP GUI does not become active again until the application program has called a new screen and sent it to the presentation server.

Consequently, if you use this method, you need to divide dialog programs into single dialog steps, with each of these steps comprising the programming logic between two successive screens.

REGARDS,

VASAVI.

KINDLY REWARD IF HELPFUL.