Wednesday, July 8, 2015

Standard DSO

Standard DSO

A standard DataStore object is represented on the database by three transparent tables:
  • Activation queue(New Data)
    • Used to save DataStore object data records that need to be updated, but that have not yet been activated. After activation, this data is deleted if all requests in the activation queue have been activated.
  • Active data:
    • A table containing the active data (A table).
  • Change log:
    • Contains the change history for the delta update from the DataStore object into other data targets, such as DataStore objects or InfoCubes.

Data can be loaded from several source systems at the same time because a queuing mechanism enables a parallel INSERT. The key allows records to be labeled consistently in the activation queue. Reports can be built on Std. DSOs.

Delta works with Image concept here. When the data is being loaded from DSO to Infocube, it is always read from the Change Log table which has the history of delta update entries. 0RECORDMODE helps in maintaining the delta concept when data is being loaded to another Infoprovider.

Settings in Std.DSO

Unique Data Records
Overwriting data records not permitted.The DataStore object can be used for loading unique data records.
With this indicator you determine whether ONLY unique data records are posted in the DataStore object. The performance of activation can be increased considerably in this way.
If the loaded request does contain data that is already in the DataStore object, activation of the request will lead to an error.

Note:

This property of a DataStore object is only supported when SID values are generated during activation (see indicator "generate SID values").

SID Generation upon Activation

When checked(Occurs by default), the SIDs Generation Upon Activation box causes the system to generate an integer number known as a Surrogate ID (SID) for each master data value. These SIDs are stored in separate tables called SID tables.
For each characteristic InfoObject, SAP Netweaver BW checks the existence of an SID value for each value of an InfoObject in the SID table. The system then generates a new value of SID if an existing value is not found. The SID is used internally by SAP Netweaver BW when a query is based on a DSO.

Secondary Index on DSO

A secondary index, simply, is a way to efficiently access records in a database by means of some piece of information other than the usual (primary) key. In other words, secondary index will be necessary if a table is accessed in a way that does not take advantage of the sorting of the primary index for the access.


If u click SE14, and give the table name(active table of DSO), it gives you the performance of the select statement on the Table.

Change Log
For each record being loaded from source to DSO, there will be multiple records in the change log.
If the record being loade is a new record, there will be only entry in CL and the record mode will be 'N'.
record mode = 'N'.
If it is an existing record, there are 2 entries. One is Before image where record mode = 'X', and After Image where record mode is ''.

--------------------------------------
Datasource -----> DSO_firstlevel -----> DSO_secondlevel.
In this flow, delta flows fine.
when doing full loads, FULL loads from datasource to DSO_firstlevel but when first level is loaded to second level, no records are loaded ( may be bcos full load did not have any data changes in them ??? Not sure )

-------------------------------------

Change Log Deletion
Change log has to be deleted frequently, so as to improve the performance of the loading  of the DSO.
3 ways of deleting.
Manual Deletion
Go to Manage screen of the DSO --> Environment --> Delete Change Log Data.

Deletion in process chain
Go to 'Other BW Process' --> Deletion of Requests from the Change Log . Check the last check box, else data will not be deleted.



using SE38 Program

Extra Notes
DSO Job Log and Activation Parameters
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0d82054-f705-2e10-75b8-fc0f428bc16e?overridelayout=true

No comments:

Post a Comment