SAP BW - Data store objects

Preview:

Citation preview

DATA STORE OBJECTS

- Yasmin Banu A

INTRODUCTION

WHAT IS A DSO? Data Store Object (DSO) is a two-dimensional storage

unit It mainly stores consolidated and cleansed transaction

data Data is stored at detailed level With DSO’s, its also possible to overwrite data fields Detailed level reporting can be obtained from DSO DSO contains:

Key fields - Such as document number & document item number

Data fields – Can have key figures & character fields such as Customer, Sales Quantity, Order Status

Data in DSO is stored in transparent flat database tables

TYPES OF DSO

TYPES OF DSO:TYPE OF DSO

STRUCTURE SUPPLY OF DATA

SID GENERATION

Standard Consists of 3 tables : New table Active table Change Log

table

From data transfer process

Yes

Write-Optimized

Consists of the table of active data only

From data transfer process

No

Direct Update

Consists of the table of active data only

From APIs No

TYPE 1: STANDARD DSO

STRUCTURE OF STANDARD DSO Standard DSO contains the following 3

tables:a) New data table – Holds the records

that are to be updated, not yet been activated. After activation, this data is deleted if all requests in the new table have been activated

b) Active table – A table containing the active data (A table)

c) Change log table – Holds the change history for delta loads

STRUCTURE OF STANDARD DSO (CONTD.) The tables of active table are built according

to the DSO definition. This means that key fields and data fields are

specified when the DataStore object is defined

The new table & change log are identical in structure: New table – has SID as its key, package ID and

the record number Change Log – has request ID as its key, the

package ID and Record Number Data arrives in the change log from the new

table and is written to the table for active data upon activation

EXAMPLE OF ACTIVATING & UPDATING DATA:

Staging Engine

Req1 Req2 Req3

New data table

Active table

Change Log table

REQU1 | P1 | Rec. 1 | 3511 | 10REQU2 | P1 | Rec. 1 | 3511 | 30

3511 | 103511 | 30

Req. ID | Pack. ID | Rec. No. DSORx | P1 | Rec. 1 | 3511 | 10DSORy | P1 | Rec. 1 | 3511 | -10DSORy | P1 | Rec. 1 | 3511 | +30

Activation

Request 1 with amount 10 and Request 2 with amount 30 are loaded parallel into the DSO. It take us to the new data table. We are given a unique Request ID

When activation is performed, the requests are sorted by key, transferred into the table containing the active data, and immediately deleted from the new data table. In Active table, the amount 10 is replaced by 30 (Since Overwrite is set as the Update type)

When we activate the data, the change log is also notified. The old record from the active table is saved as a negative (-10) and the new record is stored as a positive (+30)

0RECORDMODE : When activation is done over the standard DSO,

SAP Netweaver BW adds the 0RECORDMODE Info object to the definition of the Standard DSO and to all the three tables (New, Change & Active tables)

This Info Object is used internally by SAP Netweaver BW

Delta is a feature of extractor, which refers to changes (new/modified entries)

Record Mode is used in Delta process The record mode describes the type of change

that a data record contains If a datasource is delta capable, the field

ROCANCEL which is part of the datasource, holds the changes from R/3 side

0RECORDMODE (CONTD.): This field for the DataSource is assigned to

the Info Object 0RECORDMODE in the BW system

ROCANCEL serves the same purpose at R/3 side which its counterpart 0RECORDMODE does at BW side

The values for 0recordmode are:VALUE MEANINGBlank The record provides an after image

X The record provides a before imageA The record provides an additive imageD The record must be deletedR The record provides a reverse imageN The record provides a new image

DESIGNING OF STANDARD DSO

DESIGNING A STANDARD DSO: Step 1: Create the flat file in csv format Step 2: Create Data Source

DESIGNING A STANDARD DSO (CONTD.): Step 3: Give the name for data source & the

data source type as transaction data

DESIGNING A STANDARD DSO (CONTD.): Step 4: In the ‘General’ tab, give the short,

medium & long descriptions

DESIGNING A STANDARD DSO (CONTD.): Step 5: In the ‘Extraction’ tab, specify the file

name, header rows to be ignored, data format & data separator

DESIGNING A STANDARD DSO (CONTD.): Step 6: In ‘Proposal’ tab, click on ‘Load

Example Data’ to have view of how the loaded data will appear

DESIGNING A STANDARD DSO (CONTD.): Step 7: In the ‘Fields’ tab, the list of fields

available in the flat file gets added automatically

Step 8: In ‘Preview’ tab, first check & activate the data source. Then choose the ‘Read Preview Data’

DESIGNING A STANDARD DSO (CONTD.): Result appears as below

DESIGNING A STANDARD DSO (CONTD.): Step 9: Now, we have to create the Info

Package to load data into the PSA

DESIGNING A STANDARD DSO (CONTD.): Give the description for Info Package &

continue

DESIGNING A STANDARD DSO (CONTD.): Step 10: Go to ‘Schedule’ tab & click on

Start. Monitor the load to PSA

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 11: Create the DSO by giving the

technical name & description

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 12: Click on the Info Object Catalog

(Characteristics first & then Key Figures Catalog),then choose the key fields & data fields

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 13: Create the transformation. Check

the details in the pop up screen like object type & data source

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 14: Create the mapping between data

source fields & target fields. Save & Activate

DESIGNING A STANDARD DSO (CONTD.): Step 15: Create the DTP (Data Transfer

Process), to load data from PSA to DSO. Click Continue

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 16: In order to press the ‘Execute’

button, we will have to activate the DTP

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 17: Now, check the status of the data

load by going to the Manage screen of the DSO

DESIGNING A STANDARD DSO (CONTD.):

The reporting icon is not available, which means it will not be available for reporting, hence, we have to activate the data.

DESIGNING A STANDARD DSO (CONTD.): Step 18: The New data table will have the

loaded records, we can check by selecting the ‘New Data Table’ in the contents tab

DESIGNING A STANDARD DSO (CONTD.):

The New table data contents appear as below

DESIGNING A STANDARD DSO (CONTD.): Step 19: Since we have still not activated the

Request, the Active data will be empty. Let’s see the contents of the Active table

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 20: Now, to activate the Request &

make data available for reporting, we follow the below steps to activate

Select the Request ID to be activated. Click Activate

DESIGNING A STANDARD DSO (CONTD.):

In the pop-up below, choose the Request ID & press ‘Refresh’. Wait till the Request ID disappears from this screen

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 21: Press ‘Refresh’ button to see the

reporting icon in the Manage screen

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.): Step 22: Now, after Activation, if we check

the New Data table, it will have no records. The Active table & Change Log table will have the loaded records in them now

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

Data In Active Table

DESIGNING A STANDARD DSO (CONTD.):

DESIGNING A STANDARD DSO (CONTD.):

Data In Change Log Table

0RECORDMODE has values as ‘N’ which means New records

TYPE 2: WRITE-OPTIMIZED DSO

INTRODUCTION TO WRITE-OPTIMIZED DSO: Write Optimized DSO is used when DSO is

required for storing lowest granularity records such as address & when overwrite functionality is not needed

It consists of Active data only, hence no need for data activation which increases data process

It is used a temporary storage are for large set of data

Write Optimized DSO has been primarily designed to be the initial staging of the source system data from where the data could be transferred to the Standard DSO or Info Cube

WRITE-OPTIMIZED DSO PROPERTIES:

It is used for initial staging of source system data

Data stored is of lowest granularity Data loads can be faster since it

doesn’t have the separate activation step

Every record has a technical key and hence aggregation of records is not possible. New records are inserted every time

DESIGNING OF WRITE OPTIMIZED DSO

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.): Step 1: Create the DSO by right clicking on

the Info Area & choosing the option ‘Create Data Store Object’

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.): Step 2: Enter the Technical name,

description. Click on Create button

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.): Step 3: Click on the Edit button of ‘Type of

Data Store Object’

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.): Step 4: Choose the Type ‘Write-Optimized’ &

click on Continue

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.): Step 5: The following screen appears

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.): Technical keys

Include Request ID, Data package, Data Record number. No additional objects can be included under this.

Semantic keys Are similar to key fields However, here the uniqueness is not considered for over

write functionality They are instead used in conjunction with setting ’Do not

check uniqueness of data’ The purpose of Semantic Key is to identify error in

incoming records or Duplicate records If we do not check the Check Box “Allow Duplicate Record”,

the data coming from source is checked for duplication, i.e, if same record (semantic keys) already exist in the DSO, then current load is terminated

If we select the check box, Duplicate records are loaded as a new record. There is no relevance of semantic keys in this case

DESIGNING A WRITE-OPTIMIZED DSO (CONTD.):

Step 6: After adding the Info Objects accordingly to Semantic & Data fields, we Activate the DSO

THANK YOU

Recommended