ABAP Question

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 9

ABAP / 4 INTERVIEW QUESTIONS WITH ANSWERS

1) What is SAP R/3?


Ans      SAP R/3 refers to Systems Application and Product for data processing Real-time having
a 3 tier architecture i.e. Presentation layer, Application layer and Database layer.
2) What are the programming standards followed?
Ans :
3) What are the contents in technical specifications?
Ans      There are five contents in Technical Settings: Data Class, Size Category, Buffering
Permission, Buffering Type and Logging.
4)         What is an instance?
Ans      When you call a function module, an instance of its function group plus its data, is loaded
into the memory area of the internal session. An ABAP program can load several
instances by calling function modules from different function groups.
5)         How to take care of performance in ABAP Development?
6)         What is Function group? Difference between function group and function module?
Ans      Function Groups act as containers for Function Modules that logically belong together.
            Function Groups                                  
1)      These cannot be defined in a Function Module.
2)      It cannot be called.
3)      They are containers for Function Module.
 
Function Modules
 
1)      These must be defined in a Function Group.
2)      It can be called from any program.
3)      They are not containers for Function Group.           
           
7)         What is the difference between 'Select single * ' and 'Select upto 1 rows'?
Ans      'Select single *' – The result of the selection should be a single entry. If it is not possible
to identify a unique entry, the system uses the first line of the selection. For e.g. 
 
            DATA : ITAB TYPE ZREKHA_EMP.
 
            SELECT SINGLE * FROM ZREKHA_EMP INTO ITAB
WHERE EMPNO = '00101' AND DEPTNO = '0010'.
 
            WRITE : / ITAB-EMPNO, ITAB-EMPNAME,ITAB-DEPTNO.
 
            Select upto 1 rows -
           
8)         What Function does data dictionary perform?
Ans      Central information repository for application and system data. The ABAP Dictionary
contains data definitions (metadata) that allow you to describe all of the data structures in
the system (like tables, views, and data types) in one place. This eliminates redundancy.
 9)         Difference between domain and data element? What are aggregate object?
Ans      Domain - Specifies the technical attributes of a data element - its data type, length,
possible values, and appearance on the screen. Each data element has an underlying
domain. A single domain can be the basis for several data elements. Domains are objects
in the ABAP Dictionary.
            Data Element - Describes the business function of a table field. Its technical attributes are
based on a domain, and its business function is described by its field labels and
documentation.
            Aggregate Object – Views, Match Code and Lock objects are called aggregate objects
because they are formed from several related table.
10)       What is view? Different types of view. Explain?
Ans      View - A view is a virtual table containing fields from one or more tables. A virtual table
that does not contain any data, but instead provides an application-oriented view of one
or more ABAP Dictionary tables.
             Different Types of View:
 1)      Maintenance
2)      Database – It is on more than two tables.
3)      Projection – It is only on one table.
4)      Help
 11)       Can u print decimals in type N? What is difference between float and packed
data type?
Ans      No, we cannot print decimals in type N because decimal places are not permitted
with N
data type.
             Float Data Type: It cannot be declared in Parameters.
             Packed Number: It can be declared in Parameters. For e.g.
             PARAMETERS : A(4) TYPE P DECIMALS 2,
                                          B(4) TYPE P DECIMALS 2.
             DATA : C(4) TYPE P DECIMALS 2.
           C = A + B.
            WRITE : / 'THE SUM IS' , C.
           
12)       What is step-loop? Explain all the steps?
Ans      A step loop is a repeated series of field-blocks in a screen. Each block can contain one or
more fields, and can extend over more than one line on the screen.
Step loops as structures in a screen do not have individual names. The screen can contain
more than one step-loop, but if so, you must program the LOOP...ENDLOOPs in the
flow logic accordingly. The ordering of the LOOP...ENDLOOPs must exactly parallel
the order of the step loops in the screen. The ordering tells the system which loop
processing to apply to which loop. Step loops in a screen are ordered primarily by screen
row, and secondarily by screen column.
Transaction TZ61 (development class SDWA) implements a step loop version of the
table you saw in transaction TZ60.
Static and Dynamic Step Loops
Step loops fall into two classes: static and dynamic. Static step loops have a fixed size
that cannot be changed at runtime. Dynamic step loops are variable in size. If the user re-
sizes the window, the system automatically increases or decreases the number of step
loop blocks displayed. In any given screen, you can define any number of static step
loops, but only a single dynamic one.
You specify the class for a step loop in the Screen Painter. Each loop in a screen has the
attributes Looptype (fixed=static, variable=dynamic) and Loopcount. If a loop is fixed,
the Loopcount tells the number of loop-blocks displayed for the loop. This number can
never change.
Programming with static and dynamic step loops is essentially the same. You can use
both the LOOP and LOOP AT statements for both types.
Looping in a Step Loop
When you use LOOP AT <internal-table> with a step loop, the system automatically
displays the step loop with vertical scroll bars. The scroll bars, and the updated (scrolled)
table display, are managed by the system.
Use the following additional parameters if desired:
 FROM <line1> and TO <line2>
 CURSOR <scroll-var>
 
 
 
13)       What is the initial value and maximum length of all data type?
Ans     
 
Data Type Initial field length Valid field length Initial value Meaning
Numeric types
I 4 4 0 Integer (whole number)
F 8 8 0 Floating point number
P 8 1 – 16 0 Packed number
Character types
C 1 1 – 65535 ' … ' Text field (alphanumeric characters)
D 8 8 '00000000' Date field (Format: YYYYMMDD)
N 1 1 – 65535 '0 … 0' Numeric text field (numeric
characters)
T 6 6 '000000' Time field (format: HHMMSS)
Hexadecimal type
X 1 1 – 65535 X'0 … 0' Hexadecimal field
 
14)       What are the ways to find out the tables used in the program?
Ans     
 
 
 
 
15)       Can you have two detail lists from the basic list at the same time?
If yes how and if no why?
Ans     
 
 
 
 
16)       What are the different functions used in sap script? What are the parameters used in each
Function?
Ans      There are three different functions used in SAP Script:
 
1)      OPEN_FORM
2)      WRITE_FORM
3)      CLOSE_FORM
 
Parameters in Each Function:
 
1)      OPEN_FORM –
Exporting
Form
Language
2)      WRITE_FORM –
Exporting
Element
Window
3)   CLOSE_FORM
17)       What is sequence of event triggered in report?
Ans      There are 6 events in report:
 
1)      Initialization
2)      At Selection-Screen
3)      Start-of-Selection
4)      Get
5)      Get Late
6)      End-of-Selection
7)      Top-of-Page
8)      End-of-Page
9)      At Line Selection
10)  At User Command
11)  At PF (nn)
 
18)       What are standard layouts sets in the SAP Script?
Ans      There are four standard layouts in the SAP Script:
 
1)      Header
2)      Logo         
3)      Main Window
4)      Footer
 
19)       What function module upload data from application server?
Ans     
 
 
 
 
20)       What are the various types of selection screen event?
Ans      SELECTION-SCREEN BEGIN OF BLOCK ABC WITH FRAME TITLE T01.
  
SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
 
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
  
21)       What do you know about a client?
Ans     
 
 
 
 
22)       What are the system fields? Explain?
Ans      The ABAP system fields are active in all ABAP programs. They are filled by the runtime
environment, and you can query their values in a program to find out particular states of
the system. Although they are variables, you should not assign your own values to them,
since this may overwrite information that is important for the normal running of the
program. However, there are some isolated cases in which you may need to overwrite a
system variable. For example, by assigning a new value to the field SY-LSIND, you can
control navigation within details lists.
 
23)       What is SAP Script? What is the purpose of SAP Script? Difference between
SAP Script and Report?
Ans      SAP Script – It is the integrated text management system of the SAP R/3 System. Two
types – PC Editor & Line Editor.
 
Reports -  It is the way to display data fetched from database table onto screen or directly
output it to a printer. Two types – Classical and Interactive.
 
24)       What is the use of occurs in internal table? Can u change occurs value in
program?
Ans      Use of Occurs - If you use the OCCURS parameter, the value of the INITIAL SIZE of
the table is returned to the variable <n>
 
                        Data :  Begin of ITAB occurs 0,
 
                        End of ITAB.
 
Occurs or Initial Size – to specify the initial amount of memory that should be assigned to
the table.
 
            Yes, we can change the occurs value in program but output remains the same.
 
25)       Difference between SY-TABIX and SY-INDEX? Where it is used?
Can u check SY-SUBRC after perform?
Ans      SY-TABIX - Current line of an internal table. SY-TABIX is set by the statements below,
but only for index tables. The field is either not set or is set to 0 for hashed tables.
 APPEND sets SY-TABIX to the index of the last line of the table, that is, it
contains the overall number of entries in the table.
 COLLECT sets SY-TABIX to the index of the existing or inserted line in the
table. If the table has the type HASHED TABLE, SY-TABIX is set to 0.
 LOOP AT sets SY-TABIX to the index of the current line at the beginning of
each loop lass. At the end of the loop, SY-TABIX is reset to the value that it had before
entering the loop. It is set to 0 if the table has the type HASHED TABLE.
 READ TABLE sets SY-TABIX to the index of the table line read. If you use a
binary search, and the system does not find a line, SY-TABIX contains the total number
of lines, or one more than the total number of lines. SY-INDEX is undefined if a linear
search fails to return an entry.
 SEARCH <itab> FOR sets SY-TABIX to the index of the table line in which the
search string is found.
SY_INDEX - In a DO or WHILE loop, SY-INDEX contains the number of loop passes
including the current pass.
 
 
 
26)       Difference between UPLOAD and WS_UPLOAD?
Ans      UPLOAD - File transfer with dialog from presentation server file to internal table. Data
which is available in a file on the presentation server is transferred in an internal table.
ASCII & Binary files can be transferred.
 
WS_UPLOAD - To read data from the presentation server into an internal table without a
user dialog, use the function module WS_UPLOAD. The most important parameters are
listed below.
 
Parameters Function
CODEPAGE Only for upload under DOS: Value
IBM
FILENAME Filename
FILETYPE File type
 
27)       Why did u switch to SAP?
Ans     
 
28)       What is a Logical Database?
Ans      Logical Databases are special ABAP programs that retrieve data and make it available to
application programs.
 
Use of LDB – is used to read data from database tables by linking them to executable
ABAP programs.
 
29)       What are the events used for Logical Database?
Ans      Two Events –
 
1)         GET - This is the most important event for executable programs that use a logical
database. It occurs when the logical database has read a line from the node <table> and
made it available to the program in the work area declared using the statement NODES
<table>. The depth to which the logical database is read is determined by the GET
statements
 
2)        PUT - The PUT statement directs the program flow according to the structure of  
            the logical database.
 
30)       What is the difference between Get and Get Late?
Ans      GET - After the logical database has read an entry from the node <table>.
 
GET LATE - After all of the nodes of the logical database have been processed that are
below <table> in the database hierarchy.
 
31)       What are the data types of Internal Tables?
Ans      There are three types:
 
1)      Line
2)      Key
3)      Table
 
 
32)       What are the events used in ABAP in the order of execution?
Ans      Events are:
 
1.      INITIALIZATION
2.      AT SELECTION-SCREEN
3.      AT SELECTION-SCREEN ON <field>
4.      START-OF-SELECTION
5.      TOP-OF-PAGE
6.      TOP-OF-PAGE DURING LINE SELECTION
7.      END-OF-PAGE
8.      END-OF-SELECTION
9.      AT USER-COMMAND
10.  AT LINE-SELECTION

sap/script
2) How to select desired paper size in SAP-SCRIPTS?
Ans :  Easy - page FRONT lists page CONTACTS as next page and CONTACTS lists
FRONT as next page. Since CONTACTS does not contain a MAIN window, it will print
the contacts info and then continue on to FRONT for the rest of the main items.
Additionally, set print mode on FRONT to D (duplex) and set CONTACTS to 'blank' (for
both resource name and print mode - this is the only way to get to the back of the page). 
 
3)How to add extra functionality to a standard program without touching the print program?
Ans :  U can use the subroutines in the script layout.
 
4) I know NACE transaction code is used for out put type determination, but i need a brief idea,
why and wht is the use of the NACE.
Ans : NACE is the tcode for using the giving interface for the report program/driver porogran and
the layout and then getting pr9int out also and finding the print program .tooo...

5)What is the use of Read_Text in SCRIPTS?


Ans : READ_TEXT - To load long text into SAP

6)How do i call the program on to the script?


Ans :
Example :
 
REPORT Z_HENRIKF_SCRIPT_FORM .
  tables scustom.
  form get_name tables in_tab structure itcsy
                       out_tab structure itcsy.

  read table in_tab index 1.


  select single * from scustom
    where id = in_tab-value.

  if sy-subrc = 0.
    read table out_tab index 1.
    move scustom-name to out_tab-value.
    modify out_tab index sy-tabix.
  else.
    read table out_tab index 1.
    move 'No name' to out_tab-value.
    modify out_tab index sy-tabix.
  endif.
**  You could also fill the ouput parameter table this way
*    READ TABLE out_par WITH KEY 'NAME1'.
*    out_par-value = l_name1.
*    MODIFY out_par INDEX sy-tabix.

endform.

Note that if you use more than one parameter you must use Using or Changing before every
parameter !
/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
......
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
......
/: ENDPERFORM

You might also like