Dear Readers, Welcome to SAP BI Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your Job interview for the subject of SAP BI. These SAP BI Questions are very important for campus placement test and job interviews. As per my experience good interviewers hardly plan to ask any particular questions during your Job interview and these model questions are asked in the online technical test and interview of many Medical Industry.
Business intelligence (BI) is a broad category of application programs and technologies for gathering, storing, analyzing, and providing access to data to help enterprise users make better business decisions. BI applications include the activities of decision support, query and reporting, online analytical processing (OLAP), statistical analysis, forecasting, and data mining.
OLAP means Online Analytical Processing.
It is a database which contain Historical data and the oldest data which is used to the business people.
It comes from the data you have put in an OLTP database.
OLTP means Online Transaction Processing.
Data Integrity is about eliminating duplicate entries in the database. Data integrity means no duplicate data.
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.
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 help.sap.com.
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.
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.
(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.
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.
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.
Delete the request ID, Fix data in PSA or ODS and re-load again from PSA / ODS.
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.
Change log is used for delta updates to the target; it stores all changes per request and updates the target.
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.
Advantage: To minimize space, Query performance and Load performance
If you have enhanced an extractor, check your code in user exit RSAP0001 for expensive SQL statements, nested selects and rectify them.
Watch out the ABAP code in Transfer and Update Rules, this might slow down performance
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.
If you have multiple application servers, try to do load balancing by distributing the load among different servers.
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)
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.)
Buffer the SID number ranges if you load lot of data at once.
Load master data before loading transaction data.
Use SAP Delivered extractors as much as possible.
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.
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.
Workload Analysis: You use transaction code ST03
Database Performance Analysis: Transaction ST04 gives you all that you need to know about what’s happening at the database level.
Performance Analysis: Transaction ST05 enables you to do performance traces in different are as namely SQL trace, Enqueue trace, RFC trace and buffer trace.
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.
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.
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.
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 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.
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.
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.
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.
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.
An InfoPackage group is a collection of InfoPackages.
Info Package Groups: used to group only Infopackages where as Process chains are used to automate all the processes.
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.
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.
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
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.
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.
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…
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.
Data is stored in the same cube.
Aggregation improves the performance in reporting.
The transaction data gets loaded and the master data fields remain blank.
One would have to see if the InfoCubes are used individually. If these cubes are often used individually, then it is better to go for a multiprovider with many cubes since the reporting would be faster for an individual cube query rather than for a big cube with lot of data.
Maximum of 98 levels.
The open hub service enables you to distribute data from an SAP BW system into external data marts, analytical applications, and other applications. With this, you can ensure controlled distribution using several systems. The central object for the export of data is the Infospoke. Using this, you can define the object from which the data comes and into which target it is transferred. Through the open hub service, SAP BW becomes a hub of an enterprise data warehouse. The distribution of data becomes clear through central monitoring from the distribution status in the BW system.
It reconstructs the deleted requests from the infocube. If a request has been deleted and later someone wants the data records of that request to be added to the infocube, one can use the reconstruction tab to add those records. It goes to the PSA and brings the data to the infocube.
Index created in addition to the primary index of the infocube. When you activate a table in the ABAP Dictionary, an index is created on the primary key fields of the table. Further indexes created for the table are called secondary indexes.
DB connect is database connecting piece of program. It is used in connecting third party tools with BW for reporting purpose.
No We cannot, “NO hierarchies in CO/PA?.
The CO/PA partitioning is used to decrease package size (eg: company code)
It is a program in R/3 source system that schedules batch jobs to update extract structure to data source collectively.
ODS Object has three tables called New, Active and Change log. As soon as new data comes into ODS, that is stored in ODS. When it is activated, the new data is written to Active table. Change is written in the change log.
By using the transaction LISTSCHEMA we can navigate the tables.
An InfoSet Query is a query using flat tables.
Thro DataMarts data can be loaded from one InfoCube to another InfoCube.
It adds the Selection Criteria to the LO extraction.
A) In Datasource we define the data from diff source sys,where as in extract struct it contains the replicated data of datasource n where in we can define extract rules, n transfer rules
B) Extract Structure is a record layout of InfoObjects.
C) Extract Structure is created on SAP BW system.
It is used in Delta Management. ODS uses ORECORDMODE info object for delta load. ORECORDMODE has values as X,D,R. In delta data load X means rows to be skipped, D & R for delete and Remove of rows.
A) Referential integrity is the property that guarantees that values from one column depend on values from another column.This property is enforced through integrity constraints.
Informatica, ACTA, COGNOS, Business Objects are other ETL tools.
One can display the elements of characteristics in hierarchy form and evaluate query data for the individual hierarchy levels in the Business Explorer (in Web applications or in the BEx Analyzer).
It is a method used in delta update methods, which is based on change log in LO.
A) An ERD(Entity Relation Diagram) that can be used to generate a physical database.
B) It is an high level data model.
C) It is a schematic that shows all the entities within the scope of integration and the direct relationship between the entities.
An organizational structure that combines controlling areas together in the same way as controlling areas group companies together.
No. An ODS object contains key fields (for example, document number/item) and data fields that can also contain character fields (for example, order status, customer).
BAPI, ALE => set of programs which will Extract data from data sources. BW connects SAP systems(R/3 or BW) and flat files via ALE. BW connects with non SAP systems via BAPI.
A Compound attribute differentiates a characteristic to make the characteristic uniquely identifiable. For example, in a Plant, there can be some similar products manufactured. (Plant A-- Soap,Paste,Lotion; plant B--Soap, paste, Lotion) In this case Plant A and Plant B should be made unique. So the characteristics can be compounded to make them unique.
A) Internally allocates space in database. If needed table resides in one or few partitions, then only these partitions will be selected and examined by SQL statement, therby significantly reducing I/O volume.
A) Process of finding hidden patterns and relationships in the data.
B) With typical data analysis requirements fulfilled by data warehouses,business users have an idea of what information they want to see.
C) Some opportunities embody data discovery requirements,where the business user wants to correlate sets of data to determine anomalies or patterns in the data.
Query performance will be good with Infocube. Infocube has multidimensional model where as ODS is a flat table. Aggregates and Multi provider can be built upon Infocube, which will enhance the Query performance. Aggregates and mutiproviders cannot be built on ODS.
The georelevant data can be displayed and evaluated on a map with the help of the BEx Map.
Jump queries,ODS queries areas are related to InfoSet
Time Dependent attributes have values that are valid for a specific range of dates(i.e valid period).
Name of the InfoSource
List of the transfer structure fields. Only these fields are actually filled in the data table and can be sensibly addressed in the program.
Table with the data received from the API in the format of source structure entered in table ROIS (field ROIS-STRUCTURE).
Transfer mode as requested in the Scheduler of the Business Information Warehouse. Not normally required.
Table with the selection criteria stored in the Scheduler of the SAP-Business Information Warehouse. This is not normally required.
This is the normal update method. Here, document data is collected in the order it was created and transferred into the BW as a batch job. The transfer sequence is not the same as the order in which the data was created in all scenarios.
In this method, extraction data is transferred directly from document postings into the BW delta queue. The transfer sequence is the same as the order in which the data was created.
In this method, extraction data from document postings is collected in an extraction queue, from which a periodic collective run is used to transfer the data into the BW delta queue. The transfer sequence is the same as the order in which the data was created.
This method is almost exactly identical to the serialized update method. The only difference is that the order of document data in the BW delta queue does not have to be the same as the order in which it was posted. We only recommend this method when the order in which the data is transferred is not important, a consequence of the data target design in the BW.
A) Serialized V3 Update
B) Direct Delta
C) Queued Delta
D) Unserialized V3 Update
A) Complete Update: All the data from the information structure us transferred according to the selection criteria defined in the scheduler in the SAP BW.
B) Delta Update: Only the data that has been changed or is new since the last update is transferred. To use this option, you must activate the delta update.
ODS is majorly used as a staging area.
B) Data Analysis
C) Better front end reporting.
D) Ability to pull the data from SAP and Non - SAP sources.
A) Star schema: Only characteristics of the dimension tables can be used to access facts. No structured drill downs can be created. Support for many languages is difficult.
B) Extended starschema: Master data tables and their associated fields(attributes). External hierarchy tables for structured access to data. Text tables with extensive multilingual descriptions.
Time dependant master data are one which keeps changing according to time.
For example: Assume a Scenario, Sales person A works in East Zone till (Jan 30th 2004), and then moves to North Zone from Jan31 st 2004.Thus the master data with regard to Sales person A, should be changed to differnt zone based on a time.
A) In BIW, Saving--> actually saves the defined structure and retrieves whenever required.
B) Activating---> It saves and generates required tables and structures.
A) Errors in loading data (ODS loading, Cube loading, delta loading etc)
B) Errors in activating BW or other objects.C) Issues in delta loadings
when the objects are activated, the tables are created. The location depends on the Basis installation.
Start routine is used at update rules and return table is used to return the Value following the execution of start routine
Start routine can be used to access INFOPACKAGE, update routines cant.
A) The execution and navigation of query data leads to delays with a group of queries.
B) You want to speed up the execution and navigation of a specific query.
C) You often use attributes in queries.
D) You want to speed up reporting with characteristic hierarchies by aggregating specific hierarchy levels.
It depends on size of the project inturn their business goal.Differs from project to project.
Data Warehousing is a concept in which the data is stored and analysis is performed over it.
A) Process chains are tool available in BW for Automation of upload of master data and transaction data while taking care of dependency between each processes.
B) In one of our scenario we wanted to upload wholesale price infoobject which will have wholesale price for all the material. Then we wanted to load transaction data. While loading transaction data to populate wholesale price, there was a look up in the update rule on this InfoObject masterdata table. This dependency of first uploading masterdata and then uploading transaction data was done through the process chain.
A RemoteCube is an InfoCube whose transaction data is not managed in the Business Information Warehouse but externally. Only the structure of the RemoteCube is defined in BW. The data is read for reporting using a BAPI from another system.B) Using a RemoteCube, you can carry out reporting using data in external systems without having to physically store transaction data in BW. You can, for example, include an external system from market data providers using a RemoteCube.
A) Extended the Data source 0MATERIAL_ATTR , 0PLANT_ATTR, 0MAT_PLANT_ATTR for Master Data load from R/3 to BW. Edited User exit EXIT_SAPLRSAP_002 to populate Master Data for extended fields and EXIT_SAPLRSAP_001 for transaction data to extract from R/3 to BW
InfoSet is special kind of InfoProvider. It is used to report by Joining ODS Objects and InfoObjects. InfoSets have been used in the Business Information Warehouse for InfoObjects (master data), ODS objects, and joins for these objects. The InfoSet Query can be used to carry out tabular (flat) Reporting on these InfoSets.
Aggregates are like indices to database tables. They are rolled up data on few characteristics on which report is run frequently. They are created for performance improvement of reporting. If a report is used very extensively and its performance is slow then we can create aggregate on the characteristics used in the report, so that when the report runs OLAP processer selects data from aggregate instead of cube.
We had collected data from the user and created HLD(High level Design document) and we analyzed to find the source for the data. Then datamodels were done indicating dataflow, lookups. While designing the datamodel considerations were given to use existing objects(like ODS and Cube) not storing redundant data, volume of data, Batch dependency.
Explain and what are the drawbacks n benefits of each one
Cubes are best for reporting to queries. It runs faster. In ODS we can have only simple reports. If we query based on Nonkey fields(Data fields) in ODS then, report runs slower. But in ODS we can overwrite, non key fields. But we can not overwrite in Cube. This is one of the disadvantage in Cube.
Please look at Business content cubes and BW documentation on them to answer this question.
When transactional data is pulled from R3 system instead of pulling all the data daily(Instead of having full load), if we pull only the changed records, or newly added records, the load on the system will be very less. So where ever it is possible we have to go for delta load than full load.
Hierarchies are organizing data in a structured way. For example BOM(Bill of material) can be configured as hierarchies.
In BW the information is stored as SIDs. SIDs are Auto generated number assigned to each characteristic value when they are uploaded. Search on Numeric character is always faster than Alpha characters and hence SIDs are assigned for each characteristic values.
A) If we have 0Calmonth or 0Fiscper as time characteristic, then we can partition the fact table physically. Table portioning has to be supported by the Database. Oracle, Informix, IBM DB2/390 supports table partitioning. SAP DB, Microsoft SQL Server IBM DB2/400 does not support table portioning. Table partitioning helps to run the report faster as data is stored in the relevant partition.
B) In Update rule routine, If we want to return multiple records, instead of single value, we can use this return table.