TABLE OF CONTENTS
FOREWORD ........................................................................10 KEY QUESTIONS ................................................................. 13
Basic ............................................................................................14 Intermediate ................................................................................. 16 Expert ......................................................................................... 2l
Table o f c o n t e n t s
Table of contents
LIS Extraction ............................................................................... 131 LO Extraction .............................................................................. 134 CO-PA Extraction .......................................................................... 137 CO-PA Retraction ......................................................................... 140 Enhancing data extraction ............................................................. 142
INTRODUCTION
How to use this book: As a consultant / analyst:
J
J J
Start by reading this book from cover to cover. Repeat that until you think you know all the details. Now practice what you have learnt in the system.
The first part of the book highlights key questions that you should be able to ask a candidate and therefore gauge their competency based on their answers. By randomly adding in a few questions from the rest of the book you can focus on a specific area and ensure that the candidate really knows the relevant information. Before interviewing a candidate, always make sure that you fully understand the question and the answer. Although every effort has been made to make the questions and answers simple in their explanation, some questions may still not make sense to an untrained user. We suggest highlighting those questions that you wish to ask, familiarizing yourself with the answers and then conducting the interview.
Note that the chapter / topic that: the question covcrs is always listed on the top of each page. This is because it is always important to know in what context the question w;ls asked, to ensure that the candidate can respond to it as correctly as possible e.g. If you are asking a reporting question then explain to the candidate that the following question pertains to reporting. Key : Each question has a rating which is illustrated by the tollowing symbols:
0
00
Basic Intermediate
000 Expert
As an added benefit we've included several worksheets and bonus material on Geniepress.com, including candidate worksheets which have all the questions marked out for yoi~, provide space for the candidates name, the date of interview and their overall scores. There are also links to other BW data provided by the author, such as SAP'S standard cubes. Links to SAPGcnic's BW material are also available from this bonus arca. To access this information: go to http://www.rrenicr,ress.com/ 201 bw and enter the username 201 bw and password lsd2lk Good luck and enjoy!
K e y [luestions
Basic
1.
What are the advantages of an Extended star schema of BW vs. 'The star schema?
9
9 9 9
Uses generated numeric keys and aggregates in its own tables for faster access. Uses an external hierarchy. Supports multiple languages. Contains master data common to ;dl cubcs. Supports slowly changing dimensions.
5. What is an aggregate?
Aggregates are mini cubes. They arc uscd t o improvc performance when executing queries. l'ou can cquate them to indexes on a table. Aggregates klrc transparent to the user.
Basic
9. What is a condition?
If yo11 want to filter on key figures or do a ranked analysis then you use a condition. For example, you can use a condition to report on the top 10 customers, or customers with more than a million dollars in annual salcs.
Kev Ouestions
Intermediate
'10. What are the data types s1.1pported by characteristics?
4 4 4 4
For example, assume that we have customer characteristics with country as a navigational attribute, you will then be able to analyze the data using customer and country. In the BEx query you can create filters or variables for country and you can also use the drill down feature.
Intermediate
c/ c/
c/
c/
Identify a fact table. Identify the dimension tables. Define the attributes of the entities. Define the granularity of the fact table (how detailed do you want the data to be). Define pre-calculated key figures. Identify slowly changing dimensions. Identify aggregates. How long will the data be kept. How often is the data extracted. From which system is the data to be extracted.
c/
c/
c/
c ,
c/
c/
Assign an Infoobject - direct transfer, no transformation Assign a constant eg. If you are loading data from a specified country from a flat file, you can make the country (17s)as a constant and assign the value explicitly ABAP routine eg. If you want to do some complex string manipulation, assume that you are getting a flat file from legacy data and the cost center is in a field and you have to "massage" the data to get it in. In this case the use of an ABAP routine is most appropriate
K e y Cluestions
Formula - for simple calculations usc formula eg. If you want to convert all lower casc cl~uractcrs to upper case, use the TOUPPER formula. You can use formilla builder to help put your formulas together.
Intermediate
Another usage is, if you have O D s you can disable BEx reporting (in the setting) and use the O D s in the InfoSet for reporting, which leads to improved performance
Aggregates OLAP cache Pre-calculated web templates Use small amount or result data as starting point of any queries and do the drill down. Avoid reporting on O D s and use InfoSet containing O D s for reporting. If you use exclusion in reporting ( < >), the indices are not used. So avoid using the exclusion but use inclusion. Use the read mode "H" read when navigating and expanding hierarchies". Use compression on Infocubes since the E table is optimized for queries. Create additional indexes.
Key Ruestions
Run DB statistics often. 9 Use secondary indexes on ODS active table. v Use RSRT transaction to look at the "Explain Plan" statement. 9 If you are running a query on an info provider with non cumulative key figure then suppress summary line items (totals).
v
*
H F
Groups according to characteris tics Values Hierarchy Fixed value; for example if you have a OCOUNTRY characteristic and only US is reported on, then you can create an aggregate only for the country IJS
Blank None
Exoert
Expert
20. What are the BEx options for characteristics like F4 help for query definition and execution?
This defines how the data is displayed in the query definition screen or when the query is executed. Options are from the data displayed, from master data table (all data) and from dimension data. For example let us assume that you have 100 products in total in your material master, 10 products available in a cube and in BEx you display a query for 2 products; the following options for the product will display different data:
4 4 4
Selective data only will display 2 products Dimension data will display 10 products From master data will display all 100 products
21. What is tlie 1:lifference between am~u~it,lqua~itity alid number type key figures?
Amount /quantity is always combined with units. For example, sales will be linked to currency and inventory will be linked to quantity in units. In your design if you don't need units then you should use number or integer to improve performance.
22. Wlieli coding the ABAP transfer rule, what are the important variables yo11 make use of?
4
RESULT
K e y Questions
RETURNCODE
ABORT
You set this to 0 if everything is O K ; else this record is skippcd. Set this to a value not 0, to abort thc cntirc package.
23. What is the use of time distribution option in the update rule?
This option is uscd to distribute data according to time. For examplc, if the source contains calendar week and the target contains calendar day, tlie data is split for each calendar day. Here you can select either the normal calendar or the factory calendar.
24. In update rules for key figures, what are tlie return table options for?
lJsually thc ilpdatc rulc scnds one record to the data target; using this option you can send multiple records to the data target cg. If you gct 1 record from thc communication structure using this option you can create multiple records into thc data target. For example if we are getting total tclcphone expenses for the cost center, you can use this to return tclcphone cxpcnses for cach employee (by dividing the total cxpenses by the number of employccs in tlle cost center) and creating cost record for c;~ili cmployec using ABAP code.
Expert
Option 2)
c/
Even if you have more than one characteristic per dimension, you should do the math considering the worst case scenario and decide which characteristics may be combined in which dimensions.
Kev Ouestions
system puts the SID in the fact table instead of DIMID for the sales document number. This avoids one look up into dimension table (the dimension table is not created in this case). Only one characteristic is allowed per line item dimension and for F4 help, the complete master data is displayed (which takes more time to display).
It enables queries that do not contain an authorization relevant object that have been checked into the Infocube. It allows summary data to be displayeci if the user does not have access to detailed data. For example, if you create 2 authorizations for one user: one with Sales Org * and customers : and second with sales org 1000 and customers *, the user sees all customers for sales org 1000 and only summarized report for other sales org.
CHAPTER 1
Basic Concepts
29. What are the differences between OLAP and OLTP applicatiolis? O
J J
OLAP Summarized data Read only Not Optimized Lot of historical data
OLTP Detailed Read write Optimized for data applications Less historical data
A dimension containing characteristics \\,hose value changes over a time period. For example, take an employee's job title, this changes over a pcriod of time as the employee moves through an organization. This is called a slowly changing dimension.
32. What are the advalitages of an Extelided star schenia of BW vs. The star schema? O
J J
J
Use of generated keys (numeric) for faster access External hierarchy Support for multiple languages
Basic Concepts
J J J
Master data is common to all cubes Supports slowly changing dimensions Aggregates in its own tables which allows for tastcr access
C h a o t e r 1: BW A d m i n i s t r a t i o n a n d D e s i n n
40. Wliat are tlie data types allowed for key figures? 0
4 4 4 4 4 4
can also define exception aggregation like first, last etc. This is helpfill in getting a headcount eg. If you define a monthly inventory count key figure you want the count as of the last day of the previous month.
42. What is ,the niaximuni number of key figures you call Iiave in an Infocube? O
43. What is the maximum number of characteristics you can have per dimension? O
Q table
Y table
for the SID Ids Com bines P and Q Interface between master data SIDs and time independent navip;ltional attributes SIDs ( P is linked to the X table) Interface between master data SIDs and time dependent navigational attributes SIDs ( Q is linked to the Y table)
Basic Concepts
Remember that the partition is created only in the E fact table; the F fact table is partitioned by Request Number as a default. Advantages of a partition: 4 Makes use of parallel process 4 Allows a smaller set of data to be read 4 Allows fast deletion
49. How many extra partitions are created and why? Can you partition a cube wi,th data ? 00
IJsually 2 extra partitions are created to accommodate data before the beginning period and one after the end of partitioning period. No, you cannot partition a cube with data. A cube must be empty to partition it. One work around is to make a copy of the cube A to cube B and then to export data from A to B using export data source. Then empty cube A, create partition on A, re-import data from B and delete cube B. Note that this is going to change in Netweaver 2004s (Or BW 7)
C h a p t e r 1: B W A d m i n i s t r a t i o n a n d Design
J
J J
54. What are transfer rules and what is global tralisfer rule? O
Transfer rules: T h e transformation rules for data from the source system to the InfoSource / communication structure. These are used to clean up thc data from source system.
Basic Concepts
For example when you load customer data from flat file, you can convert the name to upper case using a transfer rule. Global Transfer Rule: This is a transfer routine (ABAP) defined at the Infoobject level. This is common for all soilrce systems.
./
c/ c/ c/ c/ c/ c/
c/
Concatenate substring condense leftlright (n characters) 1-trim r-trim replace date routines: DATECONV date-week add-to-date date-diff logical functions like: if and
56. What is tlie process of replication and what menu path would you use to perform it? O
This copies data source structures from R/3 to BW For example, assume that you added a new data source in R/3. This will not be visible in the BW system until you replicate it.
C h a n t e r 1: BW A d m i n i s t r a t i o n a n d Desinn
You replicate using the transaction RSAl +Source System + k g h t click on the system +Replicate. You can also replicate at an info area level.
One to one move for Infoobject value Constant Lookup for master data attribute value Formula Routine (ABAP) Initial value
J
J
J J
59. What are the special conversions for time in update rules? O
Time dimensions are automatically converted. For example, if the cube contains calendar month and your transfer structure contains date, the date to c;ilendar month is converted automatically.
Basic C o n c e p t s
81. What is the co~iversio~i routi~ie for u ~ i i t s and currencies in the update rule? 00
IJsing this option you can write ABAP code for unit / currency conversion. If you enable this flag then unit of measure of the key figure appears in the ABAP code as an additional parameter. For example, you can use this to convert quantity in pounds to quantity in kilograms.
62. How do you add an entry in the monitor log from the update rules? 000
This is added in the internal table MONITOR; the following fields describe the M O N I T O R structure
4 4 4 4 4 4
MONITOR-MSGID gives an I D MONITOR-MSGTY message type MONITOR-MSGNO message number MONITOR-MSGV1 monitor message1 MONITOR-MSGV2 monitor message 2 Append it to the M O N I T O R table, this will show up in the monitor
Here is a sample code to do this. Assumc that you are checking for product 'XYZ' which should not bc loaded to the cube and you want to display a message in the monitor. The code in the update routine will be :Ifc o m m - s t r u c t u r e - p r o d u c t = LXYZ'. R e t u r n c o d e = 1. Monitor-msgid = ' X Y Z ' . Monitor-msgty = L E ' . Monitor-msgno = ' 1 2 3 ' . Monitor-msgvl = ' I n v Prod'. Monitor-msgv2 = comm-structure-product. Append m o n i t o r . Exit. End i f .
The BW system feeding data to itself is called the myself data mart. It is created automatically and uses ALE for data transfer
d
Right click and create the export data source for the ODSIcube or PSA. In the target system replicate the data source Create transfer rules and update rules Create info package to load
64. Can you make MultiProviders alid liiaster data as data marts? O
Yes
Basic Concepts
Simple to use H u b and spoke usage Distributed data In some cases they can provide performance improvements
67. Wliat is all event chain and Iiow do you create one? 00
This is a group of events that are completed independently of one another. Used to execute processes based on success or failure of events. For example, you can trigger a chain event if all loads are successfill. AWB Tools Event collector
C h a o t e r 1: BW A d m i n i s t r a t i o n a n d D e s i n n
69. What are different options available for update process to data target? O
cl
cl
r/
cl
PSA and data targets in parallel - improvcs performance PSA and data target in sequencc PSA only - you have to manually load clata to data targets Data targets only - N o PSA
For performance reasons you should do PSA ;1nd Data targets in parallel.
70. Wliy, if one request fails, do all the subsequent requests turn to "red" in an Infoprovider? 00
This is to avoid inconsistency and ensures that only data from subsequent requests is not available for reporting which otherwise would lead to inconsistency between report and underlying data.
There are two fact tables for each I n f o C ~ ~ b namely c the E table and the F table. The E table is ol7timized for Read.
Basic Concepts
00
OF1-AP-3 - vendor line items, OF1-AR-3 - customer line items
C h a p t e r 1: BW A d m i n i s t r a t i o n a n d D e s i g n
S 10 1 SlOl
# Dl01
10
If we use an InfoSct the following result ~ v i l lbe displayed (join on sales doc no):
SalesDoc DelDoc
OrdOty
SlOl
D 10 1
10
DclQty S
Basic Conceots
Please note: Thc InfoSet cannot be created on an Infocube but only on transparent tables like O D s and Master data (BW version 7.0 this limitation is not applicable).
C h a p t e r 1: BW A d m i n i s t r a t i o n a n d Design
rdsb/esm/buffersize-kb rsdb/esm/max-objects
Basic Concepts
BW Settings in SPRO
90. What are the control parameters for data transfer?
They define the maximum size of the p ~ ~ c k e the t, maximum number of records per packet, the number of parallel processes, etc.
91. Which transaction code is used to set up tlie permitted characters? 000
Transaction code RSKC.
It defines whether the master data (auto sid) is added you automatically, for non existing master data, nll~en load the transaction data.
BW S e t t i n e s i n SPRO
Define the wait time before the status turns to red. Usually it is 7 hours, which means if the data is not transferred within 7 hours for the request, the status is set to red. Status colors. Here you can specify what status should be displayed in case of 0 records transferred or warnings. Schedule monitor assistant in the background to analyze requests.
c/
c/
98. Which tra~isactit~n code defines the background user in the source system? 00
Transaction code RSCUSTV3
4 4
Defines what should be displayed for conditions like: divide by zero, no data, overflow, mixed values and authorization errors Infoprovider properties for cache Activate personalization in BEx
4 4
Define default web template and style sheet RRI Setting Drag and relate settings IGS settings Maintain web protocol of http or https
103. Give example of data sources supporting non cumulative key fig1.1t-es. 00
4
104. Can you create aggregate for a cube having cumulative key figure? 00
Yes, but you must include all time characteristics.
C h a o t e r 1: BW A d m i n i s t r a t i o n a n d D e s i a n
107. When you compress multiple requests, how would you know which request had "Marker llpdate" enabled or not? 000
Check the log file for each compression. If you see a message like N O REFPOINT UPDATE rhen rhc marker was not updated in this comprcssion.
Initialize the opening balance in R/3 6 2 7 8 ) Activate the extract structure MCO3BFO for data source 2LIS-03-BF Set up the historical material documenrs in R/3 Load the opening balance using data source 2LIS-40-S278 Load the historical movements and comprcss them without marker update. Set up the V3 update Load the deltas using 2LIS-03-BF
c/ c/
r/
r/ r/
N o n C u m u l a t i v e Key F i g u r e s
109. How is the result for a query based on an Infocube, having noncumulative key figure, calculated? 000
Non Quantity = Reference point in time quantity compressed delta quantities - Deltas for backward quantity Example :Ref p i n t in time : 12/30/2003 qty 100 Delta for one day 1213 1/2003 qty 1 0 (not compressed) Total qty = 110.
000
9 9
1Jse few validity objects. Compress the cube as regularly as possible so that the marker stays current. IJsc a smaller time period using variable when reporting.
C h a p t e r 1: BW A d m i n i s t r a t i o n a n d D e s i g n
112. Wliat is tlie tra~isactio~i code for mai~itaini~ig autlioriza'tion object and role maintenance? 00
Transaction code PFCG
114. Give some examples of the roles delivered with SAP BW. 0
All B W roles start with S-RS. For example: 4 S-RS-ROPAD- Production system administrator 4 S-RS-RREPU - BEx user
115. What are the different authorization approaches available ill BW? O 0
4
InfoCube based approach - use this in conjunction with Info area to limit access Query name based approach - many customers use this to limit access eg. Z queries are read only, Y queries are readlwrite and FI* query names arc for FI use. Dataset approach - limitation of characteristics and key figures. You can use reporting authorization for this.
Authorizations
BW Warehouse authorization - SAP standard BW Reporting (not delivered by SAP) - user defined eg. Restricting data using an authorization variable
117. How niany fields can you assign to all autliorizatio~iobject and what are the values for ACTVT? 00
10
The possible values for ACTVT are create, change and display.
118. Give some examples of stalidard authorization objects delivered for BW. 00
S-RS-IOMAD S-RS-ADMWB S-RS-ODSO S-RS-TOOLS S-RS-ICUBE S-RS-HIER S-RS-COME S-RS-COMPl S-RS-FOLD S-RS-IOBJ S-RS-ISOUR S-RS-ISRCM S-GUI - GUI S-BDS-DS Master data AWB objects O D s objects BEx tools . InfoCube Hierarchy Reporting authorization Folders Info0 bject InfoSource (transaction data) Infosource (master data) Activities (workbooks) Document set (for workbooks)
S-USER-A G R S-USER-T C D
c,
Role check for saving workbook in a role Transaction in rolcs for skiving workbook in a rolc
120. Give a step hy step approach to create an authorization object. Assume that we are restricting the report by cost center. 00
4
4 4
c, 4
Make the Infoobject as Authorization relevant (flag) and activate it. In this example OCOSTCENTER Create an authorization object ilsing Transaction code RSSM and include OCOSTCENTER in this object. Assign the object to one or more InfoProviders. Create role(s) with different values for cost centers eg. You can create a role called "IT Manager" and assign it to all IT cost centers. Assign the role to users. Create a query. Create a variable Lvitliin the query for OCOSTCENTER of type "Autlic>riz;ltion" and include it in the query. If the I T ni;ln;lger runs the query it shows only the cost centers assigned to himlher.
Authorizations
c ,
c , c ,
c , c ,
c ,
Create a profile using transaction OOSP Assign the user to the profile using transaction OOSB IJpdate the T 7 7 U U table Run the progrnm RHBAUSOO Activate the data source and related components OHR-PA-2 in B W Load O D S from R/3 Activate the target InfoObjects as "Authorization relevant" Rim the filnction module RSSB to generate B W authorization.
c ,
c ,
4
checks for authorization depending on the owner info area view of BEx elements (to si~ppress) or InfoSets new activity code 6 0 loaded for upload
c ,
It enables queries that d o not contain an authorization relevant object and have been checked in the InfoCube It allows summary data to be displayed if the user does not have access to detailed data.
C h a n t e r 1: BW A d m i n i s t r a t i o n a n d Desinn
For example, if you create 2 authorizat~ons for one user, one with Sales Org * and customers : and a second with sales org 1000 and custon~ers*, the Llscr sees all customers for sales org 1000 and only summarized report for other sales org.
130. Wliat is tlie difference between the restoring of Cube vs [IDS from archive files? 00
You can restore into O D s directly from the SARA transaction. For the cube you should schedule an info package.
C h a n t e r 1: BW A d m i n i s t r a t i o n a n d D e s i e n
J
J
J
J
Double click on the cube (or right click and select change) Extras I) select archival Choose fields for selection eg. OCALDAY, OCUSTOMER Define the file structilre (maximum file size and maximum number of data objects) Select the folder (logical file namc) Select the delete options (not scheduled, start automatically or after event) Activate the cube The cube is ready for archiving
P r o c e s s Chains
Process Chains
133. Wliat is a process cliai~iand what is the tra~isactio~i code for going to process chain? 00
The process chain is a utility to schedule batch jobs on BW similar to SM37. It offers good monitoring features and error handling. Transaction code RSPC
Start process
specifies a variant for the start time and date. It can be set to be recursive. you can use this to check for successful completion of two or more processes eg. You can load 2 ODSs in parallel and put an AND condition (if successful) to load a cube. you usually use this to determine if any of the predecessor processors failed. If you have multiple tasks in parallel you can use this to detect any process failures. you use this to run an ABAP program with variants.
c ,
AND
c , c ,
OR EXOR (first)
c,
ABAP
C h a p t e r 1: BW A d m i n i s t r a t i o n a n d Design
J J
OS Command as an example, it is usef~llto do an ftp copy before loading. Local process chain call another process chain. ~Jsually there will be a master process chain calling different child process chains. For example, you can have a process chain (master) called "Daily load of master data" and within that it may call 2 or more process chains to load attributes, texts, hierarchies and do a change run. Remote process chain Workflow
P r o c e s s Chains
4 4
Exception reporting Print in the background Pre calculation of web templates Pre calculation of value sets
137. List sollie of the BW process types for building process chain. 00
4
4 4
4
Attribute change run Adjustment of time dependent aggregates Deletion of requests from PSA Reorganize attributes and texts for master data. This is a useful tool to compress master data and text.
139. List some of the parallel processes that could have locking problems. 000
4
4
Hierarchy attribute change run Loading master data for the same Infoobject eg. Avoid loading master data from different source systems at the same time
c, c,
c,
Rolling up for the same InfoCubc Selecting deletion of an InfoCube I ODS ~lnd parallel loading Activation or deletion of an ODS ohjcct when loading in parallel
14.1. By default, all newly created process chains are assigned to tlie "unassig~ied"~iode. How would you reassign it to a proper component? 00
Process Chain
142. What are the four views available for a process chain? 00
9 9 9
c,
Process Chains
143. How would you send an email when a process ends in a process chain? 00
%ght click on the process you want to monitor (eg. Load info package) select create message select when you want to send a message (success, fail or always) create a variant for the mail.
144. How would you convert an info package grol.lp into a process chain? 0 0
Double click on the info package group click on the "Process Chain Maint." button type in the name and description the individual info packages are inserted automatically.
145. What is tlie differelice between EXOR and OR ill a process chain? 0 O
The target for an O R process will be executed for each successfi~l occurrence. EXOR will be executed only once. Usilally you use EXOR to detect failed processes.
C h a p t e r 1: B W A d m i n i s t r a t i o n and Design
Open Hub
146. What is Ope11 Hub (OH) and what data targets does it rt 00 support? Does it s ~ ~ p p odelta?
O H is a tool by which you can send data from BW to different targets. It is a controlled distribution of consolidated and cleansed daca. Targets could be another BW system, external systems, relational table, flat file and O D B O interface. Yes it supports Delta.
147. How do you get into Ope11 Hub and what are the supported data sources? 0 0
Use the following menu path: Transaction Code RSBO or AWB H u b Service
Tools
Open
Datasources for an Open H u b are cube. ODs and Infoobject (attributes and texts).
148. What are the desti~iatio~i target optiolis for Open Hub in BW? 0O
J
J
Open H u b
149. What is the "delete table before extraction" option in Open Hub in BW? 00
If you choose this option, the table contents are deleted before any new record is written. Disable this if you want to keep historical data.
150. How do yo11change tlie default desti~iatio~i of Ope11 Hub files in BW? 00
Menu path for changing the default destination of Open H ~ t b is as follows: LJse Transaction Code SE 11 3 choose table RSBFILE 3 modify entry for XIDEST.
151. What is the licensing requirement that you should be aware of for using Open Hub in BW? 00
Extracting data from SAP B W by any means requires additional licensing.
C h a p t e r 1: BW A d m i n i s t r a t i o n a n d D e s i g n
Tuning
153. What s h o ~ ~yo11 l d consider when tuning your Oracle database? 00 0
4
Apply OSS note 180605 to set tlic riglit oracle DB parameters. This does improve performance. 1Jse database statistics. Use database partitioning. Run statistics on all tables as often
;IS
c,
4 4
possible.
Load balancing across several application servers. Check for unnecessary traces and 10sfiles. If you have process chains, make sure that you run cleanup jobs to clean the table TPRI-PAR.
Use HTTP compression to reduce nctlvsrk traffic Refer to note 550669. Use client browser caching. Use the iemon.exc program's log file option to time the query. Use analyze-iemon.exe to extract a csl. filc that can be used for further analysis. Use precalculated web templates fi)r newspaper like reporting together with a reporting agent.
4 4
c,
Tuning
156. List major tuning tasks you would undertake to improve the performance of the data load. 000
4
4
4
If you are loading lot of transactional data try deleting the indexes before the load and recreating the indexes after the load. Watch for ABAP code in transfer and update rules. This [night slow performance. IJse load balancing across servers. Build indexes on source tables. ITse fixed length files if you load data from flat files. P u t the file on the application server. Use standard content (SAP delivered) extractor as much as possible. IJsc PSA and data target in parallel option in the info package. Start several info packages parallel with different selection options. Buffer the SID number ranges if you load lot of data at once. Load master data before loading transaction data. Rim the attribute change job in parallel.
Archive and delete old data. Use line item dimensions instead of a large dimension. Use MultiProviders. Parallel query is started on basic cubes. Use the B W Statistics cube to monitor performance.
C h a o t e r 1: BW A d m i n i s t r a t i o n and Desinn
Reporting authorization checks impact tlie performance negatively. Reporting on browser is faster than reporting on Excel using BEx Analyzer. Use the aggregate hierarchies to minimize the roll up time. Use parallel upload and activation for ODS objects using transaction SPRO or RSCIJSTA?. If you are not going to use an O D s for reporting, disable the BEx Reporting flag.
158. Wliat are tlie syste~iitools you can use to nionitor performance? 000
The following are the Transaction codes that are used for system monitoring:
J
to debug and get explain plan statements on queries for SQL traces to repair objects to monitor current query performance
J
J
RSRV
RSRV
159. Explain the purpose of the tra~isactioncode RSRV . 000
RSRV is a powerful transaction code to test consistency
of following BW objects and repair them if required. For example, if there are any inconsistencies between the Q and Y tables for a master data object you can fm using them this transaction.
J J J
J
J J
1/
J J
J
C h a n t e r 1: B W A d m i n i s t r a t i o n a n d D e s i e n
163. How do you scliedule the RSRVjob ill tlie background? 000
The menu path for scheduling the RSRV job in the background is, use the Edit menu and select "Test Package" create a package for current selections schedule it.
164. How would you a~ialyzethe size of the fact table vs tlie dimension table, using RSRV? 000
Menu path for analyzing the size of the fact t;thle vs the dimension table is, use the transaction code RSRV All Elementary tests database data1)ase information about the Infoprovider tables. This gives you the count as a percentage of the hict t;ll,le.
166. What is ,the purpose of a clialige log in ODs a ~ i d how do you delete it? O
A change log is used for delta updates to the data target after the ODS. It stores all changes for a record in Active Table. The records in a Change log are stored based on the generated request during each activation of requests in the new data table. To delete a change log use the following menu path: lJse Transaction code RSAl right click on ODS Manage j Environment Delete change log
167. Wliat are the advantages of usi~ig all ODs in an I~ifoSetfor reporting? O
4
Access via OLAP engine. InfoSets can join flat BW objects such as master data attributes.
168. What are additional features available for ODs from BW version 3.x? O
4
c/
You can load and activate O D s in parallel. M table is replaced with new data which is similar to PSA. It is possible to create secondary indexes for an O D s object. Selective deletion of data is now possihle.
An O D s object: 4 Has only the active table. 4 Is filled using APIs. c/ Is only reported on using an InfoSct. 4 Is usually used for applications like SEbl (Strategic Enterprise Management).
170. What are the flags used for in ODs and specifically what is the unique data record flag used for? O
If you enable the unique data record then an error is issued when a duplicate record, to that in the Active table is inserted. 1Jse this feature to load a cube filtering any duplicates (Cubes will simply add up duplicates)
c/
BEx Reporting
c/ c/ c/ c/
Unique data records. Set quality status to O K automatically. Activate O D s automatically. IJpdate data targets automatically.
Please note: The Unique data record is used to improve performance and it is to be used only when you are sure that the data source will note send a duplicate record.
C h a p t e r 1: B W A d m i n i s t r a t i o n a n d Design
BW Statistics
171. What is the purpose of BW statistics cubes? O
The standard sets of cubes delivered by SAP are used to measure performance for queries, data lo,lds, etc. It also shows aggregate usage and the cost associated with them. It provides data on aggregates, OLAP and Warehouse management.
BW Statistics
I Jtilizing OLAP
W h o is using the query, how often i t is used and when it was last used. How the query was executed? How much time was spent on the Database. How many rows were read from the database vs how many were displayed / processed. You can create custom exceptions to proactively tune queries eg. You can create exceptions if the clilery spends more than 50% accessing the database - in this case tuning is needed.
176. Give a reason why BW statistics can not provide inforniation ill real ti~iieand name the transaction code used to monitor BW system statns in real time. O
The BW statistics data is loaded periodically. If you want to display the data in real time from the statistics tables (not cubes), use transaction ST03. Select Expert Mode and select BW System load.
178. What is "filling" of aggregate and whicli table has tlie aggregate status? 00
T h e data from an InfoCube is summarized into the aggregates. RSDDAGGRDIR
179. What is the change run process and how do you start it? 00
Whenever there is a change in master d ; l t ; ~ like navigational attributes, hierarchy, time dcpendenr attributes that are used in aggregates, you nced to execute the change run process to realign thc aggregates. To start the change run process use a proccss chain or AWB I) Tools I) Apply Hierarchy attri1,ure change.
180. Which report can you use to monitor the change run process? 000
RSDDS-C H A N G E R U N-M O N I T O R
Aggregates
185. Can you define aggregates 011 tinie depelidelit liavigational attributes? 00
Yes, as of version 3.x.
Propose from B W statistics cube: history of B W statistics. Propose from B W statistics (tables): based on database tables RSDDSTAT and RSDDSTATAGGRDEF
C h a n t e r 1: B W A d m i n i s t r a t i o n a n d D e s i e n
Propose from the last navigation: suggcstion based on the last entry of the abovc mentioned tables for the current user. Propose from a query.
187. What is the naming convention for aggregates created from statistics? 0 0
STAT 1 through STAT n
188. What is the naming convention used for aggregates created from a query? 00
MIN 1 through MIN n and
Number of records Summarization (compression) Last used date - remember if you don't see any recent activity then this aggregate is not used Valuation - with signs of + for good aggregate and --- for not so good aggregate.
J J
+ +
Aggregates
CHAPTER 2
BW Reporting
(BEx and Web Reporting)
C h a p t e r 2: BW R e p o r t i n g (BEx a n d Web R e p o r t i n g )
Business Explorer
193. What is the effect of using characteristics in free area vs filter area in Query designer? 0
Free Characteristics : The characteristics in this area are not displayed in the initial view of the query but you can drill down and filter once you execute the query. Filter Area: T h e characteristics in this area are restricted and can not be filtered or drillcd down any further.
These are key figures "restricted" by values of one or more characteristics. For example, nrhcn you want to compare the sales of product "A" betwccn different fiscal year periods, you will create a restricted key figure with "Sales qty" as a key figure and restricted by OMATEFUAL of value "A".
Business Exolorer
197. How will yalr debug errors wi,thin SAP GUI (like all Active X error)? 0 0
Run BEx analyzer -) Business Explorer menu item -) Installation check. This shows an excel sheet with a start button -) click on it -) this verifies the G U I installation -) if you find any errors either reinstall it or fix it.
199.1 have a variable for characteristic val~resof Infoobject ZLOCATION. How will I use this variable to select values of ZLOCATION where 'ZA' are the alphabets in 2nd and 3rd place for the values? 0 0
In the BEx variable input window, type in '+ZA*' T h e ' + ' character is used as a single character wild card.
C h a n t e r 2: BW R e o o r t i n e (BEx a n d Web R e n o r t i n e )
201. Besides percentage functions, what other usefl~l fl~nctions are there in BEx? O
J
Count(parameter) returns value 1 if parameter is not zero else zero. ndivO(parameter) returns 0 if the parameter returns division by 0. sumct(parameter) result of parameter in all rows and columns.
C a l c u l a t e d Key F i g u r e s
SlJMGT SlJMRT
c/
sumgt (parameter) result of the parameter for the overall result. sumrt (parameter) result of the parameter for the report result.
c/
C h a p t e r 2: BW R e p o r t i n g (BEx a n d W e b R e p o r t i n g )
Boolean Operators
203.What does a Boolean operator return? O
1 or 0 (True or False)
less than not equal to greater than less than or equal to greater than or equal co equal
exclusive O R
Boolean O p e r a t o r s / S t r u c t u r e s a n d C e l l s
The structure helps in calculation between its elements. For example, a structilre containing 3 months with specific values eg. JAN, FEB and MAR and 4 t h element, could be FIRST QUARTER which is a formula representing sum of the earlier elements. A globally defined structure can be reused in any of the query on the InfoProvider.
207. What is a reusable structure and how do you create it from a local struct~.lre?O
These are InfoProvider level structures which can be used in any queries on that InfoProvider. k g h t click on the local structure select save as enter technical name and description.
Result
10 20 30
Unit Price 2 3 5
\4lI uc
20
60
150
You can see that the value is calculatecl using a calculated key figure as "After aggregation" by defidult; basically it multiplies 3 0 by 5 which is 150; but the correct amount is 80; Now right click on the calculated key figure, select properties, enhanced and change to Before aggregation. Now the result is calculated correctly :Q ~ J
10 Result
20 30
Unit Price 2 3 5
Value 20
60
80
Note: If you use before aggregation, the cubes aggregates are not used; so this will have negative effect on performance. You set the before or after aggregation on a global calcillated key figure.
C h a p t e r 2: B W R e p o r t i n g (BEx a n d Web R e p o r t i n g )
Scaling factor: Valid range is 1 to 1 l)illion; if you set a scaling factor of 1000, then the value 3000 is displayed as 3 Number of decimal places. For example, 2.48 or 2.5 or just 2 is displayed in the report.
a percentage of the result normalization of result normalization of overall result normalization of query result
Ranked list size of the characteristic value wit11 the largest being 1. Ranked list (Olympic) silllilar to the previous point except the next smallest v~llue, when a value appears more than once, is not given rank increased by value 1:
9 9 9 9
9
9
9
maximum minimum count all values count all values < > (not equal to) 0 average of all values average of all values < > (note equal ro) 0 suppress single values
Hierarchies in Reports
214. Wliat is a reporting hierarchy. M e ~ i t i o a ~ ifew properties of a hierarchy? O
A hierarchy is a structure of characteristics values
allowing you to view data in different ways. Nodes are like branches in trees with thc uppermost node referred to as the root node. A l~ierarchy can have multiple nodes.
4
Hierarchy levels:
Node of a hierarchy are structurally placed in different levels eg. Parent - child nodes. Intervals automatically g r o u p leaves together. W h e n a new value is added to a characteristic it is automatically added to the proper node. This node allows a s u b tree to be included in a hierarchy on more than one occasion.
Intervals:
Link Node:
Level maintenance this setting allows the naming of different levels of hierarchies. K1u can navigate during execution of the query 1)). using a right click.
Hierarchies in Reports
D o not display inner nodes in a query +does not display the leaves level of the hierarchy report. Changeable display for leaves of inner nodes specifies whether a user can change the display. Suppress unassigned node suppress nodes with no values appearing. Root / totals item indicates whether the totals are displayed at the beginning or end of the hierarchy. Start drill down level -) the default level of the query that is displayed when opening.
217. Name the BEx reporting user exit component and its include program for variable. 00
J
218. Wliat variables would you typically use when ~iiaki~ig use of the user exit RSR00001 in BEx reporting? 00
J
I-STEP is used in ABAP code as a conditional check. T h e following values are checkcd: Before processing of the variable pop-ups and gets called for every customer var~ablc . 2 Is called after variable popup for variables not marked as "Ready for input" and are set to required entry. Is called after all variables are processed (only once and not for each variable). I-VNAM: It is the variable containing the variable name within ABAP Typically you lvould do a 1
U s e r E x i t s f o r BEx R e p o r t i n g
CASE statement on this variable to get the variable working. E-T-RANGE: This is the internal table populated with variable values in a customer exit. L S RANGE: This is the structure to populate - -RANGE L O W low end value H I G H high end value SIGN 'I' to include, etc. O P T gives the options like 'BT' for between, 'EQ' for equal, ecc.
E-f
c/
3
4
c/ c/ c/
5 I-IOBJNM: name of the Infoobject. I-PERIV: fiscal year variant. I-T -VAR-RANGE: table with all variables and
their values.
219. What is the call sequence for the user exit RSROOOl in BEx Reporting? OO
J c/
c/
First call of the user exit. Popup and enter values (if ready for input is enabled). Second call for the user exit.
C h a p t e r 2: B W R e p o r t i n g (BEx a n d W e b R e p o r t i n g )
DATA: DATA:
CLEAR L-S-RANGE. L-S-RANGE-SIGN = '1'. L-S-RANGE-OPT = 'BT'. L-S-RANGE-HIGH(4) = E-GJAHR. L-S-RANGE-HIGH+4(3) = E-BUPER. L-S-RANGE-LOW = L-S-RANGE-HIGH. CASE E-BUPERWHEN ' O O L ' OR ' 0 0 2 ' L-S-RANGE-LOW+4(3) WHEN ' 0 0 4 ' OR ' 0 0 5 ' L-S-RANGE-LOW+4(3) WHEN ' 0 0 7 ' OR ' 0 0 B ' L-S-RANGE-LOW+4(3) WHEN ' O L O ' OR ' 0 1 1 ' L-S-RANGE-LOW+4(3) ENDCASE. APPEND L-S-RANGE ENDIF. ENDCASE OR ' 0 0 3 ' . = '001'. OR ' O O L ' . = '004'. OR ' 0 0 9 ' . = L007'OR ' 0 1 2 ' . = '009'.
TO E-T-RANGE.
Variables
Variables
Variables are very important i n BEx. You should pay particular attention t o t h i s section i f you are interested i n BEx report development.
c/ c/ c/
C h a p t e r 2: B W R e p o r t i n g (BEx a n d Web R e p o r t i n g )
Variables
Fixed hierarchy and variable hierarchy node where only the node is selected at run time Variable hierarchy and variable node where both hierarchy and nodes are selected at run time.
J
J
C h a p t e r 2: BW R e p o r t i n g ( B E x a n d W e b R e p o r t i n g )
In this case the system looks for authorized values for the characteristics for the user and replaces the variables with these values. For example, let us look at a cost center reporting, each manager is 'lssigncd one or more cost centers and each are restricted from seeing the others' cost centers. In this case we would create a characteristics variable for OCOSTCENTER with processing type authorization. O n the bdck end you should create reporting authorization objects and assign fixed cost centers to each manager.
In this case, you write an ABAP program on the back end and fill u p the variable values. For example, take the case of cost center reports mentioned above, instead of defining it as an authorization type assume that you get managerlcost center data trom a Z table in Rl3. In this case you would write ABAP code to:
4
4
read the user who has run the query read the Z table to get the cost centers and fill up the variables.
232.Name the SAP enhancement used to manipulate the customer exit processing type variables. 00
Variables
233. What is the function module used to manipulate the cl~stomerexit processing type varial:~les?000
EXIT-SAPLRRSO-00 1
235.How do you replace a result from a ~iiasterquery to a child query (not a drill down)? 00
If you select characteristic value with Replacement path then it uses the results from previous query. For example, let us assume that you have query Q 1 which displays the top 10 customers. We have query 4 2 which gets the top 10 customers for Infoobject OCUSTOMER as a variable with replacement path. This displays a detailed report on the customers passed from Q 1.
C h a p t e r 2: BW R e p o r t i n g ( B E x a n d W e b R e p o r t i n g )
Query properties
237. List a ~ i d explain properties of a query. 00
J
J
J
Adjust format after reporting - you can use this option to disable the ability to change the format of the reporting results. You would use this option if you use your own templates and wish co enforce the use of these template. (By default chis property is enabled i.e. The user is allowed to adjust the format of the query results). Suppress repeated key values - the def;lult is enabled. If you want repeated key values to be displayed (some users demand this) then disable this option. Display scaling factor (default is disal)lcd). Display document links - use this to display any available document links. Display drag and relate links - this is usefill if you have portals and BW For example, yo11 can drag a sold-to-party and put it on an R/3 transc\. , ctlon to execute. Results position - bottomiright (default) or topi left or bottomileft or toplright.
'
J J
lluery P r o p e r t i e s
Empty (nothing). Select from list - this shows a list of workbooks and you select one. From a permanent template - use a permanent template.
Remember that the macro f~~nctions are ;n,;lil;tble only on BEx and not when you do web reporting using the same query.
Read all at once - read all data at once. This will take a long time if it is a large query. Use this if the InfoProvider does not support selection or a user exit is active in a query.
Document Utilitv
Document utility
Many users have started using this new feature to create / attach documents for queries or results.
244.What are the objects that support docume~itatio~i and Iiow do you use the documents feature? O
J J
J
J J
You ciin use the document feature either: J After executing the query (right click and select documents for BEx, left click and select document from web reports) or, J IJsing the admin work bench documents metadata path.
C h a p t e r 2: BW R e p o r t i n g (BEx a n d Web R e p o r t i n g )
Query Administration
247. What is the menu path for deleting multiple query objects (like Workbook) in a single transaction? O
Logon to your BW sap client, select Business explorer Delete objects. Query
<>
<
C h a p t e r 2: BW R e p o r t i n g (BEx a n d W e b R e p o r t i n g )
9 9 9 9 9 9
Top N Bottom N Top % (eg. Top 20% of customers) Bottom % Top Sum Bottom Sum
252.What are different status' for conditions, when you have multiple active conditio~isin a query? 00
9 9
Conditions work (all valid). Status is displayed as "Variant" because the characteristics combination is not included in the drill down. Status is displayed as "Not Used" because of colliding conditions where one condirion deactivates the other.
253.Wliat is an exception?
An exception is not a filter (like condition) but is used to highlight reports in different colors when key figures exceed predefined values. For example, you may want to show red for all accounts receivables that are older than 9 0 days and yellow for older than 60 days.
Everything Totals only - exception on totals only (not individual rows) Everything except totals Fixed value - where you can specify fixed values or select a variable. For example, you may want to do an exception for sales where the customer is in OCOlJNTRY = USA Level - exception is applicable only for a specific level of the hierarchy.
Reporting agent
You can use ,the reporting agent t o schedule exception reporting and alert tlie users f o r any unusual data. For example, you can create an exception f o r actual sales quantity and an exception t o report any sales t h a t do 11ot nieet t h e target. You can then send periodic alerts t o interested parties based on these exceptions.
Exceptions Print Web templates (precalculated) Value sets Bookmarks Crystal reports
Click on the exceptions icon on the left, give it a technical name and text description. Select the exception based on a specific query for generating alert using drag and drop.
Reporting Agent
257. What are the follow-up actions available in the reporting agent? 000
c/
c/
c/
c/
Send mail - alerts user by email. For example, you can send an email alerting managers that the sales quantity target was missed. Alert monitor entry - view results in the alert monitor. You can also give a URL to the alert monitor. Export - send the data to a work flow for followup action. RRI interface - if an exception happens you can jump to another query for a more detailed data display using the G o To option.
258.What are the options available to check exception occurrence using tlie alert monitor? 00
If an exception is handled by the alert monitor then you can use the following menu path: AWB Reporting agent select Exception on the left window Alert icon. Alternatively, in the BEx Analyzer you can select open exceptions.
c/
C h a p t e r 2: BW R e p o r t i n g (BEx a n d W e b R e p o r t i n g )
9 9 9
colors, position margins how the Infoobjects will be displayed in the report etc.
262.What is the menu path to find correct 1lRL of the precalculated web template whether 'STORED' or 'STATIC' mode? 000
Even if you have pre-calculated templates, ilnlcss you have the right URL with variable \~alues, it lvill show an error. To find the correct URL ilse the following mcuu path:9 Use the transaction code RSRAPS (Document Repository).
Reoortinn Anent
9 9
Navigate to the Reporting agent job. Open the 1ndex.hcm document by double clicking. Gght click on thc documcnc on the right and select Vicw Source. Search for string THIS IS A URL T O THE DOCIJMENT. Use this LTRL to get the stacic reporting from docitn~cnc score
J J
J
J J
J
J J J J
Chart Tdble Dropdown box Radio button group Check boxes Generic navigation block Hierarchical context menu Filter Label Text elements List of exceptions Alert monitor
Web A o o l i c a t i o n D e s i e n e r
J J
J
Open dialog for web applications in new windows. 1Jse the read mode for data flag to use precalculated or HTML pages. Flag for output optimization. Force variables entry.
Table - to display table data like product sales report. Chart - different charts like pie chart and bar charts; remember that you should have the IGS setup properly to use charts.
C h a o t e r 2: BW R e o o r t i n n (BEx a n d W e b R e o o r t i n n )
4 4 4
4
Drop down box - used for filtering the report. Radio button group - used for data filtering. Check box - filter values. Generic navigation block - used for filter, drill down etc. Hierarchical context menu - to filter llicrarchy nodes. Filter - filter values by navigation. Label - for cockpit design - creates navigational blocks by using labels for charactcristics and structural components. Text element - query information. List of exceptions - list of cxccptions defined. List of conditions. Alert monitor - to view alerts. Role menu - displays favorites and roles of the user. Ticket - similar display as a stock ticker. Map - image map. Single document - individual documents for master data. List of documents. ABC classification - to classify data. What if condition.
4 4
4 4
4
4 4
4 4 4
4 4 4
270. What is the effect of various DATA-MODE options in the command line URL? 000
STORED use prc-calculated data exclusively. HYBRID uses pre calculated if available else new data. STATIC uses pre calculated data.
ex?CMD=LDOC8TEMPLATE=yourtemplate8DATA~MODE=STORED1'
m-TFnpI ollratlonserver/SAP/BW/ ATE=vour-ATA MODF=STORFQ
For example, if you have scheduled different reports for the top 10 selling products with different characteristics using a pre-calculated web template, the top 10 products are available from this control query, which is used as a filter in the pre-calculated web template.
277. What does setting the VARIABLE-SCREEN llRL parameter to 'X'do? 000
An X will force the web report to display rlie variablcs entry screen.
W e b A p p l i c a t i o n Designer
278. If you are asked to change the way tables are displayed in web reporting, how would you do this? 000
IJsing the SAP delivered class CL-RSR-W W W-MODIFY-TABLE as a template, copy it to a Z class where you make your desired changes. In the object tag of the table in the template put <param name='MODIFY -CLASS' value= 'NEW Z -CLASS'>. The following methods are used in this class START called before any cell creation called after a new row is NEW-RO W completed after the table is rendered FINISHED CAPTION-CELL, STRUCTURE-CELL cell methods DATA-CELL, CHARACTERISTIC-CELL table body methods
c , c , c ,
c ,
4
c ,
Enhanced scalability, use of IGS for charts, background processing Full SAP application server with ABAP run time HTTP server and client functionality Native support for open protocols like HTTPS, SSL, SSO, etc. No proprietary products (no RFC) XMLIXSLT engine and integrated J2EE engine MIME objects are cached
W e b Aoolication Oesiener
284.What are the built in javascript functions available to customize web templates? 000
c/
c/
c/
c/
c ,
SAP-BW-Get -Language Gives the logon language. SAP-BW-URL Get Returns the SAPBWOpenURL Executes URL in current window. SAPBWOpenWindow Opens URL in a new window. SAPBWGetItemProp(itemName) Returns properties of items in an array.
uE.
c ,
SAPBWGetDataProviderDimensions(provider
name) Gives an array of characteristics and structures. SAPBWAddToMenu(labe1, javascript handler, parameter, cell-type, filter, visibility, position, dataqrovider, item). lJsed to enhance context menu eg. You can add new entries to the context menu.
c/
285.Give a broad step by step process to convert web objects from 2.x to 3.x. 000
Step 1: Do a consistency check of web objects using transaction RSRV. (This check is available from BW 2.0b SP 13). Step 2: Fix any errors. The following steps occur after you upgrade to 3.x. WAD Web Application Designer lJsing SE38.
120
C h a p t e r 2: BW R e p o r t i n g (BEx a n d W e b R e p o r t i n g )
Step 3: Execute program RSZW-WEBOBJECTS -30-UPGRADE. If there are any errors then fur thcm and reconvert. Once the conversion is complete. Step 4: Delete the old templates using program RSZW-OLD-BDS-ENTRIES-DELETE . Step 5 : You can also use program RSZW-REPLACE-TEMPLATE-STRINGS to replace strings. For example, you can use this program to replace links to logos on the old JGS server path to new MIME repository path. Step 6: You can also use program RS-TEMPLATE-MAINTAIN to edit templates on the server.
000
J
FILTER-IOBJNM = 'OCUSTOMER' FILTER-VALIJE ='1234' v Use a variable as filter: FILTER-IOBJNM = 'OCUSTOMER' FILTER VALUE-TYPE = 'VARIABLE-EXIT' FILTER-VALUE = 'ZCIJSTEX1T' J Sort data (customer ascending): CMD='SORT' IOBJNM ='OCI JSTOMER' SORT-TYPE='T' SORT-DIRECTION='A' J Export data as excel file: CMD ='EXPORT' FORMAT = 'XLS'
CHAPTER 3
Extraction
Chapter 3
Extraction
Basic Concepts
287. What are different types of extractors? 000
c,
Application Specific extractors (BW Content extractors like FI, LO Cockpit and Generic extractor for LIS, FI-SAL). Cross application Generic extractor (for Custom extracts from database tablelviews ancl Sap Query).
288.Wllat is the transaction code for creating or changing the generic extraction tool Data Sources? 00
Transaction code RS02
290.What are the broad steps followed to extract data from R/3? 00
c ,
J
c ,
c ,
Replicate the data sources. Assign them to an Infosource. Maintain the communication structure and transfer rules. Create an info package. Extract data.
Basic Concepts
294.Give some examples of third party ETL tools that are supported by SAP. 0 0
c/ c/
c/
Define the RFC connection using SM59 Define the third party source system
Chapter 3
Extraction
J
J
Assign to InfoSources Map and define transformation rulcs Create info package and load data
297. Wliich file formats are supported for ,third party E'TL tools?
00
J
csv
ASCII
298.Define the record modes for delta (assume, for exa~iiple, the sales quantity changed from 2 0 to '10). 000
J
Before Image: the record before it got changed, in this case it is 20. After image: the record after it got clx~ngcd, in this example it is 10. Additive image: in this case only thc difference i.e.. 10. Reverse image: used for deletion, rcvcrse with the quantity to zero out. Delete image: only the O D s keys are givcn for deletion, not supported for cubes.
J J
Basic C o n c e p t s
301. What setti~igsare available for delta option for loadirig data from flat file? (You set the delta mode in the transfer structure - Update niode 'field). 000
J
New status only: this sends records of changed records. This is only available for ODS. A cube can not be used. Additive delta: just the change in key figures is sent. This can be used in both the ODS and in a cube.
303.When you create a datasource some flags are attached to each field, what are they? 00
J
Selection flag: if this flag is set for a field then we can select the field.value for extraction fro111 the InfoPackage.
Chaoter 3
Extraction
For example, if you set the flag for OCI JSTOMER, then in the Infopackage you can select customer numbers in extraction. Hide flag: if this flag is set, then the field is not populated in extraction. Cancellation fields: this is field is inverted when a transaction is cancelled.
306.Wliat is tlie source tables for tlie FI AP ex,tractor from SAP R/3? 0 0
4 4
307. Wliat is tlie source tables for ,the FI AR extractor froni SAP R/3? 0 0
4
4
308.Wliat optio~is are generally availal~lewhen filling in the values for selection? 0 0
4
Manual input
Basic Conceots
*/
*/
Fill up from OLAP variables - use variables created in BEx ABAP routine
309.What table is filled when you select ABAP routine for selectio~iill info pack? 000
Similar to variable exits, the 1 -t-range table is filled.
Install the XML 3.0 parser Create an Infosource Assign P C file as the data source Create a transfer and communication structure activate From the transfer structure screen select Extras create B W datasource with SOAP application After successful generation, the data source is connected to the myself datamart. The name of the data source is 6A* Create an info package Load data from an xml file
*/
+ +
*/
Chapter 3
Extraction
312. Name the table in SAP R/3 to get detailed information on data source and it's delta capability. 00
IJse table ROOSOURCE. The delta column shows the delta method (A - ALE, E- Extractor, ctc.). The AIM value describes type of delta such as F 1 for function module, V - view, Q - InfoSet query.
313. Name the table ill SAP R/3 to get detailed information on delta methods. 0 0 0
From table RODELTAM.
314. How do you configure BW to load data from a data stage system? 000
c ,
c , c ,
J
c , c ,
Create the RFC connection (SM59) and tcst the datastage system Define the job in the data stage systcn~ Create a source system (type third p;lrty) Load transfer structure from BW Map columns to BW structlire Define and load info package.
it
with
Class Svstem
Class System
316. What are tlie steps taken to create class? 000
c ,
c/
c ,
c ,
c ,
c ,
Define the properties. Create a class type. This controls the classes that can be assigned to them. For example, class type can be material. Create a class and assign it to the class type. For example, class could be digital cameras. Assign objects to the class. Searches can now be done on the classes. For example, get all the cameras with 3.0 mega pixels. These values are transferred to BW as Omaterial attributes.
317. Which tralisactinn code do you use to do classifica~tio~i on SAP R/3 for BW? 000
Transaction code SBIW and select maintain data source for classification data.
318. What are the steps within SBIW to create classes for BW? 000
c ,
c ,
J
Select the data source for assigning classes eg. Select OMATERIAL-ATTR. Select the class. Generate the data source, a prefix 1CL is added to the data sources generated.
Chanter 3
Extraction
Execute transaction code R S 0 2 . Enter the data source name and description. Select a table, view or a ABAP query 1 InfoSct for the source of the data. Flag the fields that are required for sclection. Flag the fields that are required to be hidden. Activate the data source. Replicate, assign Infosource, define communication structure and transfer rulcs; create info package and load the data.
c/ c/ c/ c/
G e n e r i c D a t a S o u r c e / LIS E x t r a c t i o n
LIS Extraction
320.What does LIS stand for? 00
Logistics Information System. Used in R/3 for reporting for snapshot in time reporting with drilldown and analysis capabilities. It allows for online reporting that does not affect the performance of your on-line transactions.
00
OLTP (On-line Transaction Processing) data is stored in application data tables. W h e n data is updated in LIS, it is stored as a comn~unication structure. The communication structure is then written to the corresponding information structures using update rules. This data is then stored in S tables (tables beginning with S) eg. S301. Customer defined info structures are tables from S500 onwards. Standard LIS tables are up to S499.
Chanter 3
Extraction
323. How many structures are generated when LIS extractor is created? 00
Even though 2 tables are crated for LIS cxtracrion only one structure is created in the form SxxxBIWS where xxx is the LIS table name eg. S30 1BIWS.
324. How does the data flow from the LIS tables to BW? 00
For example, if we are extracting S30 1 then 2 tables are created internally, S 3 0 1 B I W 1 and S301BIW2. T h e information is written to each table alternatively (depending on the last delta).
325.How do we know which table has the current data (BIW1 or BIWZ)? 00
It is in table T M C B I W
327. What happens when you do an initialization of delta for an LIS data source? 00
T h e entire data from the S table exaniplc S30 1 is extracted to B W
LIS E x t r a c t i o n
328.What steps are followed to set up extraction from LIS in SAP R/3? 00
c/
c/ c/
c/ c/
c/ c/ c/
Run transaction code RMCSBIWC. Set up initialization of delta. Generate the data source select the fields for selection -) mark necessary fields as hidden or cancellation fields. Generate the update program for Delta. Replicate the data source assign Infosource maintain communication structure and transfer rules create info package. D o the initialization of delta. Activate the delta. Start loading the delta.
+
+
329.Where is the data extracted from rlurilig i~iitializatio~i of delta and delta updates? 00
During initialization of delta, the data is extracted directly from the S tables. The delta update programs once activated, start collecting delta data and populate one of the SBIW tables (1 or 2). During delta update on B W either one of these tables is read for extraction.
Chapter 3
Extraction
LO Extraction
330.What are the advantages of the new LO Extraction ? 00
4 4
Improved performance and reduced volume. N o LIS functionality meaning you don't need to setup LIS on RJ3. Single solution for all logistics applications. No 2 table use like in LIS. Detailed extraction. Only data that was changed from a BW perspective is added in the delta queue. Updated with a batch process (V3 update).
4 4
4 4
331. Which transaclio~icode on R/3 shows the tra~isactions with pending processes for update? 00
Transaction code SM 13
postings are carried out synchronously; directly tied to document posting. the processing is treated as a secondary step to the document saving.
v3
postings are left in Initial status. It waits until a unique trigger is issued. Data is passed to a centralized delta n1;Lnagement.
LO Extraction
I,
I ,
J
I,
Make sure no R/3 data is updated for the data sources in question. Switch off LIS extraction, switch on update for L O extraction. Load the last delta queue for the old LIS extraction. D o not refresh statistics for new data sources. Simulate an initialization of delta with new L O data source. This does not write any data but sets the pointer. Now you can start a delta.
Chapter 3
Extraction
337. What is the differelice betweer~LIS and LO in ini.tialization of delta and delta? 00
v
For initialization of delta LO i~scs setup tables vs. LIS use of the S tables. For delta update LO uses the comn~unication structure with V3 update vs. LIS using BIX'1 or BI\.'2 tables.
338. What are the liew update methods since PI 2002? 000
Direct delta: data is transferred t o the BW delta queue for each document posting. This is ilsefiil for low volume extraction. v Queued delta: extraction data is collcct-ed for the affected application instead of being collected in an extraction queue which ensures serialization. This is useful for large volume extraction.
v v
Non serialized V3 update: data in the update run is read without regard to sequence in the update tables.
339.How do you improve tlie perforniance w h e ~ creating i a setup table in LO extraction? 000
You create multiple batch jobs with different- selection criteria. For example, when you d o a setup table for SD, use different document number ranges and do the setup in parallel.
CO-PA E x t r a c t i o n
CO-PA Extraction
Controlli~iga ~ i dProfitability Analysis
341. Why is CO-PA a generic extraction and not a business coritent extraction? 00
CO-PA is highly customizable where value fields and characteristics are defined differently between customers. SAP has released CO-PA as a generic extraction which can be customized.
Chapter 3
Extraction
4 4
There are 4 tables C E N X X X X (n is 1 - ' I and X X X X is the operating concern) CE1 is the Actual Line items table containing data at the line item level. CE2 is the Plan line item similar to CE 1 CE3 - Segment level table - contains the value fields (key figures), contains values of the period for each profitability segment nun~ber. CE4 - Segment Table - this defines thc link between profitability segments and the linc items using segment number. Each record in this tablc defines the profitability segment n u m l ~ c r for a given combination of characteristics' values. You can exclude some characteris tics (li kc order numbers) to reduce the volume (similar tc) linc item dimensions in the Infocube).
346.How would you k~iow if a segment/segment level entry has been summarized? 00
Using the time stamp of the last summarization run.
CO-PA Extraction
BW
Infocube ODs Dimension table Line item dimension Fact table Aggregate
I/
4 4
4 4
I / I /
CO-PA datasource must be defined at Operating Concern / Clicnt Level. Define data source for f~111 updates (summarization level, segment level and line item). Select SBIW transaction to get into CO-PA setup. Select the characteristics. Select the value fields. Generate the data source.
Chapter 3
Extraction
CO-PA Retraction
351. What is CO-PA retraction? 0 0 0
This is the process by which BW data is loaded into
N3.
352. How is the query from BW used for CO-PA retraction? 000
The query on BW is the source for the retraction. Data is retracted after drilling down using all free characteristics. This drill down is performed internally.
J
J
Allowed only for cost based CO-PA. N o delta functionality although runs can be cancelled. Retractor uses RSCRM-BAPI to run the query. Actual data is always updated ilsing rccord type H where planning data, record type and version can be specified.
Define the query. Enable for OLE DB. create the RFC connection in R/3 if not already there.
CO
- PA R e t r a c t i o n
*/
Define field assignments (between InfoObjects and CO-PA fields): 1. You can find this under SPRO controlling controlling profitability analysis. Search for "data transfer from SAP BW".
2. There are two options: assignment at system level or query level. If both are defined then the query level takes precedence.
*/ */ */
Please note : If you want to cancel the retraction run you can perform a reverse by displaying all runs (log), selecting a run and clicking on "Cancel Run".
Chapter 3
Extraction
355. What are the typical steps taken to enhance data source? O 0
c/ c/ c/
c/ c/
c/ c/ c/
c/
Append the standard data structure. Add the custom fields. Edit the right user exit to populatc the custom fields. Activate the user exit. Create InfoObjects corresponding t o thc new custom fields. Replicate the datasources. Map the new fields to the InfoObjects Activate the communication structure and transfer rules. Create info package and load the data.
356.What restriction is placed on the naming of custom fields in appended structures? 000
All new fields in the appended structure should start with ZZ
358.What are the user exits within the SAP enhancement for data sources? 000
EXIT-SAPLRSAP-001 EXIT-SAPLRSAP-002 EXIT-SAPLRSAP-003 EXIT-SAPLRSAP-004
359.1s the user exit for data st~urcescommtln for all data sources? 000
Yes, which is why you should use a case statement checking the data source name in your code.
J J J
J J
Create an infinite loop on a value eg. x = 3. do while x > 1. Start the extraction on BW The process on R/3 now goes into an infinite loop. Look for the applicable process in SM5O. Debug the process. Within debugger change value of x to 1, thus exiting the while loop. Now you can see and debug your code.
361. Can you add data records in the user exit for data sources? 000
No. The user exit is only used to append data to the record.
Chapter 3
Extraction
362.What parameters are available in the user exit, for data sources, for enhancing master data? 000
I-T-FIELDS I-T-DATA
list of transfer structure fields. internal table containing data for the master attri1)utes. Remember that this contains all data. update mode. basic characteristics name of the InfoSourcc.
OB Connect
DB Connect
366.What is DB connect? 00
D B connect is a utility to load data directly from external databases such as Oracle.
N o synonyms are allowed . If you are using Oracle, the date format is different in SAP Oracle has both date and time in the date column; so to map date only to SAC use the to-char(date-column, 'YYYYMMDD') function. You can create a view with this fi~nction and use d b connect with the view.
DBSL must be installed on the SAP server. The database specific D B Client must be installed. Tdbk and field names must be in capital letters. Table name is limited to number of characters. A view is used to circumvent this limitation.
First verify that the D B connection works from the server. AWB Source systems create
C h a p t e r 3: Extraction
Select Database source system. c, Enter the database user name, pass\vord and connect string. c/ Using transaction RSDBC generate the data source. c , Assign data source to info source.
c,
Maintain and activate the communication structure and transfer rules. c , Create info package and load data.
c ,
Currency Translation i n BW
Currency Translation in BW
369.What are the options available in BW for currency conversion? 00
It can be done in either the update rule or in Bex. If you do it in the update rule then you lose the information on the original currency.
Chapter 3: Extraction
00
c/
T h e file must have the same structure as TCIJRR table including exchange range type, from currency, to currency, valid from date, exchange rate, Ratio Once the file is ready g o to AWB flat file right click source system, select the file system and select Transfer exchange rate.
c/
+ +
CHAPTER 4
BW Functional
C h a p t e r 4: B W F u n c t i o n a l
ASAP methodology
376. What does ASAP stand for? 00
Accelerated SAP implementation nietlioclology.
Project preparation: perform a concel,tual review following this phase. Business blue print: filnctional spccs arc written in this phase. Perform a design review following this. Realization: configure and develop. Pcrform a configuration review following this p1i;lsc. Final preparation: QA, go-live plan. Final work prior to moving to production. Conduct a performance review following this phasc. Go live and support: move to production and provide support.
J
J
J
J
Project manager One or more functional consultants 1 cxpcrts One or more developers One or more QA testers Basis team support
A S A P M e t h o d o l o g y / B u s i n e s s C o n t e n t and Roles
381. What are the groi~ping options available when installing busi~iess co~itent?00
9
Only necessary objects - This will collect only the csscntial objects. Data flow before - If you are installing a cube with this option it will install all the required objects like info objects, update rules, etc with the cube. Data flow aftcr. - If you install a cube with this option it will also install anything after the cube such as qucries, work books, roles etc. Data flow before and after. - This will install all thc objects beforc and aftcr almost from infoobjccts to Role.
9 9
D M
SAP delivered