You are on page 1of 19

ABAP/4 INTERVIEW QUESTIONS

1. What is SAP R/3 ?


SAP R/3 is a real time 3 tier architecture designed to handle the data processing for all
enterprises (large, medium and small scale).
Real time:- The process of delivering information about business operations without any delay.
Three tier architecture:- Presentation server, application server and database server.
Presentation Server:It is the system on which the end user can access SAP GUI.
The presentation server is actually a program named sapgui.exe. It is usually installed on
a users workstation. To start it, the user double-clicks on an icon on the desktop or chooses
a menu path. When started, the presentation server displays the R/3 menus within a window.
This window is commonly known as the SAPGUI, or the user interface (or simply, the
interface).
The interface accepts input from the user in the form of keystrokes, mouse-clicks, and function
keys, and sends these requests to the application server to be processed. The application
server sends the results back to the SAPGUI which then formats the output for display to the
user.
Application server:An application server is a set of executables that collectively interpret the ABAP/4 programs
and manage
the input and output for them. When an application server is started, these
executables all start at the same time. When an application server is stopped, they all shut down
together. The number of processes that start up when we bring up the application server is
defined in a single configuration file called the application server profile.
Each application server has a profile that specifies its characteristics when it starts up and while
it is running. For example, an application sever profile specifies:
Number of processes and their types
Amount of memory each process may use
Length of time a user is inactive before being automatically logged off
The application server exists to interpret ABAP/4 programs, and they only run there-the
programs do not run on the presentation server. If ABAP/4 program requests information from
the database, the application server will format the request and send it to the database server.
Database Server: The database server is a set of executables that accept database requests from the application
server. These requests are passed on to the RDBMS (Relation Database Management System).
The RDBMS sends the data back to the database server, which then passes the information
back to the application server. The application server in turn passes that information to ABAP/4
program.
2 What are the programming standards followed ?
Declaring the types,itabs,work area,global variables
Selection-screen,initialization,selection-screen validation,start-of-selection,end-of-selection.

Types: TY_
Itab T_
Workarea W_
Global variables G_
Select-options --- S_
Parameters P_
Local variables L_
Field-symbols FS_
SD Reports -- ZVXXX
MM Reports ZMXXX
PP Reports ZCXXX
FI Reports -- ZFXXX
(XXX) denotes the consecutive number of the report.
Ex: 001,002 so on..
Tcodes also have the same convention as for reports.
Custom BAPI ZBAPI_RELEVANT NAME
Business Object name relevant name followed BY Z.
All selection-screen validation form names must start with VALIDATE_fieldname
For displaying F4 help,the formname should start with F4_fieldname.
While generating new version of the program, give the brief info at the top of the coding
about the changes done in the older version.
3 What are the contents in technical specifications?
Report/Object description,
Version History,document approvals
Input (selection-screen, parameters, table, fieldnames,mandatory fields,
default values,search helps),
Output format and fieldnames.
Program Pseudo Code, Unit testing.
4 What is an instance?
An Instance refers to the server/application server most of the times.
It is a set of R/3 processes providing services to the R/3 system.
A user logs on to the SAP system using an instance.
An SAP instance defines a group of resources such as memory, work processes and so on,
usually in support of a single application server or database server within a client/server
environment. Application servers share the same memory areas and are controlled by the same
dispatcher process.
When we call a function module, an instance of its function group and 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?
Using SQL trace (ST05), runtime analysis (SE30) and latest runtime analysis tcode is SAT

6 What is Function group? Difference between function group and function module?
A function group is a collection of logically related function modules that share global data with each
other. All the modules in the group are included in the same main program.
When an ABAP/4 program contains a CALL FUNCTION statement, the system loads the entire
function group in with the program code at runtime. Every function module belongs to a function
group.

We cannot execute a function group, where as we can execute a function module.


7 What is the difference between 'Select single * ' and 'Select upto 1 rows'?
Select Single * will pickup only one matching record from the database into the buffer, and
returns the same to the internal table.
It can be used when we are passing entire primary key in the where condition while selecting
the data.
Select upto 1 rows will pickup all the records matching the condition into the buffer, but return
the top record to the internal table.
8 What Function does data dictionary perform?
Data dictionary is a central source of data in a data management system.
The principal functions performed by the data dictionary are
- Management of data definitions
- Provision of information for evaluation
- Support for software development
- Support for documentation
- Ensuring that all the data definitions are flexible and up-to-date.
9 Difference between domain and data element? what are aggregate objects?
Domain specifies the technical attributes of the field (datatype, length and value range) where as
data element specifies the semantic definition of the field. And also can add parameter id and
search help in data element.
Semantic definition means the field label, documentation.
While creating a data element we have to specify the domain for that.
Same domain can be used to create multiple data elements.
Views, match code and lock objects are called as aggregate objects as they are formed from
Several related tables.
10 what is view? Different types of views
View is a logical view on one or more tables. The structure of the view is defined in the
ABAP Dictionary. A view on the database can then be created from this structure.
A view can be used in ABAP programs for data selection.
Types of Views:
1.Database view
2.Projection view
3.Projectionview
4.Maintenance view

Database views implement an inner join. The other view types implement an outer join.
In Inner join, we will get the records of the cross-product for which there is an entry in all tables
used in the view. With an outer join, records are also selected for which there is no entry in
some of the tables used in the view.
11 Can u print decimals in type n? what is difference between float and packed data type?
No,we cant print.
For float 8bytes,where as for type P b/w 1 - 16bytes.
The precision will be 16 decimal places for float.
In Packed data type, we can specify the number of decimal places while defining.
We cant use float type for declaring parameters, we can use packed data type.
12 What is step-loop? explain all the steps?
step loops are screen elements for displaying table-type data on a screen. From a programming standpoint,
especially concerning the data transfer, table controls and step loops are almost identical. Table controls are
ultimately an improvement of step loops, in terms of usability by the end user.

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 LOOPENDLOOPs in the flow logic
accordingly. The ordering of the LOOPENDLOOPs 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.
http://help.sap.com/saphelp_nw04/helpdata/en/d1/80236c454211d189710000e8322d00/content.htm

Types of Step Loops


Static: Static Step Loop (SSL) have fixed size that cannot be changed during the runtime.
If user resizes the window, the size of the static step loop is not changed.
Dynamic: Dynamic Step Loop (DSL) is variable in size. When the user resizes the window,
the system increases or decreases the number of the step loop blocks.
We can have only one dynamic step loop and can have as many static loops in a transaction.
Programming with the Static and dynamic step loop is exactly same. For the system or for the user
it doesnt make any difference whether it is static or dynamic step loop. Only attribute, which we fix
during designing of the step loop, is type attribute for step loop F for fixed i.e static and V for
variable i.e. dynamic.
Code for Step Loop in the flow logic.
PBO.
Loop at itab cursor cl.
Module set.
Endloop.
PAI.
Loop at itab.
Endloop.

* Empty loop is must for both table control and step loop
LOOP AT statement for step loops and Table controls is similar. Loop At statement transfers the data
to screen table. We need to have the Module to assign the values for the screen table.
In module pool program we need to define the cursor.
Date: CL TYPE i.
* Cursor parameter tells which line of step loop display should start.
Module Set in module pool program assigns the values to step loop fields, which is similar to
table controls.
13 What is the initial value and maximum length of all data type?
The default value assigned to a variable when it is declared with a predefined datatype.
Data Type

Initial

Valid

Initial value

Meaning

field length field length


Numeric types
I

Integer (whole number)

Floating point number

1 - 16

Packed number

1 - 65535

Character types
C

'

'

Text field
(alphanumeric characters)

'00000000'

Date field
(Format: YYYYMMDD)

1 - 65535

'0 0'

Numeric text field


(numeric characters)

'000000'

Time field
(format: HHMMSS)

Hexadecimal type
X

1 - 65535

X'0 0'

14 What are the ways to find out the tables used in the program?

Hexadecimal field

1. SE38> give program name environment analysis


Check tables option and click on continue.
2. SE80 Programprogram name from there can find out list of tables used
15 Can you have two detail lists from the basic list at the same time ? if yes how and if no

why?

No we cant get. We can show two pop-up windows based on click event.
16 What are the different functions used in sapscript ? What are the parameters used in function?
There are three different functions used in SAP Script.
1. OPEN_FORM
Parameters :
Exporting
Form
Language
2. WRITE_FORM
Parameters:
Exporting
Element
Window

3. CLOSE_FORM
17 What is sequence of event triggered in report?
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 layout sets in the SAP Script?


Standard layout set consists of Header, Logo, Main Window and Footer.

MEDRUCK Purchase Order


RVORDER01 Sale order
RVDELNOTE Delivery note
RVINVOICE01 Invoice

19 What function module upload data from application server?


FILE_READ_AND_CONVERT_SAP_DATA
20 What are the various types of selection screen event?
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T001.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS WINDOW.
CALL SELECTION-SCREEN 100 STARTING AT 10 10.
21 What do you know about a client?
A client is organizational and legal entity in the SAP system. It is represented by a 3 digit
number.
22 What are the system fields? Explain.
The system fields can be found in SYST structure.
At runtime, we can access its data.
SY-SUBRC
: RETURN VALUE AFTER ABAP STATEMENTS
SY-INDEX
: LOOPS,CURRENT LOOP PASS
SY-TABIX
: INTERNAL TABLE,CURRENT LINE INDEX
SY-TFILL
: INTERNAL TABLE,CURRENT NO. OF LINES
SY-LILLI
: LIST PROCESSING,CURRENT LIST LINE
SY-LSIND
: LIST PROCESSING , DETAILS LIST INDEX
SY-DBCNT
: DB OPERATIONS,NO. OF TABLE LINES PROCESSED
SY-CPROG
: ABAP PROGRAM,CALLER IN EXTERNAL PROCEDURES
SY-DATUM
: DISPLAYS CURRENT DATE
SY-DYNNR
: ABAP PROGRAM,NO. OF CURRENT SCREEN
SY-TLENG
: LINE LENGTH
SY-STEPL
: LOOP INFORMATION IN TABLE CONTROL
SY-LOOPC
: LOOP INFORMATION IN TABLE CONTROL
SY-FDPOS
: CONTAINS OFF SETS FOR THE FOUND STRING
SY-DBSYS
: Database system
SY-DYNGR : Screen group of current screen
SY-DYNNR : Number of current screen
SY-MSGID : Message ID
SY-MSGNO : Message number
SY-MSGTY : Message type (E,I.W,...)
SY-MSGV1 : Message variable
SY-MSGV2 : Message variable
SY-MSGV3 : Message variable
SY-MSGV4 : Message variable

SY-PAGNO : Runtime: Current page in list


SY-PFKEY : Current GUI Status
SY-COLNO : Current List Column
SY-LINCT : Page Length of List

SY-LINNO : Current Line in List


SY-LINSZ : Line width of list
SY-MACOL : Number of Columns on Left Margin of Print List
SY-BINPT : Program Running Under Batch Input
SY-MODNO : Index of External Session
SY-LSIND
:Index of the list for current event for basic list = 0.
SY-LISTI
:Index of the list level from which the event was triggered
SY-LILLI
:Absolute number of the line from which the event was triggered
SY-LISEL
:Contents of the line from which the event was triggered
SY-CUROW :Position of the line in the window from which the event was triggered
(counting starts with 1)
SY-CUCOL :Position of the column in the window from which the event was
triggered (counting starts with 2)
SY-CPAGE :Page number of the first displayed page of the list from which the event
was triggered
SY-STARO :Number of the first line of the first page displayed of the list from which
the event was triggered (counting starts with 1). This line may contain the page
header.
SY-STACO :Number of the first column displayed in the list from which the event
was triggered (counting starts with 1)
SY-UCOMM :Function code that triggered the event
SY-PFKEY :Status of the list currently being displayed.
SY-TABIX

X(4)

Current index (after APPEND, COLLECT,


READ TABLE operations, while LOOP
processing).

SY-FDPOS

X(4) SEARCH internal table statement: Offset of


found substring in the table line.

SY-TFILL

X(4)

Current number of lines

SY-TLENG

X(4)

Current length of lines

SY-TOCCU

X(4)

SY-INDEX
SY-STEPL

SY-LOOPC

Initial main memory allocated to the


internal table
X(4)
Current index (in DO, WHILE blocks).
X(4)
Index of the screen table row that is
currently being processed.
Has a meaning only inside
LOOP...ENDLOOP (looping through currently
displayed rows of screen table and calling
PBO/PAI modules).
X(4)

Total number of screen table lines


currently displayed on the screen.

After
DESCRIBE TABLE ,
LOOP AT,
and
READ TABLE

SY-SPONO Print list,spool number


SY-REPID Name of ABAP/4 program
SY-CPROG Main program
23 What is sapscript ? what is the purpose of sapscript? difference between sapscript and
report?
SAP Script is a form template, which consists of a layout set.
Using this we can print the data on pre-printed documents.
In report we cant insert logo,cant display in different fonts.We can do it script.
24 what is the use of occurs in internal table ? can u change occurs value in program?
Allocates the memory for itab based on occurs.yes can change by specifying occurs 1,2..
Occurs 0 will allocate 8kb memory.
25 Difference between sy-tabix and sy-index.? where its used ? can u check sy-subrc after
perform?
Sy-tabix current line index of itab
Sy-index current index of do, while loops.
No we cant check sy-subrc.
But instead we can have a changing parameter with same type and set the value in
formendform.
26 Difference between upload and ws_upload?
UPLOAD - Gives a Popup to get the file name
WS_UPLOAD - Does not give a Popup to get the file name
UPLOAD supports only ASCII and BINARY file formats.
WS_UPLOAD supports ASCII, BINARY and DAT file formats.
both are OBSOLETE after 4.7 version.
use GUI_UPLOAD. Will not get any pop-up.
27 Why did u switch to SAP?

28 What is a Logical Database ?

Logical databases are special ABAP programs that retrieve data and make it available to
application programs. The most common use of logical databases is still to read data from
database tables and linking them to executable ABAP programs while setting the program
contents. We can edit logical databases using the Logical Database Builder in the ABAP
Workbench.
Tcode: SE36
29 What are the events used for Logical Database ?
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.
initialization, at selection-screen, start-of-selection, get, get late, end-of-selection
Advantages:
i)check functions which check that user input is complete, correct, and plausible.
ii)Meaningful data selection.
iii)central authorization checks for database accesses.
iv)good read access performance while retaining the hierarchical data view determined by the
application logic.
dis advantages:
i)If we dont specify a logical database in the program attributes, the GET events never occur.
ii)There is no ENDGET command, so the code block associated with an event ends with the next
event statement (such as another GET or an END-OF-SELECTION).
30 What is the difference between Get and Get Late ?
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 Types Of Internal Tables ?
32 What are the events used in ABAP in the order of execution ?
33 What are Interactive Reports ?
34What are the commands used for interactive reports ?
35 What are the system fields u have worked with ? Explain ?
36 What is the difference between Primary key and Unique Key ?
Primary Key It can accepts 0 value and cannot be NULL.
Unique Key It can be NULL.
38 If u are using Logical Databases how will u modify the selection-screen elements ?
39 What is an RFC ?

40 If u are using RFC and passing values to a remote system how does it work ?
41 What are the events in Screen Programming ?
42 What is the significance of HIDE ?
43 Where do u code the HIDE statement ?
44 Types of BDC's ?
45 Advantages & Disadvantages of different types of BDC's ?
46 What are the events used in Interactive Reports.
47 What is an RDBMS ?
49 What will you code in START-OF-SELECTION & END-OF-SELECTON & why ?
51 Which is the default join ?
Inner Join.
52 How do u display a data in a Detail List ?
53 What are the types of windows in SAPSCRIPT ?
54 What are the function modules used in a SAPSCRIPT driver program ?
55 What are Extracts ?
Since internal tables have fixed line structures, they are not suited to handle data sets with
varying structures. For this purpose, ABAP offers the possibility to create so-called extract
datasets (extracts, for short).
An extract is a sequential dataset in the memory area of the program. You can only address the
entries in the dataset within a special loop. The index or key access permitted with internal tables
is not allowed. You may only create one extract in any ABAP program. The size of an extract
dataset is, in principle, unlimited. Extracts larger than 500 KB are stored in operating system
files. The practical size of an extract is up to 2 GB, as long as there is enough space in the file
system.
An extract dataset consists of a sequence of records of a predefined structure. However, the
structure need not be identical for all records. In one extract dataset, you can store records of
different length and structure one after the other. You need not create an individual dataset for
each different structure you want to store. This fact reduces the maintenance effort considerably.
In contrast to internal tables, the system partly compresses extract datasets when storing them.
This reduces the storage space required. In addition, you need not specify the structure of an
extract dataset at the beginning of the program, but you can determine it dynamically during the
flow of the program.
You can use control level processing with extracts just as you can with internal tables. The
internal administration for extract datasets is optimized so that it is quicker to use an extract for
control level processing than an internal table.
Procedure for creating an extract:
...

1. Define the record types that you want to use in your extract dataset by declaring them
as field groups. The structure is defined by including fields in each field group.
Defining an Extract
REPORT demo_extract_field_groups.
NODES: spfli, sflight.
FIELD-GROUPS: header, flight_info, flight_date.
INSERT: spfli-carrid spfli-connid sflight-fldate
INTO header,
spfli-cityfrom spfli-cityto
INTO flight_info.

2.

Fill the extract dataset line by line by extracting the required data.

Filling an Extract with Data


START-OF-SELECTION.
GET spfli.
EXTRACT flight_info.
GET sflight.
EXTRACT flight_date.
3. Once you have filled the extract, you can sort it and process it in a loop. At this stage,
you can no longer change the contents of the extract.
Processing Extracts
END-OF-SELECTION.
LOOP.
AT FIRST.
WRITE / 'Start of LOOP'.
ULINE.
ENDAT.
AT flight_info WITH flight_date.
WRITE: / 'Info:',
spfli-carrid , spfli-connid, sflight-fldate,
spfli-cityfrom, spfli-cityto.
ENDAT.
AT flight_date.
WRITE: / 'Date:',
spfli-carrid , spfli-connid, sflight-fldate.
ENDAT.
AT LAST.
ULINE.
WRITE / 'End of LOOP'.
ENDAT.
ENDLOOP.

56 How would u go about improving the performance of a Program which selects data from
MSEG & MKPF ?
1.use Field -Symbols instead of work areas.
2.Use view WB2_V_MKPF_MSEG.
57 How does System work in case of a Interactive Report ?
58 what is LUW?
59 Different types of LUWs. What r they.
Two types of LUW are:
1) DB LUW - A database LUW is the mechanism used by the database to ensure that its data is
always consistent. A database LUW is an inseparable sequence of database operations that ends
with a database commit. The database LUW is either fully executed by the database system or
not at all. Once a database LUW has been successfully executed, the database will be in a
consistent state. If an error occurs within a database LUW, all of the database changes since the
beginning of the database LUW are reversed. This leaves the database in the state it had before
the transaction started.

2) SAP LUW - A logical unit consisting of dialog steps, whose changes are written to the
database in a single database LUW is called an SAP LUW. Unlike a database LUW, an SAP
LUW can span several dialog steps, and be executed using a series of different work processes
60 What is First event triggered in program?
61What are various Joins? What is right outer join ?
62How do u find out whether a file exits on the presentation server? eps_get_directory_listing for directory
64. Systems fields used - normal + interactive
65. Logo in SAPscript
66. If internal table used in for all entries in empty then what happens
will fetch all the records of the table.
67. If I forgot some command in sapscript eg: suppress zero display - How to do find it?
68. Have to write a BDC - how do u go about it?
69. What is Performance tuning
70. Define Documentation
71. Brief about Testing of programs
72. How do u move on to the next screen in interactive reporting?
73. Create any functions? How to go about it.
74. Advanced topics?
75. Function modules used in f4 help.
76. Work most on which module : Name a few tables.
78. From a table how do u find whether a material is used in another material BOM?
80. How u used logical database? How is data transferred to program?
Corresponding statement in LDB
81. How do u suppress fields on selection screen generated by LDB?
82. Can there be more than 1 main window ?
83. Global and local data in function modules.
84. What are the differences between sap memory and abap memory
ABAP memory is a memory area within the internal session (roll area) of an ABAP program and
any other program called from it using CALL TRANSACTION or SUBMIT.
ABAP memory is independent of the ABAP program or program module from which it was
generated. In other words, an object saved in ABAP memory can be read from any other ABAP
program in the same call chain. ABAP memory is not the same as the cross-transaction global
SAP memory.
This allows you to pass data from one module to another over several levels of the program
hierarchy. For example, you can pass data

from executable programs that have been called using SUBMIT

From a transaction to an executable program.

Between dialog modules.

From a program to a function module.

and so on.
The contents of the memory are released when you leave the transaction.
Passing Data Between Programs
There are two ways of passing data to a called program:
Passing Data Using Internal Memory Areas

ABAP programs have access to two cross-program memory areas that can be used for passing
data.
SAP Memory
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can
use SAP memory either to pass data from one program to another within a session, or to pass
data from one session to another. Application programs that use SAP memory must do so using
SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either
for a particular user or for a particular program at the time of logon using the SET PARAMETER
statement. Other ABAP programs can then retrieve the set parameters using the GET
PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on
screens (see below).
ABAP Memory
ABAP memory is a memory area that all ABAP programs within the same internal session can
access using the EXPORT and IMPORT statements. Data within this memory area remains
throughout a sequence of program calls, with the exception of LEAVE TO TRANSACTION. To
pass data to a program that you are calling, the data needs to be placed in ABAP memory before
the call is made from the internal calling session using the EXPORT statement. The internal
session of the called program then replaces that of the calling program. The program called can
then read from the ABAP memory using the IMPORT statement. If control is then returned to the
program that made the initial call, the same procedure operates in reverse .
If a transaction is called using LEAVE TO TRANSACTION, the ABAP memory and the call stack
are deleted. They cannot be used for data transfer.
Since objects belonging to ABAP objects can only be accessed within an internal session, it does
not make sense and is therefore forbidden (from a syntax point of view) to pass a reference to an
object to a calling program through the ABAP memory.
Filling Input Fields on an Initial Screen
Most programs that you call from other programs have their own initial screen that the user must
fill with values. For an executable program, this is normally the selection screen. The SUBMIT
statement has a series of additions that you can use to fill the input fields of the called selection
screen:
Filling the Selection Screen of a Called Program
SUBMIT... [VIA SELECTION-SCREEN]
[USING SELECTION-SET var]
[WITH sel criterion]
[WITH FREE SELECTIONS freesel]
[WITH SELECTION-TABLE rspar
You cannot fill the input fields of a screen using additions in the calling statement. Instead, you
can use SPA/GPA parameters.
Filling Initial Screens using SPA/GPA Parameters
SET PARAMETER ID pid FIELD f.
This statement saves the contents of field f under the ID pid in the SAP memory. The ID pid can
be up to 20 characters long. If there was already a value stored under pid, this statement
overwrites it. If you double-click pid in the ABAP Editor, parameters that do not exist can be
created as a Repository object.
To read an SPA/GPA parameter, use:
GET PARAMETER ID pid FIELD f.

This statement places the value stored under the pid ID into the variable f. If the system does
not find any value for pid in the SAP memory, sy-subrc is set to 4. Otherwise, it sets the value
to 0.
To fill the initial screen of a program using SPA/GPA parameters, you normally only need the
SET PARAMETER statement.
The relevant fields must each be linked to an SPA/GPA parameter.

85 What are differences between At selection-screen and at selection-screen output


86. What are the events?
87. what are the interactive events
88) What is the inside concept in select-options?
Ans. Select-options specify are displayed on the selection screen for the user to enter
values.
Different Properties of Select-options:
1) Visible Length
2) Matchcode Object
3) Memory ID
4) Lowercase
5) Obligatory
6) No Display
7) Modify ID
89. What is the difference between occurs 1 and occurs 2?
90. What is the difference between Free and Refresh?
Free - You can use FREE to initialize an internal table and release its memory space without first
using the REFRESH or CLEAR statement. Like REFRESH, FREE works on the table body, not
on the table work area. After a FREE statement, you can address the internal table again. It still
occupies the amount of memory required for its header (currently 256 bytes). When you refill the
table, the system has to allocate new memory space to the lines.
Refresh - This always applies to the body of the table. As with the CLEAR statement, the
memory used by the table before you initialized it remains allocated. To release the memory
space, use the statement
91. What are elements?
92. Can we have more than one selection-screen and how?
93. How to declare select-option as a parameter?
94. How can u write programmatically value help to a field without using search help and match
codes.?
By using two types of function modules to be called in SAP Script:
1) HELP_OBJECT_SHOW_FOR_FIELD
2) HELP_OBJECT_SHOW
SE01 - Correction & Transport Organizer
95. What is RFC?
96. How to set destination?
97. What are the function module types?
98. What are tables?
99. what are client-dependant tables and independent tables?
how to distinguish them?
101. what is the use of Table maintanance allowed?
102. What are the domains?
103 What are the check tables and value tables?

104 What is the difference between table and structures?


105 How to declare one internal table with out header line without using structures ?
data: t_kna1 type standard table of kna1 initial size 0.
106. what are lock objects?
107. What are datasets? what are the different syntaxes?
The sequential files (ON APPLICATION SERVER) are called datasets. They
are used for file handling in SAP.
OPEN DATASET [DATASET NAME]
FOR [OUTPUT / INPUT / APPENDING]
IN [BINARY / TEXT] MODE
AT POSITION [POSITION]
MESSAGE [FIELD]
READ DATASET [DATASET NAME] INTO [FIELD]
DELETE DATASET [DATASET NAME]
CLOSE DATASET [DATASET NAME]
TRANSFER [FIELD] TO [DATASET NAME]
109. What is the difference between open_form and close_form
110. What are the page windows? How many main windows will be there in a page window?
111. How to include Logo in your layout?
The steps for including graphical elements in the layout set are as follows

The graphical element (like company logo) should be in valid graphic file format like
.bmp or .jpg

Use appropriate software to convert the above file into a .TIFF file

Use report RSTXLDMC to upload this file as a text module in SAP

Execute the above program from the ABAP /4 editor

Enter the location of the .TIFF file on the PC

Specify BMON or BCOL as the raster image type

The SAP system suggests a name for the file ( like ZHEX-MARCO-* ). The * indicates
the type of file. For e.g. if the file contains a logo then the name can be ZHEX-MACROLOGO

The ID should be ST and give the logon language

Running the program will convert this .TIFF file into a text element

Incorporate this converted logo in the appropriate window under the appropriate text
element by giving
INCLUDE ZHEX-MACRO-LOGO OBJECT TEXT ID ST in the first line

112. How to debug a script?


114. sapscripts and abap programs are client dependent or not? why?
Abap programs are client-independent.
115. what are the different internal tables ? explain them?

Standard, sorted and hashed itabs.


116. what is runtime analysis ? tcode: SE30.
Used to analyze the application performance.
118. what is the difference between sum and collect?
Sum: You can only use this statement within a LOOP. If you use SUM in an AT - ENDAT block,
the system calculates totals for the numeric fields of all lines in the current line group and writes
them to the corresponding fields in the work area. If you use the SUM statement outside an AT ENDAT block (single entry processing), the system calculates totals for the numeric fields of all
lines of the internal table in each loop pass and writes them to the corresponding fields of the work
area. It therefore only makes sense to use the SUM statement in AT...ENDAT blocks.
If the table contains a nested table, you cannot use the SUM statement. Neither can you use it if
you are using a field symbol instead of a work area in the LOOP statement.
sum will add all d values n store at single field .
collect will add all numeric values of the itab records for which
all the char type field values are same.
119. what are session method and call transaction method and explain about them?
Session tcode: SM35.
CALL TRANSACTION tcode MODE <A/E/N> UPDATE A/S/L
MESSAGES INTO T_BDCMSGCOLL.
120. If you have 10000 records in your file, which method you use in BDC?
Session method.
130. what are different modes and explain them?
Modes: all screen, no screen and error screen.
131. what are control events in a loop?
AT FIRST,AT NEW,AT END OF,AT LAST.
132. what are the events we use in dialog programming? and explain them?
PBO, PAI, POV and POH.
133. what are the differences between se01 , se09 and se10?
SE01Transport System (For administrative purpose)
SE09 workbench organizer (for developers)
SE10 Customizing Organizer (For business analysts)
134. what is the inside concept in select-options?
We use select-option to allow the user for the complex selection of the input fields.
Its a structure with fields: Sign, option, low and high.
136. what is get cursor field?
To read the fieldname on which the cursor is clicked in an interactive list.
137. what is read line?
Use the statements READ LINE and READ CURRENT LINE to read data from the lines
of existing list levels.
138. what are the difference between call screen and leave screen?
In any ABAP program that can have its own screens (type 1, M, or F), we can use the
CALL SCREEN <dynnr>.
Call screen is used to call a screen and its subsequent sequence in that program.

To exit the current screen and setting the next screen number as 0, we use LEAVE
SCREEN.
139. what is the transaction code for Table maintenance?
Table Maintenance Generator is a tool used to customize the tables created by end users
and can be changed as required, such as making an entry to that table, deleting an entry
etc.
In other words, table maintenance generator is a user interface tool which is used to change
the entry of the table or delete an entry from the table or create an entry for the table.
Tcode: SM30.

Authorization group tcode: SU21, TSTC Table for tcodes list


1.application tables are usually not suited for table buffering.
2.Using table buffering in such cases is not recommended. Use Table Buffering for configuration
data and sometimes for Master Data.
3. Avoid using complex Selects on buffered tables.
4. Use assign instead of into in LOOPs for table types with large work areas.
5. Use READ TABLE BINARY SEARCH with large standard tables speed up the search when
the itab data
is less than 50 records.
We can define the relationships between tables in the ABAP Dictionary by creating foreign
keys. Using foreign keys, we can easily create value checks for input fields.
The cardinality (n:m) describes the foreign key relationship with regard to the number of possible
dependent records (records of the foreign key table) or referenced records (records of the check
table).
The left side (n) of the cardinality is defined as follows:

n=1: There is exactly one record assigned to the check table for each record of the
foreign key table.

n=C: The foreign key table may contain records which do not correspond to any record
of the check table because the foreign key field is empty. This can occur for example if
the field of the foreign key table is optional, in which case it does not have to be filled.

The right side (m) of the cardinality is defined as follows:

m=1: There is exactly one dependent record for each record of the check table.

m=C: There is at most one dependent record for each record of the check table.

m=N: There is at least one dependent record for each record of the check table.

m=CN: There may be any number of dependent records for each record of the check
table.

Field Symbols They are placeholder or symbolic names for the other fields. They do not
physically reserve space for a field, but point to its contents. It can point to any data objects.
Field-symbols <fs>
Field Groups Field groups does not reserve storage space but contains pointers
to existing fields.

Open SQL These statements are a subset of standard SQL. It consists of DML command
(Select, Insert, Update, Delete). It can simplify and speed up database access. Buffering is partly
stored in the working memory and shared memory. Data in buffer is not always up-to-date.
Native SQL They are loosely integrated into ABAP. It allows access to all functions containing
programming interface. They are not checked and converted. They are sent directly to the
database system. Programs that use Native SQL are specific to the database system for which
they were written. For e.g. to create or change table definition in the ABAP.

You might also like