(Prima Tech's SAP Book Series) Naeem Hashmi - Business Information Warehouse For SAP-Muska & Lipman Publishing (2000)
(Prima Tech's SAP Book Series) Naeem Hashmi - Business Information Warehouse For SAP-Muska & Lipman Publishing (2000)
(Prima Tech's SAP Book Series) Naeem Hashmi - Business Information Warehouse For SAP-Muska & Lipman Publishing (2000)
Business Information
Warehouse for SAP
by Naeem ISBN:0761523359
Hashmi
Table of Contents
Business Information Warehouse for SAP
Foreword
Introduction
Part I - Introduction to Data Warehousing and SAP Business Information Warehouse
Chapter 1 - Constructing a Data Warehouse
Chapter 2 - Evolution of SAP Business Information Warehouse
Comparing SAP BW with Data Warehouse Solutions Provided by Other
Chapter 3 -
Vendors
Chapter 4 - Getting Started with SAP BW
Part II - Implementing SAP BW
Chapter 5 - Planning for SAP BW Implementation
Chapter 6 - Setting Up SAP BW
Chapter 7 - SAP BW—The Administrator Workbench
Chapter 8 - SAP BW—Loading Business Content
Chapter 9 - Preparing R/3 Data Sources for SAP BW Initial Data Loads
Chapter 10 - Loading Data via Flat Files
Chapter 11 - Analyzing SAP BW Data
Part III - Designing Custom SAP BW OLAP Solutions
Chapter 12 - SAP BW—Defining Custom InfoCubes
Chapter 13 - Enhancing Business Content and Developing Data Extractors
Chapter 14 - Integrating Third-Party ETL Products with SAP BW
Chapter 15 - Integrating Third-Party Data Access Products with SAP BW
Chapter 16 - Managing SAP BW—Performance and Sizing Tuning
Chapter 17 - The Operational Data Store in SAP BW 2.0
Part IV - Appendixes
Appendix A - Data Warehouse Industry References and SAP BW Training
Appendix B - SAP BW and SAP R/3 Transactions, Tables, and Code Examples
Appendix C - Selected SAP BW OSS Notes
Appendix D - Key Enhancements in SAP BW 2.0
Appendix E - What's on the CD-ROM
Index
List of Figures
List of Tables
Team-Fly
Team-Fly
Back Cover
00 01 02 03 04 HH 10 9 8 7 6 5 4 3 2 1
Publisher:
Stacy L. Hiquet
Marketing Manager:
Judi Taylor
Managing Editor:
Sandy Doell
Acquisitions Editors:
Jawahara K. Saidullah,
Deborah F. Abshier
Developmental Editor:
Robert Lyfareff
Technical Reviewer:
Steffen Fischer
Senior Editors:
Kim V. Benbow,
Kevin Harreld
Project Editor:
Lorraine Cooper
Copy Editor:
Anne Owen
Interior Layout:
Marian Hartsough
Cover Design:
Prima Design Team
Indexer:
Sharon Hilgenberg
Proofreader:
John David Rudometkin
Acknowledgments
First, I'd like to thank Stacy Hiquet, Debbie Abshier, and Jawahara
Saidullah of Prima Tech for this opportunity to share my experiences
in the ever-evolving industry of business intelligence.
The quality and consistency in this book would have not been
possible without the support of the editorial staff at Prima, especially
Lorraine Cooper, and the rest of the crew who spent their time
editing, organizing, and packaging the material that made the
technical content easier to digest. Their support is very much
appreciated.
Last but not least, I'd like to thank you, the readers of this book, who
have been waiting for a long time. The SAP Business Information
Warehouse (BW) is still evolving rapidly, and writing about a moving
target is not an easy task. I feel that the content of this book will not
only provide you with what the SAP BW product was or is but also
what it will be in the coming years. Enjoy!
Team-Fly
Team-Fly
Foreword
Information is the lifeblood for today's business.
Information is what lets us understand the past and try to plan for the
future. There is no business without information.
There is no life without blood, either. Blood connects our organs and
transports the oxygen so vital for our existence. But it is the mixture
of our blood, the speed of the bloodstream, and the well-functioning
of all organs that make our body fit for all the challenges in life.
But how do you use the information captured in all these databases,
in all these files on your computer, in your drawers and in your
Personal Digital Assistant? Does it prepare you to make informed
decisions? Does it enable your company to stay competitive? How
well do you process (and not just access) information? Are you able
to derive knowledge to unlock your information power?
Naeem Hashmi is one of the pioneers for this new technology. His
extensive background in science and technology and his knowledge
of today's most challenging business issues put him in a premier
position to guide you through the first steps with SAP BW.
I am confident you'll enjoy Naeem's style of presenting even very
complex subjects in a very easy-to-read format with his own sense of
humor.
Team-Fly
Team-Fly
Introduction
Fast and complete access to corporate operational, tactical, and
strategic information is key to success in today's business world.
Whether it is customer relationships, shorter time to market a
product, or services profitability analysis, robust business intelligence
technology is the foundation on which such integrated business
intelligence systems are built.
Team-Fly
Team-Fly
How to Use this Book
Because of the amount of information covered in the book, a guide
follows to help readers navigate to appropriate content.
Team-Fly
Team-Fly
How this Book is Organized
This book consists of four parts.
Implementing SAP BW
Appendixes
Team-Fly
Team-Fly
Part 1: Data Warehousing and SAP BW
Chapter 1 outlines basic data warehouse concepts and technical
issues one faces when constructing a data warehouse and describes
performance characteristics of a data warehouse. It then describes
details of traditional data warehouse components and services
needed at each architectural layer. After a description of traditional
data warehousing, you are given a quick history of ERP applications
and data warehousing history and how they are converging into a
seamless integrated environment called ERP data warehousing to
meet today's business needs.
Team-Fly
Team-Fly
Part 2: Implementing SAP BW
This section covers the nuts, bolts, and plumbing needed to
implement SAP BW.
Team-Fly
Team-Fly
Part 3: Designing Custom SAP BW OLAP
Solutions
Chapter 12 describes how to design custom objects in SAP BW.
Modeling is key to successful SAP BW implementation. Performance
of new InfoCubes and associated reporting objects depends on a
careful modeling of individual objects. Though the subject is
somewhat technical, the content is geared toward data warehouse
analysts and designers, who are assumed to have a basic
understanding of data modeling concepts. You also learn new SAP
BW 2.0 features, such as defining InfoCubes based on existing
InfoCubes, sometimes called InfoCube Joining or Multi-Cube
InfoCube.
Team-Fly
Team-Fly
Part 4: Appendixes
This section provides data warehouse references and supporting
material to supplement the book content.
Team-Fly
Team-Fly
Part I: Introduction to Data Warehousing and
SAP Business Information Warehouse
Chapter List
Chapter 1: Constructing a Data Warehouse
Team-Fly
Team-Fly
Chapter 1: Constructing a Data Warehouse
What is Data Warehousing?
William H. Inmon, known as the father of data warehousing, defines
a data warehouse as "a subject-oriented, integrated, non-volatile and
time-variant collection of data in support of management decisions"
(Building the Data Warehouse). See Appendix A, "Data Warehouse
Industry References and SAP BW Training."
Business Intelligence
OLAP
Data Visualization
Terms used to define data warehouse objects vary from one vendor
to another and can be divided into the following categories:
Team-Fly
Team-Fly
Components of a Data Warehouse
Inmon, Ralph Kimball, and Doug Hackney have published several
books articulating traditional data warehouse architectures and
construction processes (see Appendix A). Following are the four
layers required to construct a data warehouse, which are critical to
understanding SAP Business Information Warehouse architecture
(see Figure 1-2).
Data Provider
Service Provider
Information Consumer
The Data Provider layer is the primary gateway to the data sources
(OLTP applications or other). Major tasks performed at this layer
provide an environment in which to construct subject-oriented data
analysis models. Metadata (data about the data) is pulled in to a
data warehouse environment from its data sources. Extraction,
Transformation, and Transport services fetch data from data
sources, qualify, perform value-added data manipulation, and push
data out to data warehouse data objects. Key services performed at
this layer are the following:
Data Transport
Data Transformation
Data Cleansing
Data Extraction
Subject Models
Data Distribution
Data Profiling
Data Partitioning
Information Authoring
Data Consolidation
Data Staging
Data Storage
Information Presentation
Search Engines
Data Conversions
Global Catalogs
Information Delivery
Governing Services
Scheduling
Client Profile
Multi-Tiered Models
Warehouse Operations
Source/Target Management
Data Dictionary
Development Management
Hardware/Software
Security
Metadata
Team-Fly
Team-Fly
Technical Issues in Constructing a Data
Warehouse
Due to Internet business activities and intense business-to-business
activities, today, enterprise data warehouses are not limited to the
four walls of a corporation. Today's mobile workforce and
partnerships with vendors and suppliers are forcing data warehouse
builders to provide secure access to corporate data from many parts
of the world.
Global Catalog
Metadata Management
Manageability
Security
In the past, data warehouse security was much easier to manage
because data warehouses were centrally controlled and end users
remained within the walls of a company. Today this has changed.
Individual roles are not defined by whom you report to but rather by
what your functions are. Moreover, mobile workforces across the
globe take on multiple roles. This makes security administration a big
challenge. A data warehouse environment must support a very
robust security administration by using roles and profiles that are
information object behavior-centric rather than pure database-
centric. For example, a role such as cost center auditor defined in a
data warehouse allows one to view cost center information for a
specific business unit for a given quarter but not to print or download
cost center information to the workstation.
To build dependent data marts, you need to extract large data sets
from a data warehouse and copy them to a remote server. A data
warehouse must support very robust and scalable services to meet
data distribution and/or replication demands. These services also
provide encryption and compression methods to optimize usage of
network resources in a secured fashion.
Team-Fly
Team-Fly
Data Warehouse Performance Metrics
It is a known fact that once you have a data warehouse, sooner or
later you will start receiving feedback on poor data warehouse
performance. Data warehouse performance has different meanings
to different users. For example, an end user may decide a data
warehouse is performing poorly because it takes too long (several
minutes) to run a report that displays requested data. This poor
response may happen for several reasons. It could be that the end-
user workstation does not have enough memory to display graphics,
the database engine is not configured properly, or the database
server has a slow processor. Perhaps the user encounters slow
response at a certain time of the day. But what does this all mean?
How do we assess data warehouse performance?
Due to the high business activity that results from global operations,
businesses cannot afford to freeze order-processing activities
beyond four hours per day. So what choices do you have?
Note In the data warehousing world, you will run into business-
and culture-related issues more often than technical.
Success of a data warehouse requires creative thinkers
with superb negotiation and people skills to resolve
organizational issues while keeping business profitability in
mind.
The data warehousing industry, like ERP, has gone through its own
evolution. In the 1970s, as shown in Figure 1-5, data warehouses
existed just to track business processes and print those famous
"greenbar" reports in batches for distribution to managers, who
usually needed only a few sheets off the thick stack of reports.
Among all ERP vendors, SAP is leading the ERP data warehousing
initiatives with its offering, SAP Business Information Warehouse
(SAP BW). Note that the SAP BW scope and function is not limited
to traditional data analysis and reporting, but that SAP BW is the
core product among SAP's New Dimensions product set (which
includes Customer Relationship Management and Advance Planning
Optimizer). SAP BW will support several business processes within
an enterprise as well as the information needs of partners, vendors,
and customers. SAP BW is truly an extraprise data warehouse.
Team-Fly
Team-Fly
Summary
In this chapter, you learned about the basic concepts behind data
warehousing and its building blocks. You also now have a good
understanding of technical issues in constructing a data warehouse
and the areas that affect data warehouse performance. You have
also learned what ERP data warehousing is and how it is different
from other data warehouse solutions.
In the next chapter, you will learn reporting strategies for SAP R/3,
including the type of reporting and analysis suitable on SAP R/3,
common reporting architectures, and the SAP Business Information
Warehouse system architecture and its components.
Team-Fly
Team-Fly
Chapter 2: Evolution of SAP Business
Information Warehouse
A Quick Look at SAP R/3 Architecture and
Technologies
Founded in 1972 in Mannheim, Germany, as Systemanalyse und
Programmen-twicklung to produce and market standard software for
integrated business solutions, today that company is known as SAP
(Systems, Applications and Products in Data Processing),
headquartered in Walldorf, Germany. SAP built packaged
applications for mainframe computers, called SAP R/2. As the
client/server technologies emerged in the early 1980s, SAP
launched a major initiative to engineer powerful three-tiered
integrated business applications under one framework. The SAP R/3
product is the outcome of that initiative.
Note Often, people ask what R/2 and R/3 mean. The letter R
stands for real-time, and 2 and 3 represent two-tiered and
three-tiered architectures, respectively. SAP R/2 is for
mainframes only, whereas SAP R/3 is three-tiered
implementation using client/server technology for a wide
range of platforms-hardware and software. When
implementing a Web front-end to an SAP R/3
implementation, the three-tiered architecture becomes
multi-tiered depending on how the Web server is
configured against the database server or how the Web
server Itself distributes the transaction and presentation
logic.
Figure 2-1: SAP R/3
Business Applications.
Data Management
Application Logic
Presentation
Team-Fly
Team-Fly
Reporting Environment in SAP R/3
SAP offers a collection of more than 2,000 powerful and flexible
business reports in R/3. These reports are spread across all
application modules. Navigating through several information systems
to find specific reports is a huge challenge. SAP also provides
several reporting tools in R/3 to build queries and reports against
operational data. Details of such tools are discussed later in this
chapter.
Logistics
Financials
Human resources
Industry specific
The LIS is widely used by R/3 customers and plays a major role in
preparing information for SAP BW. It consists of the following sub-
information systems (the list may vary based on the SAP R/3 OLTP
release):
The FIS allow users to carry out evaluations for customers, such as
payment and cash-flow history; currency risk; and overdue items,
such as due-date breakdown. The financial accounting tables are the
primary data source for FIS.
SAP delivers programs that can pull data from the Sales and
Distribution Sales Information System (SD-SIS), Controlling-
Profitability Analysis (CO-PA), Controlling Overhead Management
(CO-OM), Enterprise Controlling-Profit Center Accounting (EC-PCA),
Financial General Ledger (FI-GL), Financial Special Purpose Ledger
(FI-SL), and Financial Consolidation (FI-LC).
Data is loaded via batch jobs, not as in LIS, which is based on SAP
R/3 business events. EIS reports are client specific and have to be
created from scratch. A client is a logical organization of a specific
business community and associated configurations in one SAP R/3
instance. Several clients can co-exist in an R/3 instance, each
governed by its own configuration, the business rules.
Team-Fly
Team-Fly
Limitations of SAP R/3 Reporting
One of the hardest tasks in developing a reporting environment in
R/3 is selecting one data access and analysis tool that satisfies end-
user needs. The following are the major shortfalls of native SAP R/3
reporting:
Now I'll return to reporting issues in R/3 and how customers are
building reporting environments.
Team-Fly
Team-Fly
Strategies to Build SAP R/3-Centric Data
Warehouse Environments
You now have a good idea about R/3 reporting systems and their capabilities
and limitations. When you decide to build a data warehouse within or outside
of R/3, think of the following key functions:
Historical Information
Open Environment
Then prepare the copied instance for the reporting environment (Steps 4
through 6). Here you load new users and security profiles needed for
reporting. When the newly refreshed database server is ready for production
reporting, the old database server is moved back to the staging state for the
next OLTP data refresh, as indicated in Step 7, which is repeated to refresh
the reporting environment again using another set of hardware gears. This
approach may work for small R/3 OLTP instances, but for large databases, it
is virtually impossible to rebuild another R/3 database daily. Typically, you
need to perform all seven steps, as shown in Figure 2-5, which is very time
consuming. This means you also need two sets of database servers for
reporting-one for production reporting and another for refreshing-an
expensive proposition.
The benefit of this model is that you will have no performance degradation on
your R/3 OLTP environment due to reporting and data analysis activities. You
can define special user authorization and profiles for reporting users (Step 5).
This R/3 can also become the data source for intra-application data instead of
OLTP R/3.
The problem in this approach is that you have access to only the data that
exists in the OLTP instance; you have no historical data to report on.
Moreover, you will face the same limitations and complexities of R/3
information systems and reporting tools that are not Web enabled. This
database-centric approach will be an expensive proposition due to additional
hardware and intense operations tasks to keep both instances operational at
all times.
Under this distributed R/3 business model, four individual R/3 instances were
connected via ALE: one R/3 instance to manage master data; one R/3
instance for financial operations; one instance for logistics operations; and
one instance for reporting. Under this model, special SIS structures and
special ledger structures are transferred to reporting instances using ALE,
copy management, and some homegrown techniques to synchronize objects
across all instances. ALE copied new changes in the reporting instance at 10-
minute intervals. In this example, ALE could not move all needed data from
SAP R/3 OLTP to the reporting SAP R/3 instance. The copy management
technique was used to move the data that ALE could not move.
Additional SIS structures were updated within the reporting instance using
copy management techniques to build additional tables containing several
levels of aggregated data for reporting. This enabled end users to access
near real-time data without impacting performance on the R/3 OLTP
operations. For corporate central data warehouses, new data was extracted
from the reporting instance instead of the R/3 OLTP instance.
Contains only that data required for reporting and analysis. It is not an
identical copy of OLTP R/3 instances.
ALE technology is not rich and mature enough to handle large data
volumes and user-specific data objects.
Often, third-party data extraction tools work to a point when transaction and
associated data volume is small and business rules/configuration behind such
data sets is simple. Some data extraction tools extract data at the database
level, leaving critical data behind in pool and cluster tables (SAP proprietary
database tables from which data is accessed or manipulated through ABAP
programs and not directly via SQL statements). Often, the ABAP code
generated by these tools is not optimized enough to fetch and transport data
in the most efficient manner. One of the major problems in implementing a
third-party solution is that the OLTP and data warehouse/OLAP teams do not
share the same infrastructure. You end up managing, training, and supporting
two completely different teams (skills, knowledge, and resources). It is
expected, however, that such data warehouses will still exist even with all the
difficulties described here.
Team-Fly
Team-Fly
Evolution of Business Information Warehouse
In 1997, SAP launched an initiative to extend the reporting and analysis
capabilities in the R/3 OLTP environment. This initiative was a direct result of
SAP customers' strong, unified voice on providing a robust, stand-alone data
warehousing environment. This initiative, once called the Reporting Server,
became the largest development project in the history of SAP after the SAP R/3
development. SAP selected five companies to pilot SAP BW in 1997. In 1998,
SAP launched a so-called Early Customer Program (ECP) with six customers to
gather requirements and to do a proof of concept at customer sites. Digital
Equipment Corporation was among the participants in the ECP program.
Release 1.2A of BW was made available to the public in September 1998.
The data provider services manage all interfaces to all inbound data objects. The
inbound data may come from R/2, R/3, or files with known data structures. An
SAP BW instance can be a data source to another SAP BW instance. A special
programming interface, called Staging Business API (BAPI), is used to pull data
in BW. To implement Staging BAPI solutions, I have used Informatica's Power-
Center, ActaWorks for SAP BW from Acta Technology, and Genio from
Hummingbird. Today, several Staging BAPI-certified data Extraction,
Transformation, and Load (ETL) tools from several third-party vendors are
available. You learn more about Staging BAPI implementation in Chapter 13,
"Enhancing Business Content and Developing Data Extractors."
The service provider layer in Figure 2-8 is the heart of the BW engine. It is here
that SAP BW manages all data objects in several persistent data objects such as
Metadata, InfoCube, and ODS. Services at this layer interface with data provider
services to offer a robust data staging process. The intelligent OLAP processor
manages all end-user OLAP activities and processes user requests in a very
efficient way. Based on the Microsoft multidimensional database access
standard, OLE DB for OLAP (ODBO), SAP has implemented a set of BAPIs that
enables third-party tools to access BW data without knowing the complexities of
BW data structures. The list of ODBO-certified vendors is rapidly growing. Check
the SAP Web site at http://www.sap.com/bw for an up-to-date list of ODBO-
certified vendors. To demonstrate ODBO integration with SAP BW 1.2B and
2.0A, I used third-party vendor products from arcplan, Brio Technology, and
Business Objects to build analytical applications; I also used inSight from arcplan
to build pure ActiveX/ODBO-based pure Web analytical applications. Use ODBO
implementation to build a pure Web application using ActiveX controls. You learn
how to use ODBO to access data from SAP BW in Chapter 15, "Integrating
Third-Party Data Access Products with SAP BW."
Prior to SAP BW 2.0, the only way to publish SAP BW reports/queries on the
Web was to save a BEX Analyzer-generated worksheet on the Web server that
could be launched via Internet Explorer; however, the SAP BW front-end must
be installed on the client workstation to navigate data received. Internet Explorer
can open the BEX worksheet, and it will launch the BEX Analyzer session for
data navigation and analysis. However, in BW 2.0, you can use the SAP Internet
Transaction Server to publish BEX Analyzer Queries in HTML format, which can
view data from SAP BW dynamically from Internet browsers, as shown in Figure
2-8 on the top left block enclosed with dotted lines.
The SAP BW data warehouse management layer manages all operations, such
as software upgrades, change management, performance tracking, scheduling
jobs, and security management. It is similar to the R/3 administration
environment.
This means that the R/3 BASIS and database support team can manage the
SAP BW environment without much training.
Note SAP BW is not just a collection of integrated tools to build and support
data warehouses. It comes with rich business content (predefined data
extractors, InfoCubes, and analytics) with a predefined reporting
environment that is ready to use against your SAP R/3 OLTP Instance.
The staging engine is a "process" that facilitates data sourcing and construction
of information objects within SAP BW. The staging engine process spreads
across the data provider and service provider architectural layers. You learn
more about the staging engine in the next two sections.
Business content, as shown in Figure 2-9, consists of the following objects (in
BW 1.2B and BW 2.0A):
Key Performance Indicators (KPI). More than 1,000 KPIs are available
in BW 1.2B. KPI is a result of a query or subset of a specific measure
permanently stored in an InfoCube.
With the release of SAP BW 2.0, the business content strategy has changed
from application specific to horizontal and vertical industry focused, such as
retail, high tech, utilities, finance, and energy.
The business content in the preceding list is not complete. It simply outlines the
subject areas that SAP BW business content addresses. I recommend reviewing
the documents that come with the SAP BW installation CDs for a detailed list of
business content.
Staging Engine
The staging engine in SAP BW consists of several processes that gather data
from data sources, clean and perform data transformation, and populate
InfoCubes.
3. Using ALE or tRFC technology, SAP R/3 copies data to SAP BW in the
form of Transfer Structure.
4. Using transfer rules defined in SAP BW, SAP R/3 data is transferred
into the Communication Structure.
The data staging process is responsible for processing transaction data, master
data, text, and hierarchies needed to build the extended star schema in SAP
BW. Because update rules are source system independent, it is here that you
qualify data coming from several R/3 instances and/or external data before
updating an InfoCube.
SAP BW does not use traditional R/3 OLTP reporting tools such as ABAP Query
or Report Writer. It uses the Business Explorer (BEX). Business Explorer
consists of two components: Browser and Analyzer, as shown in Figure 2-11.
The BEX Browser is a Web-centric environment that provides access to a
corporate information repository primarily based on SAP's BW InfoCatalog.
Figure 2-11: Business Explorer Browser and Analyzer.
You can use BEX Analyzer to execute queries without the BEX Browser. Note
that the BEX Browser, and not the BEX Analyzer, has complete access to all
objects in the Enterprise catalog that stores SAP BW and non-SAP BW
references. Therefore, using BEX Analyzer, you are limiting visibility to the global
catalog content that relates to the InfoCubes queries only. You learn more about
developing queries using BEX Browser in Chapter 11, "Analyzing SAP BW
Data."
Caution Most seasoned ABAP programmers will jump right into ABAP;
however, I recommend that you first explore all available features in
BEX Analyzer before you start writing code in ABAP.
Data Manager
The Data Manager manages data flow and storage in the InfoCubes, the
Operational Data Store, and other database objects needed to maintain data
integrity across the BW systems.
SAP BW was first implemented on Windows NT 4.0. There were two main
reasons for developing SAP BW on Windows NT 4.0: first, to support SAP BW
on the Microsoft platform using MS SQL Server 7, and second, to support Oracle
DataBase Management Systems (DBMS) prior to implementing on a UNIX
platform. At that time-early to mid-1998-Microsoft SQL Server 7 was still a beta
product; therefore, SAP focused most BW development work on Oracle8 under
Windows NT 4.0. However, toward midsummer 1998, SAP customers pressed
SAP to implement SAP BW 1.2A on the UNIX platform as well. BW 1.2A
supported the first UNIX implementation.
A typical star schema for sales analysis is shown in Figure 2-13. Four
dimensions-product, store, time, and order-surround the sales fact table. This
model enables analysts to view sales measures across a store in a particular
geography, across a given time granularity (specified in time dimension), and
across any product and order.
Figure 2-13: A Typical Star-Schema Model for Multidimensional Data
Analysis.
In a star-schema model, the fact table is usually very large; it can consist of
millions to billions of rows. On the other hand, dimension tables are relatively
small, ranging from a few thousand to a few million rows. In a typical industry
standard (as in Figure 2-13), the dimension table contains master data. These
dimension tables are specific to a fact table. This means that dimensions are not
shared across other fact tables (and cubes). When another fact table, such as a
product forecast, needs the same product dimension data, another dimension
table that is specific to a new fact table is needed. This situation creates data
management problems because the very same information-in this example, the
product-is duplicated in several dimension tables instead of sharing data from
one single master table. You next learn how SAP BW handles this sharing of
dimensions problem.
BW OLAP Processor
The OLAP processor accepts all requests generated from BEX or an ODBO
compliant client application. The only difference is that the OLAP processor first
translates ODBO requests from a Multidimensional Expression (MDX) to
formulate SQL statements to fetch data from the InfoCubes or aggregates. By
doing so, all non-R/3 client requests make use of BW services such as
authorization, Info-Catalog, master data, and hierarchies navigation. You learn
more about SAP BW ODBO implementation in Chapter 15.
Team-Fly
Team-Fly
Data Flow in BW
When the user launches a report from BEX Explorer, it starts a BEX
Analyzer session and opens an Excel workbook that contains an
embedded BW query. BEX Analyzer sends a request to the BW
application server for relevant data. If this is a new query for a user,
no data is found at the application server level. The query is then
pushed further down to the database server to fetch a result set from
an InfoCube or an aggregate associated with an InfoCube.
Once a query cube completes, a portion of data from the query cube
is pushed up to load data in Microsoft Excel worksheets based on
the current end user's data view, as shown in Figure 2-15. From this
point on, the end user performs typical slice-and-dice and drill-down
data analysis using BEX Analyzer functions. If the user needs
additional drill-down data that is not presented at a given time, the
request is sent to the query cube to send data in the spreadsheet for
drill-down analysis. If that detailed data is not in the query cube, the
OLAP processor will refresh the query cube from the InfoCube. This
navigational and data refresh process continues until the data
requirements are met at each level.
It is not expected that analysts will complete all the data analysis in
one session. SAP BW users have a choice to save the result set of
their analytical work at any time and in any state. They can save it
back in the SAP BW server or on their desktop in the form of a
Microsoft Excel workbook, as shown in Figure 2-15. This enables
them to restart their analytical work where they left off or mail the
results to other users if needed.
Team-Fly
Team-Fly
Sample SAP BW Report
As mentioned earlier, SAP BW comes with predefined InfoCubes and a rich
set of reports. In this section, you will see how this reporting and data
analysis looks.
The first step to access SAP BW reports is to start the BEX Browser. You
will be prompted for your user name and password assigned by your SAP
BW administrator.
Once SAP BW accepts your user name and password, the BEX Browser
displays all reports and analytical applications for which you are authorized.
On the left are the channels. Each channel contains one or more reports.
Figure 2-16 shows that you are in the General Purpose Channel; the title
also shows the channel name. This channel has two clusters. Clusters are
used to logically group a set of reports that address a similar subject area.
This example uses Customer and Employee channels. In SAP BW 2.0A,
channels are replaced with Activity Groups, and BEX Browser has different
icons for clusters.
Now BEX Analyzer launches, MS Excel starts, and SAP BW requests data.
The result then appears in the Analyzer, as shown in Figure 2-18.
Here you can drill down by product hierarchy (see Figure 2-19) or some
other navigational attributes. You can also normalize data in several ways to
meet your analytical needs. You learn about such techniques in Chapter 11.
Figure 2-19: SAP BW 1.2B Business Explorer Analyzer Drill-Down by
Product Hierarchy.
Team-Fly
Team-Fly
Summary
In this chapter, you learned about reporting systems in SAP R/3,
their capabilities, and their limitations. Then you learned how SAP
R/3 customers attempted to use SAP R/3 technologies to build a
separate data warehousing environment before SAP developed the
SAP BW product.
This chapter also provided you with the basic concepts of the SAP
BW product, its architecture, and its components. By now you should
also have some understanding of how information flows when users
access data from SAP BW for analysis and how data is analyzed in
SAP BW.
Team-Fly
Team-Fly
Chapter 3: Comparing SAP BW with Data
Warehouse Solutions Provided by Other
Vendors
Cultural Impact of ERP Data Warehousing
Organizations that have implemented an ERP application or are in
the process of implementing an ERP packaged application have
found that these applications force a change in traditional business
organization. In a traditional organization, for example, a vice
president of finance owns financial applications and has full control
over how financial applications are to be managed and configured.
The vice president of manufacturing is the sole owner of
manufacturing applications and data. The only link between financial
and manufacturing applications is via flat-file data feed exchanged
via batch processes. This practice creates stovepipe IT cultures with
very little knowledge of enterprise integrated business processes.
Team-Fly
Team-Fly
SAP Business Information Warehouse and Third-
Party Data Warehouse Solutions
SAP BW is based on common industry-accepted standards that enable third-
party vendors to integrate their products with SAP BW. Since 1998, several
third-party vendors have certified their products to load data to and access it
from SAP BW. Data loading tools use Staging BAPI, and data access tools
use ODBO. At present, the products listed in Tables 3-1 and 3-2 have been
certified by SAP BW 1.2B as part of the SAP Complementary Software
Program. These vendors are in the process of BW 2.0 certification for their
products.
Note For the latest SAP BW 2.0 certified products, visit the SAP Web site
at www.sap.com/solutions/compsoft/cspdirectory and select the
Software category option. Then search by Data Migration-BW for
certified SAP BW products that load data in SAP BW, or search by
Reporting Tools-OLAP, BW for ODBO-certified products to access
data from SAP BW.
Note The data warehouse industry is very fluid. Every day, companies are
either going out of business or merging, and that makes it very hard
to track products. For example, Prism Solutions Inc. and Ardent
Software products are certified to load data in SAP BW 1.2B.
However, in 1999, Ardent acquired Prism Solutions, soon after
Informix acquired Ardent. Today it is hard to track down what
happened to Prism Connect for BW. Is it still there, or has it been
integrated with Ardent's certified product DataStage load pack for
SAP BW? Check with the vendors to be sure you are looking at the
right product. Moreover, visit SAP's Web site for the latest SAP BW
certifications.
Figure 3-1 shows a list of a few data warehouse tool providers and their
limited functionality when compared to SAP BW. SAP BW functions are
represented as bullets one through eight. The vendor tools addressing similar
(but not exactly the same as SAP BW) functions are shown along with the
product vendor. The following section provides my hands-on working
experience with and research on a few SAP ODBO and Staging BAPI-certified
products from November 1999 through January 2000. The information
provided here should not be considered a recommendation of one or another
product; rather, this should be considered simply an academic discussion,
because the data warehouse capabilities in some of the products discussed
may have changed.
SAS Institute is best known for analyzing very large data sets. SAS
provides several integrated products to build a data warehouse. The
Enterprise Miner is a very visual environment to construct the data
mining environment against large data sets. SAS provides SAP R/3
data extraction tools to perform data transformations and loads in the
SAS data warehouse similar to SAP BW. However, SAS supercedes
SAP BW when it comes to data mining and analyzing large data sets.
Seagate is a midrange data warehouse construction and information
delivery tool provider. Seagate is acquiring technologies from several
vendors and offers an integrated data warehouse solution. Seagate
Holos OLAP is the OLAP engine. The Reporting tools come from
Crystal that can access data from most relational databases. Seagate
also announced that it will build data extraction tools for SAP R/3. The
Crystal Info product version 7 is certified to access data from SAP BW
using ODBO. None of the Seagate products load data in SAP BW.
Just as any other IT industry segment, the data warehouse industry is going
through a rapid change. Every day, new tools and vendors emerge. A few
acquire data warehouse technologies from other vendors to build a strong
solution-integrated tools offering. I have discussed only a few vendors; several
provide data warehouse construction functions ranging from low-end to high-
end. Such data warehouse vendors are listed in Appendix A, "Data
Warehouse Industry References and SAP BW Training."
Tools integration, however, is just one piece of the puzzle when it comes to
building a data warehouse. The business content is another. The real value of
SAP BW is not in the integrated set of data warehouse construction tools but
in the business content that makes SAP BW a far superior solution than any
offered by other data warehouse vendors.
Team-Fly
Team-Fly
Summary
A data warehouse usually requires data from applications owned by
several business organizations. Dealing with several organizational
cultures is a hard task. Some organizations are team oriented, but
others are very strict when it comes to accessing data from their
applications. These cultural issues are compounded when ERP
applications are implemented in a company, followed by an ERP
data warehouse implementation. In this chapter, you learned about
cultural issues related to ERP data warehousing. In addition to
cultural issues, you learned how a selected third-party data
warehouse offering compares with SAP BW, at a higher level, and
the tools currently certified to access/load data from SAP BW.
Team-Fly
Team-Fly
Chapter 4: Getting Started with SAP BW
In this Chapter
This chapter introduces the SAP BW application development,
administration, and data access environments. Notice that SAP BW
screen menus and options are quite different from typical SAP R/3
application modules. The purpose of this chapter is to provide you
with a visual tour of the SAP BW environment. In later chapters, you
learn the steps needed to configure SAP BW, develop applications,
and manage the SAP BW environment.
Team-Fly
Team-Fly
Log On to the SAP BW Administration Environment
SAP BW release 1.2B is based on the SAP R/3 4.5x version but doesn't include
business application modules such as FI, SD, and MM. SAP R/3 and SAP BW
share the same BASIS technology. SAP BW is installed as a separate instance.
SAP R/3 and SAP BW cannot coexist on one database instance. Usually, the
system administrator might configure one or more application servers to log on to
SAP BW. The SAP BW administrator creates a logon account for you based on
your role in the organization and SAP BW usage.
The logon process for SAP BW 1.2B and SAP BW 2.0 remains the same.
However, SAP BW 2.0A is based on BASIS 4.6 and requires the new SAPGUI 4.6
frontend. SAPGUI 4.5 and 4.6 are similar, but the 4.6 version has a lot more
graphics than 4.5.
To log on to SAP BW, double-click the SAP logon icon, as shown in Figure 4-1.
This opens the SAP Logon server window, as shown in Figure 4-2. Select a BW
server you want to log on to. Now select SAP BW 1.2B and double-click the Logon
button.
Depending on network and SAP BW server activity, the SAP BW startup screen
might stay on the screen for a while until connection to SAP BW is established.
SAP BW then sends a message back to the end user's workstation and displays
the SAP BW session logon window requesting user logon information as shown in
Figures 4-3 and 4-4.
Note When you log on to SAP BW for the first time, you are immediately
prompted to change your password. You are asked for your initial and
new password. Enter your old and new password and click OK. SAP BW
confirms if your new password is valid and accepted.
Note SAP R/3 supports multiple clients within one instance, such as training,
development, and testing. This is possible in SAP R/3 because all
entities, except master data objects, are client dependent.
In SAP BW, you cannot have multiple clients because SAP BW data
objects are client independent. Client 000 in SAP BW is reserved for SAP
internal usage. One additional active client is defined for the rest of the
SAP BW activities. The reason for a client-independent environment in
SAP BW is that a data warehouse holds and shares information across
all business units, organizations, or legal entities of an enterprise as well
as data that does not belong to any organization such as industry
business performance benchmarks and Key Performance Indicators
(KPI). Data consistency is another reason for having one single client in
SAP BW. You need consistent business rules regardless of who owns the
transaction data. Having clients in SAP BW will restrict or add complexity
in data navigation and management across multiple clients and will
introduce data quality problems.
When your user name, password, and client information are confirmed, SAP BW
displays the SAP Copyrights window showing license information and the user
logon statistics. Click the Continue button to proceed to the SAP BW
Administration window, as shown in Figure 4-6. Notice that SAP BW 1.2B and SAP
BW 2.0B user interfaces are somewhat different. In this book, I will use both
interfaces to demonstrate SAP BW 1.2B and SAP BW 2.0A and 2.0B capabilities.
Figure 4-6: SAP BW Main Screen for SAP BW 1.2B (SAPGUI 4.5A Frontend)
and SAP BW 2.0A (SAPGUI 4.6A Frontend).
To log off from SAP BW, click the Exit session icon (shown in Figure 4-7), or press
Shift+F3. The SAP Log Off dialog box prompts for confirmation, as shown in Figure
4-8, to log off from SAP BW. Click the Yes button.
Team-Fly
Team-Fly
Log On to the SAP BW Data Access Environment
Logging on to the SAP BW data access environment is different from the typical
SAP R/3 logon process. Along with the standard SAPGUI interface, SAP BW
and SAP Business Explorer (BEX) components are required for OLAP
application developers and end users to access data from SAP BW. Microsoft
Office 97 is also needed on the workstations to complete the data access and
OLAP development environment.
Yes, you still need a valid user name and password to log on to SAP BW to
access data. As mentioned in Chapter 2, "Evolution of SAP Business
Information Warehouse," BEX consists of two components: the BEX Browser
and the BEX Analyzer. You can log on to SAP BW through the BEX Browser,
the BEX Analyzer, or SAPGUI as shown in Figure 4-9.
The BEX Browser is the main entry point to the enterprise reporting global
catalog. To log on to the BEX Browser, click the SAP Business Explorer
Browser icon, as shown in Figure 4-10. The BEX Browser momentarily displays
the SAP BW logo (see Figure 4-11) followed by the SAP BW Logon screen (see
Figure 4-12).
Figure 4-10: The Business Explorer Browser.
Note Do not get confused when the BW logon window reads SAP R/3
Logon instead of SAP BW. SAP has not changed the title of the initial
logon window yet. Just ignore the title. You will log on to the selected
SAP BW instance.
In the SAP logon window, select one SAP BW server you want to connect to,
and then click OK. To complete the SAP BW logon, the SAP logon window
prompts you for your user name, password, language, and the client you want
to log on (see Figure 4-13). Enter this information in the SAP logon window and
click OK.
The BEX Browser then displays all valid channels in SAP BW: the activity
groups, associated reports, and queries for which a user has authorization. To
execute a report, right-click an entry and select Execute, as shown in Figure 4-
15.
At this point, the BEX Browser launches Microsoft Excel and passes on the SAP
BW login information to Microsoft Excel. Microsoft Excel then establishes a
connection to SAP BW and downloads the query results in Microsoft Excel for
end-user data analysis (see Figure 4-16). From here on, data analysis is
performed in Microsoft Excel using the BEX Excel add-in.
Figure 4-16: Simple Sales by Employee Data Analysis Report via BEX
Analyzer.
To exit the BEX Analyzer, simply close the workbook or close Excel. Before
exiting Excel, you have the option to save your data analysis results in Excel
format on your desktop. When prompted, provide a file name to save your
results.
When you exit the BEX Analyzer, the BEX Browser session remains active.
Select another report for analysis to continue your data analysis. To exit from
the BEX Browser, press Alt+F4 or simply close Excel.
As shown in Figure 4-9, you can directly access data from SAP BW using the
BEX Analyzer, bypassing the BEX Browser. Click the BEX Analyzer icon (see
Figure 4-17) to launch Microsoft Excel. As part of the SAP BW frontend
installation, the BEX add-in sapbex.xla is added in your Excel configuration. You
will see BEX icons in your spreadsheet, as shown in Figure 4-18.
Figure 4-17: The SAP Business Explorer Analyzer.
To connect to SAP BW, click the Select from InfoCatalog icon (see Figure 4-19).
You are asked for the same SAP BW login information, as shown earlier in
Figures 4-12 and 4-13.
Figure 4-19: Starting Connection to SAP BW From the SAP BEX Analyzer.
After the user logon information is validated, you will see a dialog box listing
InfoCubes and Queries available in the SAP BW instance, as shown in Figure
4-20. Select one query and click the Open button. SAP BW fetches data from
the database and loads it in the Excel spreadsheet, as shown in Figure 4-16.
Figure 4-20: SAP BEX Information Catalog to List the Defined Query in SAP
BW 1.2B.
Notice that Microsoft Excel manipulates the data received from SAP BW
regardless of your path choice.
Caution By selecting this SAP BEX Analyzer path, you will have limited
access to information objects defined within SAP BW. None of the
other pointers and Web links defined in the global information
catalog is visible from within the BEX Analyzer. For the end user,
the BEX Browser is the best way to log on to SAP BW.
Team-Fly
Team-Fly
Summary
This chapter gave you a brief but visual overview of the SAP BW
logon process. You also learned that logging on to SAP BW varies
based on user type. If the user is an SAP BW administrator, logging
on to SAP BW is similar to the logon process to SAP R/3. However,
for users who access data from SAP BW, the logon process will vary.
You also learned that most of the data analysis is performed in
Microsoft Excel. At present, only the BEX Browser is Web based. In
SAP BW 2.0B, you can implement a pure Web data access
environment; however, the development process still requires
SAPGUI or BEX Analyzer to compose queries before they are Web-
enabled. SAP is planning to provide a pure Web reporting
environment in the future in SAP BW 2.0B GA.
Team-Fly
Team-Fly
Part II: Implementing SAP BW
Chapter List
Chapter 5: Planning for SAP BW Implementation
Team-Fly
Team-Fly
Chapter 5: Planning for SAP BW
Implementation
In this Chapter
Implementing an enterprise data warehouse is not a simple task.
The key reason is that the reporting and data analysis requirements
for a data warehouse never end. That's why the data warehousing
industry calls data warehousing a process and not a product. The
data warehouse has to be in constant evolution as well as a stable
environment to fulfill end-user needs. For this reason, the initial
introduction of a data warehouse in an organization must be very
well planned and executed. The purpose of this chapter is to provide
readers (data warehouse architects and designers, business
analysts, project managers, and technical infrastructure capacity
planners) with some guidelines and steps to take before, during, and
after launching an SAP BW project.
Team-Fly
Team-Fly
Starting an SAP BW Project
The first step toward acceptance of any new technology is providing
a compelling and effective business case. Customers who have
already implemented SAP R/3 are eager to use SAP BW, but first a
good case must be made for SAP BW. Why do you need SAP BW?
How will SAP BW benefit your organization? How does SAP BW fit
in the rest of your company information delivery and management
strategy?
Top-Down Approach
The top-down approach is usually business driven, meaning that the
data warehouse is a corporate directive. It has full support, business
and financial, from senior management of a company, who has a
clear understanding of what to expect from a data warehouse. The
hardest part of top-down methodology is that all business
organizations have to agree on a common set of Key Performance
Indicators and other analytical key measurements needed to make
tactical and strategic business decisions.
Bottom-Up Approach
The bottom-up approach has been the most common way of
implementing data marts. In this case, either a business manager or
a department manager steps up to launch a data warehouse project
with full financial support. This approach has several advantages:
limited scope of what to implement, control over what to analyze,
and easier rollout at a department level.
Figure 5-3 also shows that real-time operational reporting should not
be considered when defining the SAP BW project scope. Depending
on the business activity on your transaction systems (such as orders,
invoices, and deliveries), you can refresh SAP BW with new data two
or three times a day. However, if you include near real-time
operational reporting in your first SAP BW project scope, make sure
that the data volumes will remain low for several months. This will
ensure that frequent data extracts from SAP R/3 for SAP BW have
no impact on the OLTP operations and that SAP BW can update
InfoCubes without interruptions. Keep operational reporting out of
the SAP BW project scope.
Caution Some data warehouse vendors provide data replication
tools. A data replication scheme copies a data set,
usually a database table, from one source to a target
and keeps the target in synch with the source. Often, it
is assumed that SAP BW, being another data
warehouse environment, "replicates" transaction tables
to another database (R/3 or non-R/3). Note that SAP
BW does not provide data replication services. Instead,
SAP BW pulls predefined transaction data objects from
one SAP R/3 instance to one and only one SAP BW
instance. The structure of "changed" data-in SAP BW
terminology, delta-does not resemble any transaction
tables. In some data, such "change capture" tables may
not even reside in any R/3 database tables. It may have
been a buffered table or derived value processed during
a transaction and captured for SAP BW.
Team-Fly
Team-Fly
Creating the SAP BW Project Team
The next step in the SAP BW project is building a team. First, form a
steering committee, which consists of key business drivers such as
the CFO, CIO, corporate data warehouse manager, SAP program
manager, SAP BW program manager, business process expert, and
SAP BW expert. It is important that the steering committee members
meet regularly to discuss the project status to be aware of any
unforeseen business problem, the project scope, or technical issues.
The steering committee is responsible for resolving, prioritizing, and
recommending alternatives to keep the project on track. The steering
committee must establish a problem escalation process to the SAP
BW support center and SAP BW engineering team, and designate
one contact person between SAP and the SAP BW implementation
team. Figure 5-4 describes SAP BW team roles and their
interactions.
Figure 5-4 shows the SAP BW team structure at a higher level. The
actual number of team members depends on the scope of the SAP
BW project. For example, if SAP BW business content does not
meet data analysis needs, you may need one or more ABAP
developers to code extract programs or enhance existing extractors
in SAP R/3.
Business Partners
SAP BW Experts
Business Partners
Modules in SAP R/3 can use LIS, but SAP BW uses special LIS
structures to capture delta changes. Include one person on the SAP
BW team who is familiar with LIS setup and configuration.
Depending on what subject area you plan to implement, include one
person on the team who has an in-depth understanding of business
process flows and associated data objects in SAP R/3. For example,
if you are planning to implement the Sales and Distribution area,
your SAP R/3 subject expert must know how the SD system works.
Your subject expert must also know how order documents are
invoiced, how deliveries are generated, and how order documents
flow in the SD system.
SAP BW Experts
Initially, one ABAP developer is sufficient. You also need at least one
developer on the team who is fluent in Microsoft Excel VBA and
ODBO programming. An existing SAP R/3 Basis administrator must
be trained in SAP BW database and ALE administration. If you need
to import non-SAP R/3 data in SAP BW, get support from a
corporate data warehouse group, which might already have
someone trained in products (from Acta, Ardent, Hummingbird,
Informatica, and other vendors) that use Staging BAPI to load data in
SAP BW.
Team-Fly
Team-Fly
Business Requirements
Collecting business and end-user requirements for a data
warehouse is a big challenge. Chapter 4 of The Data Warehouse
Lifecycle Toolkit covers this subject in great length. The ASAP
methodology for SAP BW provides several templates and guidelines
to collect user requirements.
First, find out how end users do data analysis today. What methods
do they use to access information? How do they process and work
with the information? What is the outcome of their data analysis? Do
they simply print, mail, or download in XLS on their workstations?
Often, it is much easier to start with a clean slate. Define new
performance measurements and metrics. Look at the business
drivers and company strategic directions, and define new Key
Performance Indicators (KPIs).
Team-Fly
Team-Fly
Technical Requirements
The most time-consuming process in constructing a data warehouse
is identifying the source systems, mapping data elements between
source and target systems, and performing data transformation to
build navigational data objects for reporting. Most of these processes
are already taken care of in SAP BW if you use standard business
content. Because SAP BW is based on the SAP R/3 infrastructure,
you already have that in place as well. You are left with the following
technical tasks for SAP BW:
Sizing
Data Modeling
Note Remember that SAP R/3 is a data source for SAP BW.
Calculate database table growth in SAP R/3 when
preparing the initial data loads for SAP BW. You also need
to account for additional table space and memory needed
for IDOC processing for SAP BW. Note that IDOC
processing is very CPU intense. Add additional CPUs, and
memory needs to be added at the application-server level.
The best option is to configure one dedicated application
server against SAP R/3 to process IDOCs for SAP BW.
This overcomes any SAP R/3 system-resource contention
problems associated with the data extractor.
For SAP BW, you need a fast end-user workstation compared to that
of the typical SAP R/3 SAPGUI client. SAP suggests the following
SAP BW client configurations:
Team-Fly
Team-Fly
Summary
In this chapter, you learned how to define your first SAP BW project,
and the importance of having full sponsorship from your business
sponsor. You also learned data warehouse development
methodologies, including ASAP methodology for SAP BW. Following
the methodology discussion, you learned how to build a team to
deliver an SAP BW project. At the end of the chapter, you learned
the technical requirements for SAP BW and sizing information.
Team-Fly
Team-Fly
Chapter 6: Setting Up SAP BW
In this Chapter
The purpose of this chapter is to discuss the steps necessary to set
up SAP BW for the project and to activate SAP-provided business
content. At the end of this chapter, you will be ready to do
development work. To fully understand this chapter, you should be
somewhat familiar with SAP BASIS terminology.
Team-Fly
Team-Fly
Getting Ready for SAP BW Software Installation
One major benefit of ERP data warehousing is that OLTP and data warehouse
environments use the same infrastructure. Because SAP BW is built on top of
SAP R/3 BASIS technology, the core software-installation process is very similar
to installing an SAP R/3 instance. The assumption here is that you have
implemented SAP R/3 and are planning to install SAP BW. Your BASIS support
team is fully trained in installing SAP R/3. This chapter describes the process for
setting up SAP BW, not installing the SAP R/3 kernel and BASIS layer. For
information on how to install SAP R/3, see the SAP R/3 installation guides that
are packaged with the software. Also refer to Basis Administration for SAP by
Robert E. Parkinson, et.al., published by PrimaTech.
Note You can implement SAP BW without SAP R/3 as a data source. Here
you are working with flat files or third-party tools that are certified to
load data in SAP BW. But you still need trained individuals on your
teams who are fluent in SAP R/3 architecture, BASIS, and Application
Link Enabling (ALE) technology.
Assuming that you have the core SAP R/3 component installed, configuring SAP
BW consists of the following four steps:
1. Configure the SAP BW database and application server.
Figure 6-1 illustrates these four steps. This chapter covers only those items
related to SAP BW as marked by the dotted gray area in Figure 6-1.
After deciding on the platform, sizing questions come to mind, such as the
following:
The answers to such questions are still evolving. SAP has proposed basic SAP
BW configurations; Table 5-1 in Chapter 5 lists these. These recommendations
are based on a few initial SAP BW customers (SAP BW 1.2B versions).
However, to provide realistic configurations for SAP BW on supported platforms,
SAP is working with hardware vendors such as Compaq, Hewlett-Packard, IBM,
and Sun to conduct SAP BW benchmarks and provide realistic sizing
information. At the time of this writing, only IBM had published SAP BW 1.2B
benchmarks using DB2 database on IBM hardware. Check SAP and the
hardware vendor's Web sites for the latest SAP BW configurations.
Test System. The test system is used to test and verify data access,
reporting, and analytical applications to qualify end-user acceptance
tests before rollout onto the production system. The test system can also
be used to do stress testing and fine-tuning of data objects for optimum
performance. Quality assurance and development teams have access to
this system.
The order in which objects are transported between SAP BW and SAP R/3
systems is discussed in Chapter 12, "SAP BW-Defining Custom InfoCubes."
Database size, as with any other data warehouse, grows rapidly. Often, the
actual size of a database is almost two or three times the size of the actual
transaction data received from the transaction systems. It is expected that
master data will change, but the growth of master data in SAP BW is not that
significant after initial loads. Plan for plenty of storage space, at least 50 percent
more than your estimate, when configuring an SAP BW system.
SAP BW, like any other data warehouse, needs to handle large data volumes-to
load new data or to read data from a database for end-user queries. Therefore,
SAP BW requires a fast disk I/O subsystem. This means large bandwidth, which
is achieved by spreading the database across a large number of array
controllers. The number of I/O controllers is derived from the estimated
bandwidth required by the workload, typically 10MB/sec for each CPU. For
example, a system with eight CPUs should have enough I/O controllers to
support 80MB/sec bandwidth. Adding more memory and faster processors will
not necessarily improve SAP BW performance if disk I/O subsystems are
causing the problem-I/O bandwidth that is not large enough.
Team-Fly
Team-Fly
Installing and Configuring SAP BW Servers
SAP BW supports several platforms: hardware, operating systems,
and database management systems (DBMS). In this section, I
describe how to install and configure SAP BW database and
application servers on a Digital Alpha server, UNIX operating
system, and Oracle DBMS.
First install and configure the UNIX base system. This includes
hardware components, storage devices, networking gears, the
operating system (UNIX), and the file system, as listed here:
Install Licenses
Install Patches
The next step is installing the SAP R/3 kernel, the BASIS layer, and
the SAP BW database (Oracle8). This requires the following steps:
1. Review Installation of the SAP Business Information
Warehouse on UNIX/Oracle Database.
2. Review all OSS notes specific to SAP BW installation on
your platform of choice (for example, UNIX/Oracle8).
11. Set the password for operating system users (see Chapter
5 of the Installation of the SAP Business Information
Warehouse on UNIX/Oracle Database Release 1.2B).
14. Run ROOT.SH shell script. You must run this script after
Oracle DBMS installation. This establishes environment
variables needed for the SAP BW instance.
17. Create and load the database. This is the longest part of
the SAP BW base installation. Depending on the size of the
database to create, it might take several hours.
Team-Fly
Team-Fly
Configuring the SAP BW Administrator
Workstation
If you are an SAP customer, you may already have SAPGUI installed
on a workstation. Because SAP BW uses new features of SAPGUI
4.x, uninstall the current SAPGUI from your workstation (Windows
95, Windows 98, or NT Server 4.0) and re-install the SAP BW
SAPGUI that came with your SAP BW installation kits (possibly
version 4.5 or 4.6).
Team-Fly
Team-Fly
Installing Frontend Components for End-User
Reporting and Analysis
Installation of SAP BW for end users and BW application developers is similar to
that of the frontend for the SAP BW administrator. The only difference is that the
end-user and developer workstation must have Microsoft Office 97 and Service
Pack 1 installed. Run the SETUP program from the SAP BW presentation CD.
When asked for the components to install, check BW AddOn, OLE DB for OLAP
Provider, and SAPGUI (see Figure 6-4), and install the SAP BW client.
Reboot the workstation when the BW client installation has finished. Verify the
SAP BW client, as described here.
Launch the SAP Business Explorer Analyzer from the SAP frontend 4.5A group,
as shown in Figure 6-5. This launches Microsoft Excel. You should see the SAP
Business Explorer menu bar (see Figure 6-6). If you do not see the SAP
Business Explorer menu bar, add it manually. Use the following menu path to
add the SAP BW Excel add-in SAPBEX.XLA.
Figure 6-5: Launching the SAP Business Explorer Analyzer.
Select the directory where the SAP BW frontend is installed on your workstation;
for example, C:\SAPpc. The name of the BEX add-in is Sapbex.xla. You will find
this in a subdirectory called BW (for example, C:\SAPpc\BW\). Select
Sapbex.xla and click OK. This adds the BEX add-in (macro) in Excel. Save it.
Close and restart a Microsoft Excel session. When Microsoft Excel starts, it
launches the SAP Business Explorer Analyzer menu as part of the Microsoft
Excel menu.
Team-Fly
Team-Fly
Initializing SAP BW Global Settings
In addition to SAP R/3 basic components, SAP BW requires additional
customization and settings in an instance. Log on to SAP BW though SAPGUI to
verify that basic SAP R/3 components needed are correctly installed.
Check Installation
Log on to SAP BW in client 000. Execute transactions SM28 and SM21. They must
report no errors, as shown in Figure 6-7.
After verifying that the SAP BW basic components are operational, enable CTO by
executing transaction SE06, followed by transaction STMS, which sets up the TMS
environment. Transaction SMLT loads languages you want to support.
To this point, you have a standard SAP BW (basic) system that is functionally ready
for business operations. It is common practice in an SAP R/3 OLTP system that you
create multiple clients, each serving a special function. For example, one client 050
for training, another client 100 for development, and another client 800 for testing.
In SAP BW, you cannot have multiple active clients. Only one active client is allowed
in SAP BW (other than client 000 and 066, which are both reserved for SAP).
Therefore, you must define a BW active client to develop analytical applications.
Defining an active client is a two-step process. First, define an active client using
transaction SM31, as shown in Figure 6-8. Second, log on to the SAP BW active
client and copy it (transaction SCCL) using profile SAP_ALL (see Figure 6-9).
Figure 6-8: Defining the SAP BW Active Client.
Figure 6-9: Copying the 000 Client to the SAP BW Active Client.
For the active BW client, the start menu must be RS00. This requires you to modify
the active client profile and set the default login menu to RS00. Any changes made
to system parameter files are applicable after system reboot.
After creating an active client, you must also define a logical system for the newly
created client in table T000. This is necessary to uniquely identify the client to the
transport system. To do so, you must log on to the newly created account as SAP*
(or another privileged user) and execute transaction SALE. Follow the guidelines for
the logical systems as proposed by SAP, such as <SID>CLNT<client>. For example,
if your instance name is BWD and client 100, then the logical system name is
BWDCLNT100. Make sure that you add the logical destination (using transaction
SM31) to the BW active client entry table T000. Remember, once a logical name is
defined and activated in an SAP BW instance, it may never be changed. After
making such changes, restart the SAP BW instance.
SAP BW requires several layers of SAP BW configurations. So far you have learned
about hardware, database, and SAP R/3-centric parameters. Now you need to set
up parameters that are applicable only to SAP BW-related development and
operational work. The following lists the two types of BW-centric customizations:
Basic setting that refers to transaction and reference data elements such as
currency conversions, fiscal year variant, and unit of measure, as shown in
Figure 6-10.
Figure 6-10: Basic SAP BW Setting. The Left Shows the Setting Menu for
SAP BW 1.2B, and the Right Shows the Same Setting Menu in SAP BW
2.0A.
You need to know several transactions or menu paths to customize all SAP BW
settings. The BW Customizing Implementation Guide (transaction RSIMG) is a
method to customize SAP BW from one view instead of navigating through several
menu options or remembering transaction names. Figure 6-12 shows the path to the
BW Customizing Implementation Guide (Tools, Business Engineer, BW
Customizing). Figures 6-13 and 6-14 show BW customization trees.
Figure 6-12: SAP BW Customizing Implementation Guide.
Most of the entries in this tree will take you to another transaction without your
knowledge. You need to log on to the SAP BW active client as a privileged user to
do customization.
Note The RSIMG transaction covers most of the global SAP BW settings;
however, you still need to customize the remaining parameters, such as
Currencies, Translation keys, as shown in Figure 6-10, and Global
settings, as shown in Figure 6-11. Make sure that you set these
parameters before loading data in SAP BW.
Most entries are self-explanatory in the RSADMIN table, but a few need more
details, as described in the following sections.
ALE Users
Because ALE is the main data transport method between SAP BW and SAP R/3
OLTP instances, you need to assign a user name in SAP BW and the SAP R/3
OLTP instance that will be used to communicate between the source and the target
system. In the example in Figure 6-16, ALEREMOTE user exists in both systems
and is used for ALE communication. You do not have to use the same username in
SAP BW and SAP R/3. You can use whatever you decide and assign such users in
the RDADMIN table.
In typical OLTP applications, the frequency of ALE messages is usually high, but the
actual data volumes are low. In the OLAP environment, it is quite the opposite.
There are fewer ALE messages, but the data volume is very high. This means
tuning the ALE process for SAP BW operations. Based on the large data volume
and complexity of data loads in SAP BW, the number of data records per IDOC and
the number of data packets after which Info IDOCs are created needs to be
adjusted. Remember that you also need to adjust ALE parameters on the SAP R/3
OLTP instance (table ROIDOCPRMS). SAP recommends setting the number of
records per IDOC between 5,000 and 20,000. In Chapter 9, "Preparing R/3 Data
Sources for SAP BW Initial Data Loads," and Chapter 16, "Managing SAP BW-
Performance and Tuning," you learn more about how changing records per IDOC
impacts the performance of the SAP BW instance.
Flat-File Processing
SAP BW can load data from flat files. If you use special data files that do not
conform to standard files and record delimiters (tab, csv, and xls), specify your field
and record terminators in the RSADMIN table. Remember that these settings are
global and are used as default delimiters. If you have only a few files that do not
conform to standard file structures, you can always identify such delimiters at data
load scheduling time specific to individual data files.
This parameter specifies the newest application release used in SAP R/3. This
release number is checked during the importing of metadata from the SAP R/3
OLTP instance. In SAP BW, the application hierarchy does not rebuild if the
metadata is updated from a lower version of SAP R/3, as specified in the RSADMIN
table.
Caution Never run Administrator Workbench (transaction RSA1) from any other
client than the active SAP BW client.
Team-Fly
Team-Fly
Installing SAP BW Extractors in the SAP R/3
OLTP Instance
The SAP Business Information Warehouse Business Content and
Extractor installation guide from SAP describes in detail pre- and
post-installation steps. The interfaces of SAP BW in SAP R/3, known
as extractors, are treated as all other add-ons. You can find BW-
BCT, the name of the add-on, in table AVERS.
SAP BW 1.2B data extractors that come with the SAP BW 1.2B CDs
do not support all versions of SAP R/3. Generally, BW extractors are
available only for R/3 maintenance releases (and not for functional
releases) during the maintenance period of that specific R/3 release.
It varies with the hot pack level in the SAP R/3 release and the
application area. Carefully read the add-on installation guide as well
as the OSS notes related to business content and data extractors. In
most cases, the minimum requirement for SAP BW extractors in
SAP R/3 versions is 3.0D.
3. Create the ALE user. Make sure that ALE user has the
profile S_BI-WX_RFC.
7. Perform backup.
Team-Fly
Team-Fly
Summary
In this chapter, you learned about all the steps necessary to set up
SAP BW on a UNIX/Oracle8 platform. This consists of installing
several SAP BW basic components, followed by SAP BW
administrator and client software. Once that is done and verified, you
install SAP BW business content and extractors. Test RFC
connections between SAP R/3 and SAP BW. This prepares SAP BW
and SAP R/3 for the next step: loading SAP BW business content.
Team-Fly
Team-Fly
Chapter 7: SAP BW-The Administrator
Workbench
In this Chapter
Chapter 6 focused on how to set SAP BW as an OLAP server and
SAP R/3 as an OLTP data source. Now it's time to take a look at
SAP BW in more detail. This chapter describes some of the major
components of the Administrator Workbench used to construct the
building blocks of InfoCubes. This chapter provides information on
how and where individual objects are managed within the
Administrator Workbench.
Team-Fly
Team-Fly
SAP BW Administrator Workbench
In Chapter 2, you learned about the SAP BW object at a higher level. Here you learn
that such objects communicate with each other as well as how they are defined and
maintained in SAP BW using the Administrator Workbench.
The SAP BW main menu (transaction RS00) consists of two groups of transactions:
SAP R/3 BASIS Administration and SAP BW Administration, as shown in Figure 7-1.
Notice that in SAP BW 2.0, the Administrator Workbench layout has been changed.
Instead of tabstrips on the top for individual categories of Objects, you see objects in
the tree format, as shown in Figure 7-1. The ScreenCam movie
SAPGUI_BW20_vs_BW12B.SCM on the CD-ROM gives you a visual tour of the
Administrator Workbench in SAP BW 1.2B and BW 2.0A.
The typical SAP R/3 BASIS administration tasks are listed on the right side of the
main menu, and the SAP BW-related activities are listed on the left. The Business
Explorer and the BW Administration options are shown in Figure 7-2.
The SAP R/3 BASIS tasks are the same as for SAP R/3 OLTP BASIS administration,
such as installing software, software patches, database administration and
monitoring operations, and user administration.
The SAP BW administration activities are related to SAP BW analytical applications
design, implementation, and administration, such as defining data load structures,
scheduling loading data in SAP BW data objects, and monitoring analytical
applications-specific data objects.
The content delivery functions are responsible for creating, managing, and delivering
information to end users. The Business Explorer is the primary menu option for
managing content delivery functions. The Business Explorer enables you to manage
analytical applications and associated objects to support the content delivery function
of SAP BW. The Analyzer takes you out of the SAPGUI interface and into the
Business Explorer Analyzer (Excel) to develop queries, reports, and other analytical
applications. The Delete query object option enables you to remove queries from the
SAP BW instance. Here you also maintain variables for queries to obtain user input
and pass that input to the SAP BW OLAP processor.
For example, if you want to analyze product revenues from two fiscal periods, you
define two variables (variables in SAP BW are like parameters associated with a
characteristic); for example, Begin_FY and End_FY. You use these variables to
define filters in your query for calendar year. Upon execution of the query, the user is
prompted for Begin_FY and End_FY before fetching data from the database. You
learn more about defining and using variables in SAP BW in Chapter 11, "Analyzing
SAP BW Data."
SAP BW 1.2B supports batch printing, which enables you to print long or common
reports in the background. You learn more about developing queries and working
with Business Explorer Analyzer and batch printing in Chapter 11.
The Administrator Workbench, as shown in Figure 7-3, consists of five key data
warehouse objects (tabstrips), titled InfoCubes, InfoObjects, ODS, InfoSources, and
Source systems. This Administrator Workbench view is called Startup view. In SAP
BW 2.0, instead of tabstrips, you have to select such objects from a drop-down
menu, as shown in Figure 7-3.
Figure 7-3: SAP BW Administrator Workbench (Transaction RSA1). The Top
Section Shows the SAP BW 1.2 Administrator Workbench with Tabstrips to
Manage Object Types. The Bottom Shows the SAP BW 2.0A Administrator
Workbench. The Only Major Difference is that in BW 2.0A, You Select the Object
Type From a Drop-Down Menu.
In Figure 7-3, the default view is set to Source systems. Anytime you open the
Administrator Workbench, you see this view. However, once source systems have
been defined in SAP BW, you seldom need to view the source system's tree.
InfoCube or InfoSource view is more appropriate as the Startup view for the normal
development process.
To change the Administrator Workbench startup view, select Settings, Startup view,
as shown in Figure 7-4. Here you set the Administrator Workbench Startup view to
InfoCubes. This is the default view when you launch the Administrator Workbench.
Note Most of the data warehouse construction process in SAP BW 1.2B and BW
2.0A is quite similar. From here on, I limit my discussion to SAP BW 1.2B.
Only when the two are significantly different in functionality or operations
will I include SAP BW 2.0A references.
The Administrator Workbench is further divided into two functional groups. One is for
the application design and development environment where you design all objects
leading to construction of an InfoCube, and the other is for the operational
environment where you schedule data extraction jobs, monitor data loads, and
change the management environment, as shown in Figure 7-6.
Source Systems
SAP BW data sources are divided into five classes, as shown in Figure 7-7. Notice
that one SAP BW instance can be a source to another BW instance. This SAP BW-
to-SAP BW linkage can support several data marts to form an integrated enterprise
data warehouse.
You can also load data in SAP BW using common flat files such as XLS, CVS, Fixed
Length, and Tab Delimited. The third-party data extraction tools provide additional
flexibility to populate data in SAP BW using Staging BAPI. Loading data using flat
files and third-party tools in SAP BW is discussed in Chapter 14, "Integrating Third-
Party Products with SAP BW," and Chapter 15, "Integrating Third-Party Data Access
Products with SAP BW."
In SAP BW 1.2B Patch 10, follow these steps to create a new source system in SAP
BW:
1. Launch the SAP BW Administrator Workbench.
2. Go to the Source systems tab. You will see the present source system in
SAP BW in a tree format.
Note Before you define a new SAP R/3 data source in SAP BW, you
need to set up a network level communication link between them.
This requires maintaining an RFC destination and basic ALE
setting in the source SAP R/3 for SAP BW and in SAP BW for
SAP R/3. Verify that the SAP BW administrator has already
confirmed that RFC connections are defined between these
systems and that ALE workflow in the source system is also set
up for SAP BW.
3. Select the Source systems folder, in the Source system tree root node, and
right-click. From the context menu, click Create Source System.
4. Select the source system type of your choice (as shown in Figure 7-7). In
SAP BW 1.2B Patch 10, you have two methods, automated and manual, to
create a new SAP R/3 data source definition in SAP BW. In the automated
method, you provide source SAP R/3 instance information (application
server name, system ID, system number, and login user number) and
system defines, and verify needed communication components in both
systems.
This example uses the second option, the manual source creation method,
to complete the connection setup process.
Figure 7-8: Creating a Source System in SAP BW. The Source System
is the Logical Name Assigned for a Remote
Connection.
6. Referring to Figure 7-8, click the green check mark to accept this entry. The
assumption is that XDWCLNT050 is a new source system, and your system
manager has not defined this source in SAP BW. You will define this new
RFC destination (transaction SM 59), as shown in Figure 7-9.
7. Enter the target host, system number, and description of this source
system. To connect to the source system, you need a valid account. Enter a
client number, user name (for example ALEREMOTE), and password that
will be used to log on to the SAP R/3 instance and extract data for SAP BW.
SAP recommends defining a user, ALEREMOTE, in SAP BW and SAP R/3
data sources with sufficient privileges to perform ALE tasks. After entering
user account information, save this entry.
8. Click Test Connection to verify the RFC destination (see Figure 7-10). The
status message on the bottom left of the window displays Connecting
XDWCLNT050 followed by the connection time statistics window. Click the
green left arrow to go back to the RFC Destination window.
Figure 7-10: RFC Destination Connection Verification.
9. Exit the RFC Destination window. Now SAP BW makes the connection to
the source system and generates IDOC basic types, port descriptions,
partner agreements, and so on. After successful ALE setup for the new
source system, the newly defined source system appears in the Source
System Tree, as shown in Figure 7-11.
Once you have attached a data source, you can collect information about metadata
and common business data that resides in a source system. To see source system
options, right-click the data source name. A pop-up menu displays available options,
as shown in Figure 7-12.
Figure 7-12: Maintaining Data Sources in SAP BW, Such as Updating InfoSource
Metadata from Source R/3 to SAP BW or Enhancing SAP-Provided Data
Extractors.
The metadata and data load techniques depend on the data source type. In the case
of SAP R/3 as a data source, metadata load is automatic by selecting the Update
InfoSource metadata option. You learn about metadata load methods in the next
section.
InfoObjects
InfoObjects are the basic entities defined in SAP BW. They become the foundation of
the metadata repository in SAP BW. The metadata repository is shared across all
InfoCubes.
Time characteristics to view data at different time periods, such as year and
fiscal period
Data package characteristics to track groups of data for audit and version
controls
An InfoObject can have several attributes to describe its behavior in SAP BW. For
example, material has attributes such as material number, material description, and
material family.
InfoObjects are building blocks of analytical applications in SAP BW. For example, to
do sales analysis, you use several InfoObjects, such as material, customer, sales
organization, time, unit of measure, and key figures, such as units sold, margin and
total order amount. As part of SAP BW business content, common InfoObjects are
added to the SAP BW repository. The following lists the three possible versions of
InfoObjects that exist in SAP BW:
D: SAP Delivered version. The original content reserved for SAP; however,
customers can use such objects as templates or copy them in an active SAP
BW client.
A: Active version. This is an InfoObject that meets all specified rules and is
ready for use in the SAP BW active client.
Before you use InfoObjects, you need to transfer needed InfoObjects from SAP
version (D) to an active SAP BW client, and then activate.
You are not limited to only the SAP BW defined InfoObjects. You can create custom
InfoObjects for your own applications. For example, you may need to define a set of
new InfoObjects to describe your custom data files to load data in SAP BW.
Under the InfoObjects tree folder, you define the InfoArea (subject-oriented objects
such as orders and invoices), followed by the InfoObject catalog, and then the
individual InfoObject within the InfoObject catalog.
One method to create or edit an InfoObject is to click the InfoObject icon in the
Administrator Workbench menu. This takes you to the InfoObject maintenance
screen (see Figure 7-14), described in the next section.
Figure 7-14: Maintaining InfoObjects in SAP BW 1.2B.
Creating a new InfoObject requires a good amount of business analysis work that
defines its behavior in SAP BW. Typical questions, besides standard data types, are
what attributes this InfoObject needs. Does it require master data? Does it need
hierarchies? How will the end user interact with this new InfoObject? These topics
are covered in great detail in Chapter 12, "SAP BW-Defining Custom InfoCubes."
All types of InfoObjects (characteristics, key figures, units, and time characteristics)
are maintained within the Administrator Workbench. In the following section, you see
how to maintain characteristics. For other types of InfoObjects, the process is very
similar.
InfoObjects: Characteristics
Take a look at the 0MATERIAL InfoObject structure. Note that MATERIAL is prefixed
by a zero. This means it is an SAP-provided object. All SAP-defined basic
InfoObjects defined in SAP BW are zero prefixed. There are several paths to get to
the InfoObject Maintenance window. A simple way to get to the InfoObject Edit
window is to click the InfoObject icon in the application menu bar (not in the
InfoObjects tabstrip), as shown in Figure 7-13.
This takes you to the Edit InfoObjects window, as shown in Figure 7-14.
Here you can list all characteristics, key figures, units, or time characteristics by
selecting the appropriate radio button. Then click the InfoObject drop-down box. For
example, if you want to select all characteristics, select the Char radio button and
click the InfoObject drop-down box. A list of available InfoObjects appears, as shown
in Figure 7-15.
Figure 7-15 shows the technical name, description, current version, activation state,
and data type of characteristics defined in SAP BW. This list is very useful for seeing
the status of InfoObjects and processing them in a batch fashion. For example, while
viewing the InfoObjects list, you may notice that several InfoObjects are inactive.
Select an inactive InfoObject and click the Activate icon. This activates all selected
InfoObjects.
Select 0MATERIAL from this list (refer to Figure 7-15) and click the Display button.
This displays a detailed window to describe all properties of the 0MATERIAL
InfoObject. As shown in Figure 7-16, InfoObject properties are classified in five
groups: General, Master data/texts, Hierarchy, Attributes, and Compounding.
General Metadata
Under the General tabstrip, you see most common metadata definitions of the
InfoObject (see Figure 7-16). Note that a few fields are already filled in with values. In
this example, you see /BI0/0IMATERIAL in the data element field. This is the name of
the MATERIAL InfoObject in the data dictionary-SAP R/3 basis metadata
management repository.
With SAP BW's multi-language functionality, end users can analyze data and
generate reports in the language of their choice. The language preference is
established when an end user logs on to an SAP BW instance. Suppose two sales
managers log on to the same SAP BW instance. One manager selects English, and
the other selects German. Both managers are looking at the same sales analysis
query to see product sales for the quarter. The person who chose English sees the
product family description for printers as Printer, and the person who chose German
sees the product family as Druker. Moreover, with multi-currency support in SAP BW,
both can see product revenues in local currencies. This powerful multi-language and
multi-currency implementation is quite suited to today's global business climate.
In earlier data warehouse models (William H. Inmon's data warehouse theory), the
master data was assumed to be a static data entity, meaning that master data does
not change in a data warehouse. However, in today's world the master data often
changes. Such change is identified as slowly changing dimensions.
To manage changes in the master data, you can make master data elements time
dependent when defining an InfoObject.
In the Master data/texts tabstrip, select the master data time-dependent check box.
This makes master InfoObjects time dependent. Again you see several table names
that store text-related information that SAP BW assigns and creates automatically.
For example, suppose a new general manager wants to see sales revenue
by sales area during the past two years grouped by months, regions, and
sales organizations to benchmark which sales organization structure
generated the most revenue. During those two years, the sales organization
was reorganized several times. To analyze such product sales data
correctly, you must time-stamp the sales organization hierarchy and the
associated product sale transaction data. With this master data time-
stamping, you can accurately analyze data that reflects the state of the
organization and the generated revenues.
Hierarchies
SAP BW supports robust hierarchy structures. You have several options to assign
one or more hierarchies (internal or external) to an InfoObject. Hierarchies are
assigned to an InfoObject through the InfoObject maintenance window, as shown in
Figure 7-18.
Hierarchies provide a powerful method for visual data navigation and data
aggregation at an object hierarchy level. Selecting a hierarchy model requires
extensive modeling effort to evaluate what works best for your business analysis
needs.
Note that hierarchies are shared across all InfoCubes. Dimension tables point only to
an InfoObject hierarchy structure. An InfoObject can have multiple hierarchies. Like
any other object, hierarchies support active and inactive versions. If you use object
hierarchies in SAP R/3, you can bring them directly to SAP BW. Moreover, you can
always manually define a hierarchy structure in SAP BW, and then load hierarchies in
SAP BW using flat files.
InfoObject Attributes
InfoObject attributes provide detailed descriptions on characteristics associated with
an InfoObject. Figure 7-19 shows the attributes of the 0MATERIAL InfoObject.
Attributes in a master data table are also referred to as navigational attributes that
support data navigation capability.
Like the master data, attributes are shared across all InfoCubes. Deciding when to
set a navigational attribute depends on how end users want to analyze data. The
data modelers need to understand how end users plan to view and analyze data
before setting navigational attributes. The use of large numbers of navigational
attributes (see Figure 7-20) can lead to poor query performance. Chapter 12
discusses SAP BW data modeling techniques in detail.
Compounding
The compounding feature enables data warehouse designers to build a relationship
between one or more InfoObjects to give more meaning for evaluation. For example,
you might want to evaluate the characteristics of Vendor in connection with Material.
Here, you create compound characteristics Vendor to Material, as shown in Figure 7-
21. With this link between Material and Vendor established, you have access to
Vendor InfoObjects in queries that reference Material. It simplifies the end-user data
analysis task.
Figure 7-21: Building Compounding Functionality for an InfoObject.
Key Figures
The process for defining key figures is similar to that for characteristics. However,
because key figures are measures of some entity, they differ in data types and
include mathematical attributes. The Key Figures maintenance window has three
tabstrips-Type/unit, Aggregation, and Other attributes, as shown in Figure 7-22.
SAP BW supports five types of key figures: amount, quantity, number, integer, date,
and time. You specify such types in the Type/unit tabstrip.
The Aggregation tabstrip is used to define evaluation methods for a key figure. Four
methods (summation, minimum, maximum, and no aggregation) are used by which
key figures are aggregated in the Business Explorer. You can also specify how a key
figure is aggregated in the Business Explorer with regard to an exception
characteristic that is optionally provided in the aggregate reference characteristics
field, as shown in Figure 7-23.
Figure 7-23: Defining an Aggregation Scheme for a Key Figure.
The Other attributes tabstrip is used to define how data is displayed in the Business
Explorer. The display attributes, such as decimal places and display text selections
(short or long), are selected in that window.
Time Characteristics
Time is the most important dimension in data warehousing. Every data analysis is
time-based such as revenues today, this quarter, yesterday, this year, last year, and
on and on. For this reason, SAP requires you to have at least one time dimension in
an SAP BW InfoCube. SAP provides a set of predefined time characteristics as part
of Business Content. With SAP BW 1.2B Patch 12, you cannot create your time
characteristics. SAP provides the following nine time characteristics:
Figure 7-24 shows how calendar-year time characteristics are defined in SAP BW.
Figure 7-24: Definition of Calendar Year (0CALYEAR) Time Characteristics.
Note By now you may have noticed that some fields in the InfoObject screens
are automatically filled in with text values prefixed by /BIC/ or /BI0/. This is
the SAP BW object's naming scheme for customer created objects. Object
names prefixed with /BI0/ are SAP defined objects for SAP BW. BIC stands
for Business Information Warehouse Customer Defined Object, and BI0 for
SAP Reserved Object.
This section looks at the 0MATERIAL InfoObject. From a database point of view, the
system generated several tables to capture all the detailed information on
0MATERIAL. A few such tables are listed in Table 7-1; these tables are specific to
managing the 0MATERIAL InfoObject definition. Note here that you do not need to
define these tables using SQL. SAP BW automatically created these tables.
Table 7-1: Master Data Tables for 0MATERIAL InfoObject in SAP BW 1.2B
Table Name Description
/BI0/MMATERIAL Master data
/BI0/TMATERIAL Text data
/BI0/HMATERIAL Hierarchy
/BI0/SMATERIAL Master data IDs (SID table)
/BI0/IMATERIAL SID structure of hierarchies
/BI0/KMATERIAL Conversion of hierarchy and SID
/BI0/JMATERIAL Material interval hierarchy
/BI0/NMATERIAL Attributes and SID relationship
/BI0/UMATERIAL View of text and SID tables
InfoObjects tree allows you to group InfoObjects in logical groups, called InfoAreas.
The benefit of InfoAreas is that when you reference an InfoArea, all InfoObjects
assigned to an InfoArea become visible to you. Working with the InfoObjects tree
requires the following three steps:
1. Create/maintain an InfoArea.
3. Create/maintain an InfoObject.
SAP BW gives you several paths to perform all the preceding tasks. Figure 7-26
shows paths you can take to manage the InfoObjects Tree structure.
Figure 7-26: Managing InfoObjects in SAP BW 1.2B.
Creating an InfoArea
To maintain an InfoObjects tree, right-click the InfoObject catalog line of the
InfoObjects tree (see Figure 7-27) and select Create InfoArea. You are prompted for
the InfoArea technical name and its description. Click the green arrow to save
InfoArea information.
When back in the Administrator Workbench window, make sure to click the Refresh
icon in the Application menu. You must refresh the screen to see the InfoArea you
have just created in the InfoObjects Tree, as shown in the bottom right of Figure 7-
27.
Now you need to define InfoObjects with an InfoCatalog. In the Create InfoObject
Catalog window, select the appropriate radio button to identify the type of catalog,
characteristic or key figure, as shown in Figure 7-29. Click the green arrow to accept
your entry. This takes you to the Edit InfoObject Catalog window.
The edit window has two sections. The bottom-right section displays existing
InfoObjects as templates, and the bottom-left section displays the InfoObject
structure of your InfoObject catalog. Initially, the structure area is empty when
creating a new InfoObject catalog.
By default, all available InfoObjects are displayed as templates. This can be a very
large list, and it can be time consuming to find the InfoObjects you need. For this
reason, you can narrow the list of InfoObjects by selecting all InfoObjects in an
InfoSource, InfoCube, another InfoObject catalog, or by specifying a criterion. This is
achieved by using the icons on the right of the Template type selections. Figure 7-30
shows an InfoObject catalog named "BW Sample Application: Characteristic"; it is
used as a template to define the characteristic structure for a new InfoObject catalog.
To verify that all individual InfoObject definitions are correct and active, click the
Check icon . Then click the Activate icon to activate and save the InfoObject
catalog. The window's status message line displays any activation errors or success
messages. When activation is successful, the Object status is changed to green,
indicating that it is active and executable.
Exit from the Edit InfoObject Catalog window to go back to the Administrator
Workbench. Here you see the InfoObject catalog in the InfoObjects Tree structure.
Repeat the same steps to create another InfoObject catalog for the key figures
associated with the InfoArea, as shown in Figure 7-31.
Figure 7-31: Editing an InfoObject Catalog for Key Figures.
For key figures, you also need to specify units of measure. Check and activate the
key figures InfoObject catalog and go back to the Administrator Workbench. You will
see both InfoObject catalogs listed under your InfoArea. Expand the InfoObject
catalog for characteristics and see individual InfoObjects that build an InfoObject
catalog structure. By selecting an individual member InfoObject-for example,
Customer Number-you will see all attributes of that InfoObject, as shown in Figure 7-
32.
InfoSources
An InfoSource is a logical view of information and the business rules that transform
data coming from a source system to the business analysis view needed to construct
an InfoCube. Each InfoSource can be assigned to one or more source systems. You
can also think of an InfoSource as a collection of rules and transformations needed to
stage data in SAP BW.
As discussed in Chapter 2, the scope of the InfoSource has been changed in SAP
BW 2.0A. As shown in Figure 2-10, the InfoSource is divided into two sets of objects:
DataSource and InfoSource. This breakdown makes SAP BW much more flexible in
defining and managing InfoSources that require data from several source systems.
Before creating or maintaining InfoSources, you must have at least one source
system defined in SAP BW. If your source system happens to be SAP R/3,
InfoSources for transaction and master data are automatically pulled in SAP BW
using the Source System tree, as shown in Figure 7-33.
Figure 7-33: Importing InfoSource Metadata in SAP BW From an SAP R/3 Data
Source.
After updating InfoSource metadata, you see a list of InfoSources in the InfoSource
Tree.
To create a new SAP R/3 InfoSource, select the InfoSources Tree in the
Administrator Workbench and right-click. Select Create application component (see
Figure 7-34).
Transaction data
Master data/text/hierarchies
The transaction data and master data InfoSources behave differently from one
another in SAP BW. For transaction data InfoSources, you associate one InfoSource
with one or more source systems. For master data InfoSources, you associate
source systems through an InfoObject.
InfoCubes
InfoCubes are the heart of SAP BW analytical data stores. An InfoCube is SAP BW's
equivalent of a logical data mart. A cube consists of characteristics and key figures.
The updated rules define how an InfoCube is populated. The InfoCubes tabstrip of
the Administrator Workbench is used to define all steps needed to build an InfoCube.
The InfoCubes allow you to view information from different angles. Profitability
Analysis, Sales Analysis, and Cash Flow Analysis are just a few common
multidimensional analytical applications. For example, you have an InfoCube with
five dimensions (Sales Organization, Customer, Product, Time, Unit of Measure) and
three indicators (Cost, Margins, Units Sold).
Suppose you have 10 sales representatives, 20 product lines, 1,000 customers and
are looking at them for two years' worth of data. You have 14.4 million ways (10 sales
rep x 20 products x 1,000 customers x 3 indicators x 48 months) to view this data.
Without multidimensional technology, doing such extensive analysis would not be
possible. The sales InfoCube can provide summary-level information for senior
management as well as for the district sales manger, depending on dimensions
selected and the level of aggregation information.
The InfoCube Tree, as shown in Figure 7-35, shows an InfoCube Tree structure. First
you create an InfoArea, and then you create InfoCubes under the InfoArea. The
purpose of an InfoArea is to group subject-oriented InfoCubes together, somewhat
like a group of subject-centric data marts. Figure 7-35 shows the Sales and
Distribution InfoArea that consists of the Customer InfoCube. In the future, one can
define additional InfoCubes related to sales and distribution such as Deliveries.
Figure 7-35: Sales and Distribution InfoArea and Associated InfoCubes.
This is a quick way of displaying the structure of an InfoCube. The InfoCube shown in
Figure 7-36 has eight dimensions named Customer, Material, Sales area data,
Version, Value type, Time, Unit of measure, and Data packet. The last three
dimensions are automatically assigned, but the rest are assigned by the user when
defining the InfoCube.
The Edit InfoCube window is where you actually start to construct the physical
structures of an InfoCube. It has three tabstrips. The Chars (Characteristic) tabstrip
(shown in Figure 7-37) is used to select characteristics and to define dimensions and
navigational attributes. The Time chars. (Characteristic) and Key fig. (Figures)
tabstrips enable you to select or define time periods and key figures needed for your
analysis.
To define or view the dimensions for an InfoCube, click the Dimensions button. This
shows you all dimensions defined in an InfoCube, as shown in Figure 7-38.
Figure 7-38: Defining Dimensions for an InfoCube and Assigning Characteristics
to the Dimensions.
Figure 7-38 shows that the Customer dimension is mapped to Sold_to party
characteristics, and the Material dimension is mapped to Material number. Another
method for dimensions assignment is to view the dimension assignment in a tree
fashion; click the Grphcl assgnmnt (graphical assignment) button in the Options
group. This displays dimension assignments in a very readable fashion, as shown in
Figure 7-39.
So far you've looked at the Characteristics tabstrip to see how characteristics and
associated dimensions are defined. The process for defining time characteristics and
key figures is very similar to that of defining characteristics in the InfoCube. In the
Edit InfoCube window (see Figure 7-37), click the Time chars and Key fig tabstrips,
respectively, to define time characteristics and key. You see available InfoObjects on
the right. Transfer needed time characteristics and key figures in the Cube model.
Then save the InfoCube.
This window has six tabstrips. The first, InfoCube contents, shows a list of all objects
defined in the selected InfoCube. Click InfoCube content or the Fact table button.
Both list the fact data content, but the data selection criterion is different. Using the
InfoCube content button is preferred because it provides you with more options to
select data sets from an InfoCube. The Fact table button only lists data from the fact
table, including the dimension columns in the fact table.
Team-Fly
Team-Fly
Summary
In this chapter, you learned the basics of the Administrator
Workbench. Now you have sufficient background on how to define
source systems, InfoObjects, and InfoSources in SAP BW. Other
components such as InfoCubes, ODS, and Scheduler are discussed
in the next chapters.
Team-Fly
Team-Fly
Chapter 8: SAP BW-Loading Business
Content
In this Chapter
SAP BW content consists of all objects needed to deliver several
ready-to-go analytical applications across many subject areas, such
as Sales and Distribution, Financial, and Human Resources. In this
chapter, you first learn about the basic data flows in SAP BW and
SAP R/3 needed to build InfoCubes. After importing metadata from
an SAP R/3 data source, you learn all the steps necessary to
activate business content in SAP BW to implement working
analytical applications.
Team-Fly
Team-Fly
Data Flow between SAP R/3 and SAP BW
Unlike traditional data warehouses where OLTP applications
schedule and trigger data extracts for data warehouses, called the
push model, SAP BW uses the pull model to pull needed data from
its data sources. You schedule data extracts from within SAP BW.
SAP BW sends data extract requests to the appropriate data
sources. The OLTP system collects/extracts and transports
requested data to SAP BW. SAP BW loads its data in its data stores.
The entire data load process is managed from within the SAP BW
Administrator Workbench, as discussed in Chapter 9, "Preparing R/3
Data Sources for SAP BW Initial Data Loads," and Chapter 10,
"Loading Data via Flat Files." The SAP BW administrator and
operations staff are responsible for scheduling data load jobs.
However, the business analyst and SAP BW developers need to
make sure that the data loaded in SAP BW is accurate and resolve
problems if data loads fail or report several warnings. Figure 8-1
shows data flows between SAP BW and its data sources. Notice that
the SAP BW staging engine needs to know full metadata and data
content definitions (structures) from its SAP R/3 data source
(extraction engine layer). This is achieved by importing metadata
from the source SAP R/3. But how is SAP BW specific metadata
captured and managed in SAP R/3? Here is how it works.
As shown in Figure 8-1, to load data in SAP BW, you need several
data structures that receive information from data sources to
populate InfoCubes. In SAP BW 1.213, metadata is similar to
InfoObject metadata in the SAP R/3 OLTP instance. Figure 8-4
shows tables in SAP BW that store metadata for all information
objects associated with InfoSources. Table names in italics represent
master data entities.
When SAP BW add-ons have been completed and the SAP R/3
logical system name for SAP BW has been defined, you are ready to
connect SAP BW and load metadata. In SAP BW, first define a
source system in SAP BW pointing to an SAP R/3 instance, as
described in Chapter 6.
For non-SAP R/3 data sources, first you define a data source in SAP
BW for a flat file. Then depending on the content of the flat file, you
may create a new InfoSource for master or transaction data.
If the flat file contains master data, it must have only one type of
master data InfoObject. In other words, from one file you cannot load
master data for customers and material. They have to be in separate
files, each uniquely identified in SAP BW via unique InfoSources.
When you attach a source system to an InfoSource, SAP BW asks
for the metadata for the flat file. You learn more about loading data
file flat files in Chapter 10.
Once metadata has been captured and validated in SAP BW, the
rest of the staging process is the same as if the data source were
SAP R/3.
Team-Fly
Team-Fly
Activating Business Content in SAP BW
As discussed in Chapter 7, objects in SAP BW can have three versions: D, M, and
A (delivered, maintained [revised], and active, respectively). You cannot work
directly with D-versioned objects; therefore, you need to make a copy of D-
versioned objects in your active client and then modify as needed. The business
content activation process consists of the following steps:
1. Transfer SAP-delivered content to the active client.
3. Activate objects.
Note Often, it is hard to know all the InfoObjects and the base level objects
needed to activate specific InfoCubes. Activating objects that depend on
base InfoObjects such as InfoSources, transfer rules, update rules, and
InfoCubes results in errors. Resolving these errors and activating
InfoObjects one by one can be very time consuming. To avoid this
situation, I suggest you always activate all InfoObjects in the SAP BW
active client and activate the rest of the objects when needed, such as
InfoSources, InfoObjectCatalogs, and InfoCubes.
The order in which business content objects are activated is important (numbers
as of SAP BW 1.2B Patch 12):
1. InfoObjects
2. InfoObject catalogs
3. InfoSources
4. InfoCubes
5. Update procedures
6. Query objects
7. Channels
First, you need to pull configuration information about a source SAP R/3 OLTP
instance. This requires the following steps:
1. Verify that the SAP BW add-on has been installed on the Source SAP
R/3 instance.
4. Transfer exchange rates from the source system to SAP BW; this is
shown in Figure 8-6. The system prompts for exchange rates and update
mode for the exchange rate-a new exchange rate or an update to an
existing exchange rate in SAP BW.
Figure 8-6: Importing
Exchange Rates From an SAP R/3 OLTP Instance.
5. Transfer the global settings, as shown in Figure 8-7. You have the choice
of transferring all currencies, units of measure, and fiscal variants defined
in the SAP R/3 data source instance. This saves you some time by
loading global settings automatically instead of defining them manually in
SAP BW.
The enabling of business content is a long process. First, make sure that you have
SAP R/3 instances defined as a data source in SAP BW. Then select object
categories one by one, transfer SAP versioned objects to your active client, and,
depending on individual object types, construct or verify transfer/communication
structures and update rules to populate the InfoCubes. Finally, activate queries
and channels associated with an InfoCube.
From the Administrator Workbench, choose Tools. From the drop-down menu,
select Business Content. This opens another submenu and displays a list of
objects, as shown in Figure 8-8.
Activating InfoObjects
To activate InfoObjects for a specific InfoCube, such as the Customer InfoCube,
select InfoObjects from the Business Content menu. This launches the InfoObject
display screen, as shown in Figure 7-14. Then display all InfoObjects associated
with an InfoCube.
Note Make sure that the Edit InfoObject window is set to the SAP Delivered
version. The field version on this screen displays "D" SAP delivery; if it
does not, then click the Change system Setting to Delivered version.
Select all InfoObjects, transfer the SAP delivered version, and save. Then go back
to the InfoObject Edit window, select these new InfoObjects, and click the Activate
icon. This activates all selected InfoObjects.
After you activate InfoObjects, SAP BW displays an activation report. Make sure
that there are no activation errors. If there are, first correct the InfoObjects causing
the problems and then activate only the inactive InfoObjects.
Activating InfoObjectCatalogs
After activating the InfoObjects, activate the InfoObjectCatalogs. Select the
InfoObject Catalogs option from the Business Content menu. The activation
process is similar to activating the InfoObjects, but you select InfoCatalog for
characteristic or key figure for individual InfoCubes. The process to activate an
InfoObjectCatalog is described in Chapter 7.
Activating InfoSources
You can activate InfoSources for a specific source SAP R/3 release (3.0D through
3.1I); however, this is optional because when SAP BW is connected to an SAP R/3
source system, the needed InfoSources are automatically defined in SAP BW as
part of the metadata import.
Activating InfoCubes
Business Content (SAP BW 1.2B Patch 12) provides more than 45 InfoCubes
(more than 100 in SAP BW 2.0). Again, not all customers need to activate all
InfoCubes. Most customers will load specific InfoCubes to assess their
functionality and enhance the content to meet their needs. You can create new
InfoCubes based on SAP BW-provided InfoCubes as templates. Then you remove
or add elements as needed to implement your analytical applications.
To activate an InfoCube, select InfoObjects from the Business Content menu, and
then select an InfoCube to activate. For example, to activate the SD Customer
InfoCube, select 0SD_C01 from the list of available InfoCubes, as shown in Figure
8-9. Click the Display button to display the InfoCube in the InfoCube design
window.
Figure 8-9: Activating an InfoCube in SAP BW.
Click Transfer SAP version to transfer the Customer InfoCube model from SAP
delivered business content, as shown in Figure 8-10 and Figure 8-11.
Click the Dimensions button (see Figure 8-11) to verify that all dimensions are
assigned correctly. Before activating the InfoCube, click the check icon . If no
errors are reported, click the activate icon . Notice that after activation, the
InfoCube version is changed to Active and Saved. Exit the InfoCube Edit window.
Until now, you have an InfoCube, but SAP BW does not know how to fill data. The
update rules define how an InfoCube, fact, and dimensions tables will be
populated. After you have a physical data model active in SAP BW, you need to
define the update rules. Transfer the update rules for the InfoCube 0SD_C01 from
the Business Content menu. Verify that all rules for characteristics, key figures,
and time references are correct. Transfer these rules and activate the InfoCube, as
shown in Figure 8-12.
After activating the update rules, you will see that the Update Rules icon turns
green. Select the Customer InfoCube, right-click, and select Display InfoCube Data
Model. This displays dimensions, navigation attributes, and key figures for the
selected InfoCube, as shown in Figure 8-13. This is a good way of looking at the
SAP BW InfoCube data model for discussion and business analysis.
Figure 8-13: Visual View of the InfoCube Model for the Customer InfoCube in
SAP BW.
REP: Query
STR: Templates
VAR: Variables
The query template STR is simply a raw definition of a query to fetch data from an
InfoCube. Because these templates are generic, they are not very sophisticated in
terms of query formats and restrictions. These are used to quickly build queries for
end users.
A query consists of several elements. Calculated Key Figures, CKF, and Variables,
VAR, serve a unique role in query logic. The CKF are used to define a new key
figure based on some existing key figures or by means of formulas. Calculated Key
Figures can be defined at the InfoCube level or within a query.
SAP BW business content consists of all of the preceding types of query objects
for InfoCubes. To activate query objects for a specific InfoCube, select Query
Objects from the Business Content menu, and select the query type and the
InfoCube. The system displays all available queries. Select all queries and
activate, as shown in Figure 8-14.
Figure 8-14: Loading Queries From Business Content for Customer InfoCubes.
Then activate the Templates, Calculated Key Figures, and Variables associated
with each InfoCube.
Activating Channels
Channels are primary components of the SAP BW information delivery model.
Channels are based on information objects, such as queries, that are managed
within the InfoCatalog. To use SAP delivered channels, select Channels from the
Business Content menu.
Select Channels from the Technical Name list, as shown in Figure 8-15. In this
example, I selected 0SD_CH01, Sales and Distribution Channel to copy from the
SAP delivered content. After successfully loading the selected channel in SAP BW,
verify that InfoCatalog recognizes the added channels. To do so, go back to the
Administrator Workbench and click the InfoCatalog icon.
Figure 8-15: Activating SAP Delivered Channels.
From the Channel InfoCat tabstrip, click the Channel drop-down box. This lists all
available channels in the InfoCatalog, as shown in Figure 8-16. Select a channel
from the channel list, say 0SD_CH01, and click the Save icon.
To assign channels to users, click the User channel assignment tabstrip. All users
defined in SAP BW are listed on the left under the User tree. All channels defined
in the InfoCatalog are shown on the right. To assign channels to users, select a
user from the left, then drag and drop to the User-channel assignment folder, as
shown in Figure 8-17.
This completes the Business Content activation in the SAP BW instance. You may
have noticed that it is a very manual process. In SAP BW version 2.0, however,
these processes are very much automated. Once you activate a higher level object
(for example, an InfoCube), the system automatically activates everything needed
to completely build and activate the InfoCube. In SAP BW 1.2A Patch 12, a similar
automated process is used to activate the SD Demo InfoCube. You simply click the
Activate demo cube icon, as shown in Figure 8-18, and the system does the rest of
the work for you. It also creates InfoPackages to load data in the demo cube, and
then you're ready to run queries after activating channels and user assignments.
To learn more about business content, look at the business content definition
document, Cube_Que_e.pdf, which describes in detail all cube structures and
associated queries. This 288-page document (SAP BW 1.2B) is included on the
SAP BW installation CDs and SAPNet.
Note Activating business content in SAP BW 2.0 is very simple. Activating one
InfoCube will activate all dependent and associated objects
automatically.
Team-Fly
Team-Fly
Summary
In this chapter, you learned the basics of data flow in SAP BW. Most
of the data flow discussed was limited to business content. Now you
also should have a good understanding of metadata management in
SAP BW and in SAP R/3. You also learned what constitutes SAP
BW business content and how to activate individual objects to build
an information delivery environment. The next chapters describe in
detail the necessary steps to prepare SAP R/3 for data loads and
how data is extracted from SAP R/3 and moved in SAP BW.
Team-Fly
Team-Fly
Chapter 9: Preparing R/3 Data Sources for
SAP BW Initial Data Loads
In this Chapter
One of the key benefits SAP BW enjoys is its tight integration with
the SAP R/3 OLTP system. This tight integration, however, can have
significant impact on SAP R/3 operations when preparing initial full
data loads for SAP BW to set a baseline for analytical data. In this
chapter, you learn how to prepare SAP R/3 for SAP BW and how to
load data in SAP BW.
Team-Fly
Team-Fly
Preparing SAP R/3 for SAP BW
Depending on your SAP R/3 OLTP and SAP BW project time line,
you may be able to share one SAP R/3 instance to do development
for OLTP and SAP BW. However, I recommend a stand-alone SAP
R/3 OLTP production instance as a data source for an SAP BW
development project. Do not work with dummy data; instead, make a
copy of your SAP R/3 OLTP instance or an SAP R/3 instance that
really reflects your current SAP R/3 configuration with a decent
amount of reference and transaction data.
The SAP R/3 OLTP preparation for SAP BW begins with the
installation of SAP BW objects, such as tables, programs, and data
extractors, as described in Chapter 8. Before installing any SAP BW-
specific objects on SAP R/3 OLTP, make sure that the BASIS team
understands all prerequisites for an SAP R/3 OLTP corresponding to
the SAP BW version and check the OSS notes for the latest news on
installations. Depending on the version-SAP R/3 OLTP (3.0F-4.5B)
and SAP BW (1.2A, 1.2B, 2.0A)-you may need to install hot
packages before installing any SAP BW objects on the SAP R/3
OLTP. Note that starting with SAP BW version 2.0x, the BW add-on
to SAP R/3 is now called Plugin for SAP BW.
After installing the BW add-on in the SAP R/3 OLTP instance, you
need to define the remote logon connection in SAP R/3 OLTP for the
SAP BW instance. This is a five-step process for the SAP BW 1.2B
add-on, as outlined here:
1. Create an ALE user, transaction SU01, to be used for
remote logon to SAP BW from SAP R/3 OLTP. Make sure
that this user, usually ALEREMOTE, has sufficient
authorizations for the RFC and ALE components, as
described in the installation guide. The ALE user must have
profile S_BI-WX_RFC. This profile consists of sub-profiles
such as B_ALE_ALL, S_APPL_LOG_A, S_IDOC_ALL, and
S_RS_ALL.
2. Set up a logical system name for SAP BW. The logical
system is used by SAP R/3 to connect the SAP BW
instance for data transfer. To set up a logical system name
on SAP R/3 OLTP, run transaction SM30 and edit table
V_TBDLS. Create a new entry for the SAP BW logical
name, such as XDWCLNT100.
Figure 9-1:
SAP R/3 OLTP Verification of the Workflow Runtime
Environment for SAP BW.
You are not limited to SAP standard LIS or SAP BW specific LIS
structures; you can use or create custom LIS structures as data
sources for custom InfoCubes in SAP BW. For example, S001 is a
standard LIS structure in SAP R/3 OLTP, and S260, S261, and
others are SAP BW specific LIS structures that are installed as part
of an SAP BW add-on.
In this example, to build initial data loads for SAP BW, you need to
first populate LIS tables S260, S261, S262, and S263. The process
of populating such tables is called the statistical update. The
statistical update for individual data sets may take from a few
minutes to several hours and sometimes days based on the volume
of transaction data in SAP R/3. No transaction activity is advised
while statistical updates are in progress to avoid database tables
locking and data inconsistencies, which will be further discussed
later in the chapter.
All data warehouses start with baseline data from their transaction
data sources. After loading initial data, only new or changed data is
needed in a data warehouse. During the SAP BW add-on process in
SAP R/3, several LIS primary and change capture tables are defined
and initialized. The change log tables are called DELTA logs. To
implement delta change capture in SAP R/3, you will find two tables
associated with each LIS table. For example, Figure 9-3 shows two
tables, S261BIW1 and S261BIW2, to capture information about new
or changed orders for S261. All tables, S261, S261BIW1, and
S261BIW2, have the same metadata definitions. The only difference
is that table S261 is used to load the initial data set for SAP BW, and
S261BIW1 and S261BIW2 are used to capture incremental order
changes.
Having two delta tables per LIS table is a big advantage in high-
volume SAP R/3 implementations. One table actively captures new
or changed data, and the other table remains idle. When SAP BW
requests data, the active delta table is immediately locked, and the
standby table becomes active to collect new changes, as shown in
Figure 9-3. When all open transactions in the locked table are
completed, data is shipped to SAP BW, and then this table goes in a
standby mode.
But how does SAP R/3 or SAP BW know which delta table is
currently active and collecting new data? The table TMCBIW in SAP
R/3 flags the active LIS table name. When SAP BW issues a delta
capture request, it looks in this table to find the active table name,
Step 2 in Figure 9-3. Then it empties the standby table (Step 3 in
Figure 9-3), locks the currently active table, and sets the flag in the
TMCBIW table for standby table as an active table (Step 4 in Figure
9-3). Finally, it sends data to SAP BW from the locked populated
standby table. This cycle continues for subsequent data requests
from SAP BW.
Team-Fly
Team-Fly
Strategies to Prepare Initial Data Loads
Before loading transaction data in SAP BW, you need to load the
reference data. Reference data is master data, texts, hierarchies,
and other configuration-specific data that is used across all analytical
applications in SAP BW. Moreover, having master data in SAP BW
first speeds up the InfoCube population process. This is because
SID tables for master data are created during master data loading,
and these SIDs are used in InfoCube dimensions as pointers for
master data.
To load master data in SAP BW, you do not need to. run any
statistical update procedures. However, the order in which you load
reference data in SAP BW is very important, as listed here:
1. Master Data
2. Texts
3. Hierarchies
The actual disk space used by reference data tables in SAP BW will
be almost the same as in SAP R/3. If you are planning to support
multi-language SAP BW implementation, the number of master data
text records may be several times that of the actual master data
record, just as in SAP R/3. For example, assume you have one
million material master records and support three languages. You will
have master data text in three languages, resulting in three million
material master text records. Make sure that you have sufficient disk
space in SAP BW to accommodate fivefold material master text
records.
Note In a multi-language SAP BW environment, only the TEXT
elements are stored in multiple languages. The basic
master data attributes are only stored once.
Quality of master data for SAP BW is important. Make sure you load
only the data that you really need from SAP R/3 in SAP BW. When
SAP BW requests master data from SAP R/3, it pulls all master data
records, including those that are marked as delete or obsolete. This
may cause problems when loading master records.
You now have two problems with this data. First, it contains an
invalid character, and the loading job will fail when it encounters this
record. Second, this record is not needed because it is an invalid
record in SAP R/3 OLTP.
Note When you delete master data from SAP R/3 OLTP, it is
"marked for deletion" instead of "physical deletion" to
preserve transaction data integrity. The reason that SAP
R/3 does not physically delete master data from its
database is that some transaction records may have
references to "to be deleted" master data records. In this
case, removing master records will result in data
inconsistencies. Hence, master data is preserved in SAP
R/3.
Luckily, SAP BW provides a mechanism to identify permitted
characters beyond typical text and numbers, as shown in Figure 9-4.
There you identify characters that will be acceptable in SAP BW.
This is a quick fix to acknowledge invalid data, but you need to
simply exclude such data sets at the data source level, SAP R/3.
Analyze your master data and identify ways to group master data in
small buckets. Estimate the number of records in each group.
Suppose you have four million material master records in SAP R/3.
You need to find a way to group four million records in a good
sizable bucket that is right from your SAP R/3, network, and SAP
BW resources. You may group material master records by Product
Family or by range of Material IDs. Schedule 400K data records per
request. To load all four million records, you will schedule 10 jobs. If
400K records are processed within a reasonable time period, say 10
minutes, you may increase the number of records and determine
what number of records per data request is best for your
environment.
Note You cannot store reference data in SAP BW 1.2B ODS. All
master data sets are sent to SAP BW via IDOCs and not
tRFC. Therefore, processing very large IDOC data
requests will time out before data loads are completed.
Moreover, resolving data load issues by correcting large
IDOCs and re-processing is a time-consuming proposition.
The recommendation is to start with a small number of
records per request. Then Increase or decrease the
number of records per request based on your system
resources and performance.
For example, one cannot assume that all orders always have the
same number or line items or number of shipments or invoices. For
this reason, you need to do extensive analysis of existing order data
and identify a collection of orders, invoices, and delivery records for
an acceptable statistical update and data sets for SAP BW loads.
For transaction data loads in SAP BW, you can use TRFC and store
data in ODS before loading it in an InfoCube. This way, large data
sets are first sent to ODS. Then in SAP BW, you can make additional
data quality or data selections to populate InfoCubes without having
to pull data from SAP R/3.
For delta updates, several programs fill LIS structures for BW. As
shown in Figure 9-3, these programs first determine the status of
which table to fill (xxxBIW1 or xxxBIW2) by looking in the TMCBIW
table. For example, program RMCSS260 fills S260 LIS table, and
RMCSS261 updates S261 table.
Team-Fly
Team-Fly
Data Loading Strategies in SAP BW
InfoCubes
By now, you are quite familiar with SAP BW architecture and
different ways to load data in SAP, such as SAP R/3, SAP R/2, flat
files, and staging BAPIs. This chapter discussed data loading
techniques from SAP R/3 as the data source. Chapter 10, "Loading
Data via Flat Files," describes how to load data from flat files, and
Chapter 14, "Integrating Third-Party Products with SAP BW,"
describes methods to load data using staging BAPIs as well as third-
party products.
Four classes of data objects exist in SAP BW. They store data for
InfoCubes, ODS, Reference, and Warehouse operations. InfoCubes
and ODS are primary objects to store transaction data. Note that you
cannot store master data in the ODS. The question is why and when
one needs to store data in ODS.
The original intent behind ODS implementation was to store raw data
from its data sources, and then be able to manipulate data in ODS
tables. However, in SAP BW 1.2B, once data was stored in the ODS,
SAP did not provide any facility to manipulate data in the ODS; the
only option was for someone to write ABAP code to clean or qualify
data. By manipulating original data, you lose the originality of the
data received, and the ability to trace it back to its origin in SAP R/3
is lost. SAP has virtually redesigned the ODS in SAP BW 2.0 to
support the data warehouse industry's acceptable ODS model.
Chapter 17, "The Operational Data Store in SAP BW 2.0," describes
SAP BW 2.0A ODS architecture and possible implementation
models in detail.
Figure 9-3 simply indicates that populated LIS structures are sent to
SAP BW. But how and which method is used to send data to SAP
BW is not known. The actual transfer method for such data objects is
defined in SAP BW and not in the data sources, in this case SAP R/3
OLTP. The next section describes SAP BW data transfer options.
Figures 9-6 and 9-7 show transaction data paths in SAP BW. The
data objects loading scheme is defined at InfoPackage schedule
time. However, before you store data in ODS, you must define the
data transfer mode to be tRFC with ODS as shown in Figure 9-8.
Figure 9-6: Data Load
Paths in SAP BW 1.2B.
Note Remember the SAP BW 1.2B ODS objects are called PSA
objects. The PSA object names are system-generated,
such as /BIC/B00000123. However, the ODS objects in BW
2.0 are not system generated. They are user defined, such
as /BIC/ORDDETAILS.
When the transfer method is set for TRFC with ODS option and
transfer rules are activated, you need to activate corresponding
update rules for an InfoCube. Then you are ready to load data from
SAP BW data sources.
Note You can load transaction data in ODS from any data source
that SAP BW supports, such as SAP R/3, flat files, SAP
R/2, or third-party data loading tools using staging BAPIs.
You are not limited to storing transaction data in ODS when
the data source is SAP R/3 OLTP.
Team-Fly
Team-Fly
Loading Data in Data Objects in SAP BW
Figures 9-6 and 9-7 show transaction data options but do not show paths
for reference data. This is because when reference data is loaded in SAP
BW, master data, texts, and hierarchies are stored in individual tables
where texts and hierarchies are linked to the master data records using
primary/foreign key relationships. Once saved, reference data requires no
further data manipulation. The tables are just lookup tables. However, when
you have transaction data, you have several options to save in several data
objects, and this sometimes gets confusing-especially in SAP BW 2.0A, as
shown in Figure 9-7.
InfoPackage is like a job stream that links incoming data requests to SAP
BW internal data objects by scheduling several activities as defined by the
user, such as data selection criterion, sequence of data objects to populate,
or additional processes needed to be run before or after the data load.
Figure 9-10 shows the InfoPackage Scheduler window. Depending on the
SAP BW version and the data source type, you may find different sets of
folder tabs and options under each section. For example, Figure 9-10
represents the InfoPackage Scheduling option for an InfoSource when the
data source is an SAP R/3 OLTP instance. However, the same window
looks somewhat different in SAP BW 2.0A. Overall the content is the same
but with one exception. The SAP BW 2.0 InfoPackage Schedule option, as
shown in Figure 9-11, also allows you to set up several pre- and post-data
load activities. This simplifies the process of typical data warehouse
construction where you need to validate or perform operational tasks before
and after building InfoCubes. For example, maybe you want to first delete
existing working tables, back up existing tables, drop indexes and then build
the InfoCubes, then later notify operations staff or other parties if the job
was successful. It is up to individual database operations teams to decide
how to put together such job streams.
Note You need to define a data load scheme once and use it repeatedly
to load subsequent data loads. Once you have verified that a data
load scheme works as defined, you can submit such data load
jobs to be run periodically-for example, daily at 1:00 A.M. to load
new order changes and populate the Sales Analysis InfoCube.
Such job scheduling is done right from within the InfoPackage
Scheduler window, as shown in Figure 9-10.
While in the InfoPackage Scheduling window, click the Data target tabstrip.
Two options are available: ALE inbox only and ALE inbox and InfoCube, as
shown in Figure 9-14. For a visual aid, click the question mark icon on the
bottom-right of the window. This shows the path of data for updates.
Figure 9-14: Defining Data Load Flow in SAP BW When the Data
Transfer Method is ALE IDOC.
Note The data load method is defined when you define the transfer
rules. Here you are simply defining the data execution flow.
By selecting either option, you are using the ALE IDOCs mechanism to
move data from the SAP data source and save it in IDOC data tables in
SAP BW and then build the InfoCubes. Saving data in the IDOCs is similar
to saving data in ODS, but data is stored using IDOCs structures. Here you
can use the ALE transaction to edit, simulate, or process for downstream
data loads.
Though the ALE method works fine, due to ALE record size limitations-
1,000 bytes/record-and intense IDOC processing resources, you should
define the transfer method for an InfoSource as tRFC with ODS. Once this
mode is set at the transfer rules level, you have several options to define
data load paths during job schedules, as shown in Figure 9-15.
Figure 9-15: Defining Data Load Flow in SAP BW When the Data
Transfer Method is tRFC with ODS. In SAP BW Version 2.0A, ODS
Means PSA.
Note The ODS options shown in Figure 9-15 are only available when
the transfer method for the InfoSource is elected as tRFC with
ODS, as shown in Figure 9-8 and discussed earlier in this chapter.
Note that in SAP BW 1.2B, Figure 9-15 should work. In SAP BW 2.0A, this
scheme will work as well, but here ODS means PSA. True ODS integration
with the InfoPackage scheduling process will be integrated with the SAP
BW Administrator Workbench in SAP BW 2.0B. That will allow you to select
all possible data paths defined as shown in Figure 9-7.
When you have large volumes, break one long running data load job into
several small jobs. The InfoPackage scheduler provides a data selection
screen to set this scheme. Click the Select Data tab and enter a range of
records you want to fetch from its data source, as shown in Figure 9-16.
Here, for example, all order transaction data for materials with 8000 to 9000
ID ranges has been selected.
Figure 9-16: Loading a Large Amount of Data in SAP BW by Splitting
One Huge Task into Multiple Data Load Sessions. Each Session is
Limited to a Given Range of Material Values.
Because initial data loads can take several hours to several days, by
scheduling data in small segments over several days, you will not cause
any interruptions to daily SAP R/3 OLTP operations. However, you need to
plan full data loads in conjunction with statistical updates on the OLTP side,
which means that if you are loading initial order transaction data from an
SAP R/3 instance, select the Full Load option (see Figure 9-17) when
scheduling the job, and that you have executed the statistical run for that
data set on SAP R/3.
Loading master data is similar to loading transaction data. You do not have
many options other than data selection criterion at the scheduling time.
Remember, you cannot use tRFC or store data ODS for master data
elements.
Once initial data has been loaded in SAP BW, you can only pull new data
from SAP R/3. Before you can pull new data from SAP R/3, you need to
activate updates for LIS structures by use of transaction OMO1 or OMO2.
Then select the delta update option available in the Update parameters
tabstrip of InfoPackage Scheduler, as shown in Figure 9-17.
When delta update requests reach SAP R/3, data is pulled from the Delta
Change table currently active and not from Source LIS structure, as shown
in Figure 9-3 and described earlier in this chapter.
Most LIS-based InfoSources can automatically capture new data for SAP
BW. However, for other application modules and reference data, one has to
either write specific delta update programs to capture new data for SAP BW
or do full update loads. For low volumes or small SAP R/3 operations, full
loads are always preferred over writing change capture programs. This
subject is discussed in Chapter 13, "Enhancing Business Content and
Developing Data Extractors."
Team-Fly
Team-Fly
Monitoring Data Loads
SAP BW provides an excellent data load monitoring utility to check
running data loads or those that have been executed in the past. You
also have the option to view data load jobs started by a user or by an
InfoCube or other parameters, as shown in Figure 9-18 in the
Further selections options. Clicking the Monitor icon in the
application menu bar of SAP BW Administrator Workbench launches
this utility. The inverted tree icons on the selection buttons in Figure
9-18 show that you will view data load activities for selected
InfoCubes and InfoSources.
Note that Figure 9-18 shows the data load monitoring facility for SAP
BW 2.0A. You will see a new option, Output as tree control, in the
Display type section. This option displays monitoring statistics in a
tree format. Clicking the Execute button, you will see results in tree,
overview list, or Gantt chart format. Figure 9-19 shows an output list
of selected data loads. The traffic-light symbols represent the state
of individual data loads. Green indicates that the data load was
successful. Yellow means either that the job is still in progress or a
state could not be resolved. Red means fatal errors have occurred
and need to be resolved.
When the problem resides in the source system, you need to look at
the data sets generated in the source system to identify the root
cause. To do a complete end-to-end problem resolution from within
the Monitor facility, you can view IDOCs generated in the source
system by checking IDOCs in the source system boxes on the
bottom of the window, as shown in Figure 9-21. Select a row with
yellow or red traffic-light symbols and click the Analyze Tool icon on
the bottom left of the window. Here you will be able to view IDOCs
current and previous content. After correcting erroneous records,
update records in the SAP BW warehouse manually or restart the
data load job using current IDOCs.
Figure 9-21: Data Load Detailed Analysis to Identify and Resolve
Update Problems.
Often, when you request full data loads from an SAP R/3 data
source, you receive an "Error in the source system..." message. The
problem probably is not with the data but rather that you have update
mode enabled for the LIS structures. Use transaction OMO1 or
OMO2 to disable LIS structure update mode and resubmit the full
data load. And remember to reset it as soon as you finish your data
loads.
Team-Fly
Team-Fly
Summary
Loading data in SAP BW requires an in-depth understanding of data
volumes in the data sources. For initial data loads, you need to
prepare several data feeds to optimize system resources. In this
chapter, you learned the basics of the data loading process in SAP
BW and the steps you need to take in preparing data feeds.
You also learned about methods to load data in SAP BW. Actual
data flow in SAP BW depends on the method you choose, ALE or
tRFC with ODS. Moreover, you gained some insight into BW 2.0A
data load scheduling options.
This chapter did not cover data load techniques for flat files and
third-party data sources. These subjects are covered in Chapters 10
and 14, respectively. After reading these three chapters, you will
have a good understanding of data loading methods available in
SAP BW 1.2B and 2.0A.
Team-Fly
Team-Fly
Chapter 10: Loading Data via Flat Files
In this Chapter
In Chapters 8 and 9, you learned how data flows in SAP BW and
about the process of loading data in SAP BW from SAP R/3 as a
data source. In this chapter, you learn how to load data in SAP BW
from data sources other than SAP.
Team-Fly
Team-Fly
Non-SAP R/3 Data Source Loading Methods
One of the key requirements for a data warehouse is that the
environment must be able to accept data from several data sources
in a seamless fashion. I have yet to see one enterprise data
warehouse that does not use flat files to load data. Flat files are an
inexpensive method of preparing a data feed for the data
warehouses. However, flat files do require manual work to prepare
and move to the right place at the right time for the data warehouse
to load data.
Flat Files
Data Providers
In this chapter, you learn how to load data in SAP BW via flat data
files. Loading data from flat files is a simple process. However,
implementing staging BAPIs and data providers to load data in SAP
BW is a complex process. For this reason, several data extraction
tool vendors have implemented staging BAPIs in their products to
easily implement data loading schemes in SAP BW. The staging
BAPI implementations enable you to automatically load data in SAP
BW after extracting data from any data source, such as DB2,
Informix, Oracle, Microsoft SQL Server, or other proprietary data
sources that a third-party tool can read data from. You learn about
staging BAPIs and data provider implementation in Chapter 14,
"Integrating Third-Party Products with SAP BW."
Note In traditional data warehouses, large data volumes are
often loaded using bulk-load utilities provided by the
database vendors. These utilities are fast and highly
optimized. However, SAP BW 1.2B does not support any
database-specific bulk-load options. Though database-
specific bulk-loading utilities provide highly optimized
services, they do not provide needed information to SAP
BW warehouse managers to track all aspects of data flows
from sources to destinations. No bulk-load services are
planned for SAP BW version 2.0.
Team-Fly
Team-Fly
Loading Data using Flat Files
Loading data in SAP BW is a simple process. The design of the loading process is
done by an SAP BW application developer, but production data load tasks are done
by the Basis and SAP BW operation team.
The data loading process from flat files is very similar to loading data from SAP R/3
with one key difference: the metadata. When you define an SAP R/3 source system
in SAP BW, by updating metadata, SAP BW automatically brings in the needed
metadata from the SAP R/3 instance for all InfoSources. Because SAP BW does not
know the external data file structure, you must first define metadata associated with
individual data flat files. After metadata has been defined, the rest of the InfoCube
construction and data load process is the same. Logically, an InfoSource in SAP BW
associated with a flat file is the same as if an InfoSource is connected to SAP R/3
objects.
You can load the following types of data in SAP BW via flat files:
Master Data
Text
Hierarchies
Transaction Data
SAP BW accepts most common data file formats, such as Microsoft Excel's Comma
Separated Files (CSV), ASCII (ASC), or other known field delimiters of your choice to
define a data file.
File definitions for master data, text, and transaction data are very simple. However,
hierarchy data file definitions can be very complex based on levels of hierarchy
nodes. Often, it is worth building hierarchies manually after the needed InfoObjects
and their master data have been loaded in SAP BW.
I'll show you how to define a flat file data source, then load master data, texts, and
transaction data in SAP BW. Finally, you'll see how to load transaction data in a
predefined InfoCube.
In this situation, you want to load master data for products. The master data consists
of an 18-character product code and its 9-character group. Text associated with
products is in English and German, E and D, respectively. The transaction data
consists of customer order data that references the products in the product flat files.
All files are in Microsoft Excel CSV format.
Defining a Flat File Data Source in SAP BW
From the Administrator Workbench, click the Source systems tabstrip. You will see
the source system tree. Select the Source systems node, right-click, and select
Create source system. Select the flat file source system icon (blue PC), and click the
check mark to accept your choice, as shown in Figure 10-1.
You are then asked to select the source system type. Enter a source system technical
name and description, as shown in Figure 10-2. The descriptive name will be
displayed in the source system tree list. After saving your source system, you will see
this source system tree list.
Figure 10-2: Creating a Source System for Flat File Data Sources.
Until now, SAP BW did not know the structure of this new data source and had no
association with any other objects. Association between this new flat file and the rest
of the SAP BW data load environment is made via an InfoSource.
In the Administrator Workbench, click the InfoSources tabstrip. Then create a new
InfoSource in an Application Component to be used for flat files. SAP BW supports
two types of InfoSources: transaction and master data types. Here you are asked to
identify the type of flat file source, either transaction or master data, as shown in
Figure 10-3.
Figure 10-3: Defining InfoSource Type for Flat File Data Sources.
Select master data and click the check mark, as shown in Figure 10-3. When asked,
enter the InfoObject you want to associate with and save. In this example, an
InfoObject ZPRODUCT is selected. After the InfoSource has been created, the next
step is to link this InfoSource to a data source, the flat file.
From a metadata point of view, master data and transaction data flat file sources
behave differently. Through SAP BW 1.2B Patch 12, the master data InfoSource is
associated with one InfoObject coming from one data source. This logic has changed
in SAP BW 2.0.
Figure 10-4: Assigning a Flat File Source System to a Master Data InfoSource.
Figure 10-5: Attributes Definitions for Master Data.
It is important to note that for master data flat file InfoSources, the input data file must
conform to the field layout as defined in the metadata window. For example, Figure
10-5 shows that each record in the master data Attributes file must consist of a
product and its group type value separated by a field delimiter. Similarly, the Texts
master data file (see Figure 10-6) defines the structure of a data file as language key,
product, and product description, each separated by a field delimiter.
Note When defining a time-dependent master data, you need two additional
fields, DATEFROM and DATETO, in master data records attributes. In the
case of time-dependent hierarchies, you also need to define these two date
fields for each item. This master data time-dependency plays an important
role in the modeling of analytical application objects such as InfoCubes.
Multidimensional modeling is discussed in Chapter 12, "SAP BW-Defining
Custom InfoCubes."
As mentioned earlier, SAP BW supports two types of InfoSources: transaction and
master data types. If an InfoSource is of transaction type, SAP BW displays the
Maintain Meta Data window. At this moment, SAP BW has no physical connection to
a transaction data file to read the file structure. You need to manually define the
transaction file structure. Assign appropriate InfoObjects that map to the flat file field
definitions, as shown in Figure 10-8 for customer sales data.
Once you have metadata for master data and transaction data files, the rest of the
data loading process is very similar to loading from SAP R/3.
Remember that this metadata is used to define the transfer structure for the related
InfoSource. Make sure that it is complete.
It is a common practice that flat files contain plain ASCII data. After defining the input
data file layout, make sure that the data values stored in the flat files are consistent
with the SAP BW data types used to define the metadata for the file. The following
guidelines must be followed when preparing data files.
Data files must not include a header line. The actual data values must start
from the very first record.
Sort input files, when possible, based on characteristics that identify each
record uniquely. This improves data load performance.
Due to IDOC record size limitations, you are restricted to 1,000 bytes per
record. This 1,000 bytes record limit does not apply when data is to be stored
in ODS. When data consists of more than 1,000 bytes and you do not want to
store it in ODS, split the file but keep the same characteristics in the same
order in all files, each assigned to an individual InfoSource. Because each file
has the same characteristics or dimensions, when data is loaded in an
InfoCube, records from individual data files are rolled up correctly for end-
user queries and reports as if they came from one data file.
Team-Fly
Team-Fly
Loading Data via Flat Files
Assuming that you have defined and activated transfer and
communication rules for individual InfoSources and have created an
InfoPackage, you're ready to load data in SAP BW.
Before loading transaction data in SAP, first load the relevant master
data. To load primary master data, click the Master data button (see
Figure 10-10). The icon's color changes from gray to green.
Note When loading data in the background, all external data files
must reside on the application server. The reason is that
when a background job is launched, SAP BW has no
knowledge of which workstation to go to in order to fetch the
needed data files.
Remember that the structure of a hierarchy data file must match the
hierarchy metadata definition sorted by CHILDID and NEXTID, as
shown in Figure 10-7. The top node ID, the root, is always 00000000,
and the next level down, child nodes, has the ID 00000001. These
IDs are used to define treelike structures in flat files to build
hierarchies in SAP BW.
Team-Fly
Team-Fly
Loading Transaction Data From Flat Files
Loading transaction data from a flat file is no different than loading
from SAP R/3. When you schedule an InfoPackage for a transaction
data InfoSource, you are asked to provide the file name that contains
the transaction data, as shown in Figure 10-12.
After providing the data file name, select the InfoCube to load data
into by clicking the InfoCubes tabstrip, as shown in Figure 10-13.
Submit the data load job to populate the InfoCube.
Figure 10-13: Selecting InfoCubes to Load Data into From
External Data Flat Files.
After data loads have been scheduled, you can monitor the progress
of individual data load job requests and resolve data load issues
accordingly. Often, data in the flat file does not map properly with the
transfer structure, and the data load job fails. Make sure that the file
definitions map correctly with the metadata defined in SAP BW.
Caution Often, not all fields in a data file have values assigned.
For missing values in CSV-type data files, SAP BW sets
a blank for a character field and zero for numeric fields.
This may lead to some erroneous results when data is
fetched back from the InfoCubes. From a data quality
perspective, define your flat file values in a way that will
identify missing values as something that you can report
on. For example, for character type fields with no
values, set the default value to MISSING. This way you
can filter out records from your analysis that have
incomplete data.
Team-Fly
Team-Fly
Summary
In this chapter, you learned how to load data via flat files. You can
load both the master and transaction data in SAP BW. The overall
process is very similar to loading data from SAP R/3. The only major
difference is that you need to define metadata for the transaction and
new master data InfoObjects. Then you need to provide file names
that contain data for master and transaction data files needed to
schedule data loads.
In the next chapter, you learn how Business Explorer works and how
to analyze data from SAP BW.
Team-Fly
Team-Fly
Chapter 11: Analyzing SAP BW Data
In this Chapter
In this chapter, I will use an InfoCube that has product sales data.
You learn how many different ways you can analyze and present
sales data using the SAP BW data access and reporting
environment.
Team-Fly
Team-Fly
Business Explorer Architecture
The overall intent of gathering data and constructing a data
warehouse is to be able to access data for strategic and tactical
decision-making processes. To build such an environment, SAP BW
provides two major components known as the Business Explorer
(BEX) Browser and BEX Analyzer. As mentioned in Chapter 2, the
BEX Browser is used to publish available corporate information sets,
such as a global repository of reports, documents, knowledge
resources, and analytical applications. The BEX Analyzer is used to
build analytical applications against SAP BW InfoCubes. These
applications could be a simple query in Microsoft Excel or a
combination of several worksheets in the form of a solution
workbook using VBA programming to switch worksheets.
As shown in Figure 11-1, SAP BW 1.2B does not support pure Web
reporting. You can publish a BW report (BEX Analyzer Excel with an
embedded query) over the Internet; however, to do interactive
anlysis, you need to install SAPGUI and SAP BW client components
at the client workstation. In SAP BW 2.0, you can publish and
execute pure Web queries by implementing the Web interface using
the SAP Internet Transaction Server (ITS), as shown in Figure 11-1.
In SAP BW 1.2B, you were unable to access data from ODS. In SAP
BW 2.0, you can access data from ODS via BEX Analyzer or by
using InfoSet Query (previously known as SAP Query). Notice in
Figure 11-1 that you now have several choices to access data from
SAP BW. In this chapter, you learn about how to develop queries
and reports against SAP BW using Business Explorer. Key
enhancements, InfoSet Query, and Web reporting are discussed in
Appendix D, "Key Enhancements in SAP BW 2.0," and Operational
Data Store in SAP BW 2.0 is discussed in Chapter 17, "The
Operational Data Store in SAP BW 2.0."
Team-Fly
Team-Fly
Business Explorer Analyzer
Business Explorer Analyzer functions are driven within a Microsoft
Excel add-in called SAPBEXO.XLA. As part of the SAP BW frontend
installation, this add-in is automatically included in Microsoft Excel,
as shown in Figure 11-2. The BEX Analyzer menu bar is
automatically loaded and displayed in a blank spreadsheet when you
launch Microsoft Excel. Figure 11-2 shows the BEX Analyzer menu
bar for both SAP BW versions 1.2B and 2.0A. Notice that BEX
Analyzer menu options in SAP BW 2.0A are quite different than in
SAP BW 1.2B.
Team-Fly
Team-Fly
Defining Queries
Before defining a query, outline what you want to inquire about. Which
InfoCube do you need to write a query against? What data elements do
you need, and how do you want to filter, navigate (drill down), or slice and
dice data? Select only data elements that you need by limiting your
dimensions or applying filters to restrict the query view.
1. Lines. This is the area where you place characteristics that will
appear as rows of the query result.
2. Columns. This is the area where you place the selected key
figures. If you want to define new calculated key figures local to
your query, this is where you define the calculated field.
For example, if you want to list products sold and revenues by all
distribution channels except Direct Sales, you set the distribution
channel filter to Direct Sales.
4. Filter. You use the Filter area to place characteristics for
restricting query data; you do not use this area for navigation. For
example, you use this area if you want to list only the filter on the
Distribution channel but never want to navigate or drill down
using the Distribution channel.
Figure 11-4 shows the steps to define a new query. First click the Open
icon in the BEX Analyzer menu bar. This opens the dialog box to define
the type of query and the InfoCube data source. Click the Queries button,
select an InfoCube, and click the New button. This displays the query
definition window, which shows all dimensions and key figures defined in
the selected InfoCube.
Click the Save icon to save the current view of the query.
Click the Check icon to execute a query. This launches the query in
Microsoft Excel and displays the results, as shown in Figure 11-6.
Figure 11-6: The Default Query Results Based on the Global Query
Setting. You Can Change the Look and Feel of the Query by Changing
its Properties.
Team-Fly
Team-Fly
Attaching a Chart
Attaching a chart to display data is a simple process. Click the Query
Layout icon and select Attach chart, as shown in Figure 11-8.
This automatically displays the currently selected characteristics and
key figures on the x-axis and y-axis, respectively.
By default, the chart includes all rows in the query result set.
However, you can select a specific rows and columns range, as
shown in Figure 11-9, to custom design your chart.
Right-click in the chart area and select the Source Data option.
Select a Data Range. You can create as many charts and graphs as
you like, each with a different range and type, as shown in Figure 11-
9.
You can also change chart types, such as to bar charts, pie charts,
line charts, or any other type that will best present your results. To
change chart types, right-click in the chart area, select Chart Type,
and select the chart type of your choice.
Team-Fly
Team-Fly
Navigating and Slicing and Dicing Data
The Navigational feature allows you to drill down data based on
individual characteristics. For example, you can analyze revenues by
material and associated navigational attributes such as Material
Type. On the other hand, slicing and dicing data allows you to switch
dimensions on the fly; you can also set filters or ranges to move data
in available dimensions to understand data behavior. For example, if
you want to analyze revenues by material and customer, switch
Customer dimension with Material and then restrict results by a
Distribution channel.
Team-Fly
Team-Fly
Filters and Restricted Key Figures
Filters and restricted key figures are two common methods for
limiting the scope of the result set. Filters can be fixed or a range of
values that are passed on to select a data set for the query.
The restricted key figures are virtual key figures in the Query
definition that are derived based on the InfoCube Key.
For example, suppose you want to display only the sales revenues
for the current and previous years in your report. To do so, create
two restricted key figures: Current Year and Previous Year. Use
these restricted key figures in your query, as shown in Figure 11-12,
instead of the Amount key figure, as shown in Figure 11-9.
Team-Fly
Team-Fly
Analyzing Data in the BEX Analyzer
By filtering and restriction, you simply limit the scope of data you
want to analyze. However, after getting the needed data set, you
might need to do further analysis, such as on the most profitable
products by region or the best salespersons for specific products,
and so on.
The two quick techniques for drilling down data are described here:
Thus far, you have seen query results without repeated characteristic
values. For example, as shown in Figure 11-15, the query result on
the right shows the customers only once and displays blanks in
subsequent rows if the customer has ordered multiple material-
products. The data is easy to read and looks good.
You might also notice a subtotal line that gets added for each
product, customer, and calendar year combination. This makes data
very hard to read and understand, as shown in the left side of Figure
11-16.
Now the repeated key values are not displayed in Figure 11-16, but
too many subtotals are listed in the results. You may want to list only
the subtotals by Material and not subtotals for all characteristics. To
do so, select a characteristic for which you want to suppress
subtotals and right-click to display the available options. Select
Customer, Suppression of totals row, and Always, as shown in
Figure 11-17. This recalculates subtotals and displays subtotals by
Material; however, it still shows revenue breakdown by Calendar
year without its subtotals, as shown on the right side of Figure 11-17.
Team-Fly
Team-Fly
Use of Variables in BEX Analyzer Queries
Variables make queries flexible and dynamic. With variables, you set
selection values at runtime instead of hard coding in the query
definition. These variables are defined in the SAP BW instance, via
transaction RSZV or from the main SAP BW menu option. From the
SAP BW main menu, select Business Explorer and select the option
Maintain Variables and define a new variable, for example,
ZCUSTMR, associated with characteristic 0CUSTOMER, as shown
in Figure 11-18. This means that when you refer to characteristic
0CUSTOMER, the variable ZCUSTMR is accessible. You can
include these variables in the query definition to filter data.
Note The variable names in the Query property must start and
end with &. For example, the Time Period variable
ZTIMPRD in Figure 11-20 is recorded in the Query
properties as &ZTIMPRD&.
Team-Fly
Team-Fly
The InfoCatalog
The InfoCatalog is a repository of all reports and solutions. Here you
implement your information delivery model; you organize data
objects and their consumers, the end users. You define Channels (in
SAP BW 1.2B) or Activity Groups (in SAP BW 2.0), assign specific
reports to Channels/Activity Groups, and finally assign users to
specific Channels/Activity Groups. This top layer is the Enterprise
catalog that contains all queries and reports. When a user signs on
to the SAP BEX Browser, based on a user profile, all reports defined
in the Channel/Activity Group are made available to the user. Figures
11-21 through 11-24 show how the InfoCatalog is used to publish
reports.
Team-Fly
Team-Fly
The Business Explorer Browser
The BEX Analyzer is ideal for power users and query developers; however, the best
way to deliver information from SAP BW or other repositories and information
sources is to use the BEX Browser. The BEX Browser presents information to users
in an organized fashion. In SAP BW 1.2B, users were grouped by Channels, such
as Operation Manager, Sales Manager, and Marketing Manager, as shown in Figure
11-25. In SAP BW 2.0, Channels are replaced with Activity Groups.
On occasions when you are not familiar with the content of published reports, you
can easily preview individual reports. Move the cursor to the report and select
Preview. The report layout and data elements in the report are displayed on the
bottom half of the browser, as shown in Figure 11-26. This is a nice feature to use to
understand how reports are constructed.
As stated earlier, the BEX Browser can also manage non-SAP BW information
objects, such as URL links and other pointers to other documents (see Figure 11-
27). To include a URL in the BEX Browser, use the drag-and-drop area of the BEX
Browser, a light blue horizontal strip on the bottom left of the BEX report list area.
Drag the URL from your Internet browser and drop it in the BEX drag-and-drop area.
Then drag the URL to connect to a cluster to organize objects.
To execute a report, move the cursor on the report and select the EXECUTE option.
The BEX Browser launches a Microsoft Excel session, and then you are right back
in the BEX Browser to analyze data.
Remember, your BEX Browser session remains active while you are in BEX
Analyzer. The BEX Browser and BEX Analyzer establish two separate connections
to SAP BW. So any time you launch another report from the BEX Browser, it will
open another BEX Analyzer session. Now you have one BEX Browser and two BEX
Analyzer sessions. Close the sessions you no longer need. Each session uses your
workstation resources as well as SAP BW connection resources.
Team-Fly
Team-Fly
Summary
This chapter covered the SAP BW data access and reporting
environment. The BEX Analyzer provides a good data analysis
environment, and the BEX Browser publishes information across the
enterprise in a very organized fashion. This chapter provided you
with a solid understanding of how to present and analyze data in
many different ways. You also saw how to define queries and format
data in a way that is most useful to you.
This chapter was dedicated to accessing data from SAP BW; it did
not cover how to access data from SAP BW third-party tools.
Chapter 14 discusses how to access data from SAP BW using
ODBO third-party integration with SAP BW.
Team-Fly
Team-Fly
Part III: Designing Custom SAP BW OLAP
Solutions
Chapter List
Chapter 12: SAP BW-Defining Custom InfoCubes
Team-Fly
Team-Fly
Chapter 12: SAP BW-Defining Custom
InfoCubes
In this Chapter
SAP provides a rich business content for analytical applications;
however, it is not expected that it will meet 100 percent of customer
analytical OLAP needs. You either have to extend SAP-provided
business content, as discussed in Chapter 13, "Enhancing Business
Content and Developing Data Extractors," or define custom
InfoCubes and needed data objects to meet your business data
analysis needs. In this chapter, you will learn how to construct
custom InfoCubes to meet your data analysis needs.
Team-Fly
Team-Fly
Data Warehouse Modeling
As with any data warehouse project, data modeling is key to the
success of a high-performance data warehouse implementation.
Data modeling defines how information objects behave in a data
warehouse: logically and physically. Prior to SAP BW 2.0, most data
modeling was focused around a multidimensional paradigm to
support slice-and-dice types of analysis. With the implementation of
Operational Data Store (ODS) in SAP BW 2.0, you now need to think
of SAP BW modeling from an enterprise data modeling perspective
where you model ODS and multidimensional data objects to support
operational, slice-and-dice, and historical data analysis needs, all
under one information framework: SAP BW.
The first question that comes to mind is why you need to think
differently when it comes to modeling a multidimensional or an
enterprise data warehouse. The reason is that multidimensional
database structures are designed to analyze numeric data, such as
measurements, against a given set of variables or characteristics.
On the other hand, the enterprise data warehouse is a logical
collection of all information objects that include multidimensional,
ODS, historical, and unstructured data objects. Therefore, the scope
of enterprise data warehouse modeling is much broader than
multidimensional modeling alone. The following section describes
multidimensional data modeling from an SAP BW perspective.
Conceptual
Logical Data
Physical Data
Deployment
The data modeling team consists of business and data analysts and
enterprise data modelers to gather business requirements for
analytical applications. For SAP BW projects, an SAP BW business
content specialist should be a member of the conceptual and logical
modeling phases. Because SAP BW does most of the database
level implementation work, you do not need a database level
programmer to code schemas, store procedures, triggers, or define
indexes. For physical data modeling, however, you should keep one
DBA on the team, especially for database sizing issues. Involve
BASIS operations team members in defining the SAP BW path-to-
production life cycle and in defining the deployment model when
SAP BW goes in production. Make SAP BW support part of the SAP
R/3 support structure. This chapter is designed for SAP BW
developers who define InfoCubes and build analytical applications.
Though the above are good news for data modelers, you will run into
cultural issues associated with the SAP R/3 OLTP and traditional
data warehouse modelers, as discussed in Chapter 2.
Note Due to SAP BW's tight integration with the SAP R/3 OLTP
instance, be very careful to model information navigation
schemes directly from SAP BW to SAP R/3 OLTP. SAP BW
2.0B provides this navigation capability, but this does not
mean that you have to implement such direct to OLTP
navigation in every query. Use this capability only when an
analytical activity requires an analyst to investigate
complete transaction-level details that still exist in the SAP
R/3 OLTP. This is another cultural issue. I have seen SAP
R/3-centric SAP BW developers who are more interested in
jumping to the SAP R/3 OLTP instance rather than focusing
on modeling InfoCubes and ODS objects in SAP BW. My
advice is to limit real-time reporting against SAP.
Team-Fly
Team-Fly
Multidimensional Data Modeling (MDM)
A star schema is the most common form of a multidimensional
model. In the center of a star schema is the fact table connected to
several dimensions that business users use to slice and dice data.
Look at the SAP Sales and Distribution demo InfoCube data model,
as shown in Figure 12-2.
Figure 12-2:
Multidimensional Data Model in SAP BW. The Star Schema
Representation for the Sales and Distribution Demo InfoCube in
SAP BW 2.0A.
On the left is a star schema for the Sales and Distribution InfoCube.
It has nine dimensions and four key measurements. Each dimension
is connected to the fact table via its unique ID. A record in the fact
table is uniquely identified by the keys of the dimension tables and
becomes a multi-part primary key. In this example, to make a unique
fact record there are nine dimension keys, each representing a
dimension. In database terminology, keys of the dimension tables
are foreign keys in the fact table.
Defining Dimensions
Defining Facts
You also can define a factless fact table. This means that
such a fact table contains no measure to query dimension.
For example, to model a manufacturing plant's cost
effectiveness in shipping products, you define dimensions
such as Material, Plant, Time, Unit of Measure, Ship to Zip
Code, and the fact table that has only one dummy measure,
Existence, set to value 1 as a fact. Then by simply slicing
and dicing dimensions, you get counts of the dimension
intersections, as shown in Figure 12-3; for example, you
could obtain the number of products shipped from a
manufacturing plant to customers living in Boston during the
last two years.
Figure 12-3: Factless Fact Table. It Contains No
Measures.
Team-Fly
Team-Fly
SAP BW Extended Multidimensional Data
Model
In a traditional star schema model, the reference data is modeled in
dimensions and limited to one cube only. In SAP BW, the reference
data is shared across all InfoCubes and ODS objects. This is
managed via an intermediate table, called a Set ID (SID) table. The
SID table connects attributes of a dimension to a corresponding set
of master data, text, and hierarchies, as shown in Figure 12-4.
Note In SAP BW 2.0, the SID tables are further decomposed into
two separate SID tables: one for time-dependent and
another for time-independent attributes of reference data
objects. This makes it easier to implement and manage
time-dependent dimensions, known as slowly changing
dimensions. To implement slowly changing dimensions,
master data must be implemented as time dependent.
Then at query run time, use a variable to pass the time
period of choice for the relevant master data attributes, as
discussed in Chapter 11.
Team-Fly
Team-Fly
Creating a New InfoCube in SAP BW
Constructing a custom InfoCube requires a good amount of analysis
to identify end users' data analysis and reporting needs.
InfoSources
Dimensions Attributes
Building an InfoCube
Most often you define update rules for key figures only. Before
creating update rules, you must know the business rules that define
the measurements and key figures. To create update rules for an
InfoCube, right-click the active InfoCube and select Create Update
Rules. First you are prompted for the InfoSource name to use for the
InfoCube, followed by the InfoCube Update Rule: Change window,
as shown in Figure 12-8.
To get to the Update Rules window, select one key figure and click
the Detail icon on the bottom half of the window. This takes you to
another window where you can define the update rules for
characteristics and key figures.
The update method for a key figure could be a simple move or a very
complex logic to compute values. You can define an update routine
by selecting the ABAP Routine method icon as shown in Figure
12-9. Then click the Create new routine icon on the right of the
Routine method line. You will be asked to enter a routine name. SAP
provides an ABAP routine template that will need its structured
defined. You simply need to add your logic for key figure calculation.
The Read master data option allows you to look up values from the
master data tables. For example, say you want to store actual
descriptions of Sales Organization instead of its code, or you want to
standardize product or customer codes based on a predefined
master data lookup table.
After defining all update rules, check the update program by clicking
the Check icon on the bottom left of the Update Rule definition
window. If no errors are reported, click the Transfer button that has a
green check mark and exit this window. Save and activate the
update rules.
Team-Fly
Team-Fly
Joining InfoCubes
This is a new feature in SAP BW 2.0. The MultiCube is simply a
definition, or view, that is based on multiple InfoCubes. Actual data
remains in the source InfoCubes. Data is fetched at run time from
source InfoCubes in parallel to improve performance.
Team-Fly
Team-Fly
Summary
In this chapter, you learned about data-warehouse-modeling
techniques primarily focused on multidimensional data modeling for
InfoCubes. You learned how to implement custom InfoCubes in SAP
BW. Moreover, you learned how to join multiple InfoCubes, a new
feature in SAP BW 2.0. The ODS data modeling and implementation
process is discussed in Chapter 17. The next chapter covers how to
enhance business content and develop custom data extractors for
SAP BW.
Team-Fly
Team-Fly
Chapter 13: Enhancing Business Content
and Developing Data Extractors
In this Chapter
Though SAP BW content consists of all objects needed to deliver
ready-to-go analytical applications, it is not expected that it will
satisfy 100 percent of the data needs of all customers. You can add
value to business content either by enhancing existing business
content or by creating your new data objects and extractors in
source SAP R/3 to pull data in SAP BW. In this chapter, you learn
the business content enhancement process and how to extract data
using generic extractors.
Team-Fly
Team-Fly
Enhancing Business Content
Business content in SAP BW 1.2B consists of several objects such
as InfoObjects, InfoCubes, InfoSources, Update Rules (as part of
InfoCubes), Queries, and Channels. To support business content in
SAP BW, one must install SAP BW components in the SAP R/3
OLTP instance. These components consist of data extractors, delta
capture tables, function modules, transactions, and associated
metadata objects for InfoSources. Chapter 8 describes how to load
business content in SAP BW from the SAP R/3 OLTP instance. This
chapter describes how to extend SAP-provided InfoSources content,
how to create new InfoSources, and how to build new data
extractors in SAP R/3 OLTP instances for SAP BW.
EXIT_SAPLRSAP_001-Transaction Data
EXIT_SAPLRSAP_004-Hierarchies
Team-Fly
Team-Fly
Extending Transaction Data Content
Before deciding on extending business content, extensively analyze
present business content, such as the InfoSources. When you find
that needed data is missing, you should enhance your transaction
InfoSources. This is because the enhancements you make will be
made in the SAP R/3 OLTP environment. For this reason, you need
to stay involved with SAP R/3 OLTP development plans to include
BW-specific development efforts in the SAP R/3 OLTP project life
cycle. Often, your OLTP configuration may not be capturing the
needed data. This can burden existing OLTP configuration projects.
Figure 13-2:
Enhancing Data Extractors in SAP
R/3.
9. After saving the code, you must activate the project before
your enhancement can be used.
Team-Fly
Team-Fly
Extending Master Data InfoSource Content
Enhancing master data is similar to enhancing transaction data. One
simple way to extend master data content in the SAP R/3 OLTP side
is to define a new view and assign that view to the InfoObject
transfer structure using the following steps for SAP BW 1.2B:
1. Copy or change the master data extraction view using
transaction SE11. For example, copy a customer view
BIW_KNA1 to BIW_KNA5. Here you define additional fields
in a new view.
Team-Fly
Team-Fly
Extending Texts InfoSource
For master data text elements, text extractors have a fixed generic
transfer structure for text called RSTEXTTRSF. To fill this structure
with new text elements, you need to use EXIT_SAPLRSAP_003.
One of the export parameters of this function module is C_T_TEXT.
This is an internal table that has formatted text data. You change the
fields in this internal table to add new text.
Team-Fly
Team-Fly
Debugging Data Extractors
Debugging a data extractor is tricky. Because extractors run as
background tasks, users cannot set breakpoints to debug the code.
You need to add an endless loop in the data extractor code. When
SAP BW schedules this job to extract data from SAP R/3 OLTP, the
data extractor code goes in an infinite loop. You log on to the SAP
R/3 instance under the same user name being used to extract data,
usually ALEREMOTE. Here are the steps to debug data extractors:
1. Create an endless loop inside the user-exit as shown here:
DATA: DEBUG_FLAG.
DO.
IF DEBUG_FLAG = 'X'.
EXIT.
ENDIF.
ENDDO.
Team-Fly
Team-Fly
Chapter 14: Integrating Third-Party ETL
Products with SAP BW
In this Chapter
In earlier chapters, you learned that SAP BW loads data from SAP
R/3 and flat files using IDOCs or tRFCs. In this chapter, you learn
about other methods to load data that resides in SAP R/3 or non-
SAP applications; you learn how to load data directly from data
sources such as Oracle, Microsoft SQL Server, or flat files. You also
learn how to implement a third-party tool to load data in SAP BW.
Team-Fly
Team-Fly
SAP BW Data Load Interfaces
It is a well-known fact that enterprise data warehouses source data
from several corporate transaction systems. This means that an
enterprise data warehouse must provide services that enable
customers to integrate heterogeneous data sources in a seamless
fashion. To make this happen, SAP BW (beginning with release 1.2x)
provides a collection of Business Application Programming
Interfaces (BAPIs) to facilitate integration of non-SAP R/3 data in
SAP BW. Such BAPIs are called Staging BAPIs. The reason for
calling such BAPIs Staging BAPIs is that their scope is limited to the
Staging engine layer of SAP BW, as shown in Figure 14-1.
Staging BAPIs make SAP BW open to load data from just about any
data source. SAP also provides BAPIs and the Microsoft OLE DB for
OLAP (ODBO) interface to access data from SAP BW. The data
access BAPIs and ODBO are public APIs, and several data access
vendors have implemented interfaces to SAP BW that complement
SAP BW BEX reporting capabilities. Refer to Table 3-2 in Chapter 3
for a list of vendors that are ODBO certified. Chapter 15, "Integrating
Third-Party Data Access Products with SAP BW," focuses on third-
party data access tools to access data from SAP BW.
Note Built-in data loading interfaces in SAP BW, flat files, and
Staging BAPIs enable you to load master and transaction
data. However, with Staging BAPIs you can also load
metadata of incoming data objects and dynamically
connect to external applications, eliminating the need for
scheduling and preparing flat files.
Before learning how Staging BAPIs work, first look at SAP BAPI
technology. BAPIs were first made available to customers with
release 3.1 of SAP R/3. BAPIs expose SAP R/3 business
functionality through business objects. The SAP Business
Framework provides an open object-oriented component-based
architecture that enables software components from SAP and other
vendors to interact and integrate with each other. Such objects are
called SAP business objects. All SAP business-object types and
their methods are defined and described in the Business Object
Repository (BOR). SAP business objects are accessed through
BAPIs. SAP business objects and their BAPIs provide an object-
oriented view of SAP R/3 business functions.
Metadata Management
Figure 14-2 illustrates the mapping of extracted data against the
transfer structure of an InfoSource defined in SAP BW. Note that this
applies to transaction data as well as master data attribute
InfoSources.
Figure 14-2: SAP BW Metadata Management Process using
Staging BAPIs.
Team-Fly
Team-Fly
Implementing Informatica's PowerCenter to Load
Data in SAP BW
As stated previously, SAP has certified data warehouse products from several
data warehouse vendors to load data in SAP BW using Staging BAPIs. I
implemented solutions using products from Acta Technology, Hummingbird,
and Informatica Corporation that extracted data directly from an Oracle (Siebel)
database and a Financial Analysis data mart in Microsoft SQL Server to
populate InfoCubes in SAP BW. Each product that I worked with has its own
strengths and limitations.
To create a new data source definition in SAP BW, select the Source systems
tab in the Administrator Workbench (see Figure 14-5). Then right-click Source
systems and select Create Source System.
From the Select Source System Type option, select Ext.System, data and
metadata transfer-staging. Then enter the source system and its description, as
shown in Figure 14-6. In this example, a source system named PC_SOURCE
is used to get data from PowerCenter. After entering source information, click
the Check button.
The next step in completing the external data source definition is to set up an
actual RFC connection definition. SAP provides several connection types to
access remote programs; but for SAP BW Staging BAPIs implementations of
Informatica PowerCenter, use connection type T and start an external program
via TCP/IP.
When you click the check mark button, shown in Figure 14-6, the system opens
an RFC destination definition window, transaction SM59. Enter a textual
description for this connection definition. Enter Program ID as PC_SRC. SAP
BW uses this program ID to communicate with the PowerCenter Integration
Server for SAP BW. The RFC destination definition process is the same in both
BW 1.2B and BW 2.0A.
Note Notice that the program ID is case sensitive, and the value you enter
must be the same value you enter in the SAPRFC.INI file used by the
PowerCenter Integration Server.
After entering the program ID PC_SRC, click the Registration button, shown in
Figure 14-7. Registering means telling the SAP RFC gateway that an external
program, PC_SRC, will communicate with SAP BW.
Figure 14-7: Establishing the RFC Definition for the PowerCenter
Environment for SAP BW.
You can actually verify this remote connection by clicking Test connection, as
shown on the top left of Figure 14-7. However, at this stage it will give you a
connection error because the PowerCenter Integration Server for SAP BW has
not been started. I discuss this process in the next section.
After defining this data source in SAP BW, the rest of the process using a data
source is the same as if data were coming from SAP R/3 OLTP. For testing
purposes, create an InfoSource for transaction and master data, assign
PC_SOURCE as a data source, and define transfer and communication
structures. Only the transfer structure for Active InfoSources will be visible in
PowerCenter as one data target per InfoSource.
PROG_ID: The program ID; here you use PC_SRC as the program ID.
If you need to connect to multiple SAP R/3 or SAP BW data sources, you need
to define additional destinations in the SAPRFC.INI file. For example, the
SAPRFC.INI file to connect the SAP BW instance has the following
parameters:
/*=========================================*/
/* SAPRFC.INI file for Integration Server */
/* The IP addresses are dummy addresses */
/*=========================================*/
/* Type R: Register an RFC server program at an SAP gateway */
/* or connect to an already registered RFC server program */
/* The PowerCenter Integration Server for BW uses */
/* this information */ */
/*============================*/
DEST=BWSERVER
TYPE=R
PROGID=PC_SRC
GWHOST=12.30.0.20
GWSERV=sapgw00
In this example, a flat file is used as the data source that contained product
royalty data. Using the PowerCenter Warehouse Designer tool, define the
Royalty file structure and import metadata of activated InfoSources, as shown
in Figure 14-9.
When you select Import From SAP BW, you are asked to enter SAP BW logon
information. The connect string is actually the destination value of SAP BW, as
defined in the SAPRFC.INI file-in this case, BWSERVER, as shown in Figure
14-9. After successful logon to SAP BW, you see a list of transfer structures of
active InfoSources. Now you simply drag and drop transfer-structure definitions
into the Targets folder of the ROYALTY project. The dotted line shows the drag-
and-drop path. Repeat the same process to import additional InfoSources, if
any, and save the project.
After defining data sources and targets in PowerCenter, the next step is to
define mapping and transformations. It is here you build field-level relationships
between data sources and targets. To do so, click the Mappings folder in the
project tree and create a new mapping scheme; for example, MappingtoBW.
Then drag and drop sources and targets in the mapping work area.
PowerCenter automatically relates fields between sources and targets using
the field-ordering scheme. If this is not what you need, you can build your own
field mapping by simply linking a source field to a target field of your choice, as
shown in Figure 14-10. Behind each link, you can define several methods to
cleanse, compute, or convert data for your target source.
Figure 14-10: Defining Source to Target Data Mapping and Transformations
in PowerCenter.
The previous section defined the SAP BW connection for the PowerCenter
Warehouse Designer. Now you need to redefine the same SAP BW connection
for the PowerCenter Server Manager. It is here that you define ETL jobs, called
sessions. These sessions are called from the SAP BW Scheduler to do data
extraction/transformation and to ship the transformed data to SAP BW.
From within the PowerCenter Server Manager menu, select the Connect to
Repository option and choose the Server Configuration-Database Connection
option. Then add SAP BW as target database BWSERVER, add the DEST
parameter value in SAPRFC.INI as a data source, and save the definition. Now
PowerCenter Server Manager knows all the registered data sources and
targets. However, to define the data extraction scheme, you need to associate
a session to a specific data transformation or mapping scheme. This is done in
the PowerCenter Server Manager.
First you connect to a repository from the Server Manager main menu and
choose Operations-Add session. There you enter the mapping name, for
example MappingtoBW. Save this session information and remember the
session name; for example, s_S260File_Mapping. You will need this session
name to schedule this job from SAP BW. All defined sessions are listed in the
Organizer window, as shown in Figure 14-11.
Here the Session Wizard asks a few more questions on how and where to
execute this session. Enter the server name on which you want to run this job,
as well as the target data source. For SAP BW, select the data target type as
ERP and select the data processing mode as INSERT rows. This completes
the session definition.
To start the PowerCenter Integration Server, you need to know the SAP BW
destination and the PowerCenter Repository user name and password. Figure
14-12 shows the command line interface to start the PowerCenter Integration
Server on Windows NT 4.0. BWSERVER is the SAP BW destination defined in
SAPRFC.INI; pmrepo is the repository name and password followed by the
TCP/IP port number for this listener. Once started, PowerCenter Integration
Server waits to receive requests from SAP BW.
The only difference in the SAP BW Scheduler definition is that you will see a
new tabstrip called 3rd Party selections, as shown in Figure 14-13. This shows
only when the InfoSource is based on Staging BAPI implementation of third-
party ETL tools.
Figure 14-13: Scheduling Data Import Jobs From SAP BW.
Select the 3rd Party selections tabstrip. Enter the session name you have
defined in the PowerCenter Server Manager for specific data mapping and
transformations. Remember that you created a session called
s_S260File_Mapping in an earlier session. Enter this session name in the value
field, as shown in Figure 14-13.
Now schedule this job in SAP BW. The Scheduler connects to the PowerCenter
Integration Server and hands over the session name. The PowerCenter
Integration Server then starts the session, s_S260File_Mapping, on the server
as defined in the PowerCenter Server Manager. After data transformations,
PowerCenter sends data to SAP BW. The data is processed in SAP BW as
methods defined in the transfer rules or as defined data targets-ODS,
InfoCube, or both-during job scheduling in SAP BW.
While this job is in progress, you can monitor the data transformation status
from the PowerCenter Server Manager, as shown in Figure 14-12. To monitor
data load activity in SAP BW, use a typical InfoPackage Scheduler Monitor to
see the number of data load activities.
Team-Fly
Team-Fly
Summary
Third-party data extraction tools play a key role in implementing SAP
BW-based global data warehouses when you need to source data
from SAP R/3 and non-SAP applications. This chapter described
how SAP BW Staging BAPIs load data. PowerCenter integration with
SAP BW gives you sufficient information on steps needed to
implement this tool.
Team-Fly
Team-Fly
Chapter 15: Integrating Third-Party Data
Access Products with SAP BW
In this Chapter
In Chapter 14, you learned how third-party tools are integrated with
SAP BW to import data. In this chapter, you learn how third-party
reporting tools access data from SAP BW. You also learn how
Microsoft OLE DB for OLAP, an industry-recognized standard for
multidimensional data access, is used and how it compares with
SAP BW OLAP implementation.
Team-Fly
Team-Fly
Data Access Interfaces for SAP BW
In release 1.2 of BW, SAP provides two native tools to distribute and
access data from SAP BW. These tools, Business Explorer Browser
and Business Explorer Analyzer, work fine when end-users'
analytical needs can be satisfied using the Microsoft Excel
environment. The SAP BW add-in for Microsoft Excel adds data
slicing-and-dicing capability that exploits such SAP R/3 features as
multi-language support, multi-currency conversions, and complex
result-set data structures that are not available in pure Microsoft
Excel. However, when you need to design a sophisticated analytical
application, it takes a lot of time and effort to make a Microsoft Excel
workbook-centric solution to drive analytical processes through
event-driven control objects, such as menus, buttons, list boxes, and
Windows events that third-party OLAP tools provide.
Team-Fly
Team-Fly
SAP BW Open Data Access Strategy
To provide open access to third-party reporting and analytical applications, SAP
has adopted Microsoft's standard for multidimensional data access, OLE DB for
OLAP, or ODBO. Though ODBO is a widely accepted standard, when you take a
close look at the specifications, it is very specific to Microsoft Plato OLAP server
technology. Therefore, you will notice later in this chapter that there are some
distinct differences between Microsoft and SAP BW ODBO implementations. The
BW ODBO implementation is based on release 1.0 of Microsoft's OLE DB for
OLAP Programmer's Reference of February 1998. This document is available at
the Microsoft Web site, http://www.microsoft.com/data/.
Figure 15-2 shows the syntax of a simple MDX statement. To describe this syntax,
the example shows the results of the query. Notice that ODBO lists data in
crosstab format, which is ideal for OLAP operations. Streams of several MDX
statements are used for complex data analysis. For details on ODBO and MDX,
visit the Microsoft Web site at http://www.microsoft.com/data/oledb/olap and
http://msdn.microsoft.com/library/techart/intromdx.htm.
As stated earlier in this chapter, ODBO very much reflects the Microsoft OLAP
server architecture. Therefore, differences between ODBO object definitions and
SAP BW objects are expected. Figure 15-3 shows ODBO equivalent objects in
SAP BW.
Figure 15-3: SAP BW Objects versus ODBO Schema Objects.
Team-Fly
Team-Fly
Installing ODBO Components at the Client
Workstation
To access SAP BW through ODBO, you need to install the following
components on the desktop computer.
Like Staging BAPIs, the ODBO interface reads the saprfc.ini file to
select the destination, the connection type, and all RFC-specific
parameters needed to connect to the SAP BW server, as shown
here:
SAPRFC.INI
/*================================================*/
/* Type A: A sample saprfc.ini file for inSight software from arcplan
*/
/*================================================*/
DEST=BW
Type=A
ASHOST=12.12.0.12
SYSNR=00
RFC_TRACE=
ABAP_DEBUG=0
RFC_DEBUG=
USE_SAPGUI=0
Team-Fly
Team-Fly
Accessing Data From Third-Party Tools
SAP has certified several data access products that use the ODBO
provider to access data from SAP BW. For demonstration purposes,
I have used inSight version 2.3.5 from arcplan. You will find product
information on the CD-ROM accompanying this book or at
http://www.arcplan.com.
Figure 15-6:
Components of Arcplan inSight Version 2.3.5 to Design Pure
Web-Centric Applications against SAP BW.
Note If you are working with SAP BW 1.2A, you need to copy
ODBO-specific DLLs, most often in the WINNT\SYSTEM32
directory, or as recommended by arcplan. You also need to
register ODBO DLLs manually.
You need to edit the saprfc.ini file on the workstation and the Web
server for the target SAP BW server used by the inSight application.
When you select the SAP BW data source, Step 1 in Figure 15-7,
you need to provide SAP BW login information, Step 2 in Figure 15-
7. The data source is actually the DESTination parameter value of
TYPE=A from the saprfc.ini file.
To build this simple analytical application, simply drag and drop the
menu, column, row, and table chart object in the new inSight
document. The placement of such objects is shown as numbers 1, 2,
3, 4, and 8 in Figure 15-8.
Next, you need to associate empty objects with cube dimensions
and key figures. Now you drag and drop appropriate dimensions and
key figures in the drawn-up objects, as shown in Figure 15-8 by
numbers 5 through 7; for example, in Step 5, you drag and drop the
Material dimension on the Material column object in the application.
The inSight application will automatically load data from SAP BW.
The distribution channel menu object lists all distribution channels,
and the Material column displays all products. This is not what you
want. You want to show all products and revenues for a selected
distribution channel. To do so, inSight provides a tool that builds
dependency relationships between the objects.
When the Web server receives this request, the inSight server
determines if the client has ActiveX control on the workstation. If
ActiveX control is not on the client workstation, a new copy of
ActiveX control is downloaded and registered on the client
workstation. If the user already has inSight ActiveX control installed,
the latest version will be downloaded and installed if the previously
installed version is outdated.
After ActiveX control registration, you are asked for SAP BW login
information. This login information is used to connect the Web server
to the SAP BW server. After successful login, your application will
behave just as if you have inSight client on your workstation. All the
communication is via RFC-between SAP BW and the Web server-
and via HTML between the Web server and your workstation, as
shown in Figure 15-6.
Note Because the ActiveX control cab file is close to 1.3 MB,
expect this process to take some time depending on your
networking bandwidth between the Web server and your
workstation. However, this download and installation
happens only once or when a new version is installed on
the Web site, not every time you access inSight
applications.
This example is very simple and does not implement rich graphics
and multi-layered application models; however, it demonstrates the
steps needed to implement third-party Web-based reporting tools to
build SAP BW reporting solutions. Other vendors, such as Business
Objects, Brio Technology, Cognos, Hummingbird, Information
Builders, and others, provide similar capabilities. Each product has
its own strengths and weaknesses. A careful analysis is needed
before selecting a reporting tool that meets your requirements.
Additional information on these vendors is available on the CD-ROM
accompanying this book.
Team-Fly
Team-Fly
ODBO and BAPIs in SAP BW 2.0
Earlier in this chapter, you learned about ODBO and its SAP BW
implementation limitations. To overcome such limitations, SAP has
enhanced its ODBO interface in BW 2.0. One such enhancement is
the ability to call ABAP routines and to have access to query
variables. The exact details are still sketchy on how the ODBO
interface could be used to access ODS in SAP BW 2.0. The ODS
tables in SAP BW are not multidimensional. They are simple, flat
tables. How ODBO MDX implementation can be used to interact with
tabular data is still being worked out.
The SAP ODBO BAPI is similar to the MDX Query language. Each
set of BAPIs represents ODBO specifications with one exception: the
schema, as shown in Figure 15-11.
OLAP_API_BROWSE_CUBES
OLAP_API_BROWSE_DIMENSIONS
OLAP_API_BROWSE_HIERARCHIES
OLAP_API_BROWSE_LEVELS
OLAP_API_BROWSE_MEASURES
OLAP_API_BROWSE_MEMBERS
OLAP_API_BROWSE_PROPERTIES
OLAP_API_BROWSE_VARIABLES
OLAP_API_CREATE_COMMAND
OLAP_API_DELETE_COMMAND
OLAP_API_EXECUTE_COMMAND
OLAP_API_FS_GET_DATA
OLAP_API_GET_AXIS_DATA
OLAP_API_GET_AXIS_INFO
OLAP_API_GET_BAPIRETURN
OLAP_API_GET_CELL_DATA
OLAP_API_GET_DATASOURCEINFO
OLAP_API_GET_ERROR_MESSAGES
OLAP_API_GET_MESSAGE_HELP
OLAP_API_GET_NAMETAB
OLAP_API_GET_SELECT
OLAP_API_RESOLVE_NAMES
OLAP_API_SET_COMMAND_TEXT
A few vendors have implemented their OLAP applications using this
OLAP API instead of using BAPIs. inSight from arcplan is
implemented by using OLAP API to build powerful analytical
solutions.
Team-Fly
Team-Fly
Summary
The ODBO interface makes SAP BW an open product. Users can
now leverage existing investments in third-party client tools to
access data from SAP and provide a quick Web-based data access
solution. Though the ODBO interface is a powerful interface, it
cannot take advantage of all the services that SAP BW provides,
such as full access to the SAP BW data model and multi-language
and multi-currency features. To exploit all SAP BW capabilities, third-
party-tool providers may program their applications at the ODBO
BAPI level or by direct use of OLAP_API function modules. The
inSight example showed how quickly one could implement and
deploy SAP BW Web-based solutions. SAP BW version 2.0A
provides limited Web reporting capabilities. However, in BW 2.0B
and in future versions, you will see more robust Web implementation
built within the SAP BW software. I also tested the Brio Query 6.0
and the Business Objects 5.1 field beta test versions against SAP
BW 2.0A. Both products seem to be working as expected. At the
time of testing, these products were still undergoing the SAP BW 2.0
ODBO certification process. Check http://www.sap.com for a list of
ODBO-certified third-party data-access products.
Team-Fly
Team-Fly
Chapter 16: Managing SAP BW-Performance
and Sizing Tuning
In this Chapter
After doing all the fun work in developing an SAP BW application,
the tough job of deployment and management begins. You should
expect SAP BW, like any data warehouse, to grow rapidly. This
requires continual monitoring of SAP BW objects and addressing
problems before they interrupt your regular SAP BW operations. This
chapter describes such topics as sizing, performance, monitoring,
and management of SAP BW.
Team-Fly
Team-Fly
SAP BW Performance
Often, the speed at which a query returns data to the end user is equated to data
warehouse performance. To some extent, this is true from the end user's
perspective. However, performance of a data warehouse is based on several
factors, as described in Chapter 1 and as shown in Figure 16-1.
The center of the chart in Figure 16-1 is the most desirable situation. The
intersection at all dimensions indicates a practical or "implementable" state. Most
dimensions are time sensitive. The closer you get to the center, the less time it
takes to complete that task. When thinking of SAP BW performance, be creative to
find ways to reduce time for one or more dimensions to optimize the overall
performance.
For example, data extraction takes too much time due to extremely high transaction
volume in SAP R/3. To handle this situation, you may decide to pull data from SAP
R/3 multiple times a day instead of once a day. Keep this data in ODS in SAP BW
and load data InfoCubes only once a day. If this option does not work for you, you
may add additional processors in the SAP R/3 OLTP database server or add a
dedicated application against an SAP R/3 instance to process data extracts quickly.
The last two options could be expensive because they involve purchasing additional
hardware.
Always load master data first. The SID tables are created at the time of
master data load. When you load data in InfoCubes, all relevant SIDs
needed to link dimensions and master tables are done for you. This reduces
additional time needed to create SIDs during transaction data loads to
populate InfoCubes.
Drop the secondary indexes on the fact tables. Do not drop the primary key.
Load data in ODS first, and then load data from ODS in the InfoCubes. The
ODS here refers to the ODS in SAP BW 1.2B or the PSA in SAP BW 2.0.
Update the database statistics for cardinality information needed for the
query optimizer to best query the execution path.
Index Management
In the InfoCube tree, right-click an InfoCube and select the InfoCube Performance
option. Then for SAP BW 1.2B, select InfoCube Performance; select Manage for
SAP BW 2.0A. Check the Index Delete/Create options; the next time you load data,
SAP BW will handle index deleting/re-creation automatically.
To resolve this problem, you can buffer these sequencing objects in memory and
set a range large enough that during data load, SAP BW simply obtains the next
sequence number from memory instead of the database. This definitely improves
overall data load performance.
Figure 16-3 shows how to set up Sequence Number buffering. To change the buffer
for a Number Range object, run transaction SNRO and select the numbered buffer
object name. Then from the Edit menu, select Set-up buffering and then select Main
memory. Then in the Customizing specifications section, you will see that Main
memory buffering is checked. Here you select your buffer range from 500 to 1,000.
Caution Make sure that after you finish loading data, you change buffering back
to the default setting.
InfoCube Aggregates
The size of any data warehouse grows rapidly in time and continues growing. It is
not like an OLTP environment where you purge data to maintain a reasonable,
manageable size for optimum transaction performance. A data warehouse is quite
the opposite. You simply keep pumping data in the data warehouse, which needs
constant monitoring of database growth and frequent database reorganizations.
Figure 16-4 shows the data growth pattern in a data warehouse. The reference data
(master data) does increase, but volumes are often very low. The operational data-
needed for warehouse administration such as sort areas, backup files, and
temporary storage-remains almost the same. On the other hand, the analytical data
such as InfoCubes, ODS, Aggregates, Query Results, and Documents grows
almost exponentially. Note that data growth in a data warehouse is not continuous
but in intervals; for example, toward the end of a quarter or month or at the end of
the week, large transaction data sets are loaded and aggregated in a data
warehouse. Similarly, data warehouse usage patterns vary from time to time and in
intensity. For example, business profitability analysis activity is high just before the
end of a month, quarter, or year, but senior executives want to review the past
week's business operation every Monday morning for product production tactical
planning. A good understanding of growth patterns and Information Objects usage
helps database administrators to plan activities, such as database tuning and
adding data files, before data loads start to fail.
Tip Always plan for plenty of extra disk storage. Typically, the size of a data
warehouse tends to be 4 to 10 percent larger than the actual transaction
data.
As the size of an InfoCube grows, the query response starts to degrade, as shown
in Figure 16-4. However, based on individual queries, one can define an aggregate
cube, a view against an entire InfoCube based on a query definition. Aggregates
are transparent to the end user. When a user or developer plans to design a query,
only the InfoCube is visible to the end user in the BEX Analyzer. When a query is
issued against an InfoCube, the OLAP processor determines which aggregate, if
any, to use to quickly fetch the requested data.
When you issue a query against the sales analysis InfoCube, the OLAP optimizer
will determine which aggregate to use to quickly retrieve data instead of searching
through the entire sales InfoCube. Under this scenario, the aggregates are similar
to dependent data marts as discussed in Chapter 1. Though aggregates are ideal
for quick data access, they do impact data load times because now you have to
update aggregates along with the InfoCubes. Therefore, do not define aggregates
for all queries and frequently monitor their usage to qualify if you need one. Note
that it is up to the SAP BW administrator to decide when to roll up aggregates after
data loads in the InfoCubes to meet end-user data analysis needs.
The following steps are needed to define aggregates against an InfoCube to meet
specific query data needs:
1. Identify end users' queries and their data navigation schemes
Assume that the customer InfoCube is very large and queries are timing out. You
may improve query responses by defining a few aggregate cubes. Look at the
query definition. Identify which fields are used in each query. Do queries have built-
in filters or restricted key figures? How do they use hierarchies? Do they start at a
certain hierachy level? With this information, you will define InfoCubes that best
meet end-user query needs.
If you want to create aggregates based on present queries against the InfoCube,
click the Simulate icon. The system analyzes all queries for the InfoCube and
recommends one or more aggregates, as shown in Figure 16-6. Double-click an
aggregate to edit or view its definition, as shown in Figure 16-7.
Figure 16-7: Defining Aggregates Selection Criteria in SAP BW 1.2B. Here You
Select the Characteristics You Want to Include in the Aggregate. This Shows the
Characteristics Selected for Aggregate MAX 1 for Customer InfoCube
(0SD_C01).
Next, activate the aggregate and then click the Fill icon to load data from the
aggregate cube from its InfoCube.
If you want to create a new aggregate manually in addition to what the system has
proposed to you, click the New icon. You are then asked to specify the aggregate
criterion. The rest of the process is the same.
The process of defining aggregates is quite similar to what it was in SAP BW 1.2B
(see Figure 16-8). Here, aggregate activation and population of aggregates is done
in one step when you activate the aggregate. Now you have the option of which
type of aggregate proposal you want to use to define aggregates. In SAP BW 2.0,
you have several choices: aggregate proposals from existing queries, from last
navigation steps, BW statistics (from a database), or BW statistics (from an
InfoCube).
After going through all this to define aggregates, you'd like to know how often they
are going to be used. You need to know this to make decisions about which
aggregates to drop. First, let end users run their queries to collect information on
InfoCube and Aggregate usage. To find aggregate usage, simply launch the
aggregate session. SAP BW will display when each aggregate was last used and
the number of times it has been accessed in total. Figure 16-9 shows aggregate
usage statistics for another SD cube I used to perform high-volume testing. The first
aggregate has never been used; therefore, it is a prime target for deletion.
Figure 16-9: Aggregate Usage Statistics.
Team-Fly
Team-Fly
SAP BW Query Optimization
In the previous section, I discussed how aggregates help improve
query performance. Remember that aggregates speed up query
response because data requested by the end user (query) is already
available in the summarized/condensed fashion in an aggregate
cube. This saves a lot of database and system resources to find
requested data from a large InfoCube.
The aggregate cubes only help speed up fetching data from the
database, but how SAP BW manages and delivers retrieved data to
the end user is another dimension to consider when improving
overall end-user query response. The SAP BW OLAP process needs
to know when and how much data to read from the fact table and
send to the user based on the query read mode. The read mode
determines how often the OLAP processor reads data from the
database during navigation. The three possible query read modes
are listed below.
In this mode, query reads all data to its lowest granularity from the
fact table and stores data in the user memory space. The OLAP
processor computes all the aggregates and data summaries to meet
end-user query needs in memory. All of the navigational steps are
done in memory. This makes query navigation fast; however, it eats
up tons of OLAP processor memory, and that may cause severe
memory problems with other SAP BW tasks. Because the OLAP
processor reads all possible data from the fact table that a query
may need, the OLAP and database engine may read unnecessary
data that may not be needed for query navigation at that time, and
hence too many resources are consumed that were not needed. The
usage of this mode should be limited to special queries when end
users (data analysts) need to slice and dice data against all
dimensions or perform data mining tasks.
In this mode, the data is read on the hierarchies level from the
database when requested by the user. The OLAP processor does
the data aggregation. If queries do not use hierarchies, there is no
difference between this and the previous read mode, Read data
during navigation.
Now that you know how query read modes work, you may be
wondering how you can set or change query modes. The next
section discusses this subject.
Query modes can be set in two ways. First, set default query mode
for an InfoCube using transaction READMODE, as shown in Figure
16-10. All queries generated against that InfoCube, after setting the
read mode, will have default read mode set for the InfoCube.
To change the read mode, after selecting a query, click the Read
Mode button and select the read mode type as shown in Figure 16-
11.
Team-Fly
Team-Fly
Sizing SAP BW
As with any traditional data warehouse project, deploying a large-
scale data warehouse solution is a complex and iterative process.
However, when it comes to SAP BW sizing, you must size the
networking resource needed among SAP BW, SAP R/3, and the end
user. You must also account for the additional hardware resources
needed to implement multi-tiered architecture and the impact of SAP
R/3 for SAP BW data extracts.
SAP BW Benchmark
The SAP BW performance benchmark is a standard software-testing
module from SAP. Functioning as a data generator, user simulator,
and test platform, this module generated a sample Sales and
Distribution (SD) database representing the order-processing activity
of a large-scale business with the following profile:
50,000 products
10,000 customers
5 divisions
5 distribution channels
The data generator generates a series of order data files to load data
in SAP BW. The size of the file is based on the memory of the SAP
BW Database Server, such as 2 GB or 4 GB. Each file represents
one month of activity over a two-year span and totals approximately
800 MB (approximately 2,400,000 rows) in size. For benchmarking
testing purposes, two full years of transaction data (12 files) needs to
be uploaded into SAP BW totaling approximately 20 GB (or
approximately 29,000,000 rows in the fact table).
SAP R/3 OLTP system. The typical SAP R/3 OLTP system
landscape consists of three system environments, as listed
above-pilot/development, test, and production. However, in
the SAP BW system landscape, you also need to include
dedicated SAP R/3 OLTP instances at each stage of the
SAP BW path to production cycle. I recommend a small SAP
R/3 OLTP instance for a development environment, but
make sure that your TEST SAP R/3 OLTP instance reflects
the current production SAP R/3 OLTP instance. Here you
want to make sure that all SAP BW objects (Queries,
InfoCubes, Aggregates, ODS) can scale to meet end-user
requirements.
Database Size
Number of aggregates
Indexes
Calculate the total size (in GB) of all InfoCubes. Note that, in
general, InfoCubes should not exceed 100 GB. SAP has
published detailed instructions for estimating the size of an
InfoCube in SAP BW Sizing and Performance ASAP
Accelerator. Exact size of an InfoCube is very hard to
calculate; however, the SAP BW Sizing and Performance
ASAP Accelerator defines a simplified calculation for
estimating the disk space required for an InfoCube as
follows:
f = (nd + 3) x 4 bytes + (22 bytes x nk) = required
disk space in bytes
add
30% per dimension in the fact table
100 % for aggregates
100 % for indexes
Processors
The number of processors in an SAP BW server system directly
relates to the time it takes to load data. By default, the SAP BW data
load process is a serial process (with worker threads) that executes
on a single processor. To optimize load times and reduce latency,
each process must be partitioned into a series of sub-processes and
distributed across as many processors as are available. Therefore,
the more available processors you have, the greater number of
parallel sub-processes, resulting in faster data load time.
Memory
Network Configuration
Client Workstation
Team-Fly
Team-Fly
Summary
Data warehouse performance and management is a very broad
subject. This chapter simply addressed performance-related issues
very specific to SAP BW: data load and data access. In this chapter,
you learned how to optimize data loads in SAP BW and how to build
aggregates to improve query performance.
Sizing any data warehouse is not an easy task. I have never seen
two data warehouses that are alike; sizing is always very specific to
a customer's analytical needs. In this chapter, you also learned how
to size an SAP BW environment and identify areas-such as memory,
processors, and disk I/O requirements for SAP BW-that play a direct
role in overall SAP BW performance. Often, hardware vendors take
advantage of their architectures. For example, the Compaq Alpha
server exploits a very large memory architecture to improve SAP BW
performance. However, I advise you to consult with SAP and partner
hardware vendors to provide the latest SAP BW benchmark results
so you have a good high-performance data warehouse solution. A
few vendor Web sites are listed Appendix A.
Team-Fly
Team-Fly
Chapter 17: The Operational Data Store in SAP
BW 2.0
What is an Operational Data Store (ODS)?
The term ODS is confusing. Is it a data warehouse, part of a data
warehouse, or something else? ODS has several academic definitions in
the data warehouse industry. However, the definition varies based on
usage.
There are three classes of ODS layers, most commonly known as Class
I, Class II, and Class II. The ODS Objects in each class have special
characteristics, as listed in Table 17-1.
Table 17-1: Characteristics of Operational Data Store Classes and
Their Usage
Functionality Class I Class II Class III
Asynchronous;
Based on
Asynchronous; analytical
Data refresh Synchronous;
Near real time- application
rate from its almost in real
few minutes to usage and the
data sources time
an hour infrastructure
operational
requirements
Data volume Packets Small-medium Large
Business
Event-Centric-
Very much;
a mix of
Transaction- Subject-centric
Data Content transaction
centric at the atomic
and supporting
level detail
workflow
information
Persistence Low Medium High
Moderate-
compose data Extensive-
Very little just structures by Cleansing,
to conform to combining extraction, and
Data
data transaction transformation
Transformations
interchange and value- to construct
format added atomic level
information for data sets
DSS
Availability High Medium Low
Functionality Class I Class II Class III
High-at the Medium-Low,
Medium-at the
speed of based on
speed of
intra- business value
Performance business work
application and operation
flow rules
interconnect costs
requirement
requirements requirements
Operations
Customer
Customers; management;
facing; Staff;
Customer Data analysis;
Intra-
Intended usage facing and Customer
application
operations problem
interconnect
staff resolution and
services
operations
Fast and
Mostly Mostly batch,
reliable data
application or database, or
interchange
database large data
and data
Technical specific store handling
storage
Infrastructure and forward technologies
technologies-
data to optimize
hardware,
management infrastructure
software-
technologies resources
OLTP-centric
OLTP OLTP OLTP and
Operations operations operations data
Staff staff-highly staff-less warehouse
visible visible staff
Corporate Division or line
Operations
Business senior of business
management
Sponsors business management
team
management team
Functionality Class I Class II Class III
Airline
Bank accounts Call center;
reservation;
management; Manufacturing
Example Critical care
supply-chain shop floor
medical
management operations
records
In BW, 2.0 you can implement an enterprise data warehouse using the
ODS objects. This extended ODS capability in SAP BW completely goes
against the ODS definition. Imhoff, an authority on the Operation Data
Store, states ("Understanding the Role of Operations Data Store, DCI
conference, June 28, 1998") that:
The ODS is not the lowest level of detail in the data warehouse
architecture.
After the release of SAP BW 1.2A, customers found that the ODS
implementation was not what they thought an ODS ought to be. It only
housed the incoming data. American SAP User Group (ASUG) members
worked with SAP to form a subcommittee to define an ODS architecture
in the SAP BW product. This subcommittee consisted of ASUG members
representing a broad range of industries (Dan Spaulding, Halliburton;
Charlene Mathias, Eli Lilly; Naeem Hashmi, Compaq; Ryan Uda, Hewlett-
Packard; Marilyn Jones, Dow Corning; Mary Heaner, Intel; Dave Smith,
Phillips Petroleum; Kay Black, Sabre; and Xuan Pham, Equistar).
After long and intense discussions among team members and Laurie
Nolan and Dr. Heinz Haefner, both of SAP AG, a white paper on SAP BW
ODS was published. This white paper became the foundation of ODS
architecture in SAP BW 2.0. This team focused its analysis of ODS
requirements on the eight key areas: diverse data source, environment
management, extraction-transform-load, metadata management, data
management, archival management, data access, and data requestors.
The proposed ODS functionality is planned for partial implementation in
SAP BW 2.0A for the pilot customers, Hewlett-Packard and Eli Lilly, and
in SAP BW 2.0B for general availability. The ODS pilot was launched
from December 1999 to February 2000. The SAP BW ODS pilot results
were presented at the BW Congress in February 2000 in San Francisco,
California.
Team-Fly
Team-Fly
SAP BW 2.0A ODS Architecture
The ODS architecture in SAP BW 2.0 is quite different from its earlier
versions, as shown in Figure 17-1. Now ODS becomes an active
component of SAP BW, which completes the concept of a full data
warehouse.
You can access data from ODS from within the BEX Browser or via
InfoSet Query, earlier known as SAP Query or ABAP/4 Query. In
SAP BW 2.0, you also can build InfoCubes from an ODS table. With
this capability, you can build staging tables for InfoCubes that will
speed up InfoCube builds.
Note You must keep in mind that SAP BW business content was
originally structured for somewhat summary-level analysis.
Now that you have ODS functionality, you may want to
either enhance existing extracts for finer granularity or build
your new data sets for ODS.
The following guidelines will help you decide when to use certain
data objects in SAP BW 2.0.
Team-Fly
Team-Fly
Building ODS Objects
ODS tables are somewhat a hybrid of InfoCube and master data tables. The
information on how to build ODS tables is based on the SAP BW 2.0A ODS pilot
version. Based on feedback, the integration of ODS development and reporting may
look somewhat different in SAP BW 2.0B.
2. Load Data
3. Create Queries
Also note that the combination of key fields defines the grain of your ODS
table. For example, in ZTEST3 ODS, only four key fields make up a unique
ZTEST3 record, as shown in Figure 17-2.
In ODS, you can define key or non-key fields as text, numeric, or any
combination. Unlike a fact in an InfoCube, ODS tables don't always have to
contain numeric fields. In some instances, an ODS table may consist of all
textual data elements. For example, you may simply want to track contact
name, data, and time when a customer was called, the name of the person
who called, and when to call that customer in the future. Here you have no
such thing as quantity, unit of measure, and so on. But remember, do keep
some time stamp in all ODS records. After all, it's time that you make the
history.
As with InfoCubes, you must create the update rules for the ODS table. This
is the tough job of deciding how individual entities will be updated. Most
often, you need to look up several database tables before you determine
what goes in an individual field in an ODS table. For that reason, SAP BW
now provides a start routine for the InfoCube and ODS update as shown in
Chapter 12. Activate Update, and you are ready to write reports against the
ODS.
To access ODS for direct reporting, you can use BEX Analyzer, InfoSet Query, or any
third-party product that is SAP ODBO-certified. For testing purposes, I composed a
simple query, shown in Figure 17-3, to access data from an ODS table using BEX
Analyzer, InfoSet Query (then SAP Query), and a third-party ODBO-compliant
product. The results were not surprising. As expected, InfoSet Query was the fastest,
followed by BEX Analyzer and the third-party ODBO data access product. Figure 17-4
shows relative resource utilization by each product when the very similar query was
issued against ODS by individual product.
Figure 17-3: SAP BEX Analyzer Query Against ODS and Results.
Figure 17-4: Comparing Query Response Time to Access Data From SAP BW
ODS.
Team-Fly
Team-Fly
Drill Down to ODS From an InfoCube
The SAP BW 2.0A pilot ODS also supported InfoCube to ODS-level
drill-down capability. This drill-down capability is achieved by SAP's
Report-to-Report Interface technology. A developer, not the end
user, defines a "jump-target" scheme by identifying the sender and
receiver pair information; as shown in Figure 17-5, the receiver is a
BEX Query (Figure 17-3) against an ODS table.
Team-Fly
Team-Fly
Building ODS in SAP BW 2.0B
In the previous section, you learned how to define ODS objects in
SAP BW 2.0A. The ODS development and management options in
SAP BW 2.0A were not fully integrated in the Administrator
Workbench. In SAP BW 2.0A, you manually invoke an ODS
transaction to launch ODS object design facility. Moreover, in SAP
BW 2.0A, the ODS objects were displayed under the InfoCube tree,
which was confusing if you were dealing with ODS, PSA, or
InfoCube when loading data in ODS objects. It was expected
because then, in SAP BW 2.0A, ODS was introduced to get
feedback from SAP customers on how the ODS environment should
be integrated in SAP BW and the Administrator Workbench. I had
several discussions with the ASUG ODS requirement and SAP BW
ODS development manager, Rainer Hoeltke, and his team on
naming schemes, integration, and its extended capabilities. The
ODS development team was very quick to take feedback to integrate
ODS functionality in the SAP BW 2.0B Administrator Workbench.
Thus far, they have done a great job. Note that there have been
changes in the SAP BW Administrator Workbench, as shown in
Figure 17-6. Now you have the option to create InfoCubes and ODS
objects from within the Administrator Workbench.
The term key figures has nothing to do with the Key section when
defining the ODS object. In the ODS object definition, as stated
earlier, the Key section is to select a unique set of data elements to
make the ODS record unique. In other words, it is the "grain" of the
ODS object. In Figure 17-7, the ODS record is uniquely identified by
a combination of division, document, order item line number, and
schedule line number. Defining ODS object attributes is a very
simple process. Select the appropriate InfoObject catalog in the left
pane and expand it. Then simply drag and drop the selected
InfoObjects from the left pane in the appropriate ODS object attribute
sections shown in the right pane (see Figure 17-7). Click the Check
icon icon. If no error is reported, click the Activate icon to save
the ODS object definition and create database tables in the SAP BW
database.
Two types of database tables are created for each ODS object-one
for active usage and the other as a backup or for working copy to
prepare new data. For more information on how ODS objects are
defined in the database, click the menu option Extras and select
Information (Logs/Status), as shown in Figure 17-8.
Figure 17-8: Getting Detailed Information on ODS Objects in SAP
BW 2.0B.
After activating the ODS objects, define the update rules and load
data. The update rules definition and the data loading process has
not changed. It is the same as if you are working with an InfoCube or
ODS object defined in SAP BW 2.0A. When you load data in the
ODS object, new data will be kept in the New Data table instead of
the Active ODS database table. To view new data or active data,
select an ODS object, right-click, and select Manage, as shown in
Figure 17-9. Click New Data to verify the data that has been loaded
in the ODS object but users do not have access to. To make this
data available for analysis, you must activate new data. To roll over
new data in the active ODS object, select the ODS object, right-click,
and select Activate data in ODS, as shown in Figure 17-9. From
here, the activated ODS object is ready for end users. They can
access it via InfoSet Query, BEX Analyzer, or third-party data-access
tools via ODBO.
Figure 17-9: Managing Data in ODS Objects.
Team-Fly
Team-Fly
Future Direction of ODS in SAP BW
SAP is in a strong position to shape the industry in defining ODS for
the future corporate information supply-chain networks. SAP BW's
evolution in a short period to a provider of rich business analysis
functionality is amazing. A significant enhancement to the current
implementation will be the provision of a standalone instance of SAP
BW ODS. Benefits of having a stand-alone ODS are many, but the
key benefit will be its manageability-not to be tied down to an
instance of a specific analytical application but to have one
autonomous data source for the entire corporate universe.
Team-Fly
Team-Fly
Summary
The concept of Operational Data Store in SAP BW is new in the ERP
industry. In the SAP world, the role of ODS will be significant to
support other New Dimension products. This chapter defined an
Operational Data Store and how SAP has implemented this concept
in SAP BW 2.0A. SAP BW 2.0B will have a few more enhancements;
for example, the enhanced InfoSet Query and improved ODS data
access performance. You also learned in this chapter how ODS
tables are defined in SAP BW 2.0A and accessed directly as well as
how to implement InfoCube to ODS drill-down scheme.
Team-Fly
Team-Fly
Part IV: Appendixes
Appendix List
Appendix A: Data Warehouse Industry References and SAP BW
Training
Team-Fly
Team-Fly
Appendix A: Data Warehouse Industry
References and SAP BW Training
In this Appendix
Though hundreds of books are available on the subject, this
appendix lists only a few key titles for reference that provide a good
foundation on data warehouse technologies. For data warehouse
consultants with no or very little background on SAP R/3
technologies as well for SAP consultants, I list a few books that will
be useful in understanding managing and supporting SAP BW
analytical applications. I also list several references to Web sites for
SAP BW consulting companies as well traditional data warehouse
vendors to introduce readers to the data warehousing and business
intelligence industry. The SAP BW training courses listed are offered
by SAP at this writing.
Team-Fly
Team-Fly
Books on Data Warehousing and SAP
Technologies
Data Warehousing Reference Books
Team-Fly
Team-Fly
Data Warehouse Industry Reference Web
Sites
Data Warehouse Magazine and Literature Web Sites
http://www.datawarehousingonline.com
http://www.datawarehousing.com
http://www.dw-institute.com
http://www.dmreview.com
http://datawarehouse.dci.com
http://www.sapfans.com
http://intelligentERP.com
http://www.archer-decision.com
Archer Decision Sciences
www.BraunConsult.com
Braun Consulting
http://www.capgemini.com
Cap Gemini Ernst & Young US LLC
http://www.compendit.com
Compendit Consulting
http://www.dc.com
Deloitte Consulting LLC
http://www.egltd.com
Enterprise Group, LTD.
http://www.infodynamics-llc.com
InfoDynamics, L.L.C.
http://www.kpmgconsulting.com
KPMG Consulting
http://www.origin-it.com
Origin Technology in Business
http://www.panex-usa.com
Panex Consulting, Inc.
http://www.plaut.com
Plaut Consulting, Inc.
http://www.sap.pwcglobal.com/sap
PricewaterhouseCoopers
http://www.syskoplan.com
SyscoPlan Consulting
http://www.acxiom.com
http://www.ardentsoftware.com
http://www.brio.com
http://www.broadbase.com
http://www.businessobjects.com
http://www.cognos.com
http://www.compaq.com/ActiveAnswers
http://www.corvu.com
http://www.epiphany.com
http://www.gentia.com
http://www.hummingbird.com
http://www.hyperion.com
http://www.software.ibm.com/bi
http://www.informatica.com
http://www.informix.com
http://www.microsoft.com
http://www.oracle.com/products/tools/datawarehouse
http://www.sagenttech.com
http://www.sap.com/bw
http://www.sybase.com
Team-Fly
Team-Fly
SAP BW Training Courses
SAP offers four SAP BW training courses at its training centers
worldwide.
Note that additional courses may be added in the near future. Check
http://www.sap.com/bw for the latest schedule.
Course Description
Length 1 Day
Project managers working in Controlling; IT
Target
managers; anybody interested in data
Audience
warehousing
Prerequisites None
Participants get a technical and functional
overview of the SAP Business
Course InformationWarehouse.
Goals They gain a first impression of the way the
SAP Business Information Warehouse works,
its functions, and its use.
Course Description
SAP's data warehousing strategy in the
Business Information Warehouse The
Business Information Warehouse as a
dedicated component in the SAP Business
Framework Metadata administration in a
heterogeneous landscape
The SAP Business Information Warehouse
data model
Course
Transferring and homogenizing application
Content
data in the SAP Business Information
Warehouse Organizing and monitoring data
transfer
Online analytical processing with the Business
Explorer
Organization of Decision Support using
InfoCatalogs, user groups, and new browser
techniques
Course Description
Length 2 Days
Target Project team members with basic knowledge
Audience of data warehousing and SAP R/3 experience
Prerequisites None
Participants gain BW knowledge to ensure the
Course
successful implementation use of the BW
Goals
analysis tools.
Course Description
Introduction to working with the SAP BW
analysis tools: Overview of the basic data
warehousing concepts and the SAP BW
Course architecture; Overview of the basic query
Content navigation functions; Creating reports with the
Query Builder of the Business Explorer
Analyzer. Organizing queries in InfoCatalogs
using the Business Explorer Browser
This course is a prerequisite for the course
Notes BW210 Business InformationWarehouse-
System Configuration.
Course Description
Length 3 Days
Target Project team members with basic knowledge
Audience of data warehousing and SAP R/3 experience
Essential:
Basic knowledge of data warehousing
Recommended:
Prerequisites
Experience of the subject matter covered by
Level 2 and Level 3 courses for at least one
SAP R/3 application
Participants gain the detailed BW knowledge
Course they need to be able to implement and
Goals administer successfully a heterogeneous BW
landscape.
Course Description
Overview of the basic concepts and
architecture of the SAP Business Information
Warehouse Hands-on experience of working
Course
with the SAP BW tools, focusing on BW data
Content
modeling and ETL (Extraction,
Transformation, Loading of Data) Introduction
to the functions of the BW Metadata repository
BW210 (Business Information Warehouse
(BW)-System Configuration) is the first in a
whole series of BW courses that should
enable the participants to understand the
complex of themes behind SAP BW.
Notes
If they are primarily interested in the analysis
functions of the SAP BW, they may wish to
start by attending the one-day course BW200
(Business Information Warehouse [BW]-
Overview), and then attend the course
Course Description
Length 2 Days
Target
SAP BW application developers
Audience
Course Description
Essential:
Basic knowledge and experience of the
subject matter covered by Level 2 and Level 3
training courses for at least one SAP R/3
Prerequisites application Knowledge of the subject matter
covered by BW210 dealing with the BW
Administrator Workbench Recommended:
Knowledge of R/3 Basis: Data Dictionary and
ABAP/4 Programming
Participants gain detailed knowledge of the
Course
various possibilities for extracting data in an
Goals
R/3 OLTP system.
Participants gain a better understanding of
various extraction mechanisms within the SAP
R/3 OLTP
Overview of the basic concepts of OLTP
extraction
Course Implementing individual extraction techniques
Content using function enhancements Hands-on
experience of working with the SAP BW tools,
focusing on BW data modeling and ETL
(Extraction, Transformation, Loading of Data)
Transferring CO-PA data from SAP R/3 into
SAP
Examples from other applications
Course Description
Length 3 Days
Course Description
Project team members with extensive
Target
knowledge of BW Release 1.2B and
Audience
appropriate SAP R/3 experience
This course explains the changes made for
BW Release 2.0 only, and is therefore
Prerequisites
completely unsuitable for people who are not
familiar with the SAP BW.
Course Participants gain detailed knowledge of the
Goals changes made for BW Release 2.0.
An explanation of changes made in the
following areas: General-Geographical
Information Systems; InfoCube download;
Transport Wizard SAP BW Business Explorer-
Web Reporting; Exception Reporting; Multi
Course
Cube query SAP BW OLAP-Authorization
Content
check during drilldown; Drilldown to OLTP-
OLAP API Business Content-Role-based
Business Content; Business Content of New
Dimension partners; Industry-specific
Business Content
The same version of this course is offered to
Notes
SAP customers and partners alike.
Team-Fly
Team-Fly
SAP BW ODBO-Certified Products
Team-Fly
Team-Fly
SAP BW Staging BAPI-Certified Products
Team-Fly
Team-Fly
Appendix B: SAP BW and SAP R/3
Transactions, Tables, and Code Examples
In this Appendix
This appendix contains a few often-used programs, transactions,
function modules, and database tables in the SAP R/3 OLTP and
SAP BW instance. It also lists a sample InfoCube Update program
that was generated by SAP BW 1.2B when a simple update rule was
defined for the sales analysis InfoCube that was designed in Chapter
12.
Team-Fly
Team-Fly
SAP BW 1.2B Programs in the SAP R/3 OLTP
Instance
Data Extractors
Program Description
RMCSBIWC SAP BW connection for LIS InfoStructure
CO/PA -> SAP BW metadata maintenance
RKEBW100
utility
RKEBW200 Display CO/PA -> SAP BW: tool functions
RGUCBIW0 GL Table
TL InfoSource: GO, LO, and LR (i.e.,
RGUCBIW1
3FI_SL_LR)
RSAO0001 InfoSource maintenance for customer appends
RSAO0002 InfoSource maintenance for all InfoSources
RSAO0003 InfoObject assignment for attributes
RSAO0004 List of application areas with InfoSource
Test of the existing InfoObject - Display not
RSAO0005
used InfoObjects
Create and maintain customer appends
RSAO0007
(Transaction Data)
Create and maintain customer appends
RSAO0008
(Attributes)
RSAO0009 Delete InfoObjects
LIS Setup
Program Description
RMCVNEUA Statistical setup of InfoStructure: order
RMCVNEUL Statistical setup of InfoStructure: delivery
RMCVNEUF Statistical setup of InfoStructure: invoice
Statistical setup of InfoStructure: material
RMCBNEUA
movements
RMCBNEUB Statistical setup of InfoStructure: stocks
Statistical setup of InfoStructure: purchasing
RMCENEUA
movements
Reorganization of Quality Maintenance
RMCQNEUA
information structures
Statistical setup of InfoStructure: purchasing
RMCENEUA
documents
RMCSBIWX Settings for SD-InfoStructures
RMCSBIW0 Activation of InfoStructure
Team-Fly
Team-Fly
SAP BW Tables
Key Tables in SAP R/3 OLTP
MCS_BIW_LIS_API
MCS_BIW_UPDATE_SWITCH
MCS_BIW_CHANGE_KEY_ORDER
MCS_BIW_CODING_GENER
MCS_BIW_DBTABLE_DOUBLER
MCS_BIW_DB_DATA_COLLECT
MCS_BIW_DROP_CREATE_TABLE
MCS_BIW_DTEL_GENER
MCS_BIW_FULL_UPDATE_PREPARE
MCS_BIW_LIS_CONVERT_SELECT
MCS_BIW_STRUCTURE_CREATE
Table Description
RSIS InfoSource
RSISFIELD InfoSource/InfoObjects relationship
RSISFIELDSH Shadow table: InfoSourceFields
RSISODS ODS
RSMDDELTA Master Data Delta Handling
InfoSourceFields-provider structure of a
RSISOFIELD
source system
InfoSource (transaction data) in source
RSISOLTP
system
RSISOLUDEL InfoSource hidden by user in OLTP
InfoSource Selection Fields of a source
RSISOSELFD
system
RSISSELFDSH Shadow table: InfoSourceFields
RSISSH Shadow table: InfoSource
RSIST InfoSource Texts
Table Description
RSISTSH Shadow table: InfoSource texts
RSISUDEL InfoSource hidden by user
Transactions in SAP BW
Transaction
Description
Code
ALE Inbound IDOC - ALE manual
BALE
processing
CMOD SAP Enhancements: Project Management
ListCube InfoCube table content
List of InfoCube dimensions and
ListSchema
characteristics
RSA1 Administrator Workbench
RSD1 Edit InfoObject
RSDCube System Settings-Edit InfoCube
RSDCubem Edit InfoObject
RSDIOBCM Edit InfoObject Catalog
RSDDV Aggregate Maintenance
RSIS InfoSource (Transaction Data)
RSRT Report Monitor
RSU2 Update Change Rules
SNUM Number Ranges Object Maintenance
SPAM SAP Patch Manager
Transaction
Description
Code
SCC4 Display View "Clients": Overview
SE38 ABAP Editor Programs
SALE ALE Configuration
SE37 ABAP Editor Function Modules
SE01 Transport Organizer
SE10 Customizing Organizer
SE11 Dictionary
SE16 Data Browser
SE91 Check error messages
SM04 Overview of users
SM12 Select lock entries
SM30 Maintain Table Views: Initial Screen
SM31 Table maintain
SM37 Job overview
SM38 Define job
SM59 Display and maintain RFC Destinations
SM62 Display/edit events
SU01 Create user profile
SWU3 Check error message
SAPBWNEWS Documentation
WE07 IDOC-Statistics
WE20 Partner profiles
Transaction
Description
Code
WE21 WF-EDI port definition
DB02 Table space monitoring
RSB1 Check program for InfoSource/InfoCube
Team-Fly
Team-Fly
InfoCube Update Code Examples
In Chapter 12, you defined a simple Sales Analysis InfoCube,
IC_CUBE02, with characteristics Customer number, Distribution
channel, and Material number; and one key figure, Amount, as
shown in Figure B-1. As a result of the update rules definition to
populate the InfoCube, SAP BW 1.2B will generate the following
program. The SAP BW scheduler will use this program to populate
the InfoCube.
**************************************************
**********************
*
* Generated report for update: Business
Information Warehouse *
* Template......: RSTMPLUR
* InfoCube......: IC_CUBE02
* InfoSource....: IS_SALES_DATA *
Author........: BWADMIN
**************************************************
**********************
REPORT GPDKBVHM89E97PCFLJYLCF434T5 MESSAGE-ID
RSAU.
TYPE-POOLS:
TYPES:
BEGIN OF G_S_HASHED_CUBE.
TYPES:
F0AMOUNT0001 TYPE RS_BOOL, END OF
G_S_HASHED_CUBE,
CUSTOMER
DISTR_CHAN
MATERIAL
CALYEAR
CURRENCY
G TYPE G_S_HASHED_CUBE,
G_S_KBTBX TYPE G_S_HASHED_CUBE, G_S_KB
TYPE G_S_HASHED_CUBE, G_T_KB TYPE
G_T_HASHED_CUBE, G_S_IS LIKE
/BIC/CSIS_SALES_DATA, * name convention violated
in the following variables COMM_STRUCTURE LIKE
/BIC/CSIS_SALES_DATA, I_RECORD_NO LIKE SY-
TABIX, RECORD_NO LIKE SY-TABIX, I_RECORD_ALL
LIKE SY-TABIX, RECORD_ALL LIKE SY-TABIX,
I_LOGSYS LIKE RSUPDSIMULH-LOGSYS,
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS, I_DATAP
TYPE RSARR_S_RECEIVE_HEADER3-DATAPAKID, I_IDOCNUM
TYPE RSARR_IDOC_DOCNUM, I_REQUNR TYPE
RSARR_S_RECEIVE_HEADER3- REQUEST, I_INFOCUBE
TYPE RSAU_S_UPDINFO-INFOCUBE, MONITOR LIKE
RSMONITOR OCCURS 0 WITH HEADER LINE, ABORT
LIKE SY-SUBRC,
RSMONINC5M,
RSMONINC5C,
RSMONINC5W,
RSMONINC5G.
**************************************************
**********************
FORM UPDATE_INFOCUBE
I_DATAP_INIT TYPE
RSARR_S_RECEIVE_HEADER3-DATAPAKID
DATA:
I_INFOCUBE = 'IC_CUBE02'.
I_REQUNR = I_S_MINFO-REQUNR.
* i_record_no
* i_record_all
SOURCE_SYSTEM = I_S_MINFO-LOGSYS.
I_LOGSYS = I_S_MINFO-LOGSYS.
I_DATAP = I_DATAP_INIT.
I_IDOCNUM = I_IDOCNUM_INIT.
REFRESH: MONITOR.
* check, if source of fiscvarnt has changed CALL
FUNCTION 'RSAU_FISCVARNT_INFO_GET'
EXPORTING
I_INFOCUBE = 'IC_CUBE02'
I_ISOURCE = 'IS_SALES_DATA'
IMPORTING
E_FSCVTSRC = L_FSCVTSRC
EXCEPTIONS
ISOURCE_NOT_FOUND = 1
UNSPECIFIED_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0 OR
C_SUBRC = 1.
EXIT.
ENDIF.
* log 'start update'-event
INCLUDE RSMONINC55.
RECORD_ALL = I_RECORD_ALL.
I_RECORD_NO = SY-TABIX.
RECORD_NO = I_RECORD_NO.
L_WA_NEW = RS_C_FALSE.
L_VAL_SET = RS_C_FALSE.
CLEAR G_S_KB.
REFRESH G_T_KB.
CLEAR G_S_KBTBX.
*
**************************************************
******************
*
**************************************************
******************
PERFORM R0001_0AMOUNT
EXIT
ENDIF.
*
**************************************************
******************
IF L_VAL_SET = RS_C_TRUE.
IF L_WA_NEW = RS_C_FALSE. "read from
table !!!
ENDIF.
L_VAL_SET = RS_C_FALSE.
CLEAR G_S_KB.
ENDIF.
MATERIAL = G_S_KB-MATERIAL
CALYEAR = G_S_KB-CALYEAR
CURRENCY = G_S_KB-CURRENCY
IF SY-SUBRC = 0. "heureka
IF G_S_KB-F0AMOUNT0001 = RS_C_TRUE.
L_S_IC-F0AMOUNT0001 = RS_C_TRUE.
L_S_IC-AMOUNT = L_S_IC-AMOUNT +
G_S_KB-AMOUNT.
ENDIF.
ELSE.
ENDIF.
ENDLOOP.
ENDLOOP.
IF C_SUBRC <> 0.
EXIT.
ENDIF.
IF I_S_MINFO-CANCELLATION = RS_C_TRUE.
L_S_IC-REQUID = I_S_MINFO-CANCELLATIONREQUNR.
ELSE.
L_S_IC-REQUID = I_S_MINFO-REQUNR.
ENDIF.
INCLUDE RSMONINC59.
IF I_S_MINFO-CANCELLATION = RS_C_TRUE.
PERFORM CANCELLATION_CONVERT
IF C_SUBRC <> 0.
EXIT.
ENDIF.
ENDIF.
PERFORM WRITEIC(GPDMGLMY6URMYDHLS4691XYERYX)
USING L_T_IC
I_S_MINFO
I_DATAP
I_IDOCNUM
CHANGING C_T_IDOCSTATE
C_SUBRC.
DATA:
* user messages
IF L_S_MONITOR-MSGTY = RS_C_ERROR.
MOVE-CORRESPONDING L_S_MONITOR TO
L_S_IDOCSTATE.
L_S_IDOCSTATE-STATUS =
RSARR_C_IDOCSTATE_ERROR.
L_S_IDOCSTATE-UNAME = SY-UNAME.
L_S_IDOCSTATE-REPID = SY-REPID.
L_S_IDOCSTATE-ROUTID = 'USER_DEFINED'.
ENDIF.
* monitor entry
MOVE-CORRESPONDING L_S_MONITOR TO
L_S_RSMONDATA.
L_S_RSMONDATA-RNR = I_REQUNR.
L_S_RSMONDATA-DATAPAKID = I_DATAP.
L_S_RSMONDATA-IDOCNUM = I_IDOCNUM.
L_S_RSMONDATA-AUFRUFER = '57'.
IF L_S_IDOCSTATE-MSGTY = RS_C_ERROR.
L_S_RSMONDATA-ERROR = RS_C_TRUE.
ELSE.
L_S_RSMONDATA-ERROR = RS_C_FALSE.
ENDIF.
ENDLOOP.
EXPORTING
AGGREGATE = 'N'
TABLES
DATA = L_T_RSMONDATA.
ENDFORM.
**************************************************
**********************
FORM CANCELLATION_CONVERT
DATA:
ERROR_CATCH.
L_MODIFIED = RS_C_FALSE.
IF L_S_IC-F0AMOUNT0001 = RS_C_TRUE.
L_S_IC-AMOUNT = -1 * L_S_IC-AMOUNT.
L_MODIFIED = RS_C_TRUE.
ENDIF.
IF L_MODIFIED = RS_C_TRUE.
ENDIF.
ENDLOOP.
ERROR_ENDCATCH C_T_IDOCSTATE
'CANCELLATION_CONVERT' L_RECORD_NO.
ENDFORM.
**************************************************
**********************
* cha_calculation
**************************************************
**********************
FORM CHA_CALCULATION
DATA:
G-DISTR_CHAN = G_S_IS-DISTR_CHAN.
G-MATERIAL = G_S_IS-MATERIAL.
G-CALYEAR = G_S_IS-CALYEAR.
G-CURRENCY = G_S_IS-CURRENCY.
ENDFORM.
**************************************************
**********************
* update rule no...: 0001
**************************************************
**********************
FORM R0001_0AMOUNT
ERROR_CATCH.
CLEAR G.
EXIT.
ENDIF.
L_KYF = G_S_IS-AMOUNT.
G_S_KB-CUSTOMER = G-CUSTOMER.
G_S_KB-DISTR_CHAN = G-DISTR_CHAN.
G_S_KB-MATERIAL = G-MATERIAL.
G_S_KB-CALYEAR = G-CALYEAR.
G_S_KB-CURRENCY = G-CURRENCY.
C_WA_NEW = RS_C_TRUE.
G_S_KB-F0AMOUNT0001 = RS_C_TRUE.
C_VAL_SET = RS_C_TRUE.
G_S_KB-CURRENCY = G-CURRENCY.
I_RECORD_NO.
ENDFORM.
Team-Fly
Team-Fly
Appendix C: Selected SAP BW OSS Notes
In this Appendix
Caution This appendix lists SAP BW OSS notes. Remember
that the content of OSS notes changes frequently.
Therefore, these OSS notes may become obsolete at
any time with the new release or a new patch or
workaround.
Team-Fly
Team-Fly
Basis Notes
Team-Fly
Team-Fly
Business Content
Team-Fly
Team-Fly
General Purpose
OSS
Description
Note
BW Infrastructure 0137285
BW Statistics 0176616
Collective Note - BW Tips and Tricks 0130691
Collective Note Performance BW 1.2B 0156319
Large BW-Systems and Performance of
0175534
Aggregate Build
Team-Fly
Team-Fly
Reporting and Analysis
Team-Fly
Team-Fly
Warehouse Management
OSS
Description
Note
Aggregates and Exceptions Aggregation 0125681
Buffering Master Data 0152683
Collective Notes of BW Authorizations 0130561
CTS for BW Objects 0127326
Deleting Master Data and Texts in SAP BW 1.2B 0146752
Loading Data and User-Exits 0144959
Loading Hierarchies - Non SAP via Flat File 0157628
Loading Large Amounts of Data 0115407
Options to Find Aggregates 0166433
Performance When Loading Large Amounts of
0124532
Data
Upload of Transaction Data into SAP BW 0130253
SAP BW Performance 184905
Team-Fly
Team-Fly
Appendix D: Key Enhancements in SAP BW
2.0
In this Appendix
After working with SAP BW since its conception, one thing I can say
for sure is that its functionality is rapidly changing. Every patch is
loaded with fixes or feature enhancements, making SAP BW a viable
data warehousing solution. Now, SAP BW 2.0B general availability is
around the corner, and, as expected, it offers significant
enhancements that make SAP BW Internet ready and supports
Operational Data Store and Business Document Services that puts
SAP BW right in the middle of the corporate extraprise information
supply-chain network. This appendix describes a few of the
enhancements in SAP BW 2.0A and SAP BW 2.0B.
Team-Fly
Team-Fly
SAP BW 2.0B Architecture
This release has several architectural changes to overcome
InfoCube management. Following are only a few topics that have the
most significant impact on SAP BW architecture.
In its earlier versions, the star schema and its dimension tables,
associated with a fact table, were connected to master data via SID
tables. To optimize the slowly changing dimensional implementation
in the SAP BW 2.0 OLAP model, SAP has changed its master data
management architecture to separate time-independent and time-
dependent master attributes. This separation of time-dependent data
is represented in the star schema, which now has two SID tables
associated with master data characteristics. An example of schemas
in SAP BW 1.2B and 2.0A is shown in Figure D-1 as well as on the
accompanying CD. You can list schemas using the LISTSCHEMA
transaction. A Lotus ScreenCam movie on the accompanying CD
shows how to list schema models in SAP BW 2.0A for a Basic
InfoCube, an ODS object, and the MultiCube using the
LISTSCHEMA transaction.
Figure D-1: InfoCube
Schemas in SAP BW 1.2B, on the Top, and BW 2.0A, on the
Bottom. Notice How the New Star Schema Accounts for Several
New SID Tables, Where Each Dimension Characteristic Has
Time-Dependent Master Data.
In SAP BW 2.0, the traditional InfoSource has been divided into two
entities: the InfoSource and the DataSource. The reason for this split
is to make metadata management simpler. For example, in SAP BW
1.2B, the InfoSources were very specific to individual Source OLTP
systems, and that required installation, field mappings, and
management of InfoObjects in both places: SAP R/3 OLTP and SAP
BW. This situation gets complicated when you have multiple SAP
R/3 OLTP instances for SAP BW. When you update metadata in
SAP BW from the source system, the SAP R/3 that gets connected
first wants to send metadata to SAP BW. This may cause problems if
some source systems have different InfoObject definitions than the
one that sent the metadata to SAP BW.
In SAP BW 1.2B, under the InfoCubes tree node, you are able to
create and manage an InfoArea or an InfoCube but not ODS. The
ODS is generated automatically when you select tRFC with ODS
transfer method, as shown in Figure 9-8, when defining transfer rules
for the communication structure.
For example, say you want to document metadata for a key figure
ZAMOUNT that you created earlier and used in the queries in
Chapter 11. Often, end users want to know what this amount means
or how it is computed in the queries. You can attach a document in
Microsoft Word or any text editor and associate with the ZAMOUNT
key figure, as shown in Figure D-4.
Figure D-4: The BDS Document Management Environment.
Assigning a Document to Key Figure
ZAMOUNT.
Team-Fly
Team-Fly
Web Reporting
Prior to SAP BW 2.0, there were two methods to publish reports over
the Internet. In the first method, you use BEX Analyzer, execute
Query, and save the Microsoft workbook, with the results, on a Web
server. This workbook is then launched from an Internet browser.
Because this spreadsheet had data when it was last stored, the
Internet browser displays the results. Now if the user wants to
refresh the query, the spreadsheet will pull new query results from
SAP BW only if the user has SAP BW frontend installed at the
workstation. From here, the BEX Analyzer connection will be a
straight RFC-instead of HTTP-communication back to the SAP BW
server for data manipulation.
The ITS has two gateways, WGate and AGate, as shown in Figure
D-5. These gateways and the Internet server can be run on one
Microsoft NT server, each on its own server, or in any combination.
The configuration of gateway services depends on the scalability and
performance required to meet end-user data-access needs. For
discussion purposes, I assume that all three components, AGate,
WGate, and Internet server, are configured to run on one Microsoft
NT server.
RSBB_WWW_BROWSER_GATE
RSBB_WWW_BROWSER_TREE
RSBB_WWW_BROWSER_NODE_READ
RSBB_WWW_BROWSER_NODE_SEARCH
RSBB_WWW_BROWSER_TITLEBAR
2. While in the BEX Analyzer, publish the Query View that you
want to see by default when a user opens the query.
Include your common query layout; for example, a sales
analyst may always want to see sales breakdowns by
product family (material) as a default view of sales reports.
Further analysis can be done later, such as sales by
calendar year or customer, as shown in Figure D-8. The
purpose of saving the Query view is to have a basic query
result layout posted in the SAP BW database server. The
query view in terms of SAP BW Web reporting constitutes a
data provider.
Figure D-8: Publishing a Query View. The a Step is to
Save the Basic Query in SAP BW. The B Step is to Save
the View Query as Default View for Publishing over the
Web. Here, Sales Revenues (Amount) are Shown by
Product (Material). Step C is to Format the Layout of the
Result Set using SAP BW Web
Publisher.
When you issue the URL, you are prompted for SAP BW logon
information. After SAP logon, the BW Web service fetches the report
template from BDS, pulls data from the SAP BW database server,
and fills in the tagged values to compose the HTML page. This page
is sent back to the ITS server, and the HTML formatted reports are
shipped via the Web server to the end user.
Consult the OSS notes and apply special patches for SAP BW Web
reporting using ITS. At a higher level, you must know that the Web
server you want to use with SAP ITS must support Common
Gateway Interface (CGI) methods. Depending on the release of SAP
BW, you may need to release a few programs in SAP BW as well.
Read the installation directions very carefully before configuring the
ITS server.
Team-Fly
Team-Fly
Business Explorer Browser
The concept of Channels in SAP BW 1.2B has been replaced with
Activity Groups. Instead of maintaining Channels and reports
assignments in InfoCatalog manager, SAP has replaced the
InfoCatalog manager with an Activity Group Maintenance program,
transaction PFCG. SAP also provides conversion utilities to migrate
InfoCatalog, Channels, and favorite entries to the new format.
Team-Fly
Team-Fly
Reference
With the release of SAP BW 2.0, just about every area in the SAP
BW development process has been enhanced. Visit SAPNet at
http://service.sap.com for the documents "Release-Infos, Business
Information Warehouse, Release 2.0A" and "BW 2.0B features." All
known enhancements are well documented in these documents.
Team-Fly
Team-Fly
Summary
SAP BW is going through a rapid development cycle, and it will take
some time for it to become a mature and stable product. The future
release will have the additional functionality to implement a stand-
alone Operational Data Store and the Business Document Server.
The next challenge facing SAP is to focus on Internet frontends and
performance improvements in all processes needed to construct,
deploy, and operate a global data warehouse. In my opinion, SAP
will meet that challenge.
Team-Fly
Team-Fly
Appendix E: What's on the CD-ROM
The CD that accompanies this book contains example projects from
the book and ScreenCam movies that show you how to execute
various processes.
Running the CD
To make the CD more user-friendly and take up less of your disk
space, no installation is required. This means that the only files
transferred to your hard disk are the ones you choose to copy or
install.
Windows 95/98/NT4
If you have disabled autorun, place the CD in the CD-ROM drive and
follow these steps:
1. From the Start menu, select Run.
3. Select OK.
Team-Fly
Team-Fly
The Prima License
The first window you will see is the Prima License Agreement. Take
a moment to read the agreement, and click the "I Agree" button to
accept the license and proceed to the user interface. If you do not
agree with the license, click the "I Decline" button to close the user
interface and end the session.
Team-Fly
Team-Fly
The Prima User Interface
Prima's user interface is designed to make viewing and using the CD
contents quick and easy. The opening screen contains a two-panel
window with three buttons across the bottom. The left panel contains
the structure of the programs on the disc. The right panel displays a
description page for the selected entry in the left panel. The three
buttons across the bottom of the user interface make it possible to
install programs, view the contents of the disc using Windows
Explorer, and view the contents of a help file for the selected entry. If
any of the buttons are "grayed out" it means that button is
unavailable. For example, because there are no help files for any of
the items on this CD, the Help button is always grayed out.
As with any window, you can resize the user interface. To do so,
position the mouse over any edge or corner, hold down the left
mouse button, and drag the edge or corner to a new position.
To close and exit the user interface, either double-click on the small
button in the upper left corner of the window or click on the exit
button (marked with a small "x") in the upper right corner of the
window.
The left panel of the Prima user interface works very much like
Windows Explorer. To view the description of an entry in the left
panel, simply click the entry. For example, to view the general
information about Prima Publishing, Inc., click the entry Prima-Tech.
Some items have subitems that are nested below them. Such parent
items have a small plus (+) sign next to them. To view the nested
subitems, simply click on the plus sign. When you do, the list
expands and the subitems are listed below the parent item. In
addition, the plus (+) sign becomes a minus (-) sign. To hide the
subitems, click the minus sign to collapse the listing.
Note You can control the position of the line between the left and
right panels. To change the position of the dividing line,
move the mouse over the line, hold down the left mouse
button (the mouse becomes a two-headed arrow) and drag
the line to a new position.
The right panel displays a page that describes the entry you chose in
the left panel. Use the information provided to provide details about
your selection, such as what is shown in a ScreenCam movie.
Command Buttons
Read File. If the item you are viewing in the left panel includes an
Adobe Acrobat file (*.pdf), the Install button becomes the Read File
button. Clicking the Read File button opens the file in Adobe
Acrobat, providing you have Adobe Acrobat installed on your
computer.
Explore. Use this button to view the contents of the CD using the
Windows Explorer.
View Help. Use this menu item to display the contents of the Help
file provided with the program.
Team-Fly
Team-Fly
Index
Symbols
000 client, 116-117
2LIS_01_S260, 282
066 client, 117
Team-Fly
Team-Fly
Index
A
ABAP (Advanced Business Application Programming), 27, 30,
292
ABAP developer, 98
ABAP Query, 30
ABAP Routine method, 272
ABAP routines, 274
ABAP routine template, 272
ABAP Workbench, 27
accessing data from third-party tools, 317-324
ActaWorks for SAP, 43, 66-67
Activate demo cube icon, 185
activate icon, 180
active client, 117-118
active dictionary, 27
Active icon, 141, 155
active LIS tables, 193
ActiveX Control Directory, 318
Activity Groups, 57, 251-252
adaptation of new technologies, 14
Administrator Workbench, 54, 128-133, 155, 410-412
changing startup view, 131
Content Delivery menu, 129-130
Content Management menu, 129-130
InfoCubes tabstrip, 131, 158-159
InfoCube view, 131
InfoObjects tabstrip, 131, 139
InfoSources tabstrip, 131, 220
InfoSource view, 131
managing data warehouse content, 130
Monitor icon, 210
ODS tabstrip, 131
Refresh icon, 152
SAP BW content delivery functions, 129-133
Source Systems tabstrip, 131, 134, 219, 298
Source Systems view, 131
Tools menu, 176
tree format layout, 128-129
where to run, 124
Administrator Workbench menu, 139
Agate, 415
aggregate cube. See aggregates
aggregates, 54, 334
based on present queries, 336
BW statistics, 337
defining, 335-338
from existing queries, 337
last navigation steps, 337
loading data in InfoCube, 336
manual creation, 336
Aggregates Maintenance window, 335
ALE (Application Link Enabling), 36
IDOC setting, 123
messages, 123
parameters, 97
users, 123
ALEREMOTE, 288
ALEREMOTE user, 123, 136, 189
ALE user, 124, 189
analytical applications, 232
Analytical Applications Integration service, 10
Application Logic layer, 27-28
applications
analytical, 232
Web frontends, 21
application server and data files, 226
application-specific user-exits, 281
APPL_LOG_A sub-profile, 189
arcplan Web site, 317
ASAP (Accelerated SAP)
accelerators, 88
how-to guides, 88
methodology, 42
methodology and SAP BW implementation team templates, 95
templates, 88
ASC (ASCII) files, 218
aspect, 33
Audit and Controls service, 11
availability, 15
AVERS table, 124, 167
Team-Fly
Team-Fly
Index
B
B2B (business to business), 36
B2C (business to customer), 36
background data loads, 226
backup and restore of OLTP database, 37
B_ALE_ALL sub-profile, 189
BAOV transaction, 124
BAPI (Business API), 290
ETL (Extraction, Transformation and Load) tools, 43
function, 292
history of, 291
programming documents, 292
SAP BW 2.0, 324-326
BAPI Browser, 293
BAPI transaction, 293
BAPI User Guide, 292
Basic InfoCube, 269
Basis Administration for SAP, 106
Basis notes, 404
Basis team, 416
Basis technology, 27
batch printing, 130
BDS (Business Document Server), 419
BDS (Business Document Services), 413
Begin_FY variable, 130
BEX (Business Explorer), 49-51, 77, 116, 421
architecture, 232
BEX Analyzer, 44, 50, 55, 72, 77, 130, 232-234, 310-311, 417
analyzing data, 243-246
customizing report data presentation, 238
as developer workbench, 82
drilling down data, 244-245
exiting, 79
functions, 234
logging on to, 81-82
menu bar, 234
MultiCube, 275
Query View, 417
refreshing query, 248
sessions, 254
variables in queries, 247-250
BEX (Business Explorer) Analyzer, 115
BEX Browser, 49, 57, 77, 232, 252-254, 310
applications and reports, 232
continuing data analysis, 81
displaying all valid channels, 79
EXECUTE option, 254
launching application from, 58
logging on to, 78-84
sessions, 254
URLs, 253
Web-centric interface, 232
BEX Explorer, 55
bitmapped indexes, 53
BIW_KNA1 view, 287
BIW_KNA5 view, 287
BOR (Business Object Repository), 292
bottom-up approach, 87
buffering number range objects, 332
Building the Data Warehouse, 4
Building the Operations Data Store, 350
business content, 174, 280
activating in SAP BW, 173-174
channels, 47, 280
data extractors, 45
enabling in SAP BW, 176-177
enhancing, 280-283
InfoCubes, 46, 280
InfoObjects, 45, 280
InfoSource, 46, 280
KPI (Key Performance Indicators), 47
loading InfoCube queries, 182-183
logical system names, 168
more information about, 186
notes, 405
objects and metadata, 171
order of object activation, 174
OSS notes, 168
preparing SAP BW instance, 175
queries, 47, 280
SAP BW, 261
transports to load, 167
update rules, 280
workbooks, 47
Business Content command, 176
Business Content menu, 177-178
Business Explorer menu, 115
Business Framework, 292
Business Information Warehouse, 37, 78
business intelligence, 6, 36
business objects, 67, 292
business partners, 96
business process integration, 62
business reports, 29-34
business requirements and SAP BW projects, 99-100
business rules, 27
BW 200: Business Information Warehouse (BW)-Overview, 376
BW 205: Business Information Warehouse (BW)-Analysis, 377
BW 210: Business Information Warehouse (BW)-System
Configuration, 378
BW 220: Business Info. Warehouse (BW)-SAP OLTPExtraction,
379
BW AddOn, 115
BW-BCT add-on, 124
BW-centric customizations, 119
BW Customizing Implementation Guide, 119
bw.ic_file, 320
bw.ir_file, 320
BW.isc file, 319-320
BW.isr file, 320
BWSERVER target database, 305
BW Web Publisher, 418-419
Team-Fly
Team-Fly
Index
C
calling data extractors, 169
catalog, 314
CEDBBW.SH script, 112
CGI (Common Gateway Interface), 421
change capture method, 19
Change InfoCube command, 161
Change window InfoCube Update Rule, 271
channels, 47, 57, 280
activating, 184-186
assigning to users, 184
clusters, 57
defining, 251
displaying valid, 79
listing available, 184
users, 252
Channels command, 184
characteristics
assigning to dimensions, 270-271
update rules, 271-272, 273-274
charts
attaching to queries, 239-240
changing type, 240
check icon, 155, 180
CKF (Calculated Key Figures), 182-183
client configurations, 103
Client Profile service, 11
clients, 33
client-specific reports, 33
client workstation, 348
ActiveX control, 323
data files, 224-226
installing ODBO clients, 316-317
login information, 323-324
registering objects, 317
Close (Alt+F4) key combination, 81
clusters, 57
cluster tables, 41
CMOD transaction, 280, 285
Cognos, 67
Communication Structure, 49
COM (Component Object Model) objects and interfaces, 312
comparing reporting systems, 33-34
components, 343
compounding InfoObjects, 147
Conceptual data model, 262
Conceptual model, 259
constant value, 273
consulting services Web sites, 373-374
content delivery functions, 129-133
continual improvements, 15
CO-OM (Controlling Overhead Management), 33
CO-PA (Controlling-Profitability Analysis), 32-33
corporate data warehouse team, 96
corporate information architects, 99
Create InfoArea command, 152
Create InfoCube command, 267
Create InfoObject Catalog command, 154
Create InfoObject Catalog window, 154
Create InfoPackage command, 203
Create new routine icon, 272
Create Source System command, 135, 298
Create Update Rules command, 271
CRM (Customer Relationship Management), 36
cross-InfoCube queries, 57
Crystal Info product version 7, 69
CSV (Comma Separated) files, 134, 218
type data files missing field values, 229
C_T_DATA table, 285
CTO (Correction and Transport Organizer), 109
CTS (Correction and Transport System), 109
C_T_TEXT export parameters, 287
Cube_Que-e.pdf file, 186
cubes, 51, 314
currency
characteristic, 150
conversion calculations, 175-176
cust.htm file, 322
cust.isd file, 322
cust.is_ file, 322
custom
InfoCubes, 191
InfoObjects, 139
LIS structures, 191
Customer channel, 57
customer created objects naming scheme, 151
customer evaluations, 32
Customizing for R/3 extractors command, 283
customizing query display layout, 238
Team-Fly
Team-Fly
Index
D
D20BW: Business Information Warehouse (BW)-Delta with
Release 2.0, 380
data, 241
quality, 195
refresh, 15
replication services, 93
replication tools, 93
scrubbing, 19
transfer methods in SAP BW, 200-202
data access
BW (Business Information Warehouse), 49-50
interfaces, 310-311
database
activating and adjusting, 283
objects managing data flow and storage, 51-54
size, 344-346
database-centric data warehouses, 37-39
Database Utility command, 283
Data Cleansing service, 10
Data Consolidation service, 10
data conversions, 11
data dictionary, 142
Data Dictionary service, 12
data distribution, 16
Data Distribution service, 10
data extraction, 18, 328-329
techniques, 41
Data Extraction service, 10
data extractors, 45, 97, 384-385
calling, 169
debugging, 287-288
data files
application server, 226
client workstation, 224-226
field values, 229
header lines, 223
location, 224-225
data flow between SAP R/3, 166
data load, 203-210
ALE IDOCs mechanism, 206
background, 226
breaking into smaller jobs, 208
data providers, 216-217
defining scheme, 205
delta, 209-210
exceeding time limit, 211
fatal errors, 211
flat files, 216, 217-229
initial, 208-209
in-limbo state, 211
master data attributes, 224-226
method, 205
monitoring, 210-213, 227
monitoring utility, 210-213
non-SAP R/3 data source, 216-217
optimizing, 330
periodic, 205
platform-independent technologies, 217
pre- and post-load activities, 204-205
in progress, 211
reducing time for, 19
resolving problems, 212, 227
Staging Business API (BAPI), 216-217
successful, 211
text and hierarchy data, 226-227
tRFC with ODS transfer method, 207-208
data loader, building with staging BAPIs, 294-296
data loads, 203-210
pre-and post-load activities, 204-205
Data Management layer, 27-28
Data Manager, 51-54
data marts, 7
data modeling, 258-259
data modeling team, 261
data objects
classes, 199
loading data, 203-210
managing, 11-12
managing and distributing, 10
Data Partitioning service, 10
Data Profiling, 10
Data Provider layer, 10
data providers, 216-217
data puddles, 6
data sets statistical update, 192
DataSource, 48
Data Source object, 157
data sources, 216
definitions, 298-299
extracting data, 295-296
gateway, 10
naming, 135
sending extracted data to SAP BW, 295-296
Data Staging service, 10
Data Storage service, 10
Data Transformation service, 10
Data Transport service, 10
(The) Data Warehouse Lifecycle Toolkit, 95, 99
Data Warehouse Management layer, 11-12
data warehouses, 6
24-7 mode, 12
adaptation of new technologies, 14
ALE-centric, 39-40
architecture, 8
availability, 15
baseline data, 192
bottom-up approach, 87
bulk-load utilities, 217
business intelligence, 6, 260
categories, 6-8
components, 9-12
Conceptual model, 259
construction steps, 4
consulting services Web sites, 373-374
continual improvements, 15
database-centric, 37-39
data distribution, 16
data extraction techniques, 41
data growth pattern, 333
data marts, 7
Data Provider layer, 10
Data Warehouse Management layer, 11-12
Deployment model, 260
dimensions, 17
enterprise business intelligence needs, 260
extraprise, 5, 8
flat files, 216
Global catalog, 13
Global Information Delivery services, 13
high-performance, 17
hybrid approach, 87-88
implementation methodologies, 86
industry, 65
industry analysts and consulting services providers, 63
Information Consumer layer, 11
integrated enterprise, 133
loading large data volumes, 19
Logical data model, 260
magazines and literature Web sites, 372-373
manageability, 13-14
managing content, 130
metadata management, 13
modeling, 258-262
modeling in SAP BW, 261-262
network bandwidth, 16, 329
number of users, 17
ODS (operational data store), 7
performance metrics, 16-20
Physical data model, 260
poor performance, 16-17
product vendor Web sites, 374
purpose, 99
reliability, 15
SAP approach, 87-88
SAP R/3-centric environments, 37-42
scalability, 16
security, 14-15
Service Provider layer, 10
technical issues in constructing, 12-16
third-party-tool-centric, 41-42
top-down approach, 87
traditional, 5
upgradability, 15
usage patterns, 333
(The) Data Warehouse Toolkit, 263
data warehousing
books, 370-372
data quality, 195
definition of, 4
evolution, 22
tight integration with OLTP, 22
time, 149-150
DB2, 53
DEBUG_FLAG, 288
debugging data extractors, 287-288
defining
active client, 117-118
dimensions, 264-265
facts, 265
Delta Change table, 210
delta data loads, 209-210
DELTA logs, 192
DEMO.IS_application file, 322
dependent data marts, 7, 16
dependent InfoObjects, 178
Deployment model, 260
Development Management service, 12
dimensions, 180, 314
assigning characteristics, 270-271
attributes, 264-265
defining, 264-265
InfoCubes, 264
normalizing, 264
slicing and dicing, 265
star schema model, 264
time independent, 264
user-definable, 264
dimension tables, 51, 52
keys, 263
size, 265
disk I/O subsystem, 347
disk storage requirement, 345-346
Display InfoCube Data Model command, 181
Dresner, Howard, 6
drill-down analysis, 236, 265
drill down data, 241
D-versioned objects, 173
DynaSite, 67
Team-Fly
Team-Fly
Index
E
ECO-PCA (Enterprise Controlling-Profit Center Accounting), 32,
33
ECP (Early Customer Program), 42
EDA (Enterprise Data Access) server, 68
Edit InfoCatalog window, 154
Edit InfoCube window, 161
Edit InfoObject window, 177
Edit Query window, 248
EIS (Executive Information System), 30, 33
Employee channel, 57
End_FY variable, 130
End-user Data Synchronization service, 11
end users installing frontend components for reporting and
analysis, 115-116
enhancements, 280-282
Enterprise Applications, 22
enterprise data warehouses
accommodating new business analytical needs, 260-261
data modeling, 258-259
sourcing data, 290
Enterprise Miner, 69
enterprise-wide reporting, 92-93
entity relation models, 260
ERP (Enterprise Resource Planning), 22
data target type, 305
evolution of, 20-22
extracting information from applications, 23
infrastructure characteristics, 23-24
ERP data warehousing, 20-24
cultural impact, 62-63
initiatives, 23
IT (Information Technology) changes, 63
OLTP team changes, 63
Error in the source system message, 212
/etc/sysconigtab file, 111
ETI (Evolutionary Technology Inc), 67
ETL jobs, 305
Excel add-in, 115
exiting, 79
EXIT_SAPLRSAP_001 function module, 281, 285
EXIT_SAPLRSAP_002 function module, 281-282
EXIT_SAPLRSAP_003 function module, 282, 287
EXIT_SAPLRSAP_004 function module, 282
extended multidimensional data model, 266
extended star-schema model, 46
extending
master data InfoSource content, 287
texts InfoSource, 287
transaction data content, 283-286
ExternData tabstrip, 224
extractors, installing, 124-126
Extract Structure, 48
extraprise data warehouses, 5, 8
Team-Fly
Team-Fly
Index
F
fact-based systems, 6
factless fact tables, 265
facts defining, 265
fact tables, 51-52, 180, 262
accessing, 265
computed values, 265
defining tablespaces for, 111
factless, 265
foreign keys, 263
key figures, 265
number of entries in, 265
size, 265
field-level relationships between data sources and targets, 303-
304
FI-GL (Financial General Ledger), 33
FI-LC (Financial Consolidation), 33
filtering data for queries, 183, 241-242
Financials module, 29
FIS (Financial Information System), 30, 32
FI-SL (Financial Special Purpose Ledger), 33
Fixed Length files, 134
flat files, 216, 224
1,000 bytes record limit, 224
ASCII data, 223
data loads, 217-229
data type, 223-224
dates, 224
defining data source, 219-220
defining metadata, 220-223
hierarchies, 218
InfoSources, 205
master data, 218, 220-222
metadata, 218
missing values, 229
processing, 123
sorting, 224
source system type, 219-220
text, 218
time, 224
transaction data, 218, 227
frontend components, 73
FrontPage, 72
function module, 287
function modules for LIS extracts, 387-390
Team-Fly
Team-Fly
Index
G
gateway data sources, 10
gateways, 415
General Purpose Channel, 57
general purpose notes, 405
Genio, 43, 67-68
Genio MetaLink for SAP, 68
Genio Suite 4.0, 68
GetDetail method, 295
GetDetails method, 296
GetList method, 295
GetParameterDefinition method, 296
Global catalog, 13
Global Catalogs service, 11
Global Information Delivery services, 13
Governing Services service, 11
grouping InfoObjects, 139
Team-Fly
Team-Fly
Index
H
Hackney, Doug, 9
Hardware/Software service, 12
hierarchies, 264, 314
flat files, 218
loading data, 226-227
transfer table, 282
hierarchy intervals, 145-146
high-performance data warehouses, 17
HIS (Human Resources Information System), 30
HTML, 73
human resources module, 29
hybrid approach, 87-88
Team-Fly
Team-Fly
Index
I
IBI (Information Builders, Inc.), 68
IBM Web site, 342
IDOCs (Intermediate Documents), 39, 217
processing, 103
saving data, 206
IMG, 283, 285
independent data marts, 7
index management, 331
industry analysts and consulting services providers, 63
Industry specific module, 29
InfoAreas, 139, 152, 159
InfoCatalogs, 49, 251
Channel InfoCat tabstrip, 184
User channel assignment tabstrip, 184
InfoCube Characteristics edit window, 269-270
InfoCube content window, 163
InfoCube Edit window, 163
InfoCubes, 46, 51, 54, 158-164, 280, 334
activating, 178-181, 270-271
activating InfoObjects, 177
activating query objects, 183
aggregates, 333-338
assigning characteristics to dimensions, 270-271
associating InfoSource, 270
based on another set of InfoCubes, 269
building, 267-271
building from template, 162
characteristics, 158
checking structure, 270
CKF (Calculated Key Figures), 183
creation of, 267-274
custom, 191
database-specific options, 164
data loading strategies, 199-202
data model, 159, 161
data subset, 47
defining, or viewing dimensions, 162
defining data structures, 269-270
defining update rules, 271-274
dimension assignments, 162
dimensions, 159, 180, 264
document-level detail, 356
drilling-down to ODS, 360-361
fact table, 180
fetching data from, 54
improving data loading time, 272
improving query response time, 278
joining, 275-278
key figures, 158
listing objects, 163
loading queries from business content, 182-183
managing data flow and storage, 51-54
mapping source values to characteristics and key figures, 272
modeling, 98
multidimensional data view, 54
multidimensional modeling, 159
optimizing data access, 53
populating, 130, 158
query response, 334
selecting, 81
shared attributes, 146
shared hierarchies, 146
sharing master data, 263
sharing reference data, 266
status, 271
subject-centric, 275
subset of, 56
summarized information, 200
summary-level detail, 356
as template, 267-268
time dimensions, 149-150
transactional data, 199
types, 267
update code examples, 392-402
update rules, 181, 276
viewing content, 163-164
viewing structure, 161-163
virtual, 269
InfoCube tree, 159
InfoArea, 267
InfoObject catalog, 139
activating, 178
creation of, 154-156
InfoObject structure, 154
saving, 155
InfoObject display screen, 177
InfoObject Edit window, 141
InfoObject icon, 139, 141
InfoObject Maintenance window, 139-141
General tabstrip, 142
Master data/text tabstrip, 142-144
InfoObjects, 45, 280
A:Active version, 139
activating, 141, 174, 177
assigning in InfoCatalog, 154
assigning to additional fields, 285
attributes, 138, 146-147
characteristics, 140-142
classes, 138
collection of, 46
compounding, 147
creation of, 139
custom, 139
dependent InfoObjects, 178
D:SAP Delivered version, 139
editing, 139
grouping, 139
hierarchies, 145-146
language data objects, 142-144
metadata definition, 142
M:Revised version, 139
narrowing list of, 155
properties, 142
status, 141
as templates, 154-155
tree structure, 139
verifying definitions, 155
viewing attributes, 156
InfoObjects command, 177
InfoObject tree, 152
InfoObject catalog line, 152
InfoObject tree folder, 139
InfoPackages, 203, 224
data flow, 205
naming, 203
InfoPackage scheduler, 203-205, 224
Data Target folder tab, 205
Select Data tab, 208
Update Parameter folder tab, 209
Informatica, 68
Information Access APIs service, 11
Information Authoring service, 10
Information Consumer layer, 11
Information Consumer Profiling service, 11
Information Delivery service, 11
information objects, 11
Information Presentation service, 11
information structures, 31
information systems, 29-30
Informix, 53
InfoSet Query, 234
InfoSource object, 157
InfoSources, 46, 48, 156-157, 280
activating, 178
assigning source system, 220
based on flat files, 205
creation of, 157
Data Source object, 157
editing structure to append elements, 283-284
enhancing, 282
GetDetail method, 295
GetList method, 295
independent date items, 283
InfoSource object, 157
irrelevant information, 283
LIS-based, 210
listing, 295
master data flat file 220, 222
master data/text/hierarchies, 157
populating user-defined, additional fields, 281
reading metadata, 294
record length, 282
scope, 156
transaction data, 157
transaction type, 222-223
tRFC with ODS transfer method, 207-208
when to create, 283
initial data loads, 208-209
preparation strategies, 194-199
Inmon, William H., 4, 9, 350
INSERT rows data processing mode, 305
inSight, 44, 67, 317, 326, 414
associating empty objects with cube dimensions and key figures,
320-321
building application, 319-324
cube dimensions and key figures, 320
data sources, 319
defining dependency rules, 321
defining filters or qualifiers, 321
drawing chart, 321-322
implementing application for Internet, 322
light client, 318
query cubes, 319
running application, 322
SAP BW data source, 319
setting up development environments, 328-319
typical workstation, 318
inSight DBweb Connector, 318
inSight Service, 318
inSight Web server, 318
Installation of 32-bit SAP BW Frontend Software under Microsoft
Windows NT and Windows 95/98, 111
Installation of SAP Business Information Warehouse on UNIX/Oracle
Database, 112
Installation of the SAP Business Information Warehouse on UNIX,
111
Installation of the SAP Business Information Warehouse on
UNIX/Oracle Database Release 1.2B, 111, 112, 113
Installation of the SAP Business Information Warehouse on UNIX-
OS Dependencies, 111, 112
instances
defined as data source, 176
deleting queries, 130
preparing for business content, 175-176
integrated enterprise data warehouse, 133
Integration Server for SAP BW, 297
INVCO (Inventory Controlling), 31
ISOURCE Import parameter, 285
I_T_FIELDS parameter, 285
ITS (Internet Transaction Server), 44, 72, 311, 324, 414-415
I_T_SELECT exporting table parameter, 285
I_UPMODE parameter, 285
Team-Fly
Team-Fly
Index
J
Java, 292
Java & BAPI Technology for SAP, 292
joining InfoCubes, 275-278
Team-Fly
Team-Fly
Index
K
key figures, 45
defining, 148
units of measure, 156
update method, 272
update rules, 271
Key Figures maintenance window, 148-149
key tables and SAP R/3 OLTP, 386
Kimball, Ralph, 9, 263
KPI (Key Performance Indicators), 5, 47
BW (Business Information Warehouse), 100
calculation of, 15
Team-Fly
Team-Fly
Index
L
language data objects, 142-144
Librfc32.dll file, 316
LIS (Logisitics Information System), 97
LIS (Logistics Information System), 30, 31-32
LIS-based
data sets statistical update, 192
InfoSources, 210
LIS information structures
defining synchronization scheme, 32
updating, 31
LIS Setup, 385
LIS structures
custom, 191
deactivating, 197
delta updates, 198
preparing and loading initial statistical data, 197-198
update mode enabled, 212
updating, 198, 209
LIS tables
active, 193
populating, 192
tables associated with, 192-193
LISTCUBE transaction, 163
loading
large data volumes, 19
text and hierarchy data, 226-227
logging on
to BEX Analyzer, 81-82
to BEX Browser, 78-84
Logical data model, 260, 262
logical system definition, 117-118
logical system names, 168
associating SAP BW client, 189
Logistics module, 29
Team-Fly
Team-Fly
Index
M
magazines and literature Web sites, 372-373
Maintain InfoCube aggregates command, 335
major application modules, 29
manageability, 13-14
MappingBW mapping scheme, 304
master data, 144, 169
attribute data loads, 224-226
Attributes file, 222
deleting, 195
elements, 170-171
enhancing text, 282
extending InfoSource content, 287
flat files, 218, 220-222
function modules, 170
grouping, 196
InfoCube population process, 194
invalid records, 195
loading, 194, 208
ODS, 199
populating attributes, 281-282
quality, 195
records failing, 195
sharing across all defined InfoCubes, 263
SID tables, 194
slowly changing dimensions, 144
structure, 222
text elements, 287
time-dependent, 222
timestamping, 144
MCS_BIW_LIS_API function module, 169
MCS_BIW_UPDATE_SWITCH function module, 199
MDM (multidimensional data modeling), 262-266
defining dimensions, 264-265
defining facts, 265
star schema, 262
Mdrmsap.dll file, 316
MDS (Multidimensional Expression), 55
MDX (Multidimensional Expression), 313
Mdxpars.dll file, 316
memory, 56, 347
metadata, 10, 13
business content objects, 171
defining for flat files, 220-223
defining inbound data structures manually, 171
flat file, 218
importing from SAP R/3, 171
loading in SAP BW, 171-173
management, 13, 294-295
management in SAP BW, 170-171
non-SAP R/3 data sources, 173
refreshing, 172
table storage of, 168-169
updating, 172-173, 175
metadata repository, 138
Metadata service, 12
methodology guides on data modeling and implementation, 269
Microsoft C++, 292
Microsoft Excel, 116, 311
BEX icons in spreadsheets, 81
data analysis, 79
SAP BW add-in, 310
VBA and ODBO programming developer, 98
Microsoft Frontpage, 72
Microsoft Office 97, 73
Microsoft Plato OLAP Server, 312
Microsoft SQL Server 7, 51
Microsoft Visual Basic, 292
Microsoft Web site, 311, 313, 314
migration path, 344
MMC (Microsoft Management Console), 126
modeling InfoCubes, 98
Monitor Assistant window, 211
monitoring data loads, 210-213
Gantt Chart format, 211
overview list format, 211
statistics in tree format, 211
MRP (manufacturing resource planning) systems, 20-21
MSA (Mobile Sales Automation) server, 13-14
Msdadc.dll file, 316
MS SQL Server, 53
MultiCube, 275-276
defining in SAP BW 2.0A, 276-278
defining view, 275
result set, 276
multidimensional data warehouses and data modeling, 258-259
multi-tiered architecture, 26
Multi-Tiered Models service, 11
mySAP.com initiative, 36
Team-Fly
Team-Fly
Index
N
navigating data, 241
networks
bandwidth, 16
configuration, 347
topology, 19-20
New Dimension products, 42
non-SAP BW information objects, managing, 253
non-SAP R/3 data sources
data loads, 216-217
metadata, 173
normalizing dimensions, 264
Team-Fly
Team-Fly
Index
O
OBASE_UOM characteristics, 150
object names, 99
objects, versions of, 173
OCITY InfoObject, 178
OCOUNTRY InfoObject, 178
OCUSTOMER characteristic, 247
OCUSTOMER InfoObject, 178
ODBC (Open Database Connectivity), 14, 312
ODBO (OLE DB for OLAP Architecture), 44, 290, 312-315, 322
crosstab format data, 313
equivalent objects in SAP BW, 314
implementation in SAP BW, 315
installing components at client workstation, 316-317
making queries visible, 315
MDX (Multidimensional Expression), 313
modeling queries, 315
SAP BW 2.0, 324-326
saprfc.ini file, 317
ODBO (OLE DB for OLAP Architecture), 14
ODBO-certified products, 381
ODBC-certified vendors, 44
ODS (Operational Data Store), 54, 258, 350, 412
accessing data, 358-360
architecture, 354-356
detailed data, 200
drill down from InfoCube, 360-361
future direction, 365-366
history of, 350-353
limited access to SAP R/3, 200
loading transaction data, 202
managing data flow and storage, 51-54
master data, 199
object creation, 362-365
one InfoSource populating multiple InfoCubes, 200
operating environment, 355
resolving data quality problems, 200
saving data in, 202
setting up drill-down scheme, 358-360
storing transaction data, 200
transactional data, 199
ODS objects, 202, 266
ODS tables, 54, 200, 357-358
OIW (Open Information Warehouse), 29-30
OLAP (On-Line Analytical Processing) after-the-fact reporting
requirement, 5
OLE DB for OLAP Programmer's Reference, 311
OLE DB for OLAP Provider, 115
OLI7/OLI8 transaction, 197
OLI7 transaction, 197
OLI8 transaction, 197
OLI9 transaction, 197
OLTP (Online Transaction Processing), 4-5
database backup and restore of, 37
data extraction, 18
performance impact by reports, 35
reporting requirements, 34
tight integration with data warehousing, 22
OM01 transaction, 197
OMATERIAL InfoObject, 151
attributes, 146
master data tables, 152
properties, 142
structure, 140
OMO1 transaction, 209, 213
OMO2 transaction, 209, 213
open data access strategy, 311-315
operational reporting, 91
optimizing data loads, 330
Oracle, 68-69
Oracle8, 51, 53
Oracle Data Mart Designer, 69
Oracle Designer/Developer 2000, 69
Oracle Express, 69, 312
Oracle Tool Kit for SAP R/3, 68
Order InfoSource, 282
order processing transactional data flow, 191
OREGION InfoObject, 178
OSS (Online Service System)
notes and business content, 168
OSS (Online Service System) account, 88-89
Team-Fly
Team-Fly
Index
P
passwords and BW (Business Information Warehouse), 75
PC_SOURCE data source, 301
PC_SOURCE source system, 299
PC-SRC program, 300
PC_SRC program ID, 299
Physical data model, 260-261
pilot/development system, 108, 344
PIS (Purchasing Information System), 31
planning for SAP BW projects, 88-94
platform-independent data movement technologies, 217
Plugin for SAP BW, 189
PMIS (Plant Maintenance Information System), 31
pool tables, 41
PowerCenter, 43, 68
data source definitions, 298-299
data type conversions, 304
defining RFC connection for, 299-301
loading data in SAP BW, 296-308
PowerCenter Designer, 303-304
PowerCenter Integration Server, 299
command line interface, 306
connecting to SAP BW, 301-305
launching sessions, 306-308
SAPRFC.INI file, 299
starting, 306
PowerCenter Server Manager
Connect to Repository option, 305
defining SAP BW connection, 304-305
Operations-Add session, 305
predefined
information-gathering templates, 269
reports, 35
Presentation layer, 27-28
previewing reports, 252-253
processors, 346
PROD_MD.CSV file, 226
production system, 109, 344
product vendor Web sites, 374
profitability analysis, 32
programs in SAP R/3 OLTP instance, 384-385
projects
creation of, 280
enhancements, 280-282
PSA (Persistent Staging Area), 355
PSA objects, 202
publishing
BEX queries, 311
dynamic reports on Internet, 417-421
pull model, 166
pure Internet-centric reporting models, 324
push model, 166
Team-Fly
Team-Fly
Index
Q
QMIS (Quality Management Information System), 31
queries, 47, 280
analytical functions, 182
analyzing, 54
analyzing data, 243-246
attaching chart, 239-240
characteristics display attribute, 238-239
CKF (Calculated Key Figures), 182-183
Columns area, 236
composing, 421
computing values for new data elements, 183
cross-InfoCube, 57
customizing display layout, 238
defining, 233, 236-239
defining dimensions and key figures, 314
defining new key figure, 182-183
deleting from instances, 130
drill-down analysis, 236
drilling down data, 244-245
edit mode, 248
executing, 233, 237
executing without BEX Browser, 50
Filter area, 237
filtering data for, 183
filtering results, 236-237
filters, 241-242
Free characteristics area, 236-237
improving performance, 338
improving response time, 278
on InfoCube and aggregate usage, 338
InfoCube data source, 237
key figures, 236
limiting scope of result set, 241
Lines area, 236
loading from business content, 182-183
navigational attributes, 243
navigational drill-down values, 243
optimization, 339-348
publishing BEX, 311
publishing on Web, 44
query cube, 55-56
reading all data, 339
reading data during navigation, 339-340
refreshing, 248
restricted key figures, 241-242
restricting data characteristics, 237
result characteristics, 236
saving current view, 237
selecting, 81
setting up query read modes, 340-341
star-joined optimization, 53
storing, 251
suppressing repeated key values and row totals, 245-246
target, 232
templates, 182
type, 237
variables, 130, 247-250
Web pages, 419
Query Builder, 234
query cubes, 55-56
memory, 56
relating to InfoCube, 57
uniqueness of, 56
query definition window, 237
query object, 314
Query Properties dialog box, 246, 248, 315
Query properties dialog box, 250
Query Properties icon, 248
Query property and variables, 250
Query View, 417
Team-Fly
Team-Fly
Index
R
R/2, 26
R/3, 26
R3SETUP, 112
range numbers buffering objects, 332
READMODE transaction, 340
real-time, 26
record size, 296
reducing data load time, 19
reference data, 194-197, 203
disk space, 194
order of loading, 194
SAP BW version 1.2B, 194
sharing, 266
reliability, 15
remote logon and ALE user, 189
repeated key values, suppressing, 245-246
replicating tables, 93
reporting and analysis notes, 405
reporting environment, 29-34
Reporting Server, 42
reporting systems, comparing, 33-34
Report Navigator, 29, 35
Report Painter, 33
reports, 29-34, 232
assigning to favorites, 252
client-specific, 33
displaying, 35
EIS (Executive Information System), 33
executing, 254
FIS (Financial Information System), 32
initial assessment, 90
limitations, 35-37
limited OLAP functionality, 35
LIS (Logistics Information System), 31-32
list oriented, 35
missing or unclear information, 35
OLTP performance impact, 35
predefined, 35
previewing, 252-253
problems and causes of problems, 90
publishing on Web, 44
storing, 251
Report Tree tool, 29
Report Writer/Report Painter, 30
REP-type queries, 182
restricted key figures, 241-242
RFC (Remote Function Calls), 109, 292
RFC destination definition process, 299
RFC/Logical destinations, 134
RFC Server, 292
RIOS table, 169
RIS (Retail Information System), 31
RMCSBIWC report, 197
RMCVNEUA report, 197
RMCVNEUL report, 197
RO (Reporting Server component), 171
RODCHABAS table, 170, 287
RODCHA table, 169
RODIOBJCMP table, 169
RODIOBJ table, 169
RODKYF table, 169
RODTIM table, 169
RODUNI table, 169
ROIDOCPRMS table, 123
ROISGEN table, 169
ROISGN table, 169
ROIS-STRUCTURE table, 284
ROIS table, 170
ROLAP implementation, 408-410
ROLAP (Relational OLAP) model, 51
roles, 14-15
ROOT.SH shell script, 113
row totals, suppressing, 245-246
ROYALTY project, 303
RS (Reporting Server), 171
RS00 transaction, 128
RSA1 transaction, 121, 124, 131
RSAB function group, 293
RSADMIN table, 121-124
RSAO0001 enhancement, 285
RSAO0001 program, 285
RSAO0007 transaction program, 283
RSAP0003 program, 287
RSIMG transaction, 119
RSMIG transaction, 121
RSODS function group, 293
RSRT transaction, 341
RSSGTPDIR table, 199
RSTEXTTRSF function module, 287
RSZV transaction, 247
Team-Fly
Team-Fly
Index
S
S001BIWS extract structure, 169
S001 LIS structure, 191
S001 through S499 database tables, 32
S260 LIS structure, 191
S261BIW1 table, 192-193
S261BIW2 table, 192-193
S261 LIS structure, 191
S261 table, 192-193
Sales Analysis InfoCube, 269
Sales and Distribution InfoCube star schema, 262
SALE transaction, 117
SAP (Systems, Applications and Products in Data Processing),
26
approach, 87-88
CRM (Customer Relationship Management) initiative, 13
multilanguage environment, 194
reference books, 372
SAP_ALL profile, 117
SAPBEXO.XLA add-in, 234
SAPBEX.XLA file, 50, 81, 115, 116
SAP Business Framework, 292
SAP Business Framework Architecture, 36-37
SAP Business Information Warehouse Business Content and
Extractor installation guide, 124
SAP business objects, 292
SAP BW (Business Information Warehouse), 8, 24, 134
acceptable characters, 195
accounting area, 47-48
activating business content, 173-174
activating channel, 184-186
active client, 117-118
administration environment log-on, 73-76
Administration transaction, 128
analyzing transaction data, 197
architecture, 9, 43-45
basic configuration, 108
batch printing, 130
benchmarks, 102-103
BEX (Business Explorer), 77
BEX Analyzer, 77
BEX Browser, 77
business content, 45-48, 261
BW OLAP processor, 54-55
certified products, 64
channels, 57
checking installation, 116
client configurations, 103
collecting and grouping data set information, 196
configuring, 107
configuring administrators workstation, 113-114
content delivery functions, 129-133
Copyrights window, 76
customizing instance configuration, 119-121
data access, 49-50
data access environment log-on, 77-82
data access interfaces, 310-311
database size, 110
data consistency, 75
data flow, 55-57
data flow between SAP R/3 and, 166-173
data load interfaces, 290-296
Data Manager, 51-54
data objects client independent, 75
data sources, 410
data transfer methods, 200-202
data warehouse modeling, 261-262
defining RFC connection for PowerCenter, 299-301
defining source system, 172
defining tablespaces for fact tables, 111
dependent objects activation, 174
enabling business content, 176-186
evolution, 42-55
extended multidimensional data model, 266
extracting and sending data to, 295-296
fast disk I/O subsystem requirement, 110
frontends, 114
global settings, 121
hardware and database engine, 108
hardware requirements, 101-102
human resources area, 48
IDOC processing, 103
implementation landscape, 108-109
implementing data loads, 297-308
implementing without SAP R/3 as data source, 107
InfoObjects, 138-152
information provider layer, 44
InfoSources, 410
initializing global settings, 116-124
installing extractors, 124-126
installing frontend components for end-user reporting and analysis,
115-116
installing objects, 188
instance, 43
KPIs (Key Performance Indicators), 100
leveraging business rules, 175
life cycle, 97
loading data, 134, 306-308
loading languages, 116
loading metadata, 171-173
loading text and hierarchy data, 226-227
logging off, 76
logical system name, 189
logistics area, 47
Log Off dialog box, 76
logon process, 73
management layer, 44-45
metadata management, 170-171
metadata repository, 138
methodology guides on data modeling and implementation, 269
Microsoft Windows NT, 126
model information navigation schemes, 262
multiple clients, 75
naming data sources, 135
network requirements, 103
new SAP R/3 data source, 134-138
ODBO-certified products, 381
ODS (Operational Data Store), 54
open data access strategy, 311-315
OSS notes, 111
partners and consulting organizations, 89
passwords, 75
performance, 328-338
performance benchmark, 342-343
pilot/development system, 108
platform and database support, 108
preparing information for, 31-32
preparing instances for business content, 175-176
preparing SAP R/3 for, 188-193
production system, 109
pull model, 166
pure Internet-centric reporting models, 324
quality of master data, 195
reference data, 194-197
RFC destination, 189
ROLAP (Relational OLAP) model, 51
sample report, 57-58
SD business content, 190
service provider layer, 44
session logon window, 73-74
setting parameters in RSADMIN table, 121-124
SID (Set ID), 52
sizing, 101, 341-348
slowly changing dimensions, 53
software installation preparations, 106-110
source system, 157
source systems, 133-138
Staging BAPI-certified products, 382
Staging engine, 48-49
Staging engine layer, 290
staging process, 102
star schema, 262
star-schema model, 52-53
startup screen, 73
System Landscape, 109
technical requirements, 100-103
test system, 108-109
third-party data warehouse solutions, 64-69
training courses, 375-380
transaction data loads, 197
transaction data paths, 200
transactions, 391
transferring exchange rates to, 175
VBA callable functions, 250
Web Publisher Wizard, 311
Windows NT 4.0, 51
workflow basic setting, 189-190
SAP BW 1.2A
copying ODBO-specific DLLs, 319
data load paths, 201
SAP BW 1.2B
data load paths, 201
programs in SAP R/3 OLTP instance, 384-385
reference data, 194
tables, 390
Web reporting, 233
SAP BW 1.2B ODS
reference data, 196
SAP BW 2.0
accessing data from ODS, 234
BAPIs, 324-326
ODBO, 324-326
publishing and executing pure Web queries, 234
SAP BW 2.0A
defining MultiCube InfoCube, 276-278
function modules, 325-326
ODS architecture, 354-356
startup routine, 271
SAP BW 2.0B
architecture, 408-413
building ODS, 361-365
building queries on Intranet, 234
SAP BW business content specialist, 98
SAP BW client, 115, 234
SAP BW experts, 98-99
SAP BW Installation Guide, 134
SAP BW/Oracle8 database default parameters, 112
SAP BW projects
balancing benefit and feasibility, 94
business requirements, 99-100
business sponsor, 90-91
data analysis and reporting, 91-93
documenting scope, 94
enterprise-wide reporting, 92-93
iterative-phased implementation, 94
limiting scope, 90
management reporting and analysis, 91-92
management sign-off, 94
near real-time operational reporting, 93
operational reporting, 91
planning for, 88-94
scope, 91-94
single subject area, 94
TCO (total cost of ownership perspective), 90
SAP BW project team, 94-99
ABAP developer, 98
business partners, 96
corporate data warehouse team, 96
corporate information architects, 99
Microsoft Excel VBA and ODBO programming developer, 98
SAP BW business content specialist, 98
SAP BW experts, 98-99
SAP R/3 program office, 96-98
steering committee members, 94
SAP BW Scheduler
3rd Party selections tab, 307
scheduling data load jobs, 307-308
sessions, 305
SAP BW servers
installing and configuring, 110-113
UNIX base system, 110-113
Sapdialog.dll file, 316
SAPGUI, 72, 73, 77, 113-115, 233
SAPGUI_BW20_vs_BW12B.SCM file, 129
saplicense command, 113
SAPLMCSBW function module, 199
SAP Logon server window, 73
SAPNET Web site, 88-89
SAPNet Web site, 421
SAP New Dimension, 37
SAP R/2, 26
SAP R/3, 26
ALE (Application Link Enabling), 36
architecture and technologies, 26-28
Basis Administration transaction, 128
Basis tasks, 129
business applications active dictionary, 27
custom LIS infostructure names, 192
data capture schemes for analytical applications, 5
data flow between SAP BW and, 166-273
data source information collection process, 190-193
delta change capture, 192-193
EIS (Executive Information System), 33
FIS (Financial Information System), 32
high transaction rate, 34
information systems, 29-30
life cycle, 97
LIS (Logistics Information System), 31-32
Logon Screen, 78
major application modules, 29
multiple clients within one instance, 75
multi-tiered architecture, 27
newest application release used, 123-124
OIW (Open Information Warehouse), 29-30
OLTP configuration, 5
operation team, 96-98
order processing, 191
preparing for SAP BW, 188-193
program office, 96-98
reporting environment, 29-34
reporting limitations, 35-37
reporting tools, 29
S000-S499 SAP standard LIS infostrucutres, 192
SD (Sales and Distribution) module, 190
transports to load business content, 167
SAP R/3-centric data warehouse environments, 37-42
SAP R/3 OLTP, 344
Basis administration, 129
function modules for LIS extracts, 387-390
installing SAP BW objects, 188
key tables, 386
metadata management, 168-170
remote logon connection, 189
source instance configuration information, 175
SAPRFC.INI file, 299, 316, 317, 319
changing IP address of target SAP BW instance, 302
defining additional destinations, 302
DEST (data source), 319
destination value of SAP BW, 303
DEST name, 302
DEST parameter value, 305
parameters, 301
SAP BW source definition, 301
transfer-structure definitions, 303
SAP Sales and Distribution demo InfoCube data model, 262
SAP simplicity Web site, 29
SAP technologies books, 370-372
SAP Web site, 64
SAS Institute, 69
save icon, 417
saving
data in IDOCs, 206
data in ODS, 202
InfoObject catalog, 155
S_BI-WX_RFC profile, 189
S_BI-WX_RFC SM 30 transaction profile, 124
scalability, 16
SCCL transaction, 117
Scerrlkp.dll file, 316
Scheduling service, 11
schema, 314
ScreenCam movie, 129
SD Customer InfoCube, 178-180
SD Demo InfoCube, 185
SD InfoCubes, 197-199
SD-SIS (Sales and Distribution Sales Information System), 33
SE06 transaction, 116
SE11 transaction, 285, 287
SE16 transaction, 167, 169, 284, 287
SE17 transaction, 284
SE38 transaction, 287
SE80 function group, 293
Seagate, 69
Seagate Holos OLAP, 69
Search Engines service, 11
security, 14-15
Security service, 12
SendData method, 296
SendRequest method, 296
Sequence Number buffering, 332
Service Provider layer, 10
sessions, 305
Session Wizard, 305
SFIS (Shop Floor Information System), 31
SID (Set ID), 52
S_IDOC_ALL sub-profile, 189
SID (Set ID) tables, 266
master data, 194
time-dependent attributes, 266
time-independent attributes of, 266
Simplification Group, 29
SIS (Sales Information System), 31
sizing, 343
slicing and dicing data, 241
slowly changing dimensions, 144, 264
SM21 transaction, 116
SM28 transaction, 116
SM30 transaction, 189
SM31 transaction, 117-118
SM50 transaction, 288
SM59 transaction, 124, 135-136, 168, 189, 299
SMO30 transaction, 124
Source/Target Management service, 11
SQL and Windows GUI interface, 54
S_RS_ALL sub-profile, 189
s_S250File_Mapping session, 307
s_S260_Mapping session, 305
SS_FF_PROD source system, 220
Staging BAPI-certified products, 382
Staging BAPIs (Business APIs), 43, 67, 98, 134, 216-217, 290-
291, 297
building data loader, 294-296
third-party implementations, 308
staging business objects, 292-293
star-joined query optimization methods, 53
star-schema model, 408-410
dimensions, 264
dimension tables, 51-52
fact table, 51-52
statistical update, 192
STMS transaction, 116
stovepipe culture, 62
STR query template, 182
structures
changes to, 283
new elements, 285
SU01 transaction, 189
Subject Models service, 10
SWO1 transaction, 293
SWU3 transaction, 189
system landscape, 344
Team-Fly
Team-Fly
Index
T
T000 table, 117, 124
Tab Delimited files, 134
tables, replicating, 93
target queries, 232
TBATG table, 124
TCO (total cost of ownership) perspective, 90
teams, building, 94-99
technologies, adaptation of, 14
templates
ABAP routine, 272
building InfoCubes, 162
InfoCubes, 267-268
InfoObjects as, 154-155
predefined information-gathering, 269
publishing, 419
test system, 108-109
text
extractors, 287
flat files, 218
loading, 226-227
Texts master data file, 222
text system, 344
third-party data
access tools, 317-324
extraction, 41
third-party data warehouse solutions to BW (Business
Information Warehouse), 64-69
third-party Staging BAPI implementations, 308
third-party-tool-centric data warehouses, 41-42
three-tiered application model, 28
three-tiered architecture, 26-27
time characteristics, 149-150
time dependencies, 144
time-dependent hierarchy name, 145
time-dependent hierarchy structure, 145
time-dependent master data, 222
Time dimension, 265
TIS (Transportation Information System), 31
TIS (Treasury Information System), 32
TMCBIW table, 193, 198
Tools, Business Engineer, BW Customizing command, 119
top-down approach, 87
Track Resource Utilization service, 11
traditional data warehouses, 5
training courses, 375-380
transaction data, 169
analyzing, 197
extending content, 283-286
file name, 227
flat files, 218, 227
InfoSource definition, 170
InfoSources, 157
loading, 208
physical storage, 191
populating with, 281
storing in ODS, 200
transaction InfoSource, 220
transaction OMO1, 31-32
transaction systems and ODS (operational data store), 7
transaction tables, updating, 31
transfer structure, 48, 287
transformations, 19
tRFC, 197, 217
tRFC with ODS data transfer mode, 200, 202
two-tiered application model, 28
two-tiered architecture, 26
type T connection, 299
Team-Fly
Team-Fly
Index
U
uninstalling SAPGUI, 113-114
unit of measure characteristics, 150-151
Unit of Measure dimension, 265
UNIX base system
installing and configuring, 110-111
SAP BW servers, 110-113
Update InfoSource metadata function, 172
update routine, defining, 272
update rules, 280
ODS tables, 357-358
Update Rules Definition window, 274
Update Rules icon, 181
Update Rules window, 271
updating
LIS information structures, 31
metadata, 172-173, 175
transaction tables, 31
upgradability, 15
URLs and BEX Browser, 253
user-definable dimensions, 264
user-exits, 281
users
Activity Groups, 252
assigning channels to, 184
channel assignment, 252
channels, 252
Team-Fly
Team-Fly
Index
V
VAR (Variables), 182-183
variables, 130
existing queries, 248
queries, 247-250
Query property names, 250
slowly changing dimensions, 248
special authorizations, 247
VBA function modules, 50
VBA programming, 250
version-dependent hierarchy, 145
virtual InfoCubes, 269
Visual Basic, 292
V_TBDLS table, 189
Team-Fly
Team-Fly
Index
W
warehouse management notes, 406
Warehouse Operations service, 11
Web reporting, 414-421
architecture, 415-416
SAP BW 1.2B, 233
WebRFC, 420
WGate, 415-416
Windows NT
BW (Business Information Warehouse), 51
SAP BW, 126
Windows registry and SAPGUI entries, 114
WINNTdirectory, 319
WMIS (Warehouse Management Information System), 31
workbooks, 47
worksheets, 250
Team-Fly
Team-Fly
Index
X
XDWCLNT050, 135-136
XLS files, 134
Team-Fly
Team-Fly
Index
Z
ZCUSTMR variable, 247
ZTIMPRD variable, 248, 250
&ZTIMPRD& variable, 250
Team-Fly
Team-Fly
List of Figures
Chapter 1: Constructing a Data Warehouse
Figure 1-1: Independent and Dependent Data Marts.
Figure 6-9: Copying the 000 Client to the SAP BW Active Client.
Figure 6-10: Basic SAP BW Setting. The Left Shows the Setting
Menu for SAP BW 1.2B, and the Right Shows the Same Setting
Menu in SAP BW 2.0A.
Figure 6-18: Testing RFC Destination for a Remote SAP R/3 Data
Source.
Figure 8-13: Visual View of the InfoCube Model for the Customer
InfoCube in SAP BW.
Figure 9-14: Defining Data Load Flow in SAP BW When the Data
Transfer Method is ALE IDOC.
Figure 9-15: Defining Data Load Flow in SAP BW When the Data
Transfer Method is tRFC with ODS. In SAP BW Version 2.0A,
ODS Means PSA.
Figure 10-2: Creating a Source System for Flat File Data Sources.
Figure 10-3: Defining InfoSource Type for Flat File Data Sources.
Figure 17-3: SAP BEX Analyzer Query Against ODS and Results.
Team-Fly
Team-Fly
List of Tables
Chapter 2: Evolution of SAP Business
Information Warehouse
Table 2-1: Comparison of Operational and Reporting/OLAP
Environments
Chapter 3: Comparing SAP BW with Data
Warehouse Solutions Provided by Other
Vendors
Table 3-1: Products to Load Data in SAP BW 1.2B
Team-Fly