SAP BI Interview Questions

Top most important SAP BI interview questions and answers by Experts:

Here is a list of Top most important SAP BI interview questions and answers by Experts.If you want to download SAP BI interview questions pdf free ,you can register with RVH techguru. Our experts prepared these SAP BI interview questions to accommodate freshers level to most experienced level technical interviews.

If you want to become an expert in SAP BI ,Register for SAP BI online training here.
1) What is SAP BW/BI? What is the purpose of SAP BW/BI?

SAP BW/BI stands for Business Information Warehouse, also known as business intelligence. For any business, data reporting, analyses and interpretation of business data is very crucial for running business smoothly and making decision. SAP BW/BI manage the data and enables to react quickly and in line with the market. It enables the user to analyze data from operative SAP applications as well as from other business.

2) In SAP/BI what are the main areas and activities?

a) Data Warehouse: Integrating, collecting and managing entire company’s data.
b) Analyzing and Planning: Using the data stored in data warehouse
c) Reporting: BI provides the tools for reporting in web-browser, excel etc.
d) Broad cast publishing: To send the information to the employees using email, fax etc.
e) Performance: Performance of the company
f) Security: Securing the access like using SAP logon tickets from portal
3) What is data Integrity?

Data integrity is to eliminate duplicate entries in the database.

4) What is table partition?

Table partition is done to manage the huge data to improve the efficiency of the applications. The partition is based on 0CALMONTH and 0FISCPER. There are two type of partitioning that is done

a) Database partitioning
b) Logical partitioning
5) What is data flow in BW/BI?

Data flows from a transactional system to the analytical system (BW). DS ( Data Service) on the transactional system needs to be replicated on BW side and attached to infosource and update rules respectively.

6) What is ODS (Operational Data Store)?

‘Operational Data Store’ or ‘ODS’ is used for detailed storage of data. It is a BW architectural component that appears between PSA ( Persistent Staging Area) and infocubes, it allows BEX (Business Explorer) reporting. It is primarily used for detail reporting rather than dimensional analysis, and it is not based on the star schema. ODS (Operational Data Store) objects do not aggregate data as infocubes do. To load the data into an IDS object, new records are inserted, existing records are updated, or old records are deleted as specified by RECORDMODE value.

7) What is an ‘Infocube’?

‘Infocube’ is structured as the star schema and it is a data storage area. To create an infocube, you require 1 ‘fact table’ surrounded by 4 dimensions. The ‘fact table’ is surrounded by different dim table, which are linked with DIM’ ids. And as per the data, you will have aggregated data in the cubes.

8) How many tables does info cube contain?

Info cubes contain two tables, E table and F (fact table).

9) Mention what are the maximum number of dimensions in info cubes?

In info cubes, there are 16 dimensions ( 3 sap defined and 1 customer defined)

10) What is the difference between ODS and Info-cubes?

The difference between ODS and Info-cubes are

a) ODS has a key while Info-cubes does not have any key
b) ODS contains detailed level data while Info-cube contains refined data
c) Info-cube follows Star Schema (16 dimensions) while ODS is a flat file structure
d) There can be two or more ODS under a cube, so cube can contain combined data or data that is derived from other fields in the ODS
11) What is the dimension in BW? How would you optimize the dimensions?

A dimension in BW is a collection of reference information about a measurable event in data warehousing. In this context, events are known as “facts”. For example, a customer dimension’s attributes could include first and last name, gender, birth date etc. To optimize the dimensions, do not add most dynamic characteristics into the same dimension and make the dimension smaller. Also, define as many dimensions as possible, and the dimension should not exceed 20% of the fact table size.

12) What are info objects?

Characteristics and key figures will be called as info objects. ‘Info-objects’ are similar to fields of the source system, data based on which we organize data in different info provider in BW.

13) What is modelling?

Designing of data base is done by using modelling. The design of DB (Data Base) depends on the schema, and schema is defined as the representation of tables and their relationship.

14) What is extended star schema?

Star Schema comprises of Fact tables and Dimension Tables, while the table that consists the Master data are kept in separate tables. These separate tables for Master data are referred as Extended Star Schema.

15) What are the extractors and mention their types?

To extract data from the system program is used which is known as Extractor. The types of extractors in BW are:

a) Application Specific: BW content FI, HR, CO, SAP CRM, LO cockpit
b) Customer-Generated Extractors: LIS, FI-SL, CO-PA
c) Cross Application (Generic Extractors) : DB View,Infoset, Function Module
16) What is a ‘Fact Table’?

Fact table is the collection of facts and relations that mean foreign keys with the dimension. Actually fact table holds transactional data.

17) What are the data types for the characteristics info object?

There are 4 types

18) What is the use of the process chain?

The use of the process chain is to automate the data load process. It automates the process like Data load, Indices creation, Deletion, Cube compression etc. Process chains are only to load your data’s.

19) What are the transaction codes or T-codes for Info-objects?

The T-codes for Info-Cubes are

a) LISTCUBE: List viewer for InfoCubes
b) LISTSCHEMA: Show InfoCube schema
c) RSDCUBE, RSDCUBED, RSDCUBEM: Start InfoCube editing
20) What is the maximum number of key figures and characteristics?

The maximum number of key figures is 233 and characteristics are 248.

21) How can you convert an info package group into the process chain?

You can convert package group into a process chain by double clicking on the info package group, then you have to click on the ‘ Process Chain Maint ’ button where you have to type the name and description, this will insert individual info packages automatically.

22) Can an Info-object be an Info-provider?

Yes, info-object can be an info-provider. In order to do this, you have to right click on the Info Area and select “ Insert characteristics as data target”.

23) What is multi-provider in SAP BI ? What are the features of Multiproviders?

Multi-provider is a type of info-provider that contains data from a number of info-providers and makes it available for reporting purposes.

a) Multi-provider does not contain any data.
b) The data comes entirely from the info providers on which it is based.
c) The info-providers are connected to one another by union operations.
d) Info-providers and Multi-providers are the objects or views relevant for reporting.
e) A multi-provider allows you to run reports using several info-providers that are, it is used for creating reports for one or more than one info-provider at a time.
24) What is Conversion Routine?

Conversion routine is used to convert data types from internal format to external format or display format.

25) Explain the difference between the Start routine and Conversion routine?

In the ‘start routine’, you can modify the data packages, when data is loading. While conversion of routine, usually refers to routines bound to info objects for conversion of internal and display format.

26) How to un-lock objects in Transport Organizer?

To unlock the objects in transport organizer, go to SE03à Request TaskàUnlock objects. When you enter your request and select unlock and execute, it will unlock the request.

27) What is update or transfer routine?

The update routine is used to define Global Data and Global Checks. They are defined as the object level. It is like the Start Routine.

28) What are the types of Multi-providers?

The types of Multi-providers are

a) Homogeneous Multiproviders: It consists of technically identical info-providers, such as infocubes with exactly the same characteristics and key figures.
b) Heterogeneous Multiproviders: These info-providers only have a certain number of characteristics and key figures. It can be used for the modelling of scenarios by dividing them into sub-scenarios. Each sub-scenario is represented by its own info-provider.
29) What are the transaction codes for process chain?

a) RSPC: Process Chain Maintenance
b) RSPC1: Process Chain Display
c) RSPCM: Monitor daily process chains
d) RZ20: To see log for process chains
30) Explain what is the T.code for Data Archival and what is the advantage?

SARA is the T.code,and its advantage is minimizes space, query performance and load performance.

31) What is BEx Map in SAP BI?

BEx Map is BW’s Geographical Information System (GIS). BEx Map is one of the characteristics for SAP BI, and it gives the geographical information like customer, customer sales region and country.

32) What is B/W statistics and how it is used?

The sets of cubes delivered by SAP are used to measure performance for query, loading data etc. B/W statistics as the name suggests is useful in showing data about the costs associated with the B/W queries, OLAP, aggregative data etc. It is useful to measure the performance of how quickly the queries are calculated or how quickly the data is loaded into BW.

33) What is the data target administration task?

Data target administration task includes

a) Delete Index
b) Generate Index
c) Construct database statistics
d) Complete deletion of data target
e) Compression of the info-cube etc.
34) What are the options when defining aggregates?

a) *- Groups according to characteristics
b) H- Hierarchy
c) F-Fixed Value
d) Blank-None
35) What do you mean by the term ‘slowly changing dimension’?

Dimensions that changes with time are called slowly changing dimensions.

36) Explain how you can create a connection with LIS Info Structures?

To create a connection with LIS info-structure, LBW0 connects LIS info-structures to BW.

37) What are the delta options available when load from flat file?

Three options are available for delta management with flat files

1) Full upload

2) New status for changed records

3) Additive delta

38) What are the steps within SAP BI to create classes for BW?

To create classes or nodes for BW you have to follow the following steps,

a) Click on post-processing of data sources
b) Execute/Click on IMG activity
c) Select BW or any desired node
d) Click on context menu
e) Press F6 or select “Create node”
After following these steps, a new dialog box will appear, where you can insert your node or class for BW.

39) What is data ware-housing hierarchy?

To define data aggregation hierarchy can be used. It is a logical structure that use ordered levels as a means of organizing data. For instance, by using time dimension hierarchy, it is possible to aggregate data from the month level to the quarter level to the year level.

40) How will you debug errors with SAP GUI ?

To debug errors in SAP GUI you have to follow the path

a) Run Bexanalyzer
b) Business Explorer menu item
c) Installation check
This will show an excel sheet with start button, on clicking on it, it will verify the GUI installation and if there is any error you can fix it or either re-install it.


SAP FICO Interview Questions

Top most important SAP FICO interview questions and answers by Experts:

Here is a list of Top most important SAP FICO interview questions and answers by Experts.If you want to download SAP FICO interview questions pdf free ,you can register with RVH techguru. Our experts prepared these SAP FICO interview questions to accommodate freshers level to most experienced level technical interviews.

If you want to become an expert in SAP FICO ,Register for SAP FICO online training here.
1) Tell me about FI Organizational structure?

 Client | Operating Concern |Controlling area1 Controlling Area 2 | Co. Code 1 Co. Code 2| Bus area 1 Bus area2 Bus Area3 Bus Area 4

2) How many Normal and Special periods will be there in fiscal year, why do u use special periods?

12 Normal posting period and 4 special periods are in the fiscal year which can be used for posting tax and audit adjustments to a closed fiscal year.

3)Where do you open and close periods?

PPV is used to open and close the periods based on a/c types considering GL Accounts. Tr.Code. OB52.
Read More About SAP Fico Tutorials
4)What do you enter in Company code Global settings?

4 digit Alphanumeric key.
Name of the company

5)What is document type, and what does it control? Examples.

Document type is nothing vouchers containing line items. Several business transac! tions can be identified within a particular document type.
It controls the document number ranges.
It controls the Header part of document
IT controls the line item level of the document
Helps filing of physical document

6) What is posting key and what does it control?

These are special classification keys. Two character numerical key it controls the entry of line items.
Posting key determines Account type, Debit/credit posting, Field status of transaction.

7) What is field status group, what does it control?

FSG is mandatory field in ! GL Creation. You use this field to define which fields are displayed when you post business transactions to a G/L account.

A field may have one of the following statuses.
– Suppressed
– Display
– Optional
– Required
Study More About SAP Material Management
8) What is chart of account and how many charts of accounts can be assigned to a company?

 Chart of account is a list of all G/L accounts used by one or several company codes.
For each G/L account, the chart of accounts contains the account number, account name, and the information that controls how an account functions and how a G/L account is created in a Company code.

You have to assign a chart of accounts to each company code. This chart of accounts is the Operating chart of accounts and is used for the daily postings in this company code.

You have the following options when using multiple company codes. You can use the same chart of accounts for all company codes

If the company codes all have the same requirements for the chart of accounts set up, assign all of the individual company codes to the same chart of accounts. This could be the case if all company codes are in the same country.

In addition to the operating chart of accounts, you can use two additional charts of accounts If the individual company codes need different charts of accounts, you can assign up to two charts of accounts in addition to the operating chart of accounts. This could be the case if company codes lie in multiple countries.
The use of different charts of accounts has no effect on the balance sheet and profit and loss statement. When creating the balance sheet or the profit and loss statement, you can choose whether to balance the co! mpany codes which use different charts of accounts together or separately.

9) What does definition of a chart of account contains?

Chart of account key
Maintenance language
Length of the GL Account Number
Controlling Integration
Group chart of accounts (Consolidation)
Block Indicator

10) Can one COA be assigned to several companies?

Yes. One COA can be assigned to several companies.

11) What is account group and what does it control?

Account group determines which fields you can configure on the G/L master record. It is necessary to have at least two one for B/S and another one for P&L a/c.
It controls the Number ranges of GL A/C.

The status of fields of the master record of GL belongs to company code area.

12) What is reconciliation account; can you directly enter documents in that a/c?

When you p! ost items to a subsidiary ledger, the system automatically posts the same data to the general ledger. Each subsidiary ledger has one or more reconciliation accounts in the general ledger.
We can’t use reconciliation account for direct postings.
Get More Ideas about SAP Transaction Codes
13) How do you control field status of GL master records and from where do you control!

Field status variant is maintained all FSGs.

14) What are the segments of GL master record?
COA Segment
A/C group
Nature of account
Short text
GL a/c long text
Trading partner
Group Account Number
Company code segment
Account currency
Reconciliation a/c for a/c type
15) What does Field status group assigned to a GL master record controls?

It controls the account assignments that are made to the account. Specifically the field status group controls whether postings to cost centers, internal orders, profitability segments and so on are required, not allowed (suppressed), or optional.

16) What is Country and operational chart of account? Why do you use group chart of account?

Operational chart of account – Day to day activities It is mandatory.
Country COA – It’s used for legal specific requirement of each country. It’s additional and optional.Group COA used for consolidation of Company codes. This is for group consolidation purpose.

17) What are all the segments in a Customer/Vendor master record?

Segments in Customer Segments in Vendor
General Data segment General data segment
Company code segment Company code segment
Sales area segment Purchasing organization Segment

18) What is open line item management? What do you mean by clearing open line items?

Open item management is further reconciliation function. OIM allows you to display the open and cleared items and amounts in an account. OIM should be used if an offsetting entry is made for every line item posted in the account. The a/c is reconciled and cleared against another account. Ex. Salary clearing account and GR/IR Clearing account.

19) What is residual payment and part payment?

Residual payment it clears original invoice with incoming amount and create new line item for remaining outstanding amount.
Partial payment it leaves the original invoice amount and creates new
line item for incoming amount.

20) What is internal and external number ranges?

Internal Number Ranges: Doc. No will be provided by the system automatical! ly in serial order allotting the next available progressive number. The number must be in numerical.

External Number ranges: Doc. No will be given manually by the end user. System will not lock no automatically in this case. User can pick the number randomly. Number may be an alpha numeric.

21) How can be or in what way baseline date is important in Automatic Payment Program run?

The Baseline date is used to calculate the due date by taking into account the payment terms. On the APP, the baseline date helps to pick the relevant invoices for payment. During the APP run when invoices are pulled into the run, the system checks the ‘Next Payment Date’ before picking the invoices to be paid.

22) Please tell me the procurement cycle how it works?

Procurement cycle – a sales order is placed on a requirement made by a customer, after which it is passed on to create a purchase order (this could either happen based on the requirements on the SO, or a planned SO). the value flow gets passed on to FI at the time of goods movement. In the case of SD(Sales and Distribution), the impact on FI happens only at the time of billing.

23) Difference between Depreciation ,Accumulated Depreciation and APC?
What is APC?

Depreciation – a decrease in the value of an asset due to wear and tear
Accumulated Depreciation – the total amount of depreciation calculated on a particular asset.
APC – refers to Asset transactions other than depreciation

24) What is GR/IR?What journal entries we should pass for this?

The GR/IR – the goods receipt/Invoice Receipt account is used to post to whenever goods that are not yet invoiced have been received or when invoices arrive b4 the the delivery of goods.
During the time between the invoice being created and delivery of goods, there can be a timing difference, in order to accommodate this timing difference, a GR/IR account is maintained temporarily to record the flow .

25) What are the accounting entries take place in MM and SD?

Value from MM to FI is defined in OBYC…. on the material master the flow of values are assigned on the Costing, acctg, etc tabs where the system helps to post the necessary stock values into the appropriate GL accounts. helps to determine, the GL accounts updated when there is a movement of goods.

26) Can we assign one Controlling area to two different Company Codes (but the company codes having different fiscal years/different currencies

Company code should have same financial year, may have different currencies.
You can assign 2 or more company codes to one controlling area as long as the chart of accounts are same. Furthermore, if you have different fiscal year variant in the company code, then make sure that the number of period remain the same.

27) While posting transaction, can we give cost centre / production order at time.

Yes it is posiiable , but in such situation cost centre will be real and production order is stastical.
If you assign both cost center and Prd Order then since Prod. Order are real co object, Cost center entry would be statistical.

28)  Which Master data uploads will be done?

The question is not very clear. If you are talking about CO Master data. Then Cost center need to be uploaded. You can use Data Transfer Workbench or write abap for it.
29) Can we run Payment Programe giving ( Hdfc vendor detailes ) City bank in Payment run programe?

Yes can be possible , this can resolved through ranking order and bank optimization in FBZP.
You use use further selection in proposal paramater, if you would like to filter the open item based on the city

30) What does document header control?

Field status.

31)  After entering a document can you delete the entry? Can you change the document? Which fields’ can/not is changed?

Document header cannont be changed, after posting the document you cannot change. only if you want to change the document the reseversal entry.

32) What is a special GL transaction?

The transaction other than A/P and A/R is called the special g/l transaction for ex: Bills of exchange, Interest payable , aqusition

33) How do you reverse cleared documents?

By doing reversal posting.

34)What is base line date? Why is that used? Can this be changed?

For paymentterms it is used. base line date is the due date.

35) How many statistical objects can be selected in when you post an FI document? Where CCtr, PCtr, OM are active?

Implementation exp.:

Brief about the project you did: w.r.t. the main activity of the client, How many plants they had, What modules were implemented, Who were the implementers, What’s the implementation team size, How many were in your module team, What’s your role in the project with respect to the activities you partook in the project, The Enterprise Structure with regard to the no. of Company Codes, any Business Areas or Profit Centers defined, Cost Centers defined, What’s the period of the project, When did they Go-Live?, Any issues you’d solved during ‘Support’ phase?

36)What is APC?
APC stands for Acquisition and Production costs. Acquisition means any asset which you may acquire/ purchase externally. It includes invoice price and other related exp. Associated with it like customs, octroi, freight which you add and arrive at total cost of acquisition for capitalisation of the asset.For ex Say a computer. The total cost which you incurr for the acquisition of the computer including installation will be your APC
Production cost means any asset which is created internally within the organisation. This is normally created by means of AUC and you go on adding cost to the AUC as and when you incurr exp. for the same.For ex. say addition to the office building. Therefore APC incudes any external acquisition or internal construction of exp. which needs to be capitalised.
Implementation exp.:
Brief about the project you did: w.r.t. the main activity of the client, How many plants they had, What modules were implemented, Who were the implementers, What’s the implementation team size, How many were in your module team, What’s your role in the project with respect to the activities you partook in the project, The Enterprise Structure with regard to the no. of Company Codes, any Business Areas or Profit Centers defined, Cost Centers defined, What’s the period of the project, When did they Go-Live?, Any issues you’d solved during ‘Support’ phase?
37.What is a breakpoint ?
Breakpoint is used to help the user scrutinize how the system behaves at a certain point in the ABAP code. At that point the system goes into debug mode. This breakpoint is useful in investigating how routines and requirements function. By accessing the routine source code and setting a breakpoint at its execution point, a user can follow the routine through each step.

37)What is a CATT ?

CATT means Computer Aided Test Tool. It is SAP’s tool for processing transactions automatically.CATT is used in bringing in data, such as a mass maintenance of the material master in EXCEL, from an application to modify master data.
38)What is a user exit ?

User exit is a point in an SAP program at which a customer’s own program can be called. User exits allow developers to access program components and data objects in the standard system. There are two types of user exits –
user exits that use includes (customer enhancements that are called from the program)
and user exits that use tables, which are used and managed directly via customizing.

39)What is a client ?

Client in a SAP work environment is the highest organizational structure. Many clients can be found in each system. QA (quality analysis) and Development are clients in Training and Production system.

40)What is an authorization ?

Authorization gives an SAP user permission to perform a given set of transactions.

41)Who is a user ?

Anyone who is given access to the SAP system by the system (basis) administrator is known as a user.

42)What is a variant ?

When executing a program, different selection parameters may be used. These selection parameters are stored in the SAP system as variants.

43) What is a SQL trace ?

SQL trace records all open, prepare, fetch, execute and actual SQL statements and the duration time for each step in a procedure.

44)What is master data ?

Master data is used in an SAP system to represent the basic components of a procedure and to ensure data integrity throughout the SAP business process. This gaurantees that one common record is accessed for different procedures. Example – a customer master record may be referenced by more than one functional module : FI (financial) and SD (sales and distribution).

45)What is the IMG ?
IMG is Implementation Guide that SAP system developers use to customize the client they are working in.
46)What is ASAP ?

ASAP is Accelerated SAP, a project management software tool that is used on SAP implementations to guide the project through different phases. ASAP can take a project from the designing of the “blueprint” through to “going live”. Accelerated SAP is SAP’s total process-oriented solution for accelerated implementation and continuous optimization of R/3.

47)What are the core modules of SAP ?

The core functional modules in SAP R/3 are Financial Accounting (FI) usually in combination with Controlling (CO) or Treasury (TR) – Human Resources (HR), and logistic modules : Sales and Distribution (SD), Materials Management (MM), Quality Management (QM), Plant Maintenance (PM), and Production Planning (PP).

48)What is the ABAP Workbench?

ABAP Workbench is SAP’s graphical programming environment. It is used to write ABAP code, design screens, create user interfaces, obtain database information, debug and test applications for effeciency.

49)In the SD document, what are the three levels of a sales document?

Each sales document comprises of three main levels and each level is represented by a table that holds the data for that level. Data for the header level is stored in table VBAK, data for the item levels is stored in table VBAP, and data for the schedule line level is stored in table VBEP.

50)What is a user profile?
User profile is a set of authorizations that enable user access to certain parts of the SAP system.

51)What is a sales area ?
Sales area is a segment that combines the sales organization, the distribution channel, and the sales division.

52)What is a logical database ?
Logical database is an ABAP program that combines the contents of database tables. It is linked to an ABAP report program as one of the program attributes. It supplies the report program with a set of hierarchically structured table entires derived from different database tables. This saves the developer from having to program the data retrieval.

53)What is a requirement ?
Requirement is a portion of code that is used to determine if a function or formula should be executed.

54)What is an ABAP Query ?
ABAP Query is a reporting tool that uses a logical database (LDB), individual table, or combined tables to form a report.

55)What is a functional area ?
Functional area is assigned to the query. It is the representation of a logical database or tables with their respective table joins. This defines which tables and fields the query can reference.

56)What is a batch input ?
Batch input facility in SAP is a convenient tool for capturing data into SAP or updating large amounts of information in SAP transactions. The simplest way to utilize batch input is by : 1) Record the batch input for the transaction used to enter the data in SAP; 2) Then export the batch input recording to a text file. From the recording, you know what data is required. Create a spreadsheet or word processor document containing all the data to be captured or changed. Then mail merge the exported text file with the data in a word processing program. Finally, import the merged file, upload the file into SAP, and execute the batch input in SAP.

57)What is LIS ?
LIS is Logistics Information System. LIS consists of following information systems –
Sales Information System
Purchasing Information System
Inventory Controlling
Shop Floor Information System
Plant Maintenance Information System
Quality Management Information System
These information systems can be used to plan, control, and monitor business events at different stages in the decision-making process. They are flexible tools for collecting, aggregating, and analyzing data from the operative applications.

58)What is OSS ?
OSS is an Online Service System which can be used to access information about a module in a given release. OSS is a database of notes on known issues and their remedies. Any user with a logon name and password can access this information. OSS can be used to obtain quick responses from the SAP help desk representatives, administration and registration of new users.

59)What is an SAP GUI ?
GUI means Graphical User Interface. It is responsible for the graphical layout of the SAP software. GUIs in SAP R/3 differ from version to version of SAP
FICO Questions
Courtsey of ZZ:

60)What is a tax jurisdiction code and where it is set up?

Tax Jurisdiction codes are used in conjunction with tax codes to further specify the taxes applied to a purchase. This is recommended for implementations crossing multiple tax jurisdictions. Tax Jurisdiction codes are tied to customer/vendor master records. Using tax jurisdiction codes allows the user of fewer tax codes and easier tax determination by deriving tax information from the master record. This minimizes the burden of determining the appropriate tax information on a purchase order or invoice for a PO creator or Accounts Payable Clerk.

61)Can the taxes on parked document be calculated?

62)What are the criteria considered by SAP when archiving a document?

The longest of Minimum days in the system, Life by Document Type and Life by account determines the life of any document before it is archived(These are to be configured).

63) Once a change is made to the coding block, it is permanent and can not be deleted.

64. Explain the two steps of adding a field to a Coding Block.

Light Mode: Only the absolute minimum amount of information required to create a field is entered. Expert Mode: More detailed data dictionary and table information to be entered to create a new field. This is more complex. After a field is been entered a subscreen is generated to build the particular posting screen and to position the new field.

65) Describe how cost center accounting differs from financial accounting?

CO is for internal reporting where FI is more for external legal reporting. CO relates more to indirect and overhead costs, which don’t affect G/L. These costs hit the G/L once, after that all the allocations are behind the scenes.

66) Describe the possible options for a controlling area – company code relationship Put emphasis on the option you have in terms of different currencies.

A controlling area can encompass one or more company codes. These company codes may have different currencies, but they must use the same chart of accounts. The controlling area is assigned a currency, but can also support multiple company code currencies. If all the companies have the same currency, then the object currency is freely definable (if currency type 10 is used). If the company codes do not have the same currency, then the object currency inherits the currency of the company code.
67) Discuss the cross-company controlling?

Cross-company-code controlling enables cross-company transfers and reports to be made in CO, but increases the organizational overhead at the cost center. In cross-company-code accounting involving different currencies, the CO account assignment object (e.g. cost center) inherits its currency from the company code.

68) What are the three types of currencies used in cross-company-code accounting and what conversion rates are used?

Each CO document is updated in three currencies. In cross-company-code accounting with different currencies, these are designated the document currency, the company code currency and the controlling area currency. Conversions in CO use the average exchange rate (M).

69) Define the types of master data that exist in cost center accounting?

Cost center – units of a company that incur costs
Cost element – define types of costs
Activity type – units of measure for allocating activities
Statistical key figures – allocation basis for distribution and assessment

70) Define the relationship between the chart of accounts and cost elements in cost center accounting.

The chart of accounts contains all G/L accounts for financial accounting and all primary cost elements for cost accounting. Secondary cost elements are not contained on the chart of accounts.

71) What is the difference between primary and secondary cost elements?

Primary cost elements are costs that originate outside of the company (posted to G/L). Secondary cost elements are costs resulting from the internal exchange of activities, and do not exist in the G/L. They exist solely within Controlling.
Get more idea on SAP HANA

72) Is it possible to plan on cost centers in more than one plan version – elaborate youranswer?

Yes, when planning for cost centers, changes can be made to all plan versions This includes copying these planning versions, to create separate scenarios with When calling up the planning screen you will be asked to enter the plan version number.

73) Discuss how distribution for cost center allocation is used in the system.

Primary postings are pooled in a cost center and allocated out at the end of the period specified by user. Original cost elements are retained, and line items are produced for sender and receiver. Receiver line items contain information about the sending cost center.

74) Discuss how assessment for cost center allocation is used in the system.

Designed for cost center settlement, primary and secondary postings are allocated at the end of period according to a user defined key. The original cost elements are totaled and posted to a secondary cost element (assessment cost element). Line items for sender and receiver are provided, with receiver cost center getting information on sender cost center. Assessments can include all or a portion of costs from the sending cost center.

75) Distinguish between the two cost allocation techniques: assessment and distribution.

In a distribution, all receiving cost objects are debited with a portion of an original cost element that had been posted to a sending cost center. This portion is determined as part of configuration. In assessment, a secondary assessment cost element is used. Within the sending cost center, all costs to be allocated are totaled and the sender is credited with this assessment cost element while all receivers are debited with a portion of assessment costs. This could be all costs or a portion of the costs (both primary and secondary that had been originally posted to the sending cost center).

76) What is the difference between direct and indirect activity allocation?

With direct activity allocation an individual activity confirmation takes place. Thus the activities are directly allocated to the cost centers.
The purpose of indirect activity allocation is to automatically allocate planned and actual activities. There are two kinds of indirect activity allocation.

77) What are the two allocation categories for indirect activity allocation?

Activity volume known: The planned and actual activity volume is known. The total actual volume is manually entered for the sender and allocated to the receiver cost centers (or orders) based upon some planned/actual quantity/ statistic.

Activity volume not known: This uses management units to provide an actual activity quantity to the sender cost center using statistical key figures so that the system can calculate an operating rate for the target cost calculation.

78) What is actual cost splitting and its purpose?

Actual costs can only be posted to cost centers within cost center accounting. Therefore, in order to compare target versus actual costs on activity types and to display variances for each activity type, it is necessary to split (apportion) the actual costs to each activity type.
79) What are the two stages which splitting actual costs based on the activity type occurs?

The actual costs are split in two stages (1st stage is not necessary in planning):

1) In the first stage, the actual cost are apportioned by cost element to the activity type based on the target costs or target quantities. If no costs exist for a cost element, the target cost of the cost element group is used as the first splitting step.

2) In the second stage, the remaining costs on the cost center level are apportioned to the activity types according to the splitting rules (user defined). If the splitting rules are not defined, the actual costs are split based on the equivalence numbers for the activity type.
80) What is a statistical order? Why would you use one?

A statistical order collects costs for informational purposes and does not settle costs against another object. You would use this to track costs in a separate fashion without double counting them. An example would be one car in a fleet of cars. Typically, a statistical order could collect data that also was posted to a cost center.

81) In what two ways can an internal order be processed?

An order can be processed individually or with collective processing. An example of this is that it is possible to call all orders which have already been released but not yet have a settlement rule. Users can enter recipient cost centers in the list screen or alternatively, they can reach the entry of the distribution rule via the Settlement rule function. (This is not the same as choosing an order group.)

82) Describe briefly the collective automatic processing of internal orders.

This allows you to select a group of orders so that you can change them all quickly and accurately. Manual collective processing requires the use of a list variant and allows changes to be made to the order master data. Automatic collective processing is used to release orders or settle them. This changes the status of an order, not the master data.

83) What is a selection variant and what is it used for within CO?

A selection variant is SAP or user-defined to select orders. The variant chosen determines which master data fields are offered for selection of collective processing, whether a status profile can be used, whether a selection rule can be used and what default values will appear in the fields.
84) What is a list variant?

A list variant defines which master data fields can be maintained for collective processing.

85)What options do you have for additional account assignments within a CO posting and when would you get a statistical posting?

There can be two additional account assignments excluding business areas and profit centers. These can be chosen from an order, project, or profitability segment. If the order or other object is not marked for statistical postings, the profit center is always statistical.

86) What are the different commitment types the system can record for an internal order? For which type do you have to perform a manual reduction?

Purchase Requisition
Purchase Order
The availability control allows you to warn a user if/when budget is exceeded. You set tolerances for these availability controls.
Funds Reservations must be manually reduced by the user.

87) What can an order be settled to?
1) External receivers – G/L Account, asset.
2) Internal receivers – cost center, order, project, network, profitability segment

88) What is hierarchical settlement?

The settlement hierarchy is used to ensure that settlement of orders is occurring in the right sequence. An example would be if order A is settled to order B and this is settled to order C, then you want to make sure that order B is not settled before A, otherwise you will not be able to settle order A to order B because it will be closed.
The hierarchy is setup in the settlement parameters, and each order can be given a number from 0 to 999 allowing up to 1000 orders in the hierarchy. The orders are settled in descending order – highest number first.

89) What is the reconciliation ledger?

The Reconciliation Ledger is a Standard Ledger configured and delivered by SAP. The data model and functionality defined for specific business requirements are available. It is primarily an information source.

90) What is a Reconciliation posting?

A reconciliation posting is used to transfer costs to financial accounting which were made across company code or business area boundaries in controlling. This allows for more freedom with CO postings, and the ability to reconcile back to FI.

91)What are the 3 levels that a customer master record can be maintained at? Why do these three levels exist? Give an example of the information stored on these levels.

Client, company code, and sales (if maintained centrally). Exists so that you can tailor the customization at each level. Adds more flexibility to the structure of a master record. For example, if you have one customer named ABC Co., you define it once for your client Pepsi Co. That customer exists in two companies of the client, Taco Bell and Frito Lay. However, in Taco Bell the customer has different dunning areas, banks, payment terms than in Frito Lay. This is an example of how all information is the same for ABC at the client level, but different at the company code level. Of course, Sales information would be different in each company code as well.

92)What are the 3 levels that a vendor master record can be maintained at? Why do these three levels exist? Give an example of the information stored on these levels.

See the example given above. Exists so that you can tailor the customization at each level. Adds more flexibility to the structure of a master record. In the above example, if ABC Co, is a vendor in the companies Taco Bell and Frito Lay, under the client Pepsi Co, and the payment terms, payment methods are different at the company level. Of course, purchasing information would be different in each company code as well.

93)What are the two purposes of the customer/vendor Account Group? Give an example of how the Account Group is used.

1) Establishes number range of the customer/vendor master records – a number range is assigned to an account group. This adds flexibility, you are able to keep similar accounts numbered distinctly. For example customers are 1-100,000, vendors might be 200,000 – 300,000. One-time customers might be 400,000-500,000.

2) Establishes the screen layout for customer/vendor master records. All fields at the client and company code level for customer/vendor master records can be designated either suppressed, optional, required or mandatory. For example, some vendors may not use dunning areas, so you would establish a separate account group for those vendors, where the dunning fields are suppressed.

94.What are screen layout link rules? Why are screen Layout link rules used for customer/vendor master records? Why are they used for line items?

Since the same information can be designated required, optional, mandatory, suppressed in 3 different places, the link rules determine which designation rules out over another. These 3 places are at the account group level, company code level, and the activity/transaction level.

For line items, the same information can be designated required, optional, mandatory, suppressed in 2 different places. The link rules determine which designation rules out over another. These 2 places are at the posting key level, and the field status group of the G/L master record.

T or F. Account Groups are mandatory when creating a sub-ledger account.

True. Account Groups are always mandatory when creating customer/vendor master records.

T or F. Number ranges may overlap for sub-ledger accounts.

True. When setting up number ranges for account groups of customer/vendor master records, you cannot create one that overlaps with an existing number range.
Define bank directory, house bank, bank account, bank ID, bank key, and account ID. Describe the relationship between all of these and G/L accounts. Draw a picture if necessary.

The bank directory is the repository in SAP that contains all of the banks. It can be downloaded into the system or manually keyed in. In order to establish house banks, which are banks in which your company does business, the bank must first exist in the bank directory. The house bank is named with a bank ID, and has a distinctive or unique, universally recognized bank key.

All of the accounts in a house bank are referred to as bank accounts and are named with an account ID. Each bank account must contain a respective G/L account. Each G/L account must contain the house bank and account ID. This allows SAP to maintain the bank books accurately. For example, when you are running the payment program, you specify the bank accounts that you are paying out of. When a payment is made, it is accurately reflected in the corresponding G/L account.

95)What are payment terms? Why are they used? How are they define in SAP?

Payment terms define how you deal with a customer/vendor in terms of payment. For a customer, it defines when a customer must pay you, in order to receive discounts. For a vendor, it defines when you must pay the vendor in order to receive discounts.

The terms can be set up with 3 terms, which are usually cash discount term 1, cash discount term 2, and due date for net payment.

96)What is the document principle in SAP?

Every transaction in SAP creates a document. This is a means of documenting all transactions, being able to trace your actions in the system.

97)What are the two pieces of a document? What must all line items consist of ?

Header and line items. All line items must at least consist of a posting key, account and amount.

98)What do document types control? What is their function?

Document types:

1) distinguish between the types of business transactions – you specify the type. Ie. Is it a general ledger accounting document, customer payment, etc.
2) controls which account types may be posted to – you specify the account types that may be posted to. Ie. Some document types are only for asset accounts. Some are only for vendor accounts, etc.
3) assigns the document number – each document type is assigned a number range
4) and is used as a sort criteria – by all of the above, you are grouping the documents or sorting them accordingly.

Define posting periods, fiscal year variants, company codes and the relation between each. Draw a picture if necessary.
Posting periods define which periods are open for posting documents, and also which accounts are open for posting within these periods.
Fiscal year variant define what your posting periods are, in relation to the calendar year. For example, if your fiscal year runs from July to June, you need to define, through a fiscal year variant, how that relates to the calendar year, so that SAP can interpret your fiscal year.
Fiscal year variants and posting periods are assigned to a company code.

99)What is a posting key? What does it control?

Posting keys determines how line items are entered. They control:
1) debit or credit entry?
2) what account type – posting keys are designated for specific account types
3) field status – how are the line items going to look if you use this posting key??
4) other properties – is it a sales related transaction? is a special g/l transaction? what is
the reversal posting key?

100)What are automatic line items? How are they configured in the system? Give some examples of automatic line items.

There are certain activities defined at the Chart of Account level in FI that create automatic line items. Examples include discount expenses, revenue from over/under payment, taxes. There is a 3-character system-specific code in SAP that corresponds with each of these activities, and usually you must specify a G/L account to correspond with these. This determines which G/L account is hit when the automatic line item is generated.

Define composite profile, profile, authorization, value, field, authorization object, and object class. Describe the relationship between each, draw a picture if necessary.

Composite profile is assigned to a user and contains one or several profiles. The profiles contain the authorizations or allowed activities that a person may perform on an object, for a particular value. Similar authorizations can be grouped in to object classes – such as an SD object class, and FI object class.

101)What are employee tolerances? Why do they exist? Give an example.

They control the maximum amount that employees are allowed to post. All control the maximum payment difference that employees are allowed to post. This is a control or authorization mechanism. An example would be, you wouldn’t want a brand new clerk to be able to post more than $100,000 and wouldn’t want them to post an incoming payment that was 10% less than the total. All users must be allocated to an employee tolerance group in order to post.

102)What are customer/vendor tolerances. Why do they exist? Give an example.

They control the maximum payment difference allowed for customers/vendors, specify how to post residual items from payment difference, and contain details of clearing procedures. An example would be: Customer One can post a 5% difference b/c they’ve been a customer longer and are more credible. Customer Two can only post a 1% difference b/c they are a new customer and haven’t established credibility.

103)Define sort key, allocation field. Describe the relationship between the two.

Line items are displayed in the order designated by the allocation field. The allocation field is populated by the sort key. The sort key specifies the fields that the line items are sorted by.

104)Why would a project team want to configure its own line item layout? Why would a project team want to configure its own fast entry structure?

Some fields are more relevant for some customers than others. For instance, maybe the value date or dunning areas are not important for a group of Accounting clerks to see. So a line item layout would be made that did not include these fields. Also, it may be typical that clerks always retrieve line items according to the posting date. This would be a necessary field located in the line item layout.
In the same concept

105)What is credit management? Why is it used in SAP?

The SAP functionality that allows you to maintain credit for customers on various levels, based on the customer’s creditworthiness. Basically credit checks can be performed for customers throughout the sales cycle. Credit management is hugely integrated with SD.

106) How is FI credit management integrated with SD?

You can set up risk categories, automatic credit checking, and update groups to check invoices as they proceed throughout the sales cycle.

107)What is a Credit Control Area? Where does it fall in the organizational structure?

Credit Control Area is the highest hierarchial level in Credit Management. It falls below the client level, above companies. You create credit control areas and assign companies to them. Each company can only be assigned to one credit control area. Obviously, customers can span Credit Control Areas since the same customer can exist in more than one company code.

108)What are the levels of configuring credit management for a customer?

First, a credit limit can be assigned to a credit control area. Then, any customer assigned to that credit control area, will have that limit. On the next level, specifications can be made for each customer individually. For each customer, you specify the maximum limits across all credit control areas and per credit control areas. Then on the lowest level, you specify the current limit across all credit control areas and the current limit per credit control area.

109)T or F The credit for a customer can be checked at various points along the sales cycle?

110)What is a payment advice? Why would one be used? Give some examples of payment advices.

A payment advice contains information about an incoming payment, such as amount, payment date, reasons for underpayment, and document number. It is used for the automatic search and matching of open items during the clearing process. Instead of matching an incoming payment against the open items manually, the clerk only needs to enter the payment advice in order to clear.

111)What is a reason code? Why would a reason code be used? Give an example.

The reason code specifies the reasons for over or under payment. It also determines if the difference will be written off to a G/L account. An example would be a reason code set up for damaged goods. If a business decision is made to write off damaged goods to a G/L account then all payment advices with that reason code specified will cause differences to be written off to the G/L account.

112)T or F The FI module does not currently support Lockbox functionality.

113)What is dunning and why is it used?

Dunning is a process whereby customer and vendors can be sent late notices for overdue amounts.
What are the 4 necessary inputs for running the dunning program? Define each and give examples of the data in each.
Data in master records – such as address and payment terms
Basic parameters – dunning procedure such as texts, levels, charges, interest
On-line parameters – such as company code, range of customers/vendors
OI – payment terms, baseline date in open items

114)Why are separate dunning levels supported by SAP? What is the purpose of the levels?

Because you may want to specify amounts, charges, texts depending on the number of days an amount is outstanding. For example, you would want to send a firmer letter to customer when they become more overdue.

115)T or F You may not change the dunning letters that are shipped with SAP.

False. They can be edited with SAPSCRIPT.
Why would you use Dunning Areas? Give examples.

Dunning areas are used when you want run different procedures for different groups of customer/vendors. For example, you would send a different letter to your more reliable customers, than for brand new customers b/c the reliable letter may be more friendly. Also, you may send a differently worded letter for your plastics buyers than your electronics buyers.

116)What does the payment program do?

Payment program is the procedure whereby payments are made to customer/vendors for outstanding amounts. The procedure automatically clears outstanding items and updates the corresponding bank accounts to reflect outgoing payments. They system evaluates all open items based on payment terms and days outstanding to decide if the item is due.

117)What are the 4 necessary inputs for running the payment program? Define each and give examples of the data in each.

1)Master Records – includes payment methods, house bank
2)Configuration – payment procedure includes banks, payment methods in co. code, payment methods in country, specifications for sending and paying co. codes
3)On-line parameters – things you specify when running the program like the company code, the payment method
4)OI -open items. The payment method in the open item, the payment terms. The amounts.

118)What are the 3 levels that the payment program in configured at? Give examples of the data that is configured on each level?

Company Code – specify your paying and sending company codes
Bank – specify your house banks, bank accounts you are paying or receiving money from.
Also configure the balances in the accounts, and their rank order per payment method
Payment Methods – must specify payment methods for in the country and in the company code.

T or F The payment method must be configured for a country before it can be configured for a paying company?

Describe how SAP decides which open items must be paid by the payment program.
First, you specify whether you want to always maximize your cash discounts, or always minimize. Then each open item is looked at individually by the system. In particular, the payment terms are evaluated. If you are always maximizing, the program looks at the first payment tier, if the payment program will not be run again in time to get the maximum discount then the amount if paid. If the payment program will be run again before the first payment tier expires, then the amount will be paid at the next run.
If you specify to always minimize the discount, the amount will only be paid when the program will not be run again before the net amount is due (the third payment tier).

SAP ABAP Interview Questions

Top most important SAP ABAP interview questions and answers by Experts:

Here is a list of Top most important SAP ABAP interview questions and answers by Experts.If you want to download SAP ABAP interview questions pdf free ,you can register with RVH techguru. Our experts prepared these SAP ABAP interview questions to accommodate freshers level to most experienced level technical interviews.

If you want to become an expert in SAP ABAP ,Register for SAP ABAP online training here.


1.What is an ABAP?
ABAP (Advanced Business Application Programming) is a high level programming language created by the German software company SAP. It is currently positioned as the language for programming SAP’s Web Application Server, part of its NetWeaver platform for building business applications. Its syntax is somewhat similar to COBOL.

2.What is an ABAP data dictionary?
ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.

3.What are domains and data element?
Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.

4.What is foreign key relationship?
A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.

5.Describe data classes.
Master data: It is the data which is seldom changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.

6.What are indexes?
Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. The indexes are activated along with the table and are created automatically with it in the database.

7.Difference between transparent tables and pooled tables.

Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.

8.What is an ABAP/4 Query?
ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. – For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.

9.What is BDC programming?
Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications). The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into “sessions”.

10.What are the functional modules used in sequence in BDC?
These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP – Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT – It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP – This is used to close the batch input session.

11.What are internal tables?
Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organizing the contents of database tables according to users need.

12.What is ITS?
What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.

13.What is DynPro?
DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.

14.What are screen painter and menu painter?
Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.

15.What are the components of SAP scripts?
SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. – Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.

16.What is ALV programming in ABAP? When is this grid used in ABAP?
ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.

17.What are the events in ABAP/4 language?

Initialization, At selection-screen, Start-of-selection, end-of-selection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.

18.What is CTS and what do you know about it?
The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.

19.What are logical databases? What are the advantages/ dis-advantages of logical databases?
To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. 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 you donot 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).

20.What is a batch input session?
BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.

21.How to upload data using CATT ?
These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.

22.What is Smart Forms?
Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.

23.How can I make a differentiation between dependent and independent data?
Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.

24.What is the difference between macro and subroutine?
Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.

25.What is the differences between structure and table in data dictionary in ABAP?
Structure and table both are 2/2 matrices but there are many differences between table and structure.

1. Table can store the data physically but a structure dose not store.
2. Table can have primary key but a structure dose not have.
3. Table can have the technical attribute but a structure dose not have.

structure doesn’t contain technical attributes.
structure doesn’t contain primary key.
structure doesn’t stores underline database level.

26.What is the difference between collect and sum?
When processing an internal table in a block starting with LOOP and concluded by ENDLOOP , SUM calculates the control totals of all fields of type I , F and P (see also ABAP/4 number types ) and places them in the LOOP output area (header line of the internal table or an explicitly specified work area).

When you use SUM in a LOOP with an explicitly specified output area, this output area must be compatible with the line type of the internal table.When using LOOP to process a sorted extract (see SORT ), the control total of f at the end of the group appears in the field SUM(f) – – if f is type I , F or P .

COLLECT is used to create unique or compressed datsets. The key fields are the default key fields of the internal table itab .

If you use only COLLECT to fill an internal table, COLLECT makes sure that the internal table does not contain two entries with the same default key fields.

If, besides its default key fields, the internal table contains number fields,the contents of these number fields are added together if the internal table already contains an entry with the same key fields.

If the default key of an internal table processed with COLLECT is blank, all the values are added up in the first table line.

If you specify wa INTO , the entry to be processed is taken from the explicitly specified work area wa . If not, it comes from the header line of the internal table itab .

After COLLECT , the system field SY-TABIX contains the index of the – existing or new – table entry with default key fields which match those of the entry to be processed.

COLLECT can create unique or compressed datasets and should be used precisely for this purpose. If uniqueness or compression are unimportant, or two values with identical default key field values could not possibly occur in your particular task, you should use APPEND instead. However, for a unique or compressed dataset which is also efficient, COLLECT is the statement to use.

If you process a table with COLLECT , you should also use COLLECT to fill it. Only by doing this can you guarantee that the internal table will actually be unique or compressed, as described above and COLLECT will run very efficiently.

If you use COLLECT with an explicitly specified work area, it must be compatible with the line type of the internal table.

27.How we format the data before before write statement in report ?
We can format the reports output by using the loop events like: first new last
etc check docu

28.What is the difference between Table and Template?
table is a dynamic and template is a static

29.When do we use End-of-selection?
End-of-selection event are mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrived in the Start-of-selection event and Printing on the list and all will be done in End-of-selection event.

30.In events start-of-selection is default event. When we have to use this event explicitly? Why?
The default event in the ABAP is Start-of-selection.We have to call explicitely this event when you are writing other than ths event , that is when you write AT SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc,you have to explicitely mention the Start-of-selection event while you are writing the logic.

Before these events called ,all the code you have written come into this default Start-of-selection screen event.

31.What is the differences between ABAP and OOABAP. In which situation we use OOABAP?
OOABAP is used to develop BSP/PCUI applications and also anthing involved object oriented like BADIs, SmartForms..etc.where as ABAP is used to develop traditional programs in R/3.

32.What is table buffer? Which type of tables used this buffer?
buffer is nothing but a memory area. table is buffered means that table information is available on application server. when you call data from database table it will come from application server.

transperent and pooled tables are buffered. cluster tables can not buffered.

33.What is the use of pretty printer ?
Exactly where can we link the functional module to abap coding.

Pretty Printer is used to format the ABAP Code we write in ABAP Editor ,like KEY WORDS in Capitals and remaining are in small letters which is also depend on system settings.

We can call the function module in the ABAP Code .Press the Pattern button on Appl. tool bar then u will get box where u write the function module NAME which u want to call in the code by selecting the radio button CALL FUNCTION. In this way we link function module to ABAP Code.

34.What is the difference between SAP memory and ABAP memory?
data sending between main sessions using get parameter and set parameter is sap memory
data sending between internal sessions using import or export parameters is abap memory

sap memory is a global memory whereas abap memory is local memory.

For example, we have four programs in abap memory and assigned some varibles to a particular program in abap memory then those varibles can’t be used by anyother program in abap memory i.e., the variables are only for that program and also local to that memory,whereas sap memory can access all the abap memory or else it can perform any kind of modifications.

35.What is the difference between Type and Like?

TYPE, you assign datatype directly to the data object while declaring.
LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.

Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.

type refers the existing data type
like refers the existing data object

36.What is Tcode SE16. For what is it used. Explain briefly?
SE16 is a T-code for object browser.
Generally used to search the fields of SAP Tables . and respective data.

se16 is a data browse 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

37.What are different ABAP/4 editors? What are the differences?
The 2 editors are se38 and se80 both have the abap editor in place. In se38 you can go create programs and view online reports and basically do all thedevelopmet of objects in this editor. In se80 ( object navigator) there are additional features such as creating packages,module pool , function group ,classes, programs ( where you can create ur programs) and BSP applications .

38.What is difference between dialog program and a report?
Report is a excecutable program
Dialog is a module pool program.It has to be executed via a transaction only.
Dialog programming is used for customization ofscreens

39.How do you connect to the remote server if you are working from the office for the client in remote place.
WAS web application server or ITS are generally used for this purpose. If you are sitting at your office with a server which is in the system and the other server is at the clients place you can generate IDOC, intermidiate documents which carry the data you want to transfer or the documents you want to transfer, these IDOC are interpretted by the system at the recieving end with the message class with which it is bound with. If you want to logon a system which is very distant..then remote login can be used this depends on the internet speed.

40.Explain about roll area , Dispatcher, ABAP-Processor.
Dispatcher recieves the request from client and assigns the request to one of the work process.
Roll area: Each workprocess works in a particular memory that memory is known as Role Area, which consists of User context and session data.
ABAP- Processor :is an interpretor which can execute logic

41.Which one is not an exit comand ? (Exit, cencle, stop, back)
Effect :The statement STOP is only to be used in executable programs

Effect :If the EXIT statement is executed outside of a loop, it will immediately terminate the current processing block.

Effect : This statement positions the list cursor on the first position of the first line in a logical unit.

So “Cancle” is not an exit command

42.What is Field symbol ?
You can use field symbols to make the program more dynamic. In this example the name of a table control is substituted by a field symbol. Thus you cal call the form with any internal table, using the name of the table control as a parameter.

form insert_row
using p_tc_name.

field-symbols <tc> type cxtab_control. “Table control

assign (p_tc_name) to <tc>.

* insert 100 lines in table control
<tc>-lines = 100.

fieldsymbol has the same concept as pointer in c,
fieldsymbol don’t point to a data type like char, num instead of that it points to the memory block. the syntax for fieldsymbol is
The output will be
Today’s date
current time

43.What is lock object ?
LockObjects used to synchornize access of several users using same data.

44.Why BAPI need then BDC ?
BAPI”S provide the standard interface to other applications apart from SAP and within differnt vesions of SAP too. Also it is OOD bases so dosen”t depends on screen flow. BDC gets failed if we make changes for screen changes through IMG customization

45.What are the advantages and disadvantages of using views in ABAP programming ?
advantages: view is used to retrieve the data very fastly from the database tables
*memory wastage is reduced
*faster than joins to retrieve the data from database tables
view is not a container,it will not hold the data
*view memory is not permanent memory

46.How data is stored in cluster table?
A cluster table conatins data from mulitple DDIC tables.
It stores data as a name value pair ( varkey, vardata)

47.Have you used performance tuning? What major steps will you use for these?
First of all tunning can be done
In three ways: disk i/o ,sql tunning , memory tunning,
Before tunning u have to get the status of your database using
Oracle utility called statpack , tkprof, then you should go for tunning

48.How to create client independent tables?
client independent tables:
the table in which the first field is not mandt is the client independent tables
*mandt is the field with mandt as the data element
*automatically client which we login is populated to mandt

49.What type of user exits have you written?
there are four types
1.function exit ixit
3.screen exit.
4.field exit.
these are the user exits

50.How can you debug a script form?
SE71 -> give the form name -> utilities -> activate debugger

51.How do we debug sapscript?
First we need to put Break point in Print program where ever you want to stop the execution.
After in SE71 give your form name and go to Utilities–>Active De-bugger.
Then go to your transcation like VF03(for Invoice or Credit memo) etc to see the print preview or print the form execute it.
When you execute it the the form Debugging will get activated and you can see your Form execution step by step.

52.What are the different types of data dictionary objects?
Data Dictionary Objects

* Tables
* Views
* Domain
* Data Element
* Type Groups
* Search Helps/Matchcode Objects
* Lock objects
* Structures
* Table Types

the dictionary objects are:
search helps
lock objects etc which are data base related objects in sap


53.Can a transparent table exist in data dictionary but not in the data base physically?
at the point you will activate your table a same transparent table is going to be create in database

Yes, a transparent table(definition) can exist in the data dictionary and not in the database. In this case, it is not activated

54.What are the domains and data elements?


domains are the dictionary objects that are assigned with constants and data types
data elements:

data elements are dictionary objects that are assigned with the domains.
* data elements are used to create relation between tables.
* data elements are used to transfer the data from one R/3 to another R/3.
* to create search helps.

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


56.On ABAP: Did you set up a workflow? Are you familiar with all steps for setting up a workflow?
Execute the Txn SWDD(Creating a new Workflow).
In the header of the Workflow, define the Business Object and Event you refer to for triggering the Wf.
Create the Steps required for your workflow(Activity).
Inside the Activity, Create the task and assign the Business Object and the related method for that business object.
Activate the Workflow.

57.In the ‘select’ statement what is “group by”?
Group by clause is used to fetch the data from the table by the specified field count (*) from emptable group by deptno where deptno = 1.
It is used to find the number of employees present in the specified department no.

58.How can I copy a standard table to make my own z_table?

59.From Excel to ABAP – Is batch mode possible ?
DATA w_file TYPE string.
* Convert the file path into string
w_file = p_input.

* Internal Table should have same field sequence as EXL File.

CLEAR t_upload.
REFRESH t_upload.

* Call function to upload the data into internal table
filename = w_file
filetype = ‘ASC’
has_field_separator = ‘X’
data_tab = t_upload
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc NE 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE.
* Delete the first row of heading from the uploaded table
DELETE t_upload INDEX 1.
ENDIF. ” IF sy-subrc EQ 0.

SAP HANA Interview Questions

Top most important SAP HANA interview questions and answers by Experts:

Here is a list of Top most important SAP HANA interview questions and answers by Experts.If you want to download SAP HANA interview questions pdf free ,you can register with RVH techguru. Our experts prepared these SAP HANA interview questions to accommodate freshers level to most experienced level technical interviews.

If you want to become an expert in SAP HANA ,Register for SAP HANA online training here.


1.What are the two developer roles in HANA SPS05?
The two developer roles are Modeler and Application Programmer.

Modeler: modeler is concerned with the definition of model and schemas used in the SAP HANA, the specification and definition of tables, views, primary keys, indexes, partitions and inter-relationship of the data, designing and defining authorization and access control through the specification of privileges, roles and users and generally uses the perspective “Administration Console” and “Modeler”.

Application Programmer: Programmer is concerned with building SAP HANA applications which are designed based on MVC (model-view-controller) architecture and generally uses the perspective “SAP HANA Development”.

2.Explain HANA database Architecture (SP05)?
Clients connect to the database system which forms a session within the database in the form of SQL statements. In the HANA database, each SQL statement is processed in the context of a transaction. New sessions are assigned to a new transaction.

Traditional database applications uses JDBC and ODBC interface to communicate with the database management system over a network connection and application uses SQL to manage and query the data stored in the database. In the HANA database Index server is the main component of database management which contains the actual data stores and the engines for processing the data. The index server processes incoming SQL or MDX statements in the context of transaction.

The Transaction manager coordinates database transactions, and keeps track of running and closed transactions. When a transaction is committed or rolled back, the transaction manager informs the involved storage engines about this event so they can execute necessary actions.

The HANA database has its own scripting language called SQLScript that is designed to enable optimization and parallelization. HANA supports the Business Functional Library (BFL) and Predictive Analysis Library (PAL) and can be called directly from within SQLScript. It also supports the development of programs written in R language.

SQL and SQLScript are implemented using a common infrastructure of Built-in functions. That have access to various meta definitions such as definitions of relational tables, columns, views, and indexes, definitions of SQLScript procedures. This Metadata is stored in one common catalog (row store or column store).

The Persistence layer ensures that the database after a restart is restored to the most recent committed state. It uses a combination of write-ahead logs, shadow paging and save points. The persistence layer also contains Logger that manages the transaction log.
The Index server uses the Preprocessor Server for analyzing the text data and extracting the information based on text search capabilities. The Name Server knows where the components are running and which data is located on which server. The Statistics Server collects information about status, performance and resource consumption from other servers in the system.
3.What is SAP XS (Extended Application Service)?
SAP HANA XS provides end-to-end support for web-based applications .

4.What are Development objects?
The building blocks of SAP HANA applications are called development objects.

5.What is Repository?
The HANA Repository is storage system for development objects and is built into SAP HANA.
The repository supports Version control, Transport, and Sharing of objects between multiple developers. We can add objects to the repository, update the objects, publish the objects, and compile these objects into runtime objects.

6.What are the different perspectives available in HANA?
Modeler: used for creating various types of views and analytical privileges.
SAP HANA Development: Used for programming applications for creating development objects to access or update data models such as Server-side Java script or HTML files.
Administration: Used to monitor the system and change settings.
Debug: Used to debug code such as SQLScript (.procedure files) or Server-side Java script (.xsjs files).

To open a perspective, go to Window → Open Perspective.

7.Before starting development work in SAP HANA studio, What are the roles a user should have on SAP HANA server ?
Modeling, Content_Admin.

8.What is a Delivery Unit?
Delivery unit (DU) is a container used by the Life Cycle Manager (LCM) to transport repository objects between the SAP HANA systems. The name of DU must contain only capital letters (A-Z), digits (0-9) and underscores (_).

9.What is a workspace?
The place where you work on project-related objects is called a repository workspace.
10.What is a package and its types?
Package is used to group together related content objects in SAP HANA studio. By default it creates Non-structural.
Type Description
Structural Package only contains sub-packages. It cannot contain repository objects.
Non-Structural Package contains both repository objects and sub-packages.

11.What are the default packages delivered with the repository?

12.What can be the maximum length of a package name?
190 characters including dots. Example: RajKumar.pkg123

13.What are package privileges?
REPO.READ: Read access to the selected package and design-time objects (both native and imported).
REPO.EDIT_NATIVE_OBJECTS: Authorization to modify design-time objects in packages originating in the system the user is working in.
REPO.ACTIVATE_NATIVE_OBJECTS: Authorization to activate/reactivate design-time objects in package originating in the system the user is working in.
REPO.MAINTAIN_NATIVE_PACKAGES: Authorization to update or delete native packages or create sub-packages of packages originating in the system in which the user is working.

14.How each object is uniquely identified in the repository?
Each object is uniquely identified by the combination of package name, object name and object type.

15.Can multiple objects of the same type can have the same object name?
Yes, only when they belong to different packages.

16.What are the different tasks you can perform in setting up the basis persistence model for SAP HANA XS?
Creating Schema, Creating Table, Creating View, Creating Sequence and Importing table content.

17.What are the different tasks you can perform in modeler perspective?
Import metadata, Load data, Create packages, Create information views, Create Procedures, Create Analytical privileges, Import SAP NetWeaver BW objects, Create Decision Tables, Import and Export objects.

18.What are the supported object types in modeler perspective?
Attribute views, Analytical views, Calculation views, Analytical privileges, Procedures, Decision tables, Process Visibility Scenario.

19.What are the different modeler preferences and how do you set?
You can set the modeler preferences by choosing the menu Window → Preferences → Modeler (or) Quick launch → Manage Preferences.

20.Why to configure Import server?
In order to load data data from external sources to SAP HANA we need to establish a connection with the server. To connect, we need to provide details of Business Objects Data Services repository and ODBC drivers. Once the connection is established, we can import the tables definition and then load data into table definitions.

Quick launch – Configure Import Server
Enter the IP address of the server from which you want to import data
Enter the repository name
Enter the ODBC data source, and choose OK.

21.How to Import table definitions?
If you want to import all table definitions, Go to
File menu → Choose Import
Expand the SAP HANA Content node
Choose “Mass Import of Metadata” and choose next
Select the target system where you want to import all the table definitions, and choose next
In the Connections Details Dialog , enter the user name and password of the target system
Select the required source system and choose Finish.
Note: If you want to import selective table definitions use “Selective Import of Metadata”.
22.How to load data into tables?
Quick Launch → Data Provisioning
Choose Source
Choose Load (for Initial load) or Replicate (for data replication)
Select the required tables to load or replicate
Click Finish.

23.How to upload data from Flat files?
File menu → Import
In ‘Select an Import Source’ section, expand the ‘SAP HANA Content’ node
Select ‘Data from Local file’ and choose Next
Select the Target system to which you want to import the data using Flat file, choose Next
In ‘Define Properties Import Page’ browse the file containing the data
Select ‘New’ option (If you want to load the data into a new table) or
Select the ‘Existing’ option (If you want to append the data to an existing table)
Click Finish.

24.How to copy standard content delivered by SAP?
Quick Launch → Mass Copy
Create a mapping between source package and target package
Choose Next to view the summary
Click Finish to confirm content copy.

25.What is Schema mapping? How do you do Schema mapping?
Schema mapping is done when the physical schema in the target system is not the same as the physical
schema in the source system.

Quick Launch → Schema Mapping
Choose Add
Create a mapping in the Target system between the Authoring schema and Physical schema
Click OK.

Note: Schema mapping only applies to references from repository objects to catalog onjects. It is not intended to be used for repository to repository references.

26.In which configuration table, the mapping between authoring and physical schema is stored?

27.What’s the purpose of Generating Time Data?
If you model a time attribute view without generating time data, an empty view will be shown when you use data preview. To generate Time Data go to
Quick Launch → Generate Time Data
If your financial year is from January to December, Choose ‘Calender Type’ as Gregorian else Fiscal
Click Generate.

28.In which configuration table the generated time data information will be stored?
For Gregorian calendar type (SYS_BI)
For Fiscal

29.What is an Attribute?
Attribute represents the descriptive data used in modeling. Example: City, Country, etc.

30.What is a Simple Attribute?
Simple attributes are individual analytical elements that are derived from the data foundation. For example Product_ID, Product_Name are attributes of a Product subject area.

31.What is a Calculated Attribute?
Calculated attributes are derived from one or more existing attributes or constants. For example deriving the full name of a customer (first name and last name), assigning a constant value to an attribute that can be used for arithmetic calculations.

32.What is a Private Attribute?
Private attributes used in an analytical view allow you to customize the behavior of an attribute for only that view. For example if you create an analytical view and you want a particular attribute to behave differently than it does in the attribute view to which it belongs, you can define it as a private attribute.

33.What is a Measure?
Measures are simple measurable analytical elements and are derived from Analytic and Calculation views.

34.What is a Simple Measure?
Simple Measure is a measurable analytical element that is derived from the data foundation.

35.What is a Calculated Measure?
Calculated Measures are defined based on a combination of data from OLAP cubes, arithmetic operators, constants, and functions.

36.What is a Restricted Measure?
Restricted measures are used to filter the value for an output field based on the user-defined rules For example you can restrict the revenue column only for Region = APJ, Year = 2013.

37.What are Counters?
Counters add a new measure to the Calculation view definition to count the recurrence of an attribute. For example, to count how many times Product appears.

38.What is an Attribute View?
Attribute views are used to model entity based on the relationships between attribute data contained in multiple source tables. You can model Columns, Calculated columns and Hierarchies.

Also you can fine-tune the attributes of an Attribute view:
Can apply filter to restrict values
Can be defined as Hidden so that they can be processed but not visible to end users
Can be defined as key attributes and used when joining multiple tables
Can be further drill down by ‘Drill Down Enable’ property.

39.What are the tables to be imported for creating attribute view of type Time?
T009 and T009B.

40.What is Label Mapping?
We can choose to associate an attribute with another attribute description. Label mapping is also called as Description mapping. For example if A1 has a label column B1, then you can rename B1 to A1.description. The related columns appear side by side during data preview.

41.What happens when one of the table in Attribute view has modified column with data type?
It reflects the previous state of the columns, even if you remove and add it again. It is referring to the cache. To resolve this issue close the editor and reopen it.

42.What happens when you open an attribute view with a missing column in the required object?
An error will be shown “column is not found in table schemaname.tablename” and the editor does not open. To make it consistent

Open the required object and add the missing column/attribute/measure temporarily
Now open the object which was previously giving error
Find all references to this column, Save the object
Now go ahead and delete the column from the required object.

43.What is an Analytic view?
Analytic views are used to model data that includes measures. In case of multiple tables, measures must originate from only one of these tables (central table). You can model Columns, Calculated columns, Restricted columns, Variables, and Input parameters.

Also you can fine-tune the attributes of an Analytic view:
Can apply filter to restrict values
Can be defined as Hidden so that they can be processed but not visible to end users
Can be defined as key attributes and used when joining multiple tables
Can be further drill down by ‘Drill Down Enable’ property
You can model Aggregation type on measures
You can model Currency and Unit of Measure.

44.Can we include Attribute views in Analytic view definition?

45.What does the Scenario panel of Analytic view editor contains?
Data Foundation: represents the tables used for defining the fact table of the view. You can specify the central table by selecting a value in ‘Central Entity’ property.
Logical Join: represents the relation between fact table and attribute views to create start schema.
Semantics: represents the output structure of the view.

46.What does the aggregation type ‘Calculate Before Aggregation’ mean?
If you select ‘Calculate Before Aggregation’, the calculation happens as per the expression specified and then the results are aggregated as SUM, MAX, MIN, or COUNT. If it is NOT selected, the calculation happens as per the expression specified but the data is not aggregated but shown as FORMULA.

47.How to activate the other objects (required or impacted objects) along with current object?
By using ‘Save and Activate All’ option in the toolbar.

48.Can you add column views to Analytic view and Calculation view?
We can add column views in a Calculation view but not in the Analytic view.

49.Consider there is a table that contains product ID’s with no product description and you have a text table for products that has language specific description for each product? How can you get the language specific data?
Create a text join between these two tables. The right table should be the text table and is mandatory to specify the “Language Column” in the ‘Properties’ view.

50.What are the restrictions while creating the join between the views and fact table?
A table should not appear twice in any join path, i.e. Self join is not supported.
While creating join between Analytic view and Attribute view the same table cannot be used in both the views.

51.What is Calculation view?
Calculation view is more advanced slice of the data and can include measures from multiple source of tables, can include advanced SQL logic. The data foundation of the calculation view can include any combination of tables, column views, attribute views and analytic views. We can create joins, unions, projections, and aggregation levels on the sources. You can model Attributes, Measures, Calculated measures, Counters, Hierarchies (created outside of the attribute view), Variables and Input parameters.

52.Calculation views are modeled based on what?
Graphical views or Scripted views but not as SQLScript. However there are exceptions to this rule. SQLScript with the following properties can be used in Calculation view:
No input parameters
Always Read-only (do not make changes to database)
Side-effect free.

53.What are the option available in ‘Run With’ while creating calculation view?
Definer’s Right, Invoker’s Right.
Definers right: System uses the rights of the definer while executing the view or procedure for any user.
Invokers right: System uses the rights of the current user while executing the view or procedure.

54.While creating a Graphical Calculation view, what are the options available in Tools palette?
Union, Join, Projection, and Aggregation.
Note: You can have only one source of input for Projection and Aggregation views.
You can create filters on Projection and Aggregation view attributes.

55.How to create Counters in Graphical Calculation view?
For example to get the number of distinct values of an attribute:
Go to the Output pane, right click Counters
From the context menu, choose New
Choose Attribute
Click ok.

56.Is it mandatory to include measures for Calculation view?
No. Calculation view containing no measures works like an attribute view and is not available for reporting purposes.

57.How do you debug the Calculation view with lot of complexity at each level?
By previewing the data of an intermediate node.

58.What is Mapping input parameter in Calculation view?
It is used for mapping the input parameters in the underlying data sources of the calculation view with calculation view parameters.

59.In calculation view, What is the option ‘Auto Map by Name’ used for?
It automatically creates the input parameters corresponding to the source and perform a 1:1 mapping.

60.What are the options available in Source input parameter?
Create New Map 1:1
Map by Name
Remove Mapping

61.Consider there are two tables (Actual sales and Planned sales) with similar structures. I want to see the combined data in a single view but at the same time how can I differentiate the data between these two tables

Create a union view (Graphical) between the two tables and have a ‘Constant column’ indicating constant values like ‘A’ for Actual sales and ‘P’ for Planned sales. The default value for the constant column is NULL.

62.What is a Constant column and how to create it?
In a Union view, a Constant column is created for the output attributes for which there is no mapping to the source attributes. To create Constant column:
Right click the attribute in the target list
Choose Manage Mappings
To map the source to the target column, select the required source from the dropdown list
To assign a default value to the constant column, enter a value in the Constant value field
Select the required data type, length and scale as required
Click ok.

63.What is the difference between HANA Variable and Input parameter?
HANA Variables do not impact the execution and used to filter the attributes, for example we can filter a result to a specific country or product and are applied in the WHERE clause of the SQL query.
HANA Input parameters used to manipulate the execution of the information model, for example currency codes or dates when exchange rates have to be calculated and are passed as PLACEHOLDER in the FROM clause of the SQL query.

64.In which configuration table you can find the variables information?
You can find in _SYS_BI schema
65.What are the different types of Input parameters supported?
Attribute value/Column
Currency (Available in Calculation view only)
Date (Available in Calculation view only)
Static list
Derived from Table (Available in Analytic and Graphical Calculation view)
Direct Type (Available in Analytic view)

66.How can you check whether an input parameter is mandatory or not?
From the properties of Input parameter in the Properties pane.

67.What is Hierarchy?
We create hierarchies between attributes to improve analysis by displaying attributes according to their defined relationships. There are two types of hierarchies:

Level Hierarchy: The root and child nodes are accessed only in the defined order. It consists of one or more levels of aggregation.
Example: We can drill down from Country to State and to City etc.

Parent/Child Hierarchy: This hierarchy contains a parent attribute and constructed from a single parent attribute.
Example: Employee master (employee and manager).

68.How to create an hierarchy for Analytic view?
Hierarchy is not supported in Analytic view but can be used only in Attribute view and Calculation view.

69.While creating hierarchy, what does the option ‘Aggregate All Nodes’ mean?
For example there is a member A with value 100, A1 with value 10, A2 with value 20 where A1 and A2 are children of A. By default the option ‘Aggregate All Nodes’ is set to false and you will see a value of 30 for A. When this option is set to true, you will count the posted value 100 for A as well and see a result of 130.

70.How can you generate a Sales report for a region in a particular currency where you have the sales data in a database table in a different currency?
Create an Analytic view by selecting the table column containing the sales data and currency and perform currency conversion. Once the view is activated, we can use it to generate reports.

71.What are the factors that affect currency conversion?
Currency conversion is performed based on source currency, target currency, exchange rate, and date of conversion. You can select currency from the attribute data used in the view. Currency conversion is enabled for Analytic view and Calculation views.

72.What is the prerequisite for doing the currency conversion?
You need to import tables TCURC, TCURF, TCURN, TCURR, TCURT, TCURV, TCURW & TCURX.

73.What is the prerequisite for Unit of Measure?
You need to import the tables T006 & T006A.

74.What happens when you activate an object?
The object is exposed to repository and for analysis.

75.What is the difference between Activate and Redeploy?
Activate – It deploys the inactive objects.
Redeploy – It deploys the active objects. You do this when run-time object is corrupted or deleted and you want to create it again. OR when the object goes through client-level activation and server-level activation but fails at MDX, and the object status is still active.

76.What are the supported activation modes?
Activate and Ignore the inconsistencies in impacted objects
Stop activation in case of inconsistencies in impacted objects.

Irrespective of the activation mode, if even one of the selected objects fails (either during validation or during activation), the complete activation job fails and none of the selected objects will be activated.
77.Can you explain the behavior of activation job?
The status of the activation job indicates whether the activation of the objects is successful or failed.
In case of failure (status is completed with errors) the process is rolled back and none of the objects are activated
In the summary part the job log shows success, even in the case of failure. This is to help the user to indicate that those objects were successfully activated without any issues.
When you open the job log, the summary list only shows those objects that are submitted for activation. It does not list all the affected objects. They are listed in detail section.

78.What is a Decision table?
It creates related business rules in a tabular format for automating the decisions. It helps in managing business rules, data validation, data quality rules without any language knowledge. The active version of the decision table can be used in applications.

You create decision table in a package just like any attribute view. You can create from scratch or from an existing decision table.

79.Where to see the detailed report of the decision table?
In the ‘Job Log’ section you can see the validation status and detailed report of the decision table.

80.How to execute the decision table?
The decision table is executed by calling the procedure.

CALL “<schema name>”.”<procedure name>”;

CALL “<schema name>”.”<procedure name>”(<IN parameter>, …… , <IN parameter>, ?);
for Condition as parameters and Action as parameters.

On execution of the procedure, if no parameters are used then physical table is updated based on the data you enter in the form of condition values and action values.

81.Are there any restrictions on Decision table to preview the data?
Data preview is supported only if:
Decision table is based on physical table and has at-least one parameter as action
Decision table is based on Information view and parameter(s) as action.

82.How can you change the layout of a decision table?
You can change the layout by arranging the condition and action columns. By default all the conditions appear as vertical columns in the decision table and you can mark a condition as a horizontal condition under the Decision table editor, choose ‘Change Layout’.

83.Can you switch ownership of objects?
We can take the ownership of objects from other user’s workspace only if it is inactive version of the object Authorization required is “Work in Foreign Workspace”. The active version is owned by the user who created and activated the object.

84.What is the difference between Switch Ownership and Take Over?
Switch Ownership: To take multiple inactive objects from other users.
Take Over: To take single inactive object from another workspace.

85.You are working on a inactive version of a object. How can you view changes made to the active version?
Select the required object in a package you are working
From the context menu, choose ‘open’
In the editor pane, choose ‘Show Active Version’
Compare the active and inactive versions of the object.

86.How can you view the version history of content objects?
Select the required object from the package
From the context menu choose ‘History’.

87.What is Refactoring Object?
Restructuring the Content objects without changing their behavior is call Refactoring.

88.What are the objects eligible for Refactoring?
Packages, Attribute views, Analytic views, Graphical Calculation views, and Analytical Privileges.

89.How do you validate models?
Quick launch menu → Validate
From the ‘Available’ list, select the required models that system must validate.
Choose Add
Click Validate.

90.How do you generate the documentation for the objects you created?
By using ‘Auto Documentation’ which captures the details of an information model or a package in a single document. Process to create is:
Quick Launch → Auto Documentation
In ‘Select Content Type’ choose ‘Model Details’ OR ‘Model List’
Add the required objects to the Target list
Browse the location where you want to save the file
Click finish.

91.How to identify whether an information model is referenced by any other information model?
We can check the model references by using ‘Where Used’. Process is:
Go to the package
Select the required object
From the context menu, choose ‘Where Used’.

92.What is the difference among Raw Data, Distinct values and Analysis while doing the Data Preview?
Raw Data : It displays all attributes along with data in tabular format.
Distinct Values: It displays all attributes along with data in graphical format.
Analysis : It displays all attributes and measures in graphical format.

93.What are the different types of functions can be used in expressions?
Conversion, String, Mathematical, Date and Misc functions.

returns REJECTED if the SCORE is <= 4.

if the value of CODE is other than 1/2/3 then a default value of ‘INVALID’ will be selected.

94.How to search Tables, Models, and Column views?
In the Modeler search field, enter the object you want
Select the system in dropdown
Click search.

The matching objects are listed in results pane with 3 tab pages: Tables, Models, and Column views.

95.Is it possible to Import SAP Netweaver BW objects?
Yes it is possible to import SAP BW objects.

96.How to Import BW models?
The process to Import BW models:
File menu → Import
Expand SAP HANA Content node, choose ‘Import SAP NetWeaver BW Models’
In ‘Source System’ enter BW credentials
Select the target system
Select BW InfoProviders
If you want to import selected models along with display atributes for IMO Cube and IMO DSO, select ‘Include Display Attributes’
We can select analysis authorizations associated with InfoProviders/Role based.
Click finish.

97.What is the reason for going In-memory?
One reason is the number of CPU cycles per second is increasing and the cost of processors is decreasing. For managing the data in memory, there is five-minute rule which is based on the suggestion that it costs more to wait for the data to be fetched from disk than it costs to keep data in memory so it depends on how often you fetch the data.
For example there is a table and no matter how large it is and this table is touched by a query at least once every 55 minutes, it is less expensive (in hardware costs) to keep it in memory than to read it from memory and if it is frequently accessed it is less expensive to store it in memory.

98.What is a Five-minute rule?
It is a rule of thumb for deciding whether a data item should be kept in memory, or stored on disk and read back into memory when required. The rule is “randomly accessed disk pages of cache are re-used every 5 minutes”.

99.What is multi-core CPU?
Multiple CPU’s on one chip or in one package is called multi-core CPU. .

Traditional databases for online transaction processing (OLTP) do not use current hardware efficiently.

100.What is Stall?
Waiting for data to be loaded from main memory into the CPU cache is called as Stalls.

101.What is SAP In-Memory Appliance (SAP HANA)?
HANA is an in-memory technique to store data that is particularly suited for handling very large amounts of tabular, or relational, data with extra ordinary performance. Common databases store tabular data row-wise. Reorganizing the data in memory column-wise brings a tremendous speed increase when accessing a subset of the data in each table row.

102.What are the components or products of HANA?
SAP HANA contains the following components.

SAP HANA client package for MS excel
SAP HANA UI for Information Access (INA)
Software Update Manager for SAP HANA
SAP LT Replication AddOn
SAP LT Replication Server
SAP HANA Direct Extractor Connection (DXC)
SAP Data Services 4.0

103..What are the different editions available in HANA appliance software?
Platform and Enterprise edition.

Platform edition is intended for customers who want to use ETL-based replication and already have a license for SAP BO Data Services.
Enterprise edition is intended for customers who want to use either trigger-based replication or ETL-based replication and do not already have all of the necessary licenses for SAP BO Data Services.

104..What is columnar and Row-Based Data Storage?

Fig: Row and Column-based storage
A database table contains data in the form of rows and columns. However Computer memory is organized as a linear structure. To store a table in linear memory, there are two options. A row-based storage stores a table as a sequence of records, each of which contains the fields of one row. In a columnar storage the entries of a column are stored in contiguous memory locations.

The SAP HANA database allows to specify whether a table is to be stored column-wise or row-wise. It is also possible to alter an existing table from columnar to row-based and vice versa.
Search operations in tabular data can be accelerated by organizing data in columns instead in rows.

105..What are the advantages of Column based tables?
Calculations are typically executed on single or a few columns only.
The table is searched based on values of a few columns.
The table has a large number of columns.
The table has a large number of rows and columnar operations are required (aggregate, scan, etc.).
High compression rates can be achieved because the majority of the columns contain only few distinct values (compared to number of rows).
106..What are the advantages of Row-based tables?
The application needs to only process a single record at one time (many selects and/or updates of single records).
The application typically needs to access a complete record (or row).
The columns contain mainly distinct values so that the compression rate would be low.
Neither aggregations nor fast searching are required.
The table has a small number of rows (e. g. configuration tables).

107.In which case the data to be stored in columnar storage?
To enable fast on-the-fly aggregations, ad-hoc reporting, and to benefit from compression mechanisms it is recommended that transaction data to be stored in a column-based table.

108.Is it possible to join tables of row-based with column-based tables?

109.What are the advantages of Columnar tables?

Higher Data Compression Rates
Higher Performance for Column Operations
Elimination of Additional Indexes
Elimination of Materialized Aggregates

110..What are the different Compression Techniques you know?
Run-length encoding
Cluster encoding
Dictionary encoding

111.Why materialized aggregates are not required?
With a scanning speed of several gigabytes per millisecond, in-memory column stores, make it possible to calculate aggregates on large amounts of data on the fly with high performance. This is expected to eliminate the need for materialized aggregates in many cases.

112.What are the advantages of Eliminating materialized aggregates?
No additional tables for storing aggregate results means:
Simplified data model
Simplified application logic
Higher level of concurrency and
With the fly Aggregation we have aggregated values up to date

113.What is parallelization?
Column-based storage makes it easy to execute operations in parallel using multiple processor cores. In a column store data is already vertically partitioned means that operations on different columns can easily be processed in parallel. If multiple columns need to be searched or aggregated, each of these operations can be assigned to a different processor core. In addition operations on one column can be parallelized by partitioning the column into multiple sections that can be processed by different processor cores (core 3 and 4 below).
SAP Landscape Transformation

114.What are the different types of replication techniques?
1.ETL based replication using BODS
2.Trigger based replication using SLT
3.Extractor based data acquisition using DXC

115.What is SLT?
SLT stands for SAP Landscape Transformation which is a trigger based replication. SLT replication server is the replication technology to pass data from source system to the target system. The source can be either SAP or non-SAP. Target system is SAP HANA system which contains HANA database.

116.Is it possible to load and replicate data from one source system to multiple target database schemas of HANA system?
Yes. It is possible for up to 4.

117.Is it possible to specify the type of data load and replication?
Yes either in real time, or scheduled by time or by interval.

118.What is Configuration in SLT?
The information to create the connection between the source system, SLT system, and the SAP HANA system is specified within the SLT system as a Configuration. You can define a new configuration in Configuration & Monitoring Dashboard (transaction LTR).

119.Is there any pre-requisite before creating the configuration and replication?
For the SAP source systems DMIS add-on is installed in SLT replication server. User for RFC connection has the role IUUC_REPL_REMOTE assigned but not DDIC.
For non-SAP source systems DMIS add-on is not required and grant a database user sufficient authorization for data replication.

120.What is Configuration and Monitoring Dashboard?
It is an application that runs on SLT replication server to specify configuration information (such as source system, target system, and relevant connections) so that data can be replicated. It can also use it to monitor the replication status (transaction LTR).
Status Yellow: It may occur due to triggers which are not yet created successfully.
Status Red: It may occur if master job is aborted (manually in transaction SM37).

121.What is advanced replication settings?
A transaction that runs on SLT replication server to specify advanced replication settings like
Modifying target table structures,
Specifying performance optimization settings
Define transformation rules

122.What is Latency?
It is the length of time to replicate data (a table entry) from the source system to the target system.

123.What is logging table?
A table in the source system that records any changes to a table that is being replicated. This ensures that SLT replication server can replicate these changes to the target system.

124.What are Transformation rules?
A rule specified in the Advanced Replication settings transaction for source tables such that data is transformed during the replication process. Example you can specify rule to
Convert fields
Fill empty fields
Skip records

125.What happens when you set-up a new configuration?
The database connection is automatically created along with GUID and Mass transfer id (MT_ID).

A schema GUID ensures that configurations with the same schema name can be created.
The Mass transfer ID is used in the naming of SLT jobs and the system can uniquely identify a schema.

126.What factors influence the change/increase the number of jobs?
Number of configurations managed by the SLT replication server
Number of tables to be loaded/replicated for each configuration
Expected speed of initial load
Expected replication latency time. As a rule of thumb, one BDG job should be used for each 10 tables in replication to achieve acceptable latency times.

127.When to change the number of Data Transfer jobs?
If the speed of the initial load/replication latency time is not satisfactory
If SLT replication server has more resources than initially available, we can increase the number of data transfer and/or initial load jobs
After the completion of the initial load, we may want to reduce the number of initial load jobs

128.What are the jobs involved in replication process?
1. Master Job (IUUC_MONITOR_<MT_ID>)
2. Master Controlling Job (IUUC_REPLIC_CNTR_<MT_ID>)
3. Data Load Job (DTL_MT_DATA_LOAD_<MT_ID>_<2digits>)
4.Migration Object Definition Job (IUUC_DEF_MIG_OBJ_<2digits>)
5.Access Plan Calculation Job (ACC_PLAN_CALC_<MT_ID>_<2digits>)

129.What is the relation between the number of data transfer jobs in the configuration settings and the available BGD work processes?
Each job occupies 1 BGD work processes in SLT replication server. For each configuration, the parameter Data Transfer Jobs restricts the maximum number of data load job for each mass transfer ID (MT_ID).

A mass transfer ID requires at least 4 background jobs to be available:
One master job
One master controller job
At least one data load job
One additional job either for migration/access plan calculation/to change configuration settings in “Configuration and Monitoring Dashboard”.

130.If you set the parameter “data transfer jobs” to 04 in a configuration “SCHEMA1”, a mass transfer ID 001 is assigned. Then what jobs should be in the system?
1 Master Controller job (IUUC_REPL_CNTR_001_0001)
At most 4 parallel jobs for MT_ID 001 (DTL_MT_DATA_LOAD_001_ 01/~02/~03/~04)

Performance: If lots of tables are selected for load / replication at the same time, it may happen that there are not enough background jobs available to start the load procedure for all tables immediately. In this case you can increase the number of initial load jobs, otherwise tables will be handled sequentially.

For tables with large volume of data, you can use the transaction “Advanced Replication Settings (IUUC_REPL_CONT)” to further optimize the load and replication procedure for dedicated tables.