Based on Modeling Area

1. What is data integrity?
Data Integrity is about eliminating duplicate entries in the database. Data integrity means no duplicate data.

2. What is the difference between SAP BW 3.0B and SAP BW 3.1C, 3.5?
The best answer here is Business Content. There is additional Business Content provided with BW 3.1C that wasn't found in BW 3.0B. SAP has a pretty decent reference library on their Web site that documents that additional objects found with 3.1C.

 3. What is the difference between SAP BW 3.5 and 7.0?
SAP BW 7.0 is called SAP BI and is one of the components of SAP NetWeaver 2004s. There are many differences between them in areas like extraction, EDW, reporting, analysis administration and so forth. For a detailed description, please refer to the documentation given on 

1. No Update rules or Transfer rules (Not mandatory in data flow)
2.Instead of update rules and Transfer rules new concept introduced called transformations.
3. New ODS introduced in additional to the Standard and transactional.
4. ODS is renamed as DataStore to meet with the global data warehousing standards.
And lot more changes in the functionalities of BEX query designer and WAD etc.
5. In Infosets now you can include Infocubes as well.
6. The Re-Modeling transaction helps you adding new key figures and characteristics and handles historical data as well without much hassle. This facility is available only for info cube.
7. The BI accelerator (for now only for infocubes) helps in reducing query run time by almost a factor of 10 - 100. This BI accl is a separate box and would cost more. Vendors for these would be HP or IBM.
8. The monitoring has been improved with a new portal based cockpit. Which means you would need to have an EP guy in your project for implementing the portal ! :)
9. Search functionality has improved!! You can search any object. Not like 3.5
10. Transformations are in and routines are passe! Yes, you can always revert to the old transactions too.

4. What is index?
Indices/Indexes are used to locate needed records in a database table quickly. BW uses two types of indices, B-tree indices for regular database tables and bitmap indices for fact tables and aggregate tables.

5. What is KPIs (Key Performance Indicators)?
(1) Predefined calculations that render summarized and/or aggregated information, which is useful in making strategic decisions.
(2) Also known as Performance Measure, Performance Metric measures. KPIs are put in place and visible to an organization to indicate the level of progress and status of change efforts in an organization.
KPIs are industry-recognized measurements on which to base critical business decisions.
In SAP BW, Business Content KPIs have been developed based upon input from customers, partners, and industry experts to ensure that they reflect best practices.

6. What is the use of process chain?

The use of Process Chain is to automate the data load process.
Used to automate all the processes including Data load and all Administrative Tasks like indices creation deletion, Cube compression etc.
Highly controlled data loading.

7. Difference between Display Attribute and Navigational Attribute?

The basic difference between the two is that navigational attributes can be used to drilldown in a Bex report whereas display attributes cannot be used so. A navigational attribute would function more or less like a characteristic within a cube.

To enable these features of a navigational attribute, the attribute needs to be made navigational in the cube apart from the master data info-object.

The only difference is that navigation attributes can be used for navigation in queries, like filtering, drill-down etc.
You can also use hierarchies on navigational attributes, as it is possible for characteristics.

But an extra feature is that there is a possibility to change your history. (Please look at the relevant time scenarios). If navigation attributes changes for a characteristic, it is changed for all records in the past.
Disadvantage is also a slow down in performance.

8. If there are duplicate data in Cubes, how would you fix it?
Delete the request ID, Fix data in PSA or ODS and re-load again from PSA / ODS.

9. What are the differences between ODS and Info Cube?
ODS holds transactional level data. It’s just as a flat table. It’s not based on multidimensional model. ODS have three tables
1. Active Data table (A table containing the active data)
2. Change log Table (Contains the change history for delta updating from the ODS Object into other data targets, such as ODS Objects or InfoCubes for example.)
3. Activation Queue table (For saving ODS data records that are to be updated but that have not yet been activated. The data is deleted after the records have been activated)

Whereas Cube holds aggregated data which is not as detailed as ODS. Cube is based on multidimensional model.

An ODS is a flat structure. It is just one table that contains all data.
Most of the time you use an ODS for line item data. Then you aggregate this data to an info cube

One major difference is the manner of data storage. In ODS, data is stored in flat tables. By flat I mean to say ordinary transparent table whereas in a CUBE, it composed of multiple tables arranged in a STAR SCHEMA joined by SIDs. The purpose is to do MULTI-DIMENSIONAL Reporting

In ODS; we can delete / overwrite the data load but in cube – only add is possible, no overwrite.

10. What is the use of change log table?

Change log is used for delta updates to the target; it stores all changes per request and updates the target.

11. Difference between InfoSet and Multiprovider

a) The operation in Multiprovider is "Union" where as in Infoset it is either "inner join" or "Outer join".

b) You can add Info-cube, ODS, Info-object in Multiprovider whereas in an Infoset you can only have ODS and Info-object.

c) An Infoset is an Info-provider that joins data from ODS and Info-objects( with master data). The join may be a outer join or a inner join. Whereas a Multiprovider is created on all types of Infoproviders - Cubes, ODS, Info-object. These InfoProviders are connected to one another by a union operation.

d) A union operation is used to combine the data from these objects into a MultiProvider. Here, the system constructs the union set of the data sets involved. In other words, all values of these data sets are combined. As a comparison: InfoSets are created using joins. These joins only combine values that appear in both tables. In contrast to a union, joins form the intersection of the tables.

12. What is the T.Code for Data Archival and what is it's advantage?
Advantage: To minimize space, Query performance and Load performance

13. What are the Data Loading Tuning from R/3 to BW, FF to BW?

a) If you have enhanced an extractor, check your code in user exit RSAP0001 for expensive SQL statements, nested selects and rectify them.

b) Watch out the ABAP code in Transfer and Update Rules, this might slow down performance

c) If you have several extraction jobs running concurrently, there probably are not enough system resources to dedicate to any single extraction job. Make sure schedule this job judiciously.

d) If you have multiple application servers, try to do load balancing by distributing the load among different servers.

e) Build secondary indexes on the under lying tables of a DataSource to correspond to the fields in the selection criteria of the datasource. ( Indexes on Source tables)

f) Try to increase the number of parallel processes so that packages are extracted parallelly instead of sequentially. (Use PSA and Data Target in parallel option in the info package.)

g) Buffer the SID number ranges if you load lot of data at once.

h) Load master data before loading transaction data.

i) Use SAP Delivered extractors as much as possible.

j) If your source is not an SAP system but a flat file, make sure that this file is housed on the application server and not on the client machine. Files stored in an ASCII format are faster to load than those stored in a CSV format.

14. Performance monitoring and analysis tools in BW

a) System Trace: Transaction ST01 lets you do various levels of system trace such as authorization checks, SQL traces, table/buffer trace etc. It is a general Basis tool but can be leveraged for BW.

b) Workload Analysis: You use transaction code ST03

c) Database Performance Analysis: Transaction ST04 gives you all that you need to know about what’s happening at the database level.

d) Performance Analysis: Transaction ST05 enables you to do performance traces in different are as namely SQL trace, Enqueue trace, RFC trace and buffer trace.

e) BW Technical Content Analysis: SAP Standard Business Content 0BWTCT that needs to be activated. It contains several InfoCubes, ODS Objects and MultiProviders and contains a variety of performance related information.

f) BW Monitor: You can get to it independently of an InfoPackage by running transaction RSMO or via an InfoPackage. An important feature of this tool is the ability to retrieve important IDoc information.

g) ABAP Runtime Analysis Tool: Use transaction SE30 to do a runtime analysis of a transaction, program or function module. It is a very helpful tool if you know the program or routine that you suspect is causing a performance bottleneck.

15. Difference between Transfer Rules and Update Rules

a) Transfer Rules:
When we maintains the transfer structure and the communication structure, we use the transfer rules to determine how we want the transfer structure fields to be assigned to the communication structure InfoObjects. We can arrange for a 1:1 assignment. We can also fill InfoObjects using routines, formulas, or constants.
Update rules:
Update rules specify how the data (key figures, time characteristics, characteristics) is updated to data targets from the communication structure of an InfoSource. You are therefore connecting an InfoSource with a data target.

b) Transfer rules are linked to InfoSource, update rules are linked to InfoProvider (InfoCube, ODS).

i. Transfer rules are source system dependant whereas update rules are Data target dependant.

ii.The no. of transfer rules would be equal to the no. of source system for a data target.

iii.Transfer rules is mainly for data cleansing and data formatting whereas in the update rules you would write the business rules for your data target.

iv. Currency translations are possible in update rules.

c) Using transfer rules you can assign DataSource fields to corresponding InfoObjects of the InfoSource. Transfer rules give you possibility to cleanse data before it is loaded into BW.
Update rules describe how the data is updated into the InfoProvider from the communication structure of an InfoSource.
If you have several InfoCubes or ODS objects connected to one InfoSource you can for example adjust data according to them using update rules.

Only in Update Rules: a. You can use return tables in update rules which would split the incoming data package record into multiple ones. This is not possible in transfer rules.
b. Currency conversion is not possible in transfer rules.
c. If you have a key figure that is a calculated one using the base key figures you would do the calculation only in the update rules.

16. What is OSS?
OSS is Online support system runs by SAP to support the customers.
You can access this by entering OSS1 transaction or visit Service.SAP.Com and access it by providing the user name and password.

17. How to transport BW object?

Follow the steps.

i. RSA1 > Transport connection
ii. In the right window there is a category "all object according to type"
iii. Select required object you want to transport.
iv. Expand that object, there is select object, double click on this you will get the number of objects, select yours one.
v. Continue.
vi. Go with the selection, select all your required objects you want to transport.
vii. There is icon Transport Object (Truck Symbol).
viii. Click that, it will create one request, note it down this request.
ix. Go to Transport Organizer (T.code SE01).
x. In the display tab, enter the Request, and then go with display.
xi. Check your transport request whether contains the required objects or not, if not go with edit, if yes "Release" that request.

That’s it; your coordinator/Basis person will move this request to Quality or Production.

18. How to unlock objects in Transport Organizer?

To unlock a transport use Go to SE03 --> Request Task --> Unlock Objects

Enter your request and select unlock and execute. This will unlock the request.

19. What is InfoPackage Group?
An InfoPackage group is a collection of InfoPackages.

20. Differences Between Infopackage Groups and Process chains
i.Info Package Groups are used to group only Infopackages
where as Process chains are used to automate all the processes.

ii Infopackage goups:
Use to group all relevent infopackages in a group, (Automation of a group of infopackages only for dataload). Possible to Sequence the load in order.
Process Chains:
Used to automate all the processes including Dataload
and all Administrative Tasks like indices creation deletion, Cube compression etc
Highly controlled dataloading.

iii. InfoPackage Groups/Event Chains are older methods of scheduling/automation. Process Chains are newer and provide more capabilities. We can use ABAP programs and lot of additional features like ODS activation and sending emails to users based on success or failure of data loads.


21. What are the critical issues you faced and how did you solve it?

Find your own answer based on your experience.. 

22. What is Conversion Routine?

a) Conversion Routines are used to convert data types from internal format to external/display format or vice versa.

b) These are function modules.
c) There are many function modules, they will be of type



23. Difference between Start Routine and Conversion Routine
In the start routine you can modify data packages when data loading. Conversion routine usually refers to routines bound to InfoObjects (or data elements) for conversion of internal and display format.

24. What is the use of setup tables in LO extraction?

The use of setup table is to store your historical data in them before updating to the target system. Once you fill up the setup tables with the data, you need not to go to the application tables again and again which in turn will increase your system performance.

25. R/3 to ODS delta update is good but ODS to Cube delta is broken. How to fix it?
i. Check the Monitor (RSMO) what’s the error explanation. Based on explanation, we can check the reason

ii. Check the timings of delta load from R3 – ODS – CUBE if conflicting after ODS load

iii. Check the mapping of Transfer/Update Rules

iv. Fails in RFC connection

v. BW is not set as source system

vi. Dump (for a lot of reasons, full table space, time out, sql errors...)
Do not receive an IDOC correctly.

vii. There is a error load before the last one and so on...

26. What is short dump and how to rectify?
Short dump specifies that an ABAP runtime error has occurred and the error messages are written to the R/3 database tables. You can view the short dump through transaction ST22.
You get short dumps b'coz of runtime errors. The short dump u got is due to the termination of background job. This could be of many reasons.

You can check short dumps in T-code ST22. U can give the job tech name and your userid. It will show the status of jobs in the system. Here you can even analyze short dump. U can use ST22 in both R/3 and BW.

OR To call an analysis method,
choose Tools --> ABAP Workbench --> Test --> Dump-Analysis from the SAP Easy Access menu.
In the initial screen, you must specify whether you want to view today’s dump or the dump from yesterday. If these selection criteria are too imprecise, you can enter more specific criteria. To do this, choose Goto --> Select Short Dump
You can display a list of all ABAP dumps by choosing Edit --> Display List. You can then display and analyze a selected dump. To do this, choose Short Dump --> Dump Analysis.

Based on BW Reporting Area

 1. What are the Query Tuning you do when you use reporting?
a) Install BW Statistics and use of aggregates for reporting

b) Avoid using too many characteristics in rows and columns, instead place it in free characteristics and navigate / drill-down later.

c) OLAP Cache (Change Cache TCode RSCUSTV14): It’s a technique that improves query performance by caching or storing data centrally and thereby making it accessible to various application servers. When the query is run for the first time, the results are saved to the cache so that next time when similar query is run, it does not have to read from the data target but from the cache.

d) Pre-calculated web templates

e) Use small amount of data as of starting points and do the drill down

f) Instead of running the same query each time save the query results in workbook to get the same query results for different users. Each time you run the query, it refreshes the data /same data should not fetch from data targets.

g) Complex and large reports should not run online rather they should be scheduled run during off-peak hours to avoid excessive contention for limited system resources. We should using RA to run those off-peak hours in batch mode.

h) Queries against remote cubes should be avoided as data comes from different systems.

i) If you have choice between using hierarchies and characteristics or navigational attributes, you should choose char or navigational attributes.

j) Create additional indexes

k) Use compression on cubes since the E tables are optimized for queries.

l) . Turn off warning messages on queries 

2. What is BEX Download Scheduler?

The BEX Download Scheduler is an assistant that takes you through an automatic, step-by-step process for downloading pre-calculated Web templates as HTML pages from the BW server onto your PC.

3. Difference between Calculated key figure and Formula?

Formula & calculated key figures are functionality wise same.
Calculated Key Figure is global where as Formula is local (for that query only.

CKF will have tech name and description where as Formula will have only description.

CKF is available across all Queries on same InfoProvider where as formula is available  only for that Query.

While creating CKF, certain function will not available from formula builder where as while creating formula, all the function will be available from formula builder.

4. What is difference between filter and restricted key figure?

Filter restricts whole Query result where as RKF restricts only selected KF.

for Example: Lets assume we have 'company code' in filter and it is restricted by '0040'.Query output will be for only '0040'.

if u restrict a KF with '0040' in RKF, then only that KF data will be restricted by '0040'.

Restricted key figures are (basic) key figures of the InfoProvider that are restricted (filtered) by one or more characteristic selections. Unlike a filter, whose restrictions are valid for the entire query.

For a restricted key figure, only the key figure in question is restricted to its allocated characteristic value or characteristic value interval. Scenarios such as comparing a particular key figure for various time segments, or
plan/actual comparison for a key figure if the plan data is stored using a particular characteristic, can be realized using restricted key figures.

5. What is the use of Structure in BEX/Query?

Combination of characteristics and key figures are called Structure.
Structures are basically a grouping of key figures which can be created for a Infocube and reused in any other queries for that cube.
Structures find the biggest use in financial reports. Take an example of a financial report which has about 20 normal keyfigures, 10 calculated keyfigures and another 10 restricted keyfigures. Now assume that someone asks for a new report with all of these as well as 5 more keyfigures. Normally you would have to create a new query and manually re-create all the complex key-figures. However, if you had saved them as a structure, you just have to drag-and-drop the structure into the query. So if there was a change in the calculation of one key-figure, you just have to change the key-figure in the structure and not change all the 10 reports which show that key-figures.

We get a default structure for key-figures. That is most people use structures for key-figures and SAP has designed it that way.

Within a query definition you can use either no structures or a maximum of two structures. Of these, only one can be a key figure structure.

6. Difference between filter and condition in report

Filters act on Characteristics; Conditions act on Key Figures. You do not use KF in the filter area. Only char values can be restricted in the filter area, whereas Conditions are created to key figures.

7. Reporting Agent 

Definition: The Reporting Agent is a tool used to schedule reporting functions in the background.
The following functions are available:

  • Evaluating exceptions
  • Printing queries
  • Pre-calculating Web templates
  • Pre-calculating characteristic variables of type pre-calculated value sets.
  • Pre-calculation of queries for Crystal reports
  • Managing bookmarks

You make settings for the specified reporting functions.
You assign the individual settings to scheduling packages for background processing.
You schedule scheduling packages as a job or within a process chain.

8. RRI: Report-Report-Interfacing is the terminology used to describe linking reports together. Report-Report-Interfacing uses Jump Targets that are created using the transaction code RSBBS (see Question #4). A Query with RRI functionality can be identified by clicking on the Goto icon in the BEx Analyzer toolbar.

9. What are the restrictions on ODS reporting? Active, retired and terminated employees can be separated using different ODS for detail reports.

10. Difference between ODS & Cube Reporting

ODS is 2 dimensional format and it is not good to analyze the data in multi dimensional way. If you want to take flat reporting then go for ODS reporting.
Cube is multidimensional format and you can analyze data in different dimensions, so if your requirement is multidimensional report go for Cube.

Example: List of purchase orders for a vendor is two dimensional reports whereas sales organization wise, sales area wise, customer wise sales for last quarter and comparison with earlier quarters is a multi-dimensional report.

Two dimensional reports are similar to reporting on a table. ODS active table is a flat table like an r/3 table. Reporting is done on active table of ODS. Other tables are for handling the deltas.

Cube structure is a star schema structure. Hence Reports on cubes are multidimensional reports.

11. Why we need to use 0Recordmode in ODS?
0Recordmode is an InfoObject for loading data into ODS. The value indicates how the data should be updated and which type.

Field 0RECORDMODE is needed for the delta load and is added by the system if a DataSource is delta-capable. In the ODS object the field is generated during the creation process.

Based on R/3 Extraction

1.  Different kinds of extractors:

LO Cockpit Extractors are SAP standard / pre-defined extractors / Data Source for loading data to BW.

COPA- is customer generated application specific Data Source. When we create COPA Data Source we will be getting different field selections. There are no BI cubes for COPA.

Generic Extractor: We create generic extractors from table views, query and functional module / InfoSet Query.

2. What's the difference between extraction structure and table in datasource?

a) The extraction structure is just a technical definition, it does not hold any physical data on the database. The reason why you have it in addition to the table/view is that you can hide deselect fields here so that not the complete table needs to be transferred to BW.

b) In short - The extract structure define the fields that will be extracted and the table contains the records in that structure.

c) Table is having data but Extract structure doesn’t have data.
Extract structure is formed based on table and here we have the option to select the fields that are required for extraction. So extract structure will tell what are the fields that are using for extraction.

3. Define V3 Update (Serialised and Unserialised), Direct Delta and Queued Delta
a). Direct Delta:
When number of document changes between two delta extractions is small, you go for direct delta. The recommended limit is 10000 i.e. if the No of doc changes (Creating, changing and deleting) between two successive delta runs is within 10000, direct delta is recommended.
Here the number of LUWs are more as they are not clubbed into one LUW.

b). Queued delta is used if number of document changes is high ( more than 10000). Here data is written into an extraction queue and from there it is moved to delta queue. Here up to 10000doc changes are cumulated to one LUW.

c). Unserialized V3 update method is used only when it is not important that data to be transferred to BW in the exactly same sequence as it was generated in R/3.

d). Serialized V3 Update: This is the conventional update method in which the document data is collected in the sequence of attachment and transferred to BW by batch job. The sequence of the transfer does not always match the sequence in which the data was created.

Basic difference is in the sequence of data transfer. In Queued delta it is same as the one in which documents are created whereas in serialized v3 update it is not always the same.

 4) Difference between Costing based and Account based CO-PA

Account based is tied to a GL account posting. Costing based is derived from value fields. Account based would be more exact to tie out to the GL. Costing based is not easy to balance to the GL and more analytical and expect differences. Costing based offers some added revaluation costing features

Implementing costing based is much more work but also gives much more reporting possibilities especially focused on margin analyses. Without paying attention to it while implementing costing based COPA, you get account based with it, with the advantage of reconciled data.

COPA accounting based is for seeing at abstract level whereas costing based is the detailed level, 90% we go for costing based only.

COPA Accounting is based on Account numbers; where as cost accounting is based on cost centers.

COPA Tables: Account base COPA tables are COEJ, COEP, COSS and COSP

5. Give an example of business scenario you worked on

6. What does success mean to you?