Interview Questions Sap Abap

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 67

Interview questions –

Q1. Explain SAP ABAP architecture?


Answer:

The SAP ABAP system is based on 3 tier architecture, and these 3 tiers are the

presentation layer, application layer, and database layer. The presentation layer

mainly consists of an input device, which is used to control the SAP system and

referred to as SAP GUI. The application layer consists of a server where all the

central processing takes place. The servers are communicating the database layer

for performance and security reasons.

Q2. What is the BDC technique in ABAP programming?


Answer:

It is referred to as batch Data communications, and it is an automatic procedure to

transfer a huge amount of external data into the SAP system. The central

component of transfer is Queue File, which receives the batches’ data and groups it

into associate sessions.

Q3. Explain the Lock Objects and mechanism?


Answer:

It is used to synchronize access to the same data by more than one program, the

ABAP Dictionary feature in SAP. It is used in SAP to avoid data inconsistency

whenever the data is updated or modified, or inserted in the database. The data

records are accessed with the help of programs, and these tables whose data is

locked defined as Lock object. The lock mechanism mainly follows the two
functions. First, a program can prevent itself from reading the data which another

program has changed. Second, a program can communicate with other programs to

read the data or data getting changed. The program has requested the lock, and then

it goes to the enqueue server, and the lock is getting created on the lock table. The

sever set the lock, and the program can read the data or access the data.

Q4. What is the difference between table and structure in


the ABAP data dictionary?
Answer:

This is the basic SAP ABAP Interview Question asked in an interview. The

difference between them is a table can have a primary key, but the structure does

not have it. In Table, data can be stored physically, but the structure cannot store

the data. The structure does not have a technical attribute, whereas the table can

have a technical attribute.

Q5. Explain the use of logical block in the SAP ABAP


program and data dictionary?
Answer:

In ABAP, the organization of programs into modular units using modularization

called logical blocks. It helps increase the program readability and redundancy in

creating it and during the maintenance cycle. It also helps in reusing the code

again.

ABAP data dictionary is used to define the logical structure of objects in

developing application and mapping to the relational database in tables and views.
Part 2 – SAP ABAP Interview Questions
(Advanced)
Let us now have a look at the advanced Interview Questions.

Q6. Explain the Foreign key relationship?


Answer:

The foreign key is used to ensure the consistency of data in tables. The foreign key

is used to establish the relation between the two tables, which are explicitly defined

at the filed level. While defining the foreign key, cardinality needs to be defined,

and data entry should be monitored to check there is no data contradiction.

Q7. Explain the Smart forms in the SAP ABAP program?


Answer:

Smart forms are the tool used in SAP to print and send documents. It is

instrumental in developing the forms, pdf files, documents and emails for the

internet. SAP mainly delivers the forms for business purposes which are mainly

used in management portfolios like in CRM (Customer relationship management),

SD (Sales and Distribution), HR (Human Resources) and FI, that is, Financial

Accounting. This tool provides the interface to develop and maintain the logic of

the different forms. It also allows you to change or update the existing forms with

the help of a simple graphics tool rather than using the programming tool. The user

who does not know the programming language can work on these forms and

configure the data as per the usage.


Q8. Explain Web Dynpro and its benefits?
Answer:

Web Dynpro is SAP ABAP is referred to as the standard SAP user interface

technology which the SAP AG developed. It consists of the runtime environment

and graphical development environment with specific tools integrated with ABAP.

This can be used in developing the web-based applications for SAPA ABAP to use

the techniques and concepts of SAP. It gives the front-end web user interface to

connect directly to SAP back-end systems to access the data reporting functions.

The benefits of using WD (Web Dynpro) is that usage of graphics tools reduces the

implementation effort. It helps in reusing the same components again and easy to

maintain. It helps in changing the layouts and navigation easily. It provides full

integration with the ABAP environment and access to the user interface as well.

Q9. What are the different types of editors available for


ABAP?
Answer:

This is the most asked SAP ABAP Interview Questions in an interview. SE38 and

SE40 are the two editors which are available for ABAP editor in place as well. The

programs and view online reports can be created with the help of the SE38 editor,

which means it will help in doing all the development of objects in the editor. The

other advantage of using the SE38 editor is that it has additional features like

creating packages, function group, classes, programs, module pool, and other

applications.
Q10. Explain Subroutine in SAP ABAP?
Answer:

In ABAP, a subroutine is known as the reusable section of code. It is a

modularization unit within the program where the function is encapsulated in the

form of source code. Some part of the page out to part of the program to the

subroutine to get a better view of the program, and the subsequent program can be

used many times.

Q11. Mention the different modules used in BDC?


Answer:

BDC_Open_group, BDC_Insert, BDC_Close_group are the 3 different modules

that are mainly used in transferring the data in sequence successfully using BDC.

What is the difference between Domain and Data Element?

Ans – Domain is used for the technical information of the table field such
as field type and length. It is created through SE11->Domain.
 
Data Element – It is used not only the technical description but also the
semantic information of the table field such as short description. It can be
created through SE11->Data Type -> Data Element option.  
What is Data Class in Transparent Table settings?

Ans – It depicts how the data is stored in the table and determines in
which tablespace it is stored. It is assigned in the Technical settings of the
table.

Classification

 APPL0 – Master Data. Data, which seldom changes.


 APPL1 – Transaction Data. It is the Data that is related to day-to-
day activity and frequently updated.
 APPL2 – Organizational and Customizing Data. It is the data when
the system is initialized.
What is a Table maintenance generator in Data Dictionary?

Ans – It is a tool for maintaining the table ie. Users can create, edit and
delete the entries in the table.

It can be created by the following option.

SE11 -> When table is displayed -> Utilities menu -> Table maintenance
generator.

Specify the following settings:.

 Authorization Group
 Function Group
 Assign the screen numbers for either one-step or two-step.
 Click on create button.
 Execute t-code SM30. Enter the table name and click on Maintain
Button. Users can create entries for the table.  
What are different types of views?

Ans – The different types of views are:

 Database View
 Projection View
 Maintenance View
 Help View

How to create Lock objects in Data Dictionary?

Ans – Lock objects can be created through SE11. It starts with ‘E’ like
EZlock. You have to specify the Table Name and Lock Mode. Specify the
Lock Parameter.  
When Lock Object is activated, two-function module are created like
ENQUEUE_<lockobjectname> and DEQUE

UE_<lockobjectname>. This Enqueue and Dequeue method is used to


lock and unlock any object in SAP ABAP.

What are the events in the Reports?

Ans – ALV Download Report Events


 LOAD OF PROGRAM
 INITIALIZATION
 AT-SELECTON SCREEN
 AT-SELECTION SCREEN OUTPUT
 START-OF-SELECTION
 END-OF-SELECTION
 TOP-OF-PAGE
 END-OF-PAGE

Events associated with Interactive Reports are:

AT LINE-SELECTION
AT USER-COMMAND
AT PF<key>
TOP-OF-PAGE DURING LINE-SELECTION.

In which event of the report we can handle radio buttons?

Ans – AT-SELECTION SCREEN OUTPUT

How would you add the logo to ALV report?

Ans – Logo can be added in ALV Report by using FM  

‘REUSE_ALV_COMMENTARY_WRITE’.

What is the concept of CHAIN..ENDCHAIN?

Ans – This concept is basically used in the module pool. This is used to
group the fields and used to carry out validations on multiple fields. This
is used in PAI (Process After Input).

For eg:

CHAIN.
FIELD: s_field-ebeln, s_field-ebelp.
MODULE vdate_fields. "Validation contained in PAI module
ENDCHAIN.

What are the events in Module Pool?

Ans – Events in Module Pool are:

 PBO – Process Before Output


 PAI – Process After Input
 POV – Process on Value Request
 POH – Process on Help Request

Name the Tables of the MM module?


TABLE NAME DESCRIPTION
MARA Material General Data
MAKT Material Description
MARC Plant Data for Material
MARD Storage Location Data for Material
MARM Units of Measure for Material
MBEW Material Valuation
MAST Material to BOM Link
MCHA Batches
MKPF Header: Material Document

Name the Tables of SD module?

TABLE NAME DESCRIPTION


VBAK Sales Document Header Data
VBAP Sales Document: Item Data
VBPA Partner
VBKD Business Data
LIKP Delivery: Header Data
LIPS Delivery: Item Data
VTTK Shipment Data: Header
VTTP Shipment Data: Item
VBRK Billing: Header Data
VBRP Billing: Item Data
VTPA Shipment Partners

How can you debug a SAPScript form?

Ans – To Debug the Script form, follow the steps

SE71->Give the form name->Utilities->Activate Debugger  


What is the difference between Table and Template in
Smartforms?

Ans – The difference between Table and Template is that Table is


dynamic in nature and Template is static in nature.

Explain the concept of BADIs?

Ans – BADI is called Business Add-in. There are two types of BADIs –
Classical BADI and New BADI.

 BADI is reusable
 BADI can be implemented many times.
 BADI enables each party in software delivery chain to offer
enhancements.

Components created when you define BADI as follows:

 Interface
 Generated Class

 Explain the concept of User Exits?

Ans – User Exits are a type of system enhancement that was originally
developed for Sales and Distribution (SD) component. The original
purpose was to avoid Modification Adjustment by the user.

It is a modification, as it requires you to change objects in SAP


namespace. It creates a special include in module pool. Naming
convention of the user exit is: USEREXIT_<NAME>.
After delivering, SAP never altes includes created in this manner. If new
user exits have to be delivered in new release, they are put in new
include program.

Explain about Explicit Enhancement and Implicit Enhancement?

Ans – Explicit Enhancement – It is the type of enhancement in which


there is some pre-preparation done by SAP.

There are 3 components in this enhancement.

 ENHANCEMENT-POINT
 ENHANCEMENT-SECTION
 ENHANCEMENT-SPOT

Explicit Enhancement can be implemented getting into the Enhancement


Mode by clicking the spiral button -> Right click into the enhancement
point you plan to implement and select Enhancement Implementation-
>Create. You will be asked a name of the implementation and a
description and after that you can add your code.

Implicit Enhancement – It is the type of enhancement in which there is


no pre-preparation done by SAP.

You can start this enhancement from anywhere. It can at the start of
code, end of code, Start of function module, End of function module.

You can see what are available by going into editor and go to edit ->
Enhancement Operations -> Show Implicit Enhancement Option.

Is it necessary for Main Window in Smartforms?

Ans – It is not necessary - Main Window in Smartforms.

Is it necessary for Main Window in SAPScript?

Ans – It is necessary - Main Window in SAPScript.

Which Function Module is used to get name of function module


when smartform is activated?

Ans - SSF_FUNCTION_MODULE_NAME – When the SMARTFORM is


activated, this function module is used to get the function module
generated automatically by the smartform.

How would you convert smartform output to PDF format?

Ans –
 Function Module CONVERT_OTF is used to convert the OTF format
to PDF

CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
IMPORTING
BIN_FILESIZE = W_bin_filesize
TABLES
otf = T_OTF
lines = T_pdf_tab
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 4
OTHERS = 5.

  To display File SAVE dialog window

CALL METHOD cl_gui_frontend_services=>file_save_dialog

 Use the FM GUI_DOWNLOAD to download the generated PDF file


onto the
presentation server.

Explain the program flow of BADI?

Program flow of BADI is:

 First, define the BADI with the help of transaction code SE18
 Then declare the objects, classes, and methods.
 Then with the help of t-code SE19 Implement BADI
 At last, defining the Classes and methods as per as requirements of
the end-user.

In which table the material master data is stored?

MARA and MARC are the tables from where you can get the data for
Material Master.

Which commands are used for interactive reports?

The following commands can be used in interactive reporting:

 HIDE can be used in order to create an array of all hidden variables.


 SY-LSIND = LIST INDEX,
 SY-LILLI = LINE NO.

When will we go for call transaction and when we will go for a


session in BDC?

 Call Transaction can be used when the DATA is minimal.


 Sessions can be used to handle mass DATA or Voluminous DATA.

When the get cursor command used in interactive lists?

When the hidden information is not sufficient to uniquely identify the


selected line, then the command GET CURSOR is used. The GET
CURSOR command returns the name of the field at the cursor position in
a field specified after the additional field, and the value of the selected
field in a field specified after the value.

What is a method in ABAP?

Methods describe the functions of classes in ABAP objects. We can call


methods using the call method statement.methods are introduced with
the method statement & concluded with the end method
statement.methods can only be defined in the implementation parts of
classes.

How to copy table across clients?


Use Program RSCLTCOP

Which are the various Events in Application Server?

The various events in Application Server are:

 OPEN DATA SET


 READ DATA SET
 CLOSE DATA SET.

What is the role of ‘Refresh’ in the Internal Table?

'Refresh' is the keyword that is used to clear the contents of a body in an


internal table.

How to find output type?

Use table Table TNAPR / NAST in order to find the output type.

State the system field for the current date?

SY-DATUM

What is the keyword used to eliminate the leading zeros of a


number field?

Use keyword 'NO-ZERO'.

Which are the various Events in Dialog Programs?

The various events in Dialog Programming are:

 PBO-Process Before Output


 PAI-Process AFter Input
 POH-Process on Help Request
 POV-Process on Value Request

How to find the attributes of a data object or data type?

DESCRIBE FIELD [LENGTH ] [TYPE [COMPONENTS ]] [OUTPUT-LENGTH ] [DECIMALS ]


[EDIT MASK ].

How can we read selected lines of a database table into an


internal table in packages of predefined size?

SELECT * FROM INTO TABLE PACKAGE SIZE .


where 'n' is variable.
Name the WILDCARD characters which can be used for comparing with character
strings & numeric strings.
'%' and '_'.

How can we determine the table to which a field belong to by


knowing only field name?

Please follow the steps below:

 First, use t-code SE84 


 Then navigate to R/3 Repository -> ABAP Dictionary -> Fields ->
Table Fields 
 Now insert the field name and execute... 
 A list of table where the field is used is will be shown. 

DATA DICTIONARY

What is a Data Class?

The Data class determines in which table space the table is stored when it
is created in the database.

What is a Size Category?

The Size category describes the probable space requirement of the table
in the database.

How many types of size categories and data classes are there?

There are five size categories (0-4) and 11 data classes only three of
which are appropriate for application tables:

 APPL0- Master data (data frequently accessed but rarely updated).


 APPL1- Transaction data (data that is changed frequently).
 APPL2- Organizational data (customizing data that is entered when
system is configured and then rarely changed).

The other two types are:

 USR
 USR1 – Intended for customer's own developments.

What are control tables?

The values specified for the size category and data class are mapped to
database-specific values via control tables.

What is the function of the transport system and workbench


organizer?
The function of the transport system and the Workbench Organizer is to
manage any changes made to objects of the ABAP/4 Development
Workbench and to transport these changes between different SAP
systems.

What is a table pool?

A table pool (or pool) is used to combine several logical tables in the
ABAP/4 Dictionary. The definition of a pool consists of at least two key
fields and a long argument field (VARDATA).

What are pooled tables?

These are logical tables, which must be assigned to a table pool when
they are defined. Pooled tables can be used to store control data (such as
screen sequences or program parameters).

What is a table cluster?

A table cluster combines several logical tables in the ABAP/4 Dictionary.


Several logical rows from different cluster tables are brought together in a
single physical record. The records from the cluster tables assigned to a
cluster are thus stored in a single common table in the database.

How can we access the correction and transport system?

Each time you create a new object or change an existing object in the
ABAP/4 Dictionary, you branch automatically to the Workbench Organizer
or correction and transport system.

Which objects are independent transport objects?

Domains, Data elements, Tables, Technical settings for tables, Secondary


indexes for transparent tables, Structures, Views, Matchcode objects,
Matchcode Ids, Lock objects.

How is conversion of data types done between ABAP/4 & DB


layer?

Conversion between ABAP/4 data types and the database layer is done
within the database interface.

How is the conversion of data types done between ABAP/4 & the
external level?

Conversion between the external layer and the ABAP/4 layer is done in
the SAP dialog manager DYNP.
How can we set the tablespaces and extent sizes?

You can specify the extent sizes and the table space (physical storage
area in the database) in which a transparent table is to be stored by
setting the size category and data class.

What is the function of the correction system?

The correction system manages changes to internal system components.


Such as objects of the ABAP/4 Dictionary.

What are local objects?

Local objects (Dev class$TMP) are independent of correction and


transport system.

What is a Development class?

Related objects from the ABAP/4 repository are assigned to the same
development class. This enables you to correct and transport-related
objects as a unit.

In the ABAP/4 Dictionary Tables can be defined independent of


the underlying database (T/F).

True.

ABAP/4 Dictionary contains the Logical definition of the table.

A field containing currency amounts (data type CURR) must be


assigned to a reference table and a reference field. Explain.

As a reference table, a system containing all the valid currencies is


assigned or any other table, which contains a field with the currency key
format. This field is called as reference field. The assignment of the field
containing currency amounts to the reference field is made at runtime.
The value in the reference field determines the currency of the amount.

A field containing quantity amounts (data type QUAN) must be


assigned to a reference table and a reference field. Explain?

As a reference table, a system table containing all the valid quantity units
is assigned or any other table, which contains a field with the format or
quantity units (data type UNIT). This field is called as reference field.
The assignment of the field containing quantity amounts to the reference
field is made at runtime. The value in the reference field determines the
quantity unit of the amount.
What is the significance of Technical settings (specified while
creating a table in the data dictionary)?

By specifying technical settings we can control how database tables are


created in the database. The technical settings allows us to

 Optimize storage space requirements.


 Table access behavior.
 Buffering required.
 Changes to entries logged.

What is a Table attribute?

The table's attributes determine who is responsible for maintaining a table


and which types of access are allowed for the table. The most important
table attributes are:

 Delivery class.
 Table maintenance allowed.
 Activation type.

What is the significance of Delivery Class?

 The delivery class controls the degree to which the SAP or the
customer is responsible for table maintenance.
 Whether SAP provides the table with or without contents.
 Determines the table type.
 Determines how the table behaves when it is first installed, at
upgrade, when it is transported, and when a client copy is
performed.

What is the max. no. Of structures that can be included in a table


or structure.

Nine.

What are two methods of modifying SAP standard tables?

 Append Structures and


 Customizing Includes.

What is the difference between a Substructure and an Append


Structure?

 In case of a substructure, the reference originates in the table itself,


in the form of a statement include….
 In case of an append structure, the table itself remains unchanged
and the reference originates in the append structure.
To how many tables can an append structure be assigned.

One.

If a table that is to be extended contains a long field, we cannot


use append structures why?

Long fields in a table must always be located in the end, as the last field
of the table. If a table has an append structure the append line must also
be on the last field of the table.

Can we include customizing include or an append structure with


Pooled or Cluster tables?

No.

What are the two ways for restricting the value range for a
domain?

 By specifying fixed values.


 By stipulating a value table.

Structures can contain data only during the runtime of a program


(T/F)

True.

What are the aggregate objects in the Dictionary?

 Views
 Match Code.
 Lock Object.

The data of a view is not physically stored, but derived from one
or more tables (T/F)

True.

What is a Match Code?

Match code is a tool to help us to search for data records in the system.
Match Codes are an efficient and user-friendly search aid where key of a
record is unknown.

What are the two levels in defining a Match Code?

• Match Code Object.


• Match Code Id.
What is the max no of match code Id's that can be defined for one
Match code object?

A match code Id is a one character ID that can be a letter or a number.

Can we define our own Match Code ID's for SAP Matchcodes?

Yes, the number 0 to 9 are reserved for us to create our own Match Code
Ids for a SAP defined Matchcode object.

What is an Update type with reference to a Match code ID?

If the data in one of the base tables of a matchcode ID changes, the


matchcode data has to be updated. The update type stipulates when the
matchcode is to be updated and how it is to be done. The update type
also specifies which method is to be used for Building matchcodes. You
must specify the update type when you define a matchcode ID.

Can matchcode object contain Ids with different update types?

Yes.

What are the update types possible?

The following update types are possible:

 Update type A: The matchcode data is updated asynchronously to


database changes.
 Update type S: The matchcode data is updated synchronously to
database changes.
 Update type P: The matchcode data is updated by the application
program.
 Update type I: Access to the matchcode data is managed using a
database view.
 Update type L: Access to the matchcode is achieved by calling a
function module.

What are the two different ways of building a match code object?

A match code can be built in two different ways:

 Logical structure: The matchcode data is set up temporarily at the


moment when the match code is accessed. (Update type I, k).
 Physical Structure: The match code data is physically stored in a
separate table in the database. (Update type A, S, P).

What are the differences between a Database index and a match


code?
 Match code can contain fields from several tables whereas an index
can contain fields from only one table.
 Match code objects can be built on transparent tables and pooled
and cluster tables.

What is the function of a Domain?

 A domain describes the technical settings of a table field.


 A domain defines a value range, which sets the permissible data
values for the fields, which refers to this domain.
 A single domain can be used as basis for any number of fields that
are identical in structure.

Can you delete a domain, which is being used by data elements?

No.

What are conversion routines?

 Non-standard conversions from display format to sap internal


format and vice-versa are implemented with so-called conversion
routines.

What is the function of a data element?

A data element describes the role played by a domain in a technical


context. A data element contains semantic information.

Can a domain, assigned to a data element be changed?

Yes. We can do so by just overwriting the entry in the field domain.

Can you delete data element, which is being used by table fields.

No.

Can you define a field without a data element?

Yes. If you want to specify no data element and therefore no domain for a
field, you can enter data type and field length and a short text directly in
the table maintenance.

What is a view?
A view is a logical view on one or more tables. A view on one or more
tables i.e., the data from a view is not actually physically stored instead
being derived from one or more tables.

How many types of Views are there?

 Database View
 Help View
 Projection View
 Maintenance View

What is Locking?

When two users simultaneously attempt to access the same data record,
this is synchronized by a lock mechanism.

What is database utility?

Database utility is the interface between the ABAP/4 Dictionary and the
underlying the SAP system.

What are the basic functions of Database utility?

The basic functions of database utility are:

 Create database objects.


 Delete database objects.
 Adjust database objects to changed ABAP/4 dictionary definition.

What is Repository Info. Systems?

It is a tool with which you can make data stored in the ABAP/4 Dictionary
available.

REPORT GENERATION – FORMATTING

The alignment of a type 'c' field in a report is left Aligned.

In the statement Write:/15(10) Ofal-lifnr. what do the numbers


15 and 10 stand for15 stand for the offset on the screen and 10
stand for the field length displayed?

Specify the default alignment for the following field types:

'D' – Left, 'F'-Right, 'N'-Left, 'I'-Right, 'T'-Left.

If s_time has the value '123456' how would you get an output of
12:34:56 with a single 'Write:' statement.
Write:s_time using edit mask'--:--:--'.

In order to suppress the leading zeroes of a number field the


keywords used are NO-ZERO.

The total no of date formats that can be used to display a date


during output is MM/DD/YY, DD/MM/YY, DD/MM/YYYY,
MM/DD/YYYY, MMDDYY, DDMMYY, YYMMDD.

The UNDER Command allows for vertical alignment of fields one


below the other.

In order to concatenate strings only for output purposes the


command NO-GAP can be used in conjunction with the 'Write'
statement.

The no of decimal places for output can be defines within a write


statement. (T/F).

TRUE. Write:/<f> decimals 2.

Data can be moved from one field to another using a 'Write:'


Statement and stored in the desired format. (T/F).

TRUE. Write: Date_1 to Date_2 format DD/MM/YY.

In the statement Write:/15(10) lfa1-lifnr. The values 15 and 11


can also be defined by variables (T/F).

False.

Differentiate between the following two statements if any.


ULINE.
Write: sy-uline.
No-difference. Except that uline is used outside the 'Write'
Statement.

In order to skip a single line the number of lines need not be given
as an assignment (T/F)

TRUE.

The "SKIP TO LINE line number" is dependent on the LINE-COUNT


statement included in the report statement of the program.

In order to skip columns the command used is POSITION <n>.


In order to have boldfaced text as output the command used is
Write:<f>INTENSIFIED.

Background and foreground colors can be interchanged using the


command Format Inverse.

In order to restore the system defaults for all changes made with
the format statement is Format Reset.

Like ULINE the statement VLINE is used to insert vertical lines.


(T/F).

False.

Suppressing the number signs (+/-) is carried out using the


addition NO-SIGNS to the Write statement. (T/F).

False.

If SY-UZEIT has the value 6:34:45 it can be displayed as 063445


using No Edit Mask.

If the variable "Text" has the value 'ABCDEF' the output for the
statement "Write:/Text+2(3)" will be "CDE"

The fields specified by select-options and parameters statement


cannot be grouped together in the selection screen. (T/F).

False.

When calling an external report the parameters or select-options


specified in the external report cannot be called. (T/F)

FALSE.

Selection Texts in the text elements of the program helps in


changing the displayed names of variables in the parameters
statement.

Type F datatype cannot be used to define parameters.

Rounding off of values can be carried out using the write


statement. (T/F).

TRUE

How would you define the exponents for a type 'f' field?
Exponent <e>.

How would you format the output as left, centered or right-


justified using the write statement.

Left-justified, Centered, Right-justified.

If the same formatting options were used for a WRITE statement


that follows the FORMAT statement, which settings would take
precedence.

The settings in the Write Statement.

For each new event, the system resets all formatting options to
their default values (T/F)

TRUE.

All formatting options have the default value OFF. (T/F).

TRUE.

How would you set the formatting options statically and


dynamically within a report? Statically: FORMAT <option1>[ON|
OFF]….</option1>
Dynamically: FORMAT <option1> = <var1> <option2>=<var2>….

The page footer is defined using the statement END-OF-PAGE.

The processing block following END-OF-PAGE is processed only if


you reserve lines for the footer in the LINE-COUNT option of the
REPORT statement. (T/F)

TRUE.

To execute a page break under the condition that less than a


certain number of lines is left on a page is achieved by RESERVE n
lines.

The RESERVE statement only takes effect if output is written to


the subsequent page. No blank pages are created and it defines a
block of lines that must be output as a whole. (T/F).

TRUE.

To set the next output line to the first line of a block of lines
defined with the RESERVE statement the statement BACK is used.
What is the limit for the length of a page if the page length is not
specified in the report statement.

60,000 lines.

How would you start the printing process from within the program
while creating a list?

NEW-PAGE PRINT ON.

You can change the width of pages within list levels triggered by
page breaks. (T/F).

FALSE.

Hotspots are special areas of an output list used to trigger events.


(T/F).

TRUE.

To designate fields as hotspots at runtime, use FORMAT HOTSPOT


= <h>.

Horizontal lines created with ULINE and blank lines created with
SKIP can be formatted as hotspots. (T/F).

FALSE.

How would you suppress the display of a parameter on the


selection screen?

Parameters <p> ………..No-Display.

Can you assign a matchcode object to a parameter? If so how?

Yes.  PARAMETERS <p>……..MATCHCODE OBJECT <obj>……..

For each SELECT-OPTIONS statement, the system creates a


selection table. (T/F)

TRUE.

To position a set of parameters or comments on a single line on


the selection screen, you must declare the elements in a block
enclosed by

SELECTION-SCREEN BEGIN OF LINE.


……..
SELECTION-SCREEN END OF LINE.
How can Symbols or R/3 icons be output on the screen?

WRITE <symbol-name> AS SYMBOL.


WRITE <icon-name> AS ICON.

In the standard setting, you cannot create empty lines with the
WRITE statement alone. (T/F).

TRUE.

REPORTING – GENERAL

The system field, which indicates success or failure of a SQL


operation, is SY-SUBRC.
What is the syntax for specifying database table name at runtime
in SELECT statement.

NAME = 'SPFL1'.
SELECT * FROM (NAME).
……………….
……………….
ENDSELECT.

How do you read selected lines of database table into an internal


table in packages of predefined size.

SELECT * FROM <SPFLI>INTO TABLE <ITAB>PACKAGE SIZE<N>


Where n is variable.

Name the WILDCARD characters which are used for comparisons


with character strings & numeric strings. '%' and '-'.

In SELECT statements can you specify a variable in WHERE


condition or a part of the condition, if so what is the syntax.

SELECT * FROM <table>WHERE <var1><condition><var or const>

Name the ABAP/4 key words, which are used to change the
contents of database table.

UPDATE or MODIFY.

How to specify a client for database table processing.

TABLES SPFLI.
SELECT * FROM SPFLI CLIENT SPECIFIED WHERE MANDT BETWEEN '001' AND '003'.
……..
ENDSELECT.
How do you write a DATA object from ABAP/4 program to ABAP/4
memory and restore the same from memory to program.

EXPORT <f1> [FROM <g1>] <f2> [FROM <g2>] ... TO MEMORY ID <key>.
The ID <key>, which can be up to 32 characters long, identifies the data in
memory.

What are DATA CLUSTERS?

You can group any complex internal data objects of an ABAP/4 program
together in data clusters and store them temporarily in ABAP/4 memory
or for longer periods in databases. You can store data clusters in special
databases of the ABAP/4 Dictionary. These databases are known as
ABAP/4 cluster databases and have a predefined structure. Storing a data
cluster is specific to ABAP/4. Although you can also access cluster
databases using SQL statements, only ABAP/4 statements are able to
decode the structure of the stored data cluster.

Statements used to delete data objects in ABAP/4 memory FREE


MEMORY [ID <key>].

How will you create a file on application server.

Open dataset <dsn> for output.

ABAP/4 statement for opening a file on application server for


reading Open dataset <dsn> for input.

How will you transfer data into a file in application server?</dsn>

Data fname(60) value 'mYFILE'.


Data num type i.
Open dataset fname for output.
Do 10 times.
Num = Num +1.
Transfer num to fname.
Enddo.
…….etc.

Name the function modules to write data from an Internal Table


to the Presentation Server.

DOWNLOAD and WS_DOWNLOAD.

Name the function module that can be used to give information


about files on Presentation Server and about its Operating
System.

WS_QUERY.
Name the ABAP/4 key word, which is used to clear the Headerline
of an Internal Table.

CLEAR

<itab> .

Name the function modules to read data from Presentation Server


into an Internal Table.

UPLOAD and WS_UPLOAD.

Name the ABAP/4 keywords to initialize an Internal Table with


and without headerline.

REFRESH <itab>.

How to determine the attributes of an internal table?

DESCRIBE TABLE <itab>[LINES <lin>] [OCCURS <occ>].

Name the ABAP/4 key word for searching a string in an Internal


Table.

SEARCH <itab> FOR <str> <options>.


The different options ( <options>) for the search in an internal table are:
ABBREVIATED
Searches table<itab>for a word containing the character string specified in
<str>, where other characters might separate the characters. The first
letter of the word and the string <str> must be the same.
STARTING AT <lin1>
Searches table<itab> for <str>, starting at line <line1>. <lin1> can be a
variable.
ENDING AT<n2>
Searches table <itab>for <str>upto line <lin2>. <lin2>can be a variable.
AND MARK
If the search string is found, all the characters in the search string (and
all the characters in between when using ABBREVIATED) are converted to
upper case.

What are the different attributes that can be assigned to a


variant?

The different attributes that can be assigned to a variant are….

Description

Enter a short, meaningful description of the variant. This may be upto 30


characters long.

Background only
Specify whether you want to use the variant in background processing
only, or in online environment as well.

Protected variant.

Mark the field if you want to protect your variant against being changed
by other users.

Do not display variant.

Mark this field if you want the variant name to be displayed in the catalog
only, but not in the F4 value list.

For the selections you cover in a variant, you can enter the
following attributes:

Type

The system displays whether the field is a parameter or a select option.

Protected

Mark this field for each field on the selection screen you want to protect
from being overwritten. Values that you mark this way are displayed to
the users, but they cannot change them, that are they are not ready to
accept input.

Invisible

If you mark this column, the system will not display the corresponding
field on the selection screen the user sees when starting the report
program.

Variable

Mark this column if you want to set the value for this field at runtime.

Data types can be elementary or structured (T/F).

TRUE.

The amount of memory associated with a data type is ZERO.

Data objects are the physical units a program uses at runtime.


(T/F).
TRUE.

The data object does not occupy any space in memory. (T/F)

FALSE.

What are the three hierarchical levels of data types and objects?

Program-independent data, defined in the ABAP/4 Dictionary.

Internal data used globally in one program.

Data used locally in a procedure (subroutine, function module)

How would you find the attributes of a data type or data object?

DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]]


[OUTPUT-LENGTH <o>] [DECIMALS <d>]
[EDIT MASK <m>].

CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>

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

What are the two ways of producing a list within a transaction?

By submitting a separate report.


By using leave to list-processing.

What is the use of the statement Leave to List-processing?

Leave to List-processing statement is used to produce a list from a


module pool. Leave to list processing statement allows to switch from
dialog-mode to list-mode within a dialog program.

When will the current screen processing terminates?

A current screen processing terminates when control reaches either a


Leave-screen or the end of PAI.
How the transaction that are programmed by the user can be
protected?

By implementing an authority check.

What are the modes in which any update tasks work?

Synchronous and Asynchronous.

What is the difference between Synchronous and Asynchronous


updates?

A program asks the system to perform a certain task, and then either
waits or doesn't wait for the task to finish. In synchronous processing, the
program waits: control returns to the program only when the task has
been completed. In asynchronous processing, the program does not wait:
the system returns control after merely logging the request for execution.

SAP system configuration incluedes Dialog tasks and Update


tasks.

Dialog-task updates are Synchronous updates.

Update –task updates are Asynchronous updates.

What is the difference between Commit-work and Rollback-Work


tasks?

Commit-Work statement "performs" many functions relevant to


synchronized execution of tasks. Rollback-work statement "cancels: all
reuests relevant to synchronized execution of tasks.

What are the different database integrities?

 Semantic Integrity.
 Relational Integrity.
 Primary Key Integrity.
 Value Set Integrity.
 Foreign Key integrity and
 Operational integrity.

All SAP Databases are Relational Databases.

What is SAP locking?

It is a mechanism for defining and applying logical locks to database


objects.
What does a lock object involve?

The tables.
The lock argument.

What are the different kinds of lock modes?

Shared lock
Exclusive lock.
Extended exclusive list.

How can a lock object be called in the transaction?

By calling Enqueuelocklock objectlock and Dequeuelocklock objectlock in


the transaction.

What are the events by which we can program "help texts" and
display "possible value lists"?

-PROCESS ON HELP-REQUEST (POH).


-PROCESS ON VALUE-REQUEST (POV).

What is a matchcode?

A matchcode is an aid to finding records stored in the system whenever


an object key is required in an input field but the user only knows other
(non-key) information about the object.

In what ways we can get the context-sensitive F1 help on a field?

 Data element documentation.


 Data element additional text in screen painter.
 Using the process on help request event.

Does the external program run in the same SAP LUW as the caller,
or in a separate one?

 Transactions run with a separate SAP LUW


 Reports run with a separate SAP LUW.
 Dialog modules run in the same SAP LUW as the caller
 Function modules run in the same SAP LUW as the caller.

The only exceptions to the above rules are function modules called with
IN UPDATE TASK (V2 function only) or IN BACKGROUND TASK (ALE
applications). These always run in their own (separate) update
transactions.

What are function modules?


Function modules are general-purpose library routines that are available
system-wide.

What are the types of parameters in the function modules?

In general, function module can have four types of parameters:

 EXPORTING: for passing data to the called function.


 IMPORTING: for receiving data returned from the function module.
 TABLES: for passing internal tables only, by reference (that is, by
address).
 CHANGING: for passing parameters to and from the function.

What is the difference between Leave Transaction and Call


Transaction?

In contrast to LEAVE TO TRANSACTION, the CALL TRANSACTION


statement causes the system to start a new SAP LUW. This second SAP
LUW runs parallel to the SAP LUW for the calling transaction.

How can we pass selection and parameter data to a report?

There are three options for passing selection and parameter data to the
report.

 Using SUBMIT…WITH
 Using a report variant.
 Using a range table.

How to send a report to the printer instead of displaying it on the


screen?

We can send a report to the printer instead of diplaying it on the screen.


To do this, use the keywords TO SAP-SPOOL:
SUBMIT RSFLFIND…TO SAP-SPOOL DESTINATION 'LT50'.

How can we send data to external programs?

Using SPA/GPA parameters(SAP memory).


Using EXPORT/IMPORT data (ABAP/4 memory)

What are SPA/GPA parameters (SAP memory)

SPA/GPA parameters are field values saved globally in memory. There are
two ways to use SPA/GPA parmeters:
By setting field attributes in the Screen Painter.
By using the SET PARAMETER or GET PARAMETER statements.
BDC

What is full form of BDC Session?

Batch Data Communication Session.

What are the steps in a BDC session?

The first step in a BDC session is to identify the screens of the transaction
that the program will process. Next step is to write a program to build the
BDC table that will be used to submit the data to SAP. The final step is to
submit the BDC table to the system in the batch mode or as a single
transaction by the CALL TRANSACTION command.

How do you find the information on the current screen?

The information on the current screen can be found by SYSTEM 􀃆


STATUS command from any menu.

How do you save data in BDC tables?

The data in BDC tables is saved by using the field name 'BDC_OKCODE'
and field value of '/11'.

What is the last entry in all BDC tables?

In all BDC tables the last entry is to save the data by using the field name
BDC_OKCODE and a field value of '/11'.

What is a multiple line field?

A multiple line field is a special kind of field which allows the user to enter
multiple lines of data into it.

How do you populate data into a multiple line field?

To populate data into a multiple line field, an index is added to the field
name to indicate which line is to be populated by the BDC session (Line
index).

Write the BDC table structure.

BDC table structure


FIELD TYPE DESCRIPTION
Program CHAR (8) Program name of transaction.
DynPro CHAR (4) Screen number of transaction.
DynBegin CHAR (1) Indicator for new screen.
Fnam CHAR (35) Name of database field from screen.
Fval CHAR (80) Value to submit to field.
Does the CALL TRANSACTION method allow multiple transactions
to be processed by SAP?

No. The CALL TRANSACTION method allows only a single transaction to


be processed by SAP.

Does the BDC-INSERT function allow multiple transactions to be


processed by SAP?

Yes.

What is the syntax for 'CALL TRANSACTION'?

CALL TRANSACTION trans [ using bdctab MODE mode ].


Three possible entries are there for MODE.

 A - Show all screens.


 E - Show only screens with errors.
 N - Show no screens.

In BDC, list down all the functional modules which are used in
sequence?

By using BDC programming, there are 3 functional modules which are


used in sequence for performing data transfer successfully. These are
listed below:

 BDC_OPEN_GROUP
 BDC_INSERT
 BDC_CLOSE_GROUP

List all the different the components of SAPscript?

The various components of the SAPScripts are as follows:

 ABAP Print program


 Layout set
 Symbols
 SAPscript Text,
 Function modules such as open_form, close_From, Read_text etc.

What is Badi?

Business Add-In or BADI is referred to as a new SAP Object Oriented


enhancement technique which is utilized for adding our own business
functionality to the already pre-existing SAP standard functionality. BADI
can also be inserted into the SAP System meant for accommodating the
user requirements and these are very precise to be included in the
standard delivery.

How would you describe the internal tables?

Internal tables are meant for serving the purpose of pulling the data from
a fixed structure and preserving it in the working memory in ABAP. The
data is preserved line by line in memory, and each line encompasses
similar structure, and these data objects are all dynamic.

What is a Data Class?

Data classes have been categorized into the following classes:

 System Data: The data is utilized by R/3 system itself


 Master Data: The data here class seldom changes
 Organization Data: The data here is customized and is entered
into the system once the system is configured, and is very rarely
altered.
 Transaction Data: The data can be changed frequently in this
class

How can we format the data prior to the write statement in the
report?

The user can format the report output by using the loop event.

 .at first
 .at new
 .at last

Can the user create an ABAP program without using Y or Z?

All non Y or Z programs are standard SAP programs, therefore the user
cannot create an ABAP program without using Y or Z.

What is a foreign key relationship?

A foreign key relationship can be referred to a relationship that can be


defined between tables and should be clearly defined at field level.
Foreign keys are utilized for ensuring consistency of data. The Data
entered must be verified against existing data in order to clear out any
contradiction. It must be ensured that while defining foreign key
relationship cardinality should be very clearly specified.

Note: Cardinality lists the number of dependent records or how


referenced records are achievable.
What are various types of ABAP report in SAP?

There are 7 types ABAP report in SAP are present in reports


attributes screen. These are all listed below:

 Executable program.
 Interface pool.
 Function groups.
 Include.
 Class pool.
 Module pool.
 Subroutine pool.

List the various steps involved for adding value help for the
parameter in ABAP CDS Analytical Query?

 First, create an ABAP CDS view for dictionary based on any dummy
table
 Then create an ABAP CDS cube with required logic
 Now Creating an ABAP CDS analytical query with the required logic
 At last result query in Analysis for Excel. Value help button exist

What is Predictive Search Helps?

An ABAP search provides type-ahead functionality primarily for the


elementary search helps and are known as Predictive Search Helps.

How can the user add subtotal text in ABAP ALV Grid?

Listed below are the steps for adding the subtotal in the ABAP ALV grid:

 By Creating an ABAP Program in SE38 transaction.


 Create and ALV report by using the function module
REUSE_ALV_GRID_DISPLAY.
 Populate the SUBTOTAL_EVENT in IT_EVENTS parameter in the
REUSE_ALV_GRID_DISPLAY.

List the benefits of using ABAP in eclipse over ABAP in SAP GUI?

There are various advantages of utilizing ABAP in IDE eclipse over ABAP
editor:

 The user can create CDS views and AMDP's which ultimately push
down the code to database level and help in speedy access to
records.
 All the CDS views created in IDE are available in SE11 and user can
utilize them in your programs in SE38.
 User can make modifications in their program while debugging and
activating your program while in debug mode and user can then
proceed with debug along with the new changes.
 User can create multiple projects and create your stuff inside it.
 In WEB IDE, the User has the advantage of using advanced SQL.

Distinguish between READ TABLE <ITAB> WITH KEY and READ


TABLE <ITAB> WITH TABLE KEY in SAP ABAP?

READ TABLE <ITAB> WITH KEY

For all table types, the search is linear. The runtime is in linear relation to
the number of table lines.

READ TABLE <ITAB> WITH TABLE KEY

Listed below are the system searches for the relevant table types:

 Standard tables: It is a linear search, where the runtime is in


linear relation with the number of table entries.
 Sorted tables: it is binary search where the runtime is in
logarithmic relation to the number of table entries.
 Hashed tables: By using the hash algorithm of the internal table,
the entry is found. The runtime is completely independent of the
number of table entries.

Define field symbols in ABAP?

Field symbol points (known as pointers in C language) to something. That


could be a table, a field or simply nothing. By nothing, I am referring to
that structure of a field symbol which can be dynamically determined. A
field symbol can be utilized in any operand position in this is visible and
also matches the typing defined utilizing typing.

How many ABAP report types in SAP are available in reports


attributes screen?

There are 7 ABAP report types available in SAP in the reports


attributes screen.

 Class pool
 Function group (containing function modules)
 Executable program.
 Interface pool
 Include Interface pool
 Module pool
 Subroutine pool
What is an ABAP/4 Query in SAP?

ABAP/4 Query is a very strong tool which is used for generating simple
reports without any coding. The following 3 simple reports can be
generated:

 Basic List: This is the simple reports.


 Statistics: entails reports with statistical functions such as
percentages, Averages.
 Ranked Lists: For analytical reports.

How can the user create ABAP/4 Query in SAP?

For creating an ABAP/4 Query, the programmer should create a user and
a functional group. The functional group can be created by using with or
without logical database table. Finally, assigning the user group to
functional group. Finally, creating a query on the functional group
generated.

What is the difference between se16 and table maintenance


generator?

SE16 is a data browser and it is used to view the contents of the table
and we cannot change or append new fields to the existing structure of
the table as we cannot view the structure level display using the SE16.

Table Maintenance Generator (TMG) is a tool which is created using t-


code SM30. TMG is used to create a equipment by which customized
tables created by end users can be changed as required, such as making
an entry to that table, deleting an entry etc.

How should the user tick an option in Standard Tcode like LB10
along with 'Partially Delivered'?

In case there is no additional condition meant for checking the 'Partially


Delivery' checkbox, the user can then select the 'Partially Delivery'
checkbox by using Transaction variant in SHD0 transaction.

Once the transaction variant has been created, then activating the variant
and checking the LB10 transaction.

How can the user SUBMIT PROGRAM with Selection Screen For a
SLIN T-code?

User can utilize the FM EXTENDED_PROGRAM_CHECK instead of SUBMIT


REPORT. This will provide you similar results.
I am required to update equipment status as inactive & delete. So
I am using function module STATUS_CHANGE_INTERN_VB & this
is working fine, however, it doesn’t have exceptions for handling
the error messages & even sy-subrc getting 0 if it fails also. Would
request you to please suggest me how to handle this scenario? Is
there any BAPI to update status in IE02?

This FM is an ‘update task’ FM, generally Open-SQL statements, not much


check, so no to be called in customer development.

The best solution would be a BAPI (this is easy to find with any search
tool) and when none is available or without required parameter some
‘dialog’ FM like STATUS_CHANGE_INTERN/EXTERN after analyzing the
application behaviour and if BDC is also no longer suitable.

In ABAP can the user write select * in the loop?

This is not recommended, as it will cause a major performance issue. It


will run the query every time it loops and you are using “Select * …”
which means you are fetching all fields of that table, assuming if tables
have millions of entries then in every iteration, your select query will go
around millions of records in the table. Therefore, it could lead to serious
performance issues.

Instead of this, it is advised that you use 'For all entries…' the statement,
it will fulfil your requirement.

What is the difference between a singleton and a static class


ABAP?

A singleton is a design pattern where the class is required to create


objects. The class ensures that only one object exists for every internal
session which is available to consumers. Therefore, when you create a
singleton class it does not allow you to create multiple instances of the
class, instead, a single instance will be created which behaves as a global
access point to reference that class throughout the lifetime of the
application component.

A class which only contains static components and no instance


components is known as a static class. The user can directly access the
components using the “=>” operator. A global static class is loaded once
with its class pool into the current internal session. Like every ABAP
program, it cannot be clearly deleted from the session. In subclasses, the
static methods (declared using CLASS-METHODS) of a class cannot be
redefined.

What are the two methods to declare input field as mandatory?


Two ways:

1.parameter: abc type xyz obligatory.

2.check:
if abc is initial.
message 'field abc is mandatory' type 'E'.
endif.

 I have 100 records in a table, how can I simultaneously Delete


the 5th, 10th, 15th, 20th......records, write a code for it

loop at lt_tab into lw_tab.


lv_var = 0. 
lv_var = lv_var + 1.
lv_var1 = lv_var mod 5.

if lv_var1 = 0.
"do nothing 
else.
append lw_tab to lt_tab1.
endif.
clear: lv_var1, lw_tab.
endloop.

What is the use "Condense" keyword in ABAP?

Using condense keyword in string all consecutive blank spaces are


converted into a single space.

2. What are field symbols and field groups.?

Ans: Field symbols: Field symbols are like pointers. Placeholders for


fields or arbitrary data objects.

Field group: A field group combines several fields under one name.

****      Have you used "component idx of structure" clause with field
groups?

3. What should be the approach for writing a BDC program?

Ans.

·         Analyzing data from local file.

·         Analyzing transaction


·         Declaring internal table

        Similar to local file.

        Similar to BDCDATA.

·         Transferring data from local file to internal table.

·         Population of BDCDATA. using call transaction/session method)

 4. What is a batch input session?

Ans. In this method transfer data from internal table to database table
through sessions. Session is intermediate step between internal table &
database table. Unless session is processed, the data is not transferred to
the database table.

5. What is the alternative to batch input session?

Ans. Call transaction method.

 6. A situation: An ABAP program creates a batch-input session.


We need to submit the program and the batch session in
background. How to do it?

Ans. You should process batch-input sessions in the foreground or using


the error display if you want to test the data transfer. If you want to
execute the data transfer or test its performance, you should process the
sessions in the background. To process the sessions in the background,
Set the Run mode to Background.

 7. What z the diff b/n a pool table and a transparent table and
how they are stored at the database level ?

Ans. From user point of view all tables are used to store data. From
administrator point of view Transparent tables do exists with the same
structure both in the dictionary as well as in the database.

Pool & Clustered tables are Logical tables, which are arranged as records
of transparent table. These are not manageable directly by using
database system tools. 

8. What are the problems in processing batch input sessions?

Ans.https://www.stechies.com/what-are-the-problems-in-processing-
batch-input-sessions/

9. How is batch input process different from processing online?


Ans. For online (Session method) external data is deposited in a session
for later processing.

For inline (call transaction method) the entire batch input process takes
place inline in your program.

 10. What do you define in the domain and data element ?

Ans. Domain is formal definition of data types from a technical point of


view. Sets attributes i.e., type, range, length . . .

        DataElements are definition of the properties and type for a table


field. It is an intermediate between the object type domain & table filed.

 11. What are the different types of data dictionary objects?

Ans.

·         Table.

·         Structures.

·         Views.

·         Dataelement.

·         Domains.

·         Lock Objects.

·         Match code objects.

 12. How many types of tables exists and what are they in data
dictionary ?

To view the answer click the following link:

https://www.stechies.com/how-many-types-of-tables-exists-and-what-
are-they-in-data-dictionary/

 13. What is the step by step process to create a table in data


dictionary?

Ans.

·         Create Domain.

·         Create Data Element.


·         Create Actual Table.

14. Can a transparent table exist in data dictionary but not in the
data base physically?

 Ans. NO

15. What are the domains and data elements?

Ans.   Same as Answer no.10

16. Can you create a table with fields not referring to data
elements?

Ans. NO.

17. What is the advantage of structures? How do you use them in


the ABAP programs?

 Ans. https://www.stechies.com/what-is-the-advantage-of-structures-
how-do-you-use-them-in-the-abap-programs/

18. What does an extract statement do in the ABAP program?

Ans. An extract dataset consists of a sequence of records. These


records may have different structures. All records with the same structure
form a record type. You must define each record type of an extract
dataset as a field group, using the FIELD-GROUPS statement.

 When the first EXTRACT statement occurs in a program, the system


creates the extract dataset and adds the first extract record to it. In each
subsequent EXTRACT statement, the new extract record is added to the
dataset.

 19. What is a collect statement? How is it different from append?

Ans. COLLECT: When the line is inserted, the system checks whether


there is already a table entry that matches the key. If there is no
corresponding entry already in the table, the COLLECT statement has the
same effect as inserting the new line. If an entry with the same key
already exists, the COLLECT statement does not append a new line, but
adds the contents of the numeric fields in the work area to the contents of
the numeric fields in the existing entry.

 20. What is Open SQL Vs Native SQL?


Ans. Open SQL allows you to access database tables declared in the
ABAP Dictionary regardless of the database platform that your R/3
System is using.

         Native SQL allows you to use database-specific SQL statements in


an ABAP program. This means that you can use database tables that are
not administered by the ABAP Dictionary, and therefore integrate data
that is not part of the R/3 System.

 21 (a). What does an EXEC SQL stmt do in ABAP?

Ans. To use a Native SQL statement, you must precede it with the EXEC
SQL statement, and follow it with the ENDEXEC statement as follows: 

EXEC SQL.

ENDEXEC.

 21 (b). What is the disadvantage of using EXEC SQL stmt do in


ABAP?

Ans. Using inverted commas (") or an asterisk (*) at the beginning of a


line in a native SQL statement does not introduce a comment as it would
in normal ABAP syntax

 22. What is the meaning of ABAP editor integrated with ABAP


data dictionary?

Ans.  Area menu.

 23. What are the events in ABAP language?

Ans.

 Example for the structure of an ABAP program:

REPORT...

NODES: SPFLI, SFLIGHT.

DATA:...

INITIALIZATION.
AT SELECTION-SCREEN.
START-OF-SELECTION.
GET SPFLI...
GET SFLIGHT...
GET SPFLI LATE.
END-OF-SELECTION.
FORM...
ENDFORM. 

24. What is an interactive report? What is the obvious differences


of such report compared with classical type reports?

Ans. Interactive reporting:

Allows the user to participate in retrieving and presenting data at each


level during the session. Gives a basic list form which the user can call
detailed information by positioning the cursor and entering the
commands.

Classical reports:

Consists of one program the creates a single list which contains  clustered
data requested, regardless of the details the user wants to see.

 25. What is a drill down report?

Ans. A drilldown report is a report used for the interactive evaluation of


data.  (Interactive reports)

 26. How do you write a function module in SAP? describe ?

Ans.

·    create funtion group.

·    create funtion module program in se37.

    specify the parameters for passing data to and from the module and
the exceptions.

    write source code.

·    write exe program calling the funtional program.

 27. What are the exceptions in function module?

 Ans. Exceptions are used to handle errors. The Funtion module checks


for any type of error & raise exception & returns SY-SUBRC to the calling
program. Main program checks for SY-SUBRC for any errors and then
takes action accordingly.

 28. What is a function group?


Ans. Funtion Modules that operate with same data can be grouped in one
known as funtion group.

 29. How are the date and time field values stored in SAP? 

Ans.   SY-DATUM & SY-UZEIT

 30. What are the fields in a BDCTab Table?

Ans.       PROGRAM

             DYNPRO

             DYNBEGIN

             FNAM

             FVAL

 31. Name a few data dictionary objects?

32. What happens when a table is activated in DD?

Ans. To be able to accessed by other objects like programs.

 33. What is a check table and what is a value table?

Ans. 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 : 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 foreign
key.

 34. What are match codes? describe?

Ans. https://www.stechies.com/what-are-matchcodes-describe/

 35. What transactions do you use for data analysis?

 Ans. https://www.stechies.com/what-transactions-do-you-use-for-data-
analysis/
36. What is table maintenance generator?

Ans. https://www.stechies.com/what-is-table-maintenance-generator/

 37. What are ranges? What are number ranges?

Ans. SELECT-OPTION

 38. What are select options and what is the diff from parameters?

Ans. Select options are for range of values.

        Parameters are used for simple queries of single values.

 39. How do you validate the selection criteria of a report?

Ans. AT SELECTION -SCREEN.

        IF carrid = '11000'.

                  error message.

         ENDIF.

 40.  And how do you  display initial  values in a selection screen?

 Ans.  Using VARIANTS.

 41. What are selection texts?

Ans.  Long text for select option / parameters . Selection text (SELECT-


OPTION, PARAMETER). This description appears on the selection screen.

 42. What is CTS and what do you know about it?

Ans.  It  intended for the system administrator who sets up the


Change and Transport System (CTS).

43. When a program is created and need to be transported to


production does selection texts always go with it? if not how do
you make sure? Can you change the CTS entries? How do you do
it?

Ans.

44. What is the client concept in SAP? What is the meaning of


client  independent? 
Ans. Sets of software component which acts as service requester are
called as client.

45. Are programs client dependent?

Ans.

46. Name a few system global variables you can use in ABAP
programs?

Ans. SY-DATUM,  SY-UEZIT,  SY-SUBRC,  SY-DBCNT.

 47. What are internal tables?

      How do you get the number of lines in an internal  table?

      How to use a specific number occurs statement?

Ans. 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, they are dynamic data
objects.

SY-DBCNT / SY-TABIX.

DATA : BEGIN OF ITAB OCCURS 19,

                 A1 TYPE I,

               C1 TYPE C,

              END OF ITAB.

48. How do you take care of performance issues in your ABAP


programs?

Ans. https://www.stechies.com/how-to-take-care-of-performance-in-
abap-development/

49. What are datasets?

 Ans. Sequential files in application server.

50. How to find the return code of a stmt in ABAP programs?

Ans.  SY-SUBRC (except for transfer stmt).

51. What are interface/conversion programs in SAP?


Ans. https://www.stechies.com/what-are-interfaceconversion-programs-
in-sap/

 52. Have you used SAP supplied programs to load master data?

 Ans. BDC

 53. What are the techniques involved in using SAP supplied


programs? Do you  prefer to write your own programs to load
master data? Why?

Ans. https://www.stechies.com/what-are-the-techniques-involved-in-
using-sap-supplied-programs-do-you-prefer-to-write-your-own-programs-
to-load-master-data-why/

54. What are logical databases? What are the


advantages/disadvantages of  logical databases?

Ans. Logical database are special ABAP programs that retrive data &


make it  available  to application programs.

Advantages of Logical database.

·                      No need of taking care of the key field and the foreign key
realtionship between the tables in question.(relationship between diff
tables are reflected in tree structure of Logical database).

·                     A selection screen with appropriate selection criteria is


automatically created.

·                     Program standard authority checks are executed by


Logical database itself in reports.

·                     Logical database  improves the performance of reports at


runtime.

55. What specific statements do you using when writing a drill


down report?

 Ans.  Hide stmt.

56. What are different tools to report data in SAP? What all have
you used?

  Ans. ABAP query tool,

57. What are the advantages and disadvantages of ABAP query


tool?
Ans.

58. What are the functional areas? User groups? and how does
ABAP query work in relation to these?

   Ans.

59. Is a logical database a requirement/must to write an ABAP


query?

 Ans. No.

60. What is the structure of a BDC sessions.

Ans.

 Declare internal tables for upload.


 Declare another internal table with same structure of BDCDATA.
 Call function BDC_Open _group.
 Call function BDC_insert.
 Call function BDC_close_group.

61. What are Change header/detail tables? Have you used them?

Ans. The change header contains both fields that define and describe the
change and administrative data on the change master. The administrative
data is updated by the system.

62. What do you do when the system crashes in the middle of a


BDC  batch  session?

  Ans. https://www.stechies.com/what-do-you-do-when-the-system-
crashes-in-the-middle-of-a-bdc-batch-session/

63. What do you do with errors in BDC batch sessions?

  Ans. BDC session with errors appears in INCORRECT session & it can be


processed again. to correct the errors , first you can analyze the session 
to  determine which screen & value produced the error, if there r small
errors, correct them else modify the BDC pgm which generates session or
the flat file  itself.

64. How do u set up background jobs in SAP? What r the steps?


What are the event driven batch jobs?

 Ans. https://www.stechies.com/how-do-you-set-up-background-jobs-in-
sap-what-are-the-steps-what-are-events-driven-batch-jobs/
65. Is it possible to run host command from SAP environment?
How do you run?

Ans.

66. What kind of financial periods exist in SAP? What is the


relevant table for that?

 Ans.

67. Does SAP handle multiple currencies? Multiple languages?

  Ans. YES

68. What is a currency factoring technique?

 Ans.

69. How do you document ABAP programs? Do you use program


documentation menu option?

 Ans.

70. What is SAPscript and layout set?

Ans. Printable document such as invoices, purchase order  are printed


with the use of forms, SAP allows the user to define these forms by using
layout sets         is  SAP scripts.

 Layout set is used to design a document. Layout set on its own does not
contain any data. Selection of data for the document is done through the
print  program.

71. What r the ABAP commands that link to a layout set?

  Ans. dataelement    ... like ( /E        ELE1)

72. What is output determination?

 Ans.

73. What are IDOCs?

 Ans. Intermediate document (IDoc) container for exchanging data


between R/3, R/2 and non-SAP systems. ALE uses IDocs to exchange
data between  logical systems. Non-SAP systems can use IDocs as the
standard interfacefor data transfer.
 IDocs are created when message types and (object) methods are
distributed. The message type is the format in which the data for a
specific business  process is transferred.

74. What are screen painter? menu painter? Gui status? ..etc.

 Ans. Screen painter: Tool for creating the screens of a dialog


transaction.

           Menu painter: Tool for creating and designing the graphical user
interface of an ABAP program.

           GUI Status : Main element of the graphical user interface.A GUI


status usually consists of a menu bar with menus, a standard toolbar, an  
application toolbar, and functions with function key settings.

Together with the GUI title, the GUI status defines the actual state of the
user interface of an ABAP program.

75. What is screen flow logic? What are the sections in it? Explain
PAI and PBO.

Ans.

Flow logic : Code that processes a particular screen in the R/3


System.Flow logic statements are syntactically similar to ABAP
statements, but you cannot use flow logic keywords in ABAP.

You define flow logic in the flow logic editor of the Screen Painter. Flow
logic comprises four modules:

·         PBO (Process Before Output)

·         PAI (Process After Input)

·         POV(Process On value request)

·         POH(Process On Help request)

PBO  : The processing of screen before the screen is displayed is done in


this event. (event is triggered before the screen is displayed).

PAI  : This event is responsible for processing of screen after the user
enters the data and clicks the pushbutton.

POV : This is triggered when user clicks F4 function key (for listing all
possible values for the field).
POH : This event is triggred when user places the cursor on field and
press F1 , by default system displays its own HELP for that particular field
one can add his own HELP by writting in POH.

76. Overall how do you write transaction programs in SAP?

Ans.

  Create a module program.


  Goto Screen painter in SE51. create & add all your elements.
  Write flow logic in screen painter
 ·Save & activate.
 ·Attach a transaction code in SE93.

77. Does SAP has a GUI screen painter or not? If yes what
operating systems is  it available on? What is the other type of
screen painter called?

Ans.

78. What are step loops? How do you program pagedown/pageup


in step loops?

  Ans. Step Loops:  these are repeated blocks of fields in a screen.

79. Is ABAP a GUI language?

Ans. YES

80. Normally how many and what files get created when a
transaction program is  written? what is the XXXXXTOP program?

Ans.

81. What are the include programs?

Ans. Self-contained program that executes a particular task.

An include program has two main functions:

·         It contains code which can be used by several different programs.

·         It helps you to modularize programs, which consist of many


different logically related parts. Each of these parts is stored as a
separate include program.

Include programs improve the readability of programs and make


maintenance easier.
82. Can you call a subroutine of one program from another
program?

 Ans. yes (using PERFORM)

83. What are user exits? What is involved in writing them? What
precautions are needed?

  Ans. User Exits are used for enhancement of SAP Objects. Point in an


SAP program where a customer's own program can be called.

84. What are RFCs? How do you write RFCs on SAP side?

 Ans. Remote Function Call. RFCs enable you to call and execute


predefined functions in a remote system - or even in the same
system.RFCs manage    the communication process, parameter transfer
and error handling.

85. What are the general naming conventions of ABAP programs?

 Ans.Starting with Z or Y

86. How do you find if a logical database exists for your program
requirements?

 Ans. 

87. How do you find the tables to report from when the user just
tell you the transaction he uses? And all the underlying data is
from SAP structures?

 Ans.

88. How do you find the menu path for a given transaction in SAP?

Ans.   From the main R/3 menu choose:

          Tools -->  Administration  ---> Data Retention Tool

89. What are the different modules of SAP?

  Ans.

90. What is IMG in SAP?

 Ans.

91. How do you get help in ABAP?   


 Ans. Place the cursor on the filed & press F1.

92. What are different ABAP editors? What are the differences?

 Ans.

93. What are the different elements in layout sets?

  Ans. Header, Page, Pagewindows, Windows, Paragraph Format,


Character String.

94. Can you use if then else, perform ..etc statements in sap
script?    

 Ans.  Yes

95. What type of variables normally used in sap script to output


data?

 Ans.  system defined & user define in program

96. How do you number pages in Sapscript layout outputs?          

  Ans. &SY-PAGNO&

97. What takes most time in SAP script programming?

  Ans.

98. How do you use tab sets in layout sets?

 Ans.

99. How do you backup Sapscript layout sets? Can you download
and upload? How?

 Ans. 

100. What are presentation and application servers in SAP?

 Ans. Presentation server: Software layer in the R/3 System that


accepts input from users and returns the results.  Application
Server :Server that  provides a range of services to run the R/3
System. An application server consists of a dispatcher and one or more
work processes for each service. The  dispatcher manages processing
requests, and work processes execute them.
Each application server provides at least one dialog service and one
gateway.

101. In an ABAP program how do you access data that exists on a


presentation server vs on an application server?   

 Ans. using dataset

102. What are different data types in ABAP?

  Ans.  There are eight predefined types in ABAP with fixed length:

Four character types: Character (C), Numeric character (N), Date (D),
and Time (T).

One hexadecimal type:  Byte field (X).

Three numeric types: Integer (I), Floating-point number (F) and Packed
number (P).

There are two predefined types in ABAP with variable length:

STRING for character strings , XSTRING for byte strings

Complex type.

             structure type.                  table type.

Reference type.

             Data reference

             Object Reference

                          class reference    interface reference

103. What is difference between BDC and Call Transaction?

  Ans.     BDC Session Method

·                     Data is not updated in database tables unless session is


processed.

·                     No SY-SUBRC returned.

·                     Error log is created for error records.

·                     Updation in database table is always synchronous


          Call Transaction Method.

·                     Immediate Updation in database table.

·                     SY-SUBRC retuned.

·                     Errors need to be handled explicitly.

·                     Updation in database in database table can be


Synchronous or Asynchronous

104. Setting up a BDC program where you find information from?

Ans.  https://www.stechies.com/setting-up-a-bdc-program-where-you-
find-information-from/

105. What has to be done to the packed fields before submitting


to a BDC session ?

Ans. https://www.stechies.com/what-has-to-be-done-to-the-packed-
fields-before-submitting-to-a-bdc-session/

Comments

 30 Jul 2017 3:19 pm Prashant Muttepawar

what are different ABAP EDITORS AND what are their


differences :-

The ABAP Editor is a new dedicated tool, specialized on writing and


analyzing source code. It is a new ActiveX control written in C++
which offers all modern code editing features.The control can be
used instead of the old editor in all standard transactions as SE80,
SE38, SE24 etc. and in the new ABAP debugger from SAP_BASIS
7.0 on.

Editor's features The ABAP objects Editor is generic and works with
most programming language with defined syntax schemas, such as
ABAP, eCATT, BSP etc.

The editor has customizable syntax highlighting, outlining of code


(folding of blocks), highlighting of the current scope (current block),
code templates (user and language dependant), a clipboard ring
(clipboard for more then one item), incremental search, block
selection, extended pretty print functionality, embedded print
preview, customizable keyboard shortcuts etc.

The ABAP Editor has three different modes:

· Front-End Editor (source code mode - new)

· Front-End Editor (plain text mode - old)

· Back-End Editor (line-based mode)

The three editor modes are fully compatible and interchangeable.


Source code created using one mode is properly displayed by the
system in all other modes.

The Source Code Mode of the Front-End Editor offers enhanced


functionality over the Plain Text Mode by allowing syntax
highlighting, collapsing and expanding language blocks, code
templates, code completion and so on.

 30 Jul 2017 3:29 pm Prashant Muttepawar

57. What are the advantages and disadvantages of ABAP


query tool?

well, in my opinion, the SAP QUERY tool is a nice/fast tool to create


BASIC queries, thought for non ABAPERs. 
If your query is more complex, you can still try to do it with SAP
QUERIES but it becomes far more difficult than a few select
statements and an ALV presentation. 
hope this helps, 
 

 30 Jul 2017 3:32 pm Prashant Muttepawar

86. How do you find if a logical database exists for your


program requirements?

1. open your program.

2. from menu bar select GOTO

3. from GOTO menu select ATTRIBUTES.


4. check for LOGICAL DATABASE name has given or not, If give that
is your logical database name.

reward if useful.

 30 Jul 2017 3:36 pm Prashant Muttepawar

69. How do you document ABAP programs? Do you use


program documentation menu option?

Either you can document using the INLINE comments, BLOCK


comments that we generally put in.

If you want a langauge dependant documentation then use the


menu option Goto->Documentation.

Using this option we can maintain the documentaiton in multiple


langauges.

 30 Jul 2017 3:51 pm Prashant Muttepawar

97. What takes most time in SAP script programming?

For form development for an invoice list. The  form for this is


SD_INVOICE_LIST. However, our customer wanted to develop the
requirement in Smart Forms. There is no standard Smart Form
available for invoice and hence the option is to migrate the
SAPscript to Smart Form.

However, migrating the SAPscript to Smart Form (I think we need


to change the driver program by copying it to a custom driver
program) will require more time when compared to developing the
same in SAPscript.

 30 Jul 2017 3:54 pm Prashant Muttepawar


68. What is a currency factoring technique?

READ table ITAB index <index No> (index = 1, 2, 3 etc)

Check the table TCURR, TCURC etc for currecy related.

Also we can use CONVERT_TO_LOCAL_CURRENCY and

CONVERT_TO_foreign_CURRENCY

Reward if useful

 30 Jul 2017 3:58 pm Prashant Muttepawar

 31. Name a few data dictionary objects?

BASIC OBJECTS are

1.Tables 2.Domains 3.Data elements 4.Structures 5.Foreign keys

AGGREGATE OBJECTS

1.Views 2.Matchcodes 3.Lock objects

 30 Jul 2017 4:08 pm Prashant Muttepawar

90. what is IMG IN SAP

In general there is no such Transaction code, which inturn will tell


you the Transaction codes for other IMG nodes..

Now below method will give you upto 90% result as far as the IMG
Node Transaction code..

Now with SPRO go inside the IMG..

Additinoal data --> additional data --> Display key --> IMG activity

Now you can observe another column besides your IMG Nodes..

The lst 4 digits of the new cloun details is the Transaction Code of
that node..

This is applicable for +90% cases in the IMG..


Test this..

if you have authorization use SPRO , there you will find , all the
settings for all the module.

for production order go to production -

shop floor control--- master data -

orders.

under thsi you have all the related things like , order , order tyep
dependent parameters etc.

check out and revert back

hope it helps you

 30 Jul 2017 4:10 pm Prashant Muttepawar

89. What are the different modules of SAP?

SAP R/3 Technical – ABAP, HANA2.0, and FIORI.

functional modules - SD, MM, FI, CRM 7.0, MII, GRC10.1,


BPC10.1, HCI,PMO,PI/PO 7.4, IDM 8.0, BOBJ 4.1, BODS 4.2,
TM 9.0, EWM 9.0, MDG 6.4/7.4, CPM 2.0, EHSM 3.0/5.0, DBM,
VIM 7.0, MRS10.0, SOLMAN 7.1, SRM 7.0, SCM/APO 7.0,
FSCM, HYBRIS and HR.SAP IS UTILITY, SAP IS RETAIL, SAP
IS INSURANCE, SAP IS +OIL & GAS, And SAP IS Auto.

SAP MOBILITY SERVER: SAP SMP 3.0, SAP WORK MANAGER


6.3, and SAP Afaria.

SAPUI5.

 30 Jul 2017 5:37 pm Prashant Muttepawar

what is output determination

Output determination is the process to determine the "media”


such as printouts, telexes, faxes, e-mails, or EDI that are sent from
one business to any of its business partners.
 

 30 Jul 2017 5:45 pm Prashant Muttepawar

80. Normally how many and what files get created when a
transaction program is  written? what is the XXXXXTOP
program?

ABAP/4 program.

DYNPRO

 30 Jul 2017 5:50 pm Prashant Muttepawar

97. What takes most time in SAP script programming?

LAYOUT DESIGN AND LOGO INSERTION.

You might also like