SAP ABAP






ABAP General Interview Questions:


Below are very important top SAP ABAP interview questions with Answers:

Q1:How can data classes be described?
A1: One data class is the master data which is hard to modify, then we have the organization data which is rarely modified and is introduced into the system at its configuration, the transaction data which is modified very often and the system data which is needed by the R/3 system.

Q2: What is the meaning of a domain and a data element?
A2: The main object that contains the technical properties that a business object attribute has is called a domain, it contains the field value range. The semantic definition of a table or the way in which the field is shown to an end-user is called a data element.
Q3: What is the significance of BDC programming?
A3: When we move large, legacy or external data in the SAP system with the aid of Batch Input programming we talk about BDC or Batch Data Communications, batch input is the automatic operation which implies BDC. The queue file that is moved receives data through batch input programs and the data is arranged in “sessions”.

Q4:What is the meaning of ABAP data dictionary?
A4: In the application developmentthe logical object structure is pictured by ABAP4, the data dictionary which is alsodisplaying the way in which these objects are mapped to the relational database (views or tables).

Q5: What is the meaning of a foreign key relationship?
A5: A foreign key relationship means that a relationship has to be defined at the field level in an explicit way and also it is possible to define it between tables. These keys are meant to make the data consistent, we have to check the data we insert to make sure there are no conflicts between the data inserted and the data that already exists. We have to specify cardinality, which is a foreign key relationship and it talks about the number of dependent records and the details about referenced records.

Q6: How do we describe indexes?
A6: The database copy that can be lowered to particular fields is the description of indexes, it is found in a sorted form. The sorted form gives us easy and rapid table field permission.For other fields to be read as well the index includes a reference to the record of the table, the index is started once with the table automatically in the database.

Q7: What is the meaning of ITS and what merits does it have?
A7: ITS or Internet Transaction Server is an interface linking the R/3 system to a HTTP server that transforms the data from the screen in HTML documents and back. One of the merits of the Internet Transaction Server is that it can make an entire web transaction along with its verification in the R/3 system. The parts of the transaction, even the ones from outside the runtime of the R/3 system can be deployed inside R/3. So at runtime the HTML documents that are language dependent can use the automatic language processing of the R/3 system.

Q8: What parts do we find in the SAP scripts?
A8: Being a SAP writing utility, SAP scripts can be described as having several parts:
a) The standard text- the usual writing for documents.
b) The layout sets- they are split in pages, windows, paragraph formats and character formats.

Q9: In what ways are the pooled tables different from the transparent tables?
A9:  The pooled tables a multiple to single connection with the database table, which has other name than the one in the dictionary. They are deployed in the database level in the table pool. The transparent tables have a single to single connection type with the database table, a construction type that is correspondent to one database field. In this case the name of the database table is just as the one in the dictionary.

Q10: What events do we know in ABAP/4?
A10: The known events in ABAP/4 are: Initialization then the At selection screen, the Start of selection and the End of selection, the top and end of page, At line selection, At user command, At PF, At New, At Last, At End and At First.

Q11: What is the meaning of logical databases and what disadvantages and advantages do they have?
A11: Logical databases are the used for reading the data from database tables and they can attribute the read-only access feature to a set of tables from the ABAP/4 application. The disadvantages of the logical databases are:
a)      When we don’t use the logical data base specification in the attributes of a program then the GET event will not happen.
b)      The ENDGET command doesn’t exist and the block of code corresponding to the event will finish with the following event statement which can be a different GET event or END-OF-SELECTION.
The advantages of logical databases are:
a)      There are functions that verify if the user input is complete, plausible and correct.
b)      The selection data is meaningful.
c)      The central authorization is looking for access in the database.
d)     The hierarchical data view is dependent of the application logic and it is maintained along with nice performance regarding data reading.

Q12: What is the significance of Smart Forms?
A12: With the aid of Smart Forms we can make forms with a graphical design utility that has a good functionality and color scheme. The new forms that are made at SAP are made using this tool, Smart Form.

Q13: What separates independent data from dependent data?
A13: The transfer requirements of the client can be independent or dependent and they can contain particular or cross client objects when changes is made. For example the SAP scripts objects are particular to the client but many of the customizing entries are independent from the client. When one change request is made and we have the list of objects and the attribute for every object then we can see the flag client specific. If the flag is up for one of  the objects this will mean that the transport is client dependent.

SAP frequently Interview Questions

Q14: What is the meaning of the ABAP/4 Query?
A14: If we want to create easy reports with no coding involved we can use a very nice utility named ABAP/4 Query. With this useful tool 3 easy reports can be created:
a)      The basic list which is the most simple.
b)      The Statistics which use functions such as Percentages or Average.
c)      The ranked lists which are good for analytical reports.
For making an ABAP/4 Query the coder must make a functional group and a user group, the functional group creation can be based on a logical database table or not. In the end the user group will be assigned to a functional group and a query will be created based on the functional group.

Q15: What functional modules do we use in the sequence of the BDC?
A15: To make a successful data transfer with the aid of BDC we have three functional modules that we use in sequence:
a)      BDC_OPEN_GROUP- which includes as parameters the client name, the user name and the sessions.
b)      BDC_INSERT-introduces data of a single transaction in a session.
c)      BDC_CLOSE_GROUP-with this one we can shut the batch input session.

Q16: What is the role of internal tables?
A16: These tables are seen only when a program is executed, they are standard data type objects and they allow us to make table calculations and to re-arrange the database tables content in the desired way by the user.

Q17: In what way can we make data uploads with the aid of CATT?
A17: For making data uploads using CATT we have to make pass through the following phases: A CATT test case has to be made then the sample data input has to be recorded, the source file template must be downloaded and then modified. In the end the uploading of the data must be made from the source file.

Q18: What is the meaning of DynPro?
A18: The Dynamic Programming that brings together the screen and the corresponding flow logic screen is named DynPRo.

Q19: Why macro and subroutine are different?
A19: The macros are used strictly utilized in the program where their definition was made while the subroutines or forms may be invoked not only by the programs where they were defined but also from other different programs. Actually forms are local subroutines which means that they can be invoked externally. Macros are short forms of some code parts and they can be utilized multiple times. Functions can be subroutines if they are externally invoked. Macros can’t be debugged so we should prevent them from being utilized. As a conclusion if we have a local (or internal) subroutine we will use forms and if we have an externally invoked subroutine, used by multiple programs we will use functions.

Q20: How are screen painter and menu painter different?
A20: With the aid of the screen painter we can modify, design and keep the elements of the screen, we can generate GUI screens that we use for transactions. The elements of the screen painter are the layout, the attributes, the flow logic and the filled attributes. With the aid of the menu painter we can make designs of the interface parts like menu bars, lists, statuses, titles , these are the elements of the menu painter. They are different but they are also both parts of the ABAP/4 graphical interface.

Q21: What significance has ALV programming has as an ABAP grid and when is it utilized?
A21: ALV means Application List Viewer, there is group of AVL function modules in SAP, they may be used for making a report output look better. By looking better the report output will become more readable and functional. ALV is very useful and valuable in some cases when the report output has columns with over 255 characters, ALV will re-arrange the columns in a dynamical way. A report output can have a maximum of ninety columns in the screen and a lot of screen options.

Q22: What is the meaning of CTS and how can we describe it?
A22: CTS means Change and Transport System and it is a utility which is meant for arranging projects in development from the ABAP Workbench, also it is good for modifying and carrying the modifications from the SAP Systems to the clients and back in the system landscape.

Q23: How do we describe a batch input session?
A23: The Intermediate phase from internal table to the database table is named a batch input session. The data is deposited together with the action, for example the data from the screen fields, the name of the program corresponded to it and the mode in which the future screen will be processed.


24. What is ur development clint number ??
A.never say 800(bze its training clint number)
development clint number not start with 8 or 0.
It start with 100,200,220,etc



ABAP real time interview questions


Dear Abapers, try to answer the below questions and help your fellow Abapers. Let us make it a discussion point by asking other Abap real time questions here.
1. Which client number you use for the current
project?
2. You are running a report. It is taking long time for
execution. What steps will you do to reduce the
execution time.
3. After running a BDC program in background, next
day morning when you see the results, few records
are not updated(error records). What will you do
then?
4. You are given functional specs for a BDC program
and you need to decide whether to write a method
call transaction or a session. How u will decide?
5. What is the difference between report and script?
6. what are the differences between scripts & smart
forms?
7. what are enhancements?
8. what are user-exits?
9. what is badi?
10. what is the difference between user-exit & BADIs?
11. what is the difference between user-exit &
customer-exit?
12. how do you get functional specs  when you are
assigned some object? (specs through email..??)
13. How do you write technical specs?
14. How do you write UTP?(unit test plan)
http://sapabapbasis4u.blogspot.in/2009/03/data-types-and-data-object-xx.html


Dialog Programming Locate the document in its SAP Library structure

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.
This graphic is explained in the accompanying text

Dispatching Dialog Steps

The number of users logged onto an ABAP application server is often many times greater than the number of available work processes. Furthermore, it is not restricted by the SAP NW AS ABAP architecture. Furthermore, each user can run several applications at once. The dispatcher has the important task of distributing all dialog steps among the work processes on the ABAP application server.
The following example shows how this might happen:
This graphic is explained in the accompanying text
       1.      The dispatcher receives the request to execute a dialog step from user 1 and directs it to work process 1, which happens to be free. The work process addresses the context of the application program (in shared memory) and executes the dialog step. It then becomes free again.
       2.      The dispatcher receives the request to execute a dialog step from user 2 and directs it to work process 1, which is now free again. The work process executes the dialog step as in step 1.
       3.      While work process 1 is still working, the dispatcher receives a further request from user 1 and directs it to work process 2, which is free.
       4.      After work processes 1 and 2 have finished processing their dialog steps, the dispatcher receives another request from user 1 and directs it to work process 1, which is free again.
       5.      While work process 1 is still working, the dispatcher receives a further request from user 2 and directs it to work process 2, which is free.
From this example, we can see that:
·        A dialog step from a program is assigned to a single work process for execution.
·        The individual dialog steps of a program can be executed on different work processes, and the program context must be addressed for each new work process.
·        A work process can execute dialog steps of different programs from different users.
The example does not show that the dispatcher tries to distribute the requests to the work processes such that the same work process is used as often as possible for the successive dialog steps in an application. This is useful, since it saves the program context having to be addressed each time a dialog step is executed.

Dispatching and the Programming Model

As already mentioned (see Database Connection section), a work process can only make database changes within a single database logical unit of work (LUW). The contents of the database must be consistent at its beginning and end. The end of such an inseparable sequence of database operations is defined by a commit command to the database system (database commit). During a database LUW, that is, between two database commits, the database system itself ensures consistency within the database. In other words, it takes over tasks such as locking database entries while they are being edited, or restoring the old data (rollback) if a step terminates in an error.
A typical SAP application program extends over several screens and the corresponding dialog steps. The user requests database changes on the individual screens that should lead to the database being consistent once the screens have all been processed. However, the individual dialog steps run on different work processes, and a single work process can process dialog steps from other applications. It is clear that two or more independent applications whose dialog steps happen to be processed on the same work process cannot be allowed to work with the same database LUW.
Consequently, a work process must open a separate database LUW for each dialog step. The work process sends a commit command (database commit) to the database at the end of each dialog step in which it makes database changes. These commit commands are called implicit database commits, since they are not explicitly written into the application program.
These implicit database commits mean that a database LUW can be kept open for a maximum of one dialog step. This leads to a considerable reduction in database load, serialization, and deadlocks, and enables a large number of users to use the same system.
This graphic is explained in the accompanying text
However, the question now arises of how this method (1 dialog step = 1 database LUW) can be reconciled with the demand to make commits and rollbacks dependent on the logical flow of the application program instead of the technical distribution of dialog steps. Database update requests that depend on one another form logical units in the program that extend over more than one dialog step. The database changes associated with these logical units must be executed together and must also be able to be undone together.
The SAP programming model contains a series of bundling techniques that allow you to group database updates together in logical units. The section of an ABAP application program that bundles a set of logically-associated database operations is called an SAP LUW. Unlike a database LUW, a SAP LUW includes all of the dialog steps in a logical unit, including the database update.



End of Content Area

No comments:

Post a Comment