DataStore Object (DSO) is used to store
data at the most granular form, i.e. at document level. This data can
be used for reporting as well as for passing on to other data targets
like InfoCubes. Steps described in this document applies to the most
commonly used type - Standard DSO. (These steps also apply to Write-Optimized DSOs, except the data activation step)
This document is divided into 2 parts due to the length of the content.
1. Creation & Configuration
2. Extraction
2.1 Create a DataSource - DataSource is the staging area where a copy of the data from the source system(Flat file/SAP ERP/other DB) is stored in a flat table. It is also referred as persistent staging area, shortly PSA. Below are the steps to create and configure a DataSource.
(To keep it simple and focus on ETL process, a .csv file is used as data source. Normally SAP ERP System will be the data source.)
2.2 Create an InfoPackage -
InfoPackage is a scheduler object in BW system, that extracts data from
the source system and saves the copy in to PSA/DataSource. Below are
the steps to create, configure and execute an InfoPackage.
3. Transformation
3.1 Create a Transformation -
Transformation object specifies the rules on how the source object
fields should map to data target fields. There are multiple
transformation options. For this illustration Direct Assignment is used. Below are the steps to create a transformation.
This completes the Creation, Extraction and Transformation steps for a DSO.
4. Loading
4.1 Create a Data Transfer Process(DTP) - DTP controls the movement of data within BW system. It can read data from PSA or a data target, apply the transformation rules and load it to other data targets. Below are the steps to create, configure and execute a DTP.
5. Activation
6. Maintenance
6.1 Deleting Change Log data for Performance Improvement - As the DSO ages, the data in Change Log table piles up creating performance issues. So it is a good practice to free it up periodically. Below are the steps to delete data from Change Log table.
6.2 Request Automation
6.3 View DSO contents
- At times there will be need to view the contents of DSO, be it, the
activation queue table, active data table or the change log for
administration and re-conciliation purposes. Below steps shows how to
view the DSO contents.
This
concludes the 2 Part document illustrating the steps for Creation,
Extraction, Transformation, Loading, Activation and Maintenance of a
Standard DSO.
All the steps discussed in Part 1 & 2 of this document can be automated using Process Chains.
- Part 1 - Creation, Extraction and Transformation
- Part 2 - Loading, Activation and Maintenance.
- Load Data Warehouse Workbench (DWW) using transaction code RSA1
- Under Modeling section select InfoProvider. This will list all the InfoProviders in the right side of the screen grouped by InfoAreas.
- Right-Click the InfoArea where the DSO needs to be created and select Create DataStore Object option
- In the pop-up window, provide a Name (not more than 8 chars) and Description. You can see the ObjectType set to DataStore Object. (You have the option to change this to other InfoProvider type. Be careful not to change the type). If you need to use a structure similar to an existing DSO, you can enter the Technical Name of that DSO in the Template field. After filling in the required field click the Create icon.
- In the Edit DataStore Object screen, under Settings section you can specify various configuration settings. Click on the Edit Button () to open a pop-up window where you can specify DSO type and Create SIDs option. Check the Set Quality Status to 'OK' option as this is required to activate the DSO data and make it available for reporting and loading it to other data targets.
- Under Key fields add the fields that uniquely identify a record, and under Data fields add the fields that carry information for this DSO. You can do so by right-clicking Key fields/Data fields and select InfoObject Direct Input option as shown below.
- In the Insert InfoObjects pop-up, type in the required list of InfoObjects for both Key fields and Data fields.
- Once all the required fields are added, Save(Ctrl+S), Check(Ctrl+F2 or ) and Activate(Ctrl+F3 or ) the DSO. Once successfully activated, the status changes to Saved and Active and the final screen will be as shown below. The DSO is now ready for data to be loaded into it.
2.1 Create a DataSource - DataSource is the staging area where a copy of the data from the source system(Flat file/SAP ERP/other DB) is stored in a flat table. It is also referred as persistent staging area, shortly PSA. Below are the steps to create and configure a DataSource.
(To keep it simple and focus on ETL process, a .csv file is used as data source. Normally SAP ERP System will be the data source.)
- In DWW > Modelling > DataSources, select the Source System type to a Flat file system as shown below.
- List of DataSources will be displayed in the right pane grouped under Application Components. Right Click the Application Component where the DataSource needs to be created and select Create Data Source... option
- In the Create DataSource pop-up, provide the DataSource name, Source System name and the type of Data. Since the data to be loaded is transaction data we select Transaction Data as DataSource Data Type. After filling in the required details, click the Create button ().
- Change DataSource screen opens up. In the General Info. tab fill in the short, medium and long description for the DataSource. Leave other data unchanged.
- In the Extraction tab, specify the .csv file path from which the data is to be extracted. Also specify other details like Header Rows to be Ignored and Data Format accordingly as shown below. Leave the Delta Process options with the default value. Since source system is an .csv file, delta load is not possible, but only full upload.
- In Proposal tab, click the Load Example Data button. This will read/parse the .csv file and will propose the column name and corresponding length and data type for each column. This is just a proposal by the BW system which may not be 100% correct.
- The Fields tab is where the structure of the PSA/DataSource is finalized. The proposed metadata appears here and it can be edited to suit the needs. You can enter the InfoObject name in the InfoObjects column to copy the defaults from that InfoObject's metadata definition. This will ensure the correct technical specifications for the fields proposed.
- The Preview tab allows you to see the data in PSA/DataSource format before actually loading the data into BW system. Click on the Read Preview Data button to preview the data.
- In DWW > Modeling > DataSources, locate the DataSource you have created. Right click the DataSource and select Create infoPackage... option
- In the Create InfoPackage pop-up, provide the InfoPackage Description.
- Maintain InfoPackage screen opens up. In the Data Selection tab, you'll see the list of fields along with filtering criteria used while extracting data from source system. Since we haven't configured any field in DataSource for filtering, the below screen lists none.
- Extraction tab has the data auto-populated from the Extraction tab in DataSource definition. This lists the source file name, file type and format. The auto-populated data can be edited if required.
- Processing tab specifies how the extraction is processed by BW system and where it is stored. As shown below, select Only PSA. This enable to edit the data in PSA before it is loaded into a data target.
- Update tab has options to specify whether the update is a delta update or a full update. Since a flat file is used for this illustration, it is not delta capable and Full Update is the only listed option as shown below.
- Schedule tab allows you to specify when to start the execution of extraction, either immediately or at a scheduled time. To follow this Illustration, choose Start Data load Immediately option and click the Start button. This will now extract data from .csv file and load it into the DataSource/PSA table.
- Now click on the Monitor icon ( or F6) to check the status of data extraction. This opens up the Monitor InfoPackage screen which lists a variety of information related to the extraction like status, no. of records, time taken etc. The Details tab shows the extraction details broken into various steps as shown below. You can also click on PSA Maintenance icon ( or Ctrl+F8) to view/edit the actual data loaded into PSA.
- In DWW > Modeling > InfoProvider, locate & right click the DSO and select Create Transformation... option
- In the Create Transformation pop-up, specify the source and the target for the transformation. Source being the DataSource we just created and the target being the DSO. Then click the Continue button ().
- Change Transformation screen opens up. On the left is the source object and on the right is the target object for the transformation. BW system automatically matches the InfoObject fields. For those unmapped, click & drag the field from source and drop it on appropriate field at the target. The default transformation rule is Direct Assignment. This can be changed to required type by right clicking on the line and providing alternate options in the pop-up that opens.
- Now Save, Check( or Ctrl+F2) and Activate( or Ctrl+F3) the transformation.
4. Loading
4.1 Create a Data Transfer Process(DTP) - DTP controls the movement of data within BW system. It can read data from PSA or a data target, apply the transformation rules and load it to other data targets. Below are the steps to create, configure and execute a DTP.
- In DWW > Modeling > InfoProvider, locate and expand the DSO tree. Right click the Data Transfer Process folder and select Create Data Transfer Process... option
- In the Create Data transfer Process pop-up, Specify the DataSource as source of the DTP and click the OK () button.
- Change Data Transfer Process screen opens up. In the Extraction tab, provide details about the DataSource for the DTP. For Extraction Mode, specify Delta as this ensures that system loads only the requests that are yet to be loaded into data target. Package Size determines the number of records to be extracted in a set.
- In Update tab, specify the error handling settings. Select Update Valid Records, No Reporting (Request Red) option. This ensures that the erroneous records gets written to Error Stack and the only the valid records gets loaded into data target. But the entire set remains unavailable to reporting.
- Now Save, Check( or Ctrl+F2) and Activate( or Ctrl+F3) the DTP.
- In the Execute tab, there are options to specify Processing Mode. Select Serial Extraction, Immediate Parallel Processing option and click the Execute button. Data gets processed asynchronously in a background process.
- Click on the Monitor Icon () to open the Monitor: Data Transfer Process page. This will list the status, duration and break down of all the request processing steps.
- With this the data is loaded into the DSO. But the loaded data is stored in the Activation Queue and is not available for reporting.
- In DWW > Modeling > InfoProvider, locate and right click the DSO. Select Manage option from the context menu.
- Manage InfoProvider screen opens up. In the Requests tab, click the Activate button at the bottom of the screen.
- A pop-up windows opens and lists all the requests that are loaded but not yet activated in the DSO. Select the request that needs to be activated and click the Start button at the bottom of the pop-up.
- This will submit a data activation request that will be processed in background. To check the status of activation, go back and see the request row in Requests tab.
- Once the data gets activated, i.e. once the data gets moved from Activation Queue to Active Data table within DSO, the data will be available for reporting and also for loading it into other data targets, usually InfoCubes.
6.1 Deleting Change Log data for Performance Improvement - As the DSO ages, the data in Change Log table piles up creating performance issues. So it is a good practice to free it up periodically. Below are the steps to delete data from Change Log table.
- Go to Manage InfoProvider Screen for the DSO
- In SAP GUI's menu bar, open Environment Menu and select Delete Change Log Data option
- This opens Delete Change Log Data screen where you can select what data should be deleted based on how old the request is or when it was loaded. Enter the date and click the Start button to delete data before that date.
- Go to Manage InfoProvider Screen for the DSO
- In SAP GUI's menu bar, open Environment Menu and select Automatic Request Processing option
- In the pop-up window that opens, you can enable/disable automatic setting status to OK and automatically activating requests. Click on the Save button after making the changes.
- Go to Manage InfoProvider screen for the DSO
- In the Contents tab, there are 3 buttons, one each to view activation queue, active data and change log tables. Click on any of the button to view its content.
- Click New Data button to view the loaded but not yet activated data. This opens the Data Browser screen as shown below. Click on the Number of Entries button to view the record count in the table.
- Click on the Execute button (). Data Browser screen refreshes with the contents of DSO table as shown below.
All the steps discussed in Part 1 & 2 of this document can be automated using Process Chains.