SAP ABAP Questons and Answers for Interview

Here is a simple list of sap abap programming questions with answers.
1. WHAT IS MEANT BY CLIENT?
In commercial, organizational and technical terms, self-contained units in an R/3 System with separate master records and its own set of tables.

2 .WHAT IS MEANT BY SYSTEM-FIELD? GIVE SOME EXAMPLES?


System-defined data object.All system fields conform to the naming convention SY-, where denotes the field.You can display a list of system fields in the ABAP Editor.
Examples:
  • SY-SUBRC - return code
  • SY-UNAME - user name
  • SY-DATUM - current date
  • SY-UZEIT - current time
  • SY-TCODE - current transaction
3. WHAT IS A DOMAIN?


Object that describes the technical attributes of a field such as its data type and length.A domain defines a value range containing the valid values for fields that refer to that domain.You can group fields that have similar technical or business purposes together under a single domain. All fields based on a domain are automatically updated when you change the domain. This guarantees the consistency of the fields.

4. WHAT IS A DATA ELEMENT?



Object that describes the data type and semantic meaning of a table or structure field.Fields with the same purpose should have the same underlying data element.Data elements are like types, so you can address them in ABAP programs using the TYPE statement. This allows you to define elementary types that have the type attributes (one of the ABAP Dictionary data types, field length, and, where appropriate, number of decimal places) of a data element.

5. WHAT IS A DELIVERY CLASS?

Object that describes the data type and semantic meaning of a table or structure field.Fields with the same purpose should have the same underlying data element.Data elements are like types, so you can address them in ABAP programs using the TYPE statement. This allows you to define elementary types that have the type attributes (one of the ABAP Dictionary data types, field length, and, where appropriate, number of decimal places) of a data element.

6. WHAT IS A DATA CLASS?

The data class determines the physical area of the database (tablespace) in which the table is created.You set the data class in the technical settings for the table.

7. WHAT IS THE DIFFERENCE BETWEEN CHECK TABLE AND VALUE TABLE?
 
CHECK TABLE:
A foreign key links two tables T1 and T2 by assigning fields of table T1 to the primary key fields of table T2.Table T2 is then known as the check table of the foreign key.
VALUE TABLE:
Sometimes when you define a domain, you already know that all fields that use the domain will need to be checked against a particular table. You can store this information in the domain definition by specifying a value table.If you try to define a foreign key for a field that points to this domain, the value table of the domain is proposed as the check table for the foreing key.

8. WHAT IS A VIEW AND EXPLAIN THE TYPES OF VIEWS?
 
VIEW:

It is an imaginary table that maintains data at runtime. It can also be defined as the skeleton of the table.

Types of Views:

Database view:

View type in ABAP Dictionary.Database views are defined in the ABAP Dictionary and automatically created in the underlying database when activated.

Projection View:

View type in the ABAP Dictionary.Projection views allow you to suppress fields from a table.

Help View:

View type in the ABAP Dictionary.Help views are used for F4 help. Their function has changed fundamentally since Release 4.0.From Release 4.0, you only need to create a help view if you need a view with an outer join as the search method for a search help.Before Release 4.0, help views were automatically displayed in the F4 help for all fields that were checked against the first table (primary table) of the help view. This is no longer the case in Release 4.0.

Maintenance View:

View type in ABAP Dictionary.You can use a maintenance view to maintain data, which is distributed over several tables, at the same time. 

9. WHAT IS MEANT BY BUFFERING?
 
You can keep the table data in the buffer of the application server after the first access. If you do so, you can read the data from main memory next time it is accessed, saving a further database access.

10. WHAT ARE THE DIFFERENCES BETWEEN CLUSTER TABLES AND POOLED TABLES?


Cluster tables:
Table type in the ABAP Dictionary.
The data of several cluster tables is stored together in a single table cluster in the database. A cluster table is thus known only in the ABAP Dictionary, not in the database.


Pooled tables:

 
Table type in the ABAP Dictionary.The data of several pooled tables are stored together as a table pool in the database. Therefore, a pooled table is known in the ABAP Dictionary, but not in the database.

11. GIVE THE DIFFERENCES BETWEEN CHECK AND EXIT?

CHECK:
Standard function in R/3.You use this function to check an object.If you use the CHECK statement within an event block but not within a loop, and the condition is not fulfilled, the system exits the processing block immediately.can be any logical expression or the name of a selection table. If you specify a selection table and the contents of the corresponding table work are do not fulfill the condition in the selection table, it is the same as a false logical expression. 

EXIT:
Standard function in R/3.You use this function to leave the current task or application area. If data may be lost, the system prompts you to save.

12. WHAT ARE THE DIFFERENCES NETWEEN STOP AND EXIT?

STOP:
If you use the STOP statement within an event block, the system stops processing the block immediately.
EXIT:
Standard function in R/3.You use this function to leave the current task or application area. If data may be lost, the system prompts you to save.

13. WHAT IS THE DIFFERENCE BETWEEN ABAP MEMORY AND SAP MEMORY?

ABAP MEMORY:
 
Area of memory assigned to a particular transaction and any modules called from there.ABAP memory does not depend on the ABAP program that generates it during a transaction. This means that any object stored there can be read by any ABAP program during the same transaction.In contrast to ABAP memory, which exists only for the life of one transaction, there is also global SAP memory, which extends beyond transaction limits.
SAP MEMORY:
Global, user-related memory that extends beyond transaction limits.
Access to the SAP memory is via SPA/GPA parameters.
14. WHAT IS AN INTERNAL TABLE? EXPLAIN THE DIFFERENT TYPES?
INTERNAL TABLE:
Data structure that exists only at program runtime.
Internal tables are one of two structured data types in ABAP. They can contain any number of identically structured rows, with or without a header line.The header line is similar to a structure and serves as the work area of the internal table. The data type of individual rows can be either elementary or structured.Internal tables provide a means of taking data from a fixed structure and storing it in working memory in ABAP.
The data is stored line by line in memory, and each line has the same structure. In ABAP, internal tables fulfill the function of arrays. Since they are dynamic data objects, they save the programmer the task of dynamic memory management in his or her programs.You should use internal tables whenever you want to process a dataset with a fixed structure within a program. A particularly important use for internal tables is for storing and formatting data from a database table within a program. They are also a good way of including very complicated data structures in an ABAP program.
Like all elements in the ABAP type concept, internal tables can exist both as data types and as data objects.A data type is the abstract description of an internal table, either in a program or centrally in the ABAP Dictionary, that you use to create a concrete data object. The data type is also an attribute of an existing data object. 
TYPES OF INTERNAL TABLES:
 
HASHED TABLE:
This is the most appropriate type for any table where the main operation is key access. You cannot access a hashed table using its index.
The response time for key access remains constant, regardless of the number of table entries. Like database tables, hashed tables always have a unique key. Hashed tables are useful if you want to construct and use an internal table which resembles a database table or for processing large amounts of data.
 
Hashed tables have no linear index.
You can only access a hashed table using its key. The response time is independent of the number of table entries, and is constant, since the system access the table entries using a hash algorithm. The key of a hashed table must be unique. When you define the table, you must specify the key as UNIQUE.

INDEX TABLE:

The operations listed below are only permitted for index tables (sorted and standard tables). Some of them are restricted to standard tables.Since it is quicker to access a table by index than by key, you should always use specific index operations when you know that a particular internal table is an index table.In particular, the quickest way to fill a table line by line is to append lines to a standard table, since a standard table cannot have a unique key and therefore appends the lines without having to check the existing lines in the table.
If you can either accommodate duplicate entries in a table, or exclude them in a different way, it can be quicker to fill a standard table and then sort it or assign it to a sorted table if the data does not have to be inserted into the table in the correct sort sequence.Furthermore, the performance of operations that change the internal linear index has been improved in Release 4.5A. Previously, index manipulation costs for inserting and deleting liens in standard tables and sorted tables increased in linear relation to the number of lines.
From Release 4.5A, the index manipulation costs only increase logarithmically with the number of lines, since the table indexes are now maintained as a tree structure. This makes insertion and deletion operations efficient, even in very large standard and sorted tables.
 
Sorted tables

This is the most appropriate type if you need a table which is sorted as you fill it. You fill sorted tables using the INSERT statement.Entries are inserted according to the sort sequence defined through the table key. Any illegal entries are recognized as soon as you try to add them to the table.
The response time for key access is logarithmically proportional to the number of table entries, since the system always uses a binary search. Sorted tables are particularly useful for partially sequential processing in a LOOP if you specify the beginning of the table key in the WHERE condition.

3 comments :