Escolar Documentos
Profissional Documentos
Cultura Documentos
When I first started dabbling with SAP BW, one of the questions that boggles my mind is "What's the
difference between a Communication Structure (short: Comm Structure) and Transfer Structure?".
Well, transfer structure is like the data template of the source system. What it means is that, this transfer
structure is exactly like the fields of the originating data. So, if you have a flat files with the fields: Cost
Center, Business Area, Sales Amount, the transfer would be exactly like that. Also, in the transfer structure,
you can have some conversion routine to convert for example, the date format of the originating data.
But what about the communication structure? Why do we need it? Well, the answer to that my friend, is that,
from the transfer structure, using a certain "transfer rules", we map the fields in the transfer structure to the
communication structure. This communication structure is data-source independent, and this is what
the "infocube" or the data targets would see. Not the transfer structure. Why is this good? Say, when
extracting from legacy system, you still don't have in mind which fields you want to transfer and all. So, what
you did is you transfer everything, which means that your transfer structure would be quite humongous. But,
for now, you knew, you only need a few fields for reporting purposes.
So, in the communication structure, you will only select the "infoobjects" that you need, not all the fields in
the transfer structure. In a way it acts as a filter for the transfer structure.
That, ladies and gentleman, is why you have a transfer structure and a communication structure
2. What is the difference between SAP BW 3.0B and SAP BW 3.1C, 3.5?
The best answer here is Business Content. There is additional Business Content
provided with BW 3.1C that wasn't found in BW 3.0B. SAP has a pretty decent
reference library on their Web site that documents that additional objects found with
3.1C.
4. What is index?
Indices/Indexes are used to locate needed records in a database table quickly. BW
uses two types of indices, B-tree indices for regular database tables and bitmap
indices for fact tables and aggregate tables.
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.
The only difference is that navigation attributes can be used for navigation in
queries, like filtering, drill-down etc.
You can also use hierarchies on navigational attributes, as it is possible for
characteristics.
But an extra feature is that there is a possibility to change your history. (Please look
at the relevant time scenarios). If navigation attributes changes for a characteristic,
it is changed for all records in the past.
Disadvantage is also a slow down in performance.
8. If there are duplicate data in Cubes, how would you fix it?
Delete the request ID, Fix data in PSA or ODS and re-load again from PSA / ODS.
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.
c) An Infoset is an Info-provider that joins data from ODS and Info-objects( with
master data). The join may be a outer join or a inner join. Whereas a Multiprovider is
created on all types of Infoproviders - Cubes, ODS, Info-object. These InfoProviders
are connected to one another by a union operation.
d) A union operation is used to combine the data from these objects into a
MultiProvider. Here, the system constructs the union set of the data sets involved. In
other words, all values of these data sets are combined. As a comparison: InfoSets
are created using joins. These joins only combine values that appear in both tables.
In contrast to a union, joins form the intersection of the tables.
12. What is the T.Code for Data Archival and what is it's advantage?
SARA.
Advantage: To minimize space, Query performance and Load performance
13. What are the Data Loading Tuning from R/3 to BW, FF to BW?
a) If you have enhanced an extractor, check your code in user exit RSAP0001 for
expensive SQL statements, nested selects and rectify them.
b) Watch out the ABAP code in Transfer and Update Rules, this might slow down
performance
c) If you have several extraction jobs running concurrently, there probably are not
enough system resources to dedicate to any single extraction job. Make sure
schedule this job judiciously.
f) Try to increase the number of parallel processes so that packages are extracted
parallelly instead of sequentially. (Use PSA and Data Target in parallel option in the
info package.)
g) Buffer the SID number ranges if you load lot of data at once.
j) If your source is not an SAP system but a flat file, make sure that this file is
housed on the application server and not on the client machine. Files stored in an
ASCII format are faster to load than those stored in a CSV format.
a) System Trace: Transaction ST01 lets you do various levels of system trace such
as authorization checks, SQL traces, table/buffer trace etc. It is a general Basis tool
but can be leveraged for BW.
c) Database Performance Analysis: Transaction ST04 gives you all that you need
to know about what’s happening at the database level.
a) Transfer Rules:
When we maintains the transfer structure and the communication structure, we use
the transfer rules to determine how we want the transfer structure fields to be
assigned to the communication structure InfoObjects. We can arrange for a 1:1
assignment. We can also fill InfoObjects using routines, formulas, or constants.
Update rules:
Update rules specify how the data (key figures, time characteristics, characteristics)
is updated to data targets from the communication structure of an InfoSource. You
are therefore connecting an InfoSource with a data target.
b) Transfer rules are linked to InfoSource, update rules are linked to InfoProvider
(InfoCube, ODS).
i. Transfer rules are source system dependant whereas update rules are Data target
dependant.
ii.The no. of transfer rules would be equal to the no. of source system for a data
target.
iii.Transfer rules is mainly for data cleansing and data formatting whereas in the
update rules you would write the business rules for your data target.
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.
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.
ii Infopackage goups:
Use to group all relevent infopackages in a group, (Automation of a group of
infopackages only for dataload). Possible to Sequence the load in order.
Process Chains:
Used to automate all the processes including Dataload
and all Administrative Tasks like indices creation deletion, Cube compression etc
Highly controlled dataloading.
21. What are the critical issues you faced and how did you solve it?
a) Conversion Routines are used to convert data types from internal format to
external/display format or vice versa.
example:
CONVERSION_EXIT_ALPHA_INPUT
CONVERSION_EXIT_ALPHA_OUTPUT
25. R/3 to ODS delta update is good but ODS to Cube delta is broken. How
to fix it?
i. Check the Monitor (RSMO) what’s the error explanation. Based on explanation, we
can check the reason
ii. Check the timings of delta load from R3 – ODS – CUBE if conflicting after ODS load
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...
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.
1. What are the Query Tuning you do when you use reporting?
a) Install BW Statistics and use of aggregates for reporting
b) Avoid using too many characteristics in rows and columns, instead place it in free
characteristics and navigate / drill-down later.
c) OLAP Cache (Change Cache TCode RSCUSTV14): It’s a technique that improves
query performance by caching or storing data centrally and thereby making it
accessible to various application servers. When the query is run for the first time, the
results are saved to the cache so that next time when similar query is run, it does
not have to read from the data target but from the cache.
e) Use small amount of data as of starting points and do the drill down
f) Instead of running the same query each time save the query results in workbook
to get the same query results for different users. Each time you run the query, it
refreshes the data /same data should not fetch from data targets.
g) Complex and large reports should not run online rather they should be scheduled
run during off-peak hours to avoid excessive contention for limited system resources.
We should using RA to run those off-peak hours in batch mode.
h) Queries against remote cubes should be avoided as data comes from different
systems.
k) Use compression on cubes since the E tables are optimized for queries.
CKF will have tech name and description where as Formula will have only description.
While creating CKF, certain function will not available from formula builder where as
while creating formula, all the function will be available from formula builder.
Filter restricts whole Query result where as RKF restricts only selected KF.
for Example: Lets assume we have 'company code' in filter and it is restricted by
'0040'.Query output will be for only '0040'.
if u restrict a KF with '0040' in RKF, then only that KF data will be restricted by
'0040'.
Restricted key figures are (basic) key figures of the InfoProvider that are restricted
(filtered) by one or more characteristic selections. Unlike a filter, whose restrictions
are valid for the entire query.
For a restricted key figure, only the key figure in question is restricted to its allocated
characteristic value or characteristic value interval. Scenarios such as comparing a
particular key figure for various time segments, or
plan/actual comparison for a key figure if the plan data is stored using a particular
characteristic, can be realized using restricted key figures.
We get a default structure for key-figures. That is most people use structures for
key-figures and SAP has designed it that way.
Within a query definition you can use either no structures or a maximum of two
structures. Of these, only one can be a key figure structure.
Filters act on Characteristics; Conditions act on Key Figures. You do not use KF in the
filter area. Only char values can be restricted in the filter area, whereas Conditions
are created to key figures.
7. Reporting Agent
Definition: The Reporting Agent is a tool used to schedule reporting functions in the
background.
The following functions are available:
• Evaluating exceptions
• Printing queries
• Pre-calculating Web templates
• Pre-calculating characteristic variables of type pre-calculated value sets.
• Pre-calculation of queries for Crystal reports
• Managing bookmarks
Use
You make settings for the specified reporting functions.
You assign the individual settings to scheduling packages for background
processing.
You schedule scheduling packages as a job or within a process chain.
9. What are the restrictions on ODS reporting? Active, retired and terminated
employees can be separated using different ODS for detail reports.
ODS is 2 dimensional format and it is not good to analyze the data in multi
dimensional way. If you want to take flat reporting then go for ODS reporting.
Cube is multidimensional format and you can analyze data in different dimensions,
so if your requirement is multidimensional report go for Cube.
Example: List of purchase orders for a vendor is two dimensional reports whereas
sales organization wise, sales area wise, customer wise sales for last quarter and
comparison with earlier quarters is a multi-dimensional report.
Two dimensional reports are similar to reporting on a table. ODS active table is a flat
table like an r/3 table. Reporting is done on active table of ODS. Other tables are for
handling the deltas.
Field 0RECORDMODE is needed for the delta load and is added by the system if a
DataSource is delta-capable. In the ODS object the field is generated during the
creation process.
a) The extraction structure is just a technical definition, it does not hold any physical
data on the database. The reason why you have it in addition to the table/view is
that you can hide deselect fields here so that not the complete table needs to be
transferred to BW.
b) In short - The extract structure define the fields that will be extracted and the
table contains the records in that structure.
b). Queued delta is used if number of document changes is high ( more than
10000). Here data is written into an extraction queue and from there it is moved to
delta queue. Here up to 10000doc changes are cumulated to one LUW.
c). Unserialized V3 update method is used only when it is not important that data
to be transferred to BW in the exactly same sequence as it was generated in R/3.
d). Serialized V3 Update: This is the conventional update method in which the
document data is collected in the sequence of attachment and transferred to BW by
batch job. The sequence of the transfer does not always match the sequence in
which the data was created.
Basic difference is in the sequence of data transfer. In Queued delta it is same as the
one in which documents are created whereas in serialized v3 update it is not always
the same.
4) Difference between Costing based and Account based CO-PA
Account based is tied to a GL account posting. Costing based is derived from value
fields. Account based would be more exact to tie out to the GL. Costing based is not
easy to balance to the GL and more analytical and expect differences. Costing based
offers some added revaluation costing features
Implementing costing based is much more work but also gives much more reporting
possibilities especially focused on margin analyses. Without paying attention to it
while implementing costing based COPA, you get account based with it, with the
advantage of reconciled data.
COPA accounting based is for seeing at abstract level whereas costing based is the
detailed level, 90% we go for costing based only.
COPA Tables: Account base COPA tables are COEJ, COEP, COSS and COSP