Enhancing an Extractor (BW/BI)
Extractors are used to retrieve data in the SAP source system (i.e. ECC in our case), which can fill the extract structure of a data source with the data from the SAP source system(i.e. ECC).The extractor may be able to supply more fields than the existing extract structure.
Extractors are used to extract data from a source system (i.e. ECC) and transfer it to BI system or BW system. They are also used for direct access to the source data from the BI system or BW system. SAP has provided standard extractors for purpose of extracting data. But in some situations these standard extractors won’t completely meet our business requirements. In such cases we need to enhance standard extractors. For example in some transaction a custom field has been added to meet our requirement. Since this is a custom field it will not be present in standard extractor. Now we need to include this field in extractor we will have to enhance the standard extractor.
Extractors use the DataSource defined in SAP for the data extraction.
What is BI?
Business intelligence (BI) refers to presentation of business records by collecting, integrating, analyzing the business records.
BI systems provide historical and prognostic views of business operations.BI most often using records that have been gathered into a system and occasionally working from operational data or Transaction data.
Data retrieval is one of the key data warehousing processes in BI. BI provides mechanisms – extractors – for retrieving data (master data, transaction data, metadata) from various sources. The extraction and transfer of data occurs when requested by BI.
Data Source is a set of fields that provide the data for a business unit for data transfer into BI.Technically, DataSource is a set of logically-related fields that are provided to transfer data into BI in the extraction structure.
There are three types of DataSource:
- DataSource for transaction data
- DataSource for master data
- DataSource for texts
Extract Structure for a DataSource:
The extraction structure for a data source shows the format in which the DataSource, or the extractor for the DataSource, transfers its data. The extract structure must be created in the DDIC as a dictionary structure or transparent table. A view is not permitted here since it would then not give you the option to add an Append structure. Append structure (container for Custom fields) enable you to convert business requirements. You can populate the fields in the Append structure using function enhancements (BADI, user exit etc).
When to enhance a DataSource using Extract structure:
- Business Content does not include the field in a DataSource for your application.
- When we do some enhancement in the standard transaction, we need more fields.
Enhance a DataSource using Extract structure – Procedure:
Step 1: Go to transaction RSA6 for enhancing a datasource using extract structure. Select a DataSource (0REFX_6).
Step 2: Choose the data sources which need to be enhanced using extract structure. Click on extract structure (REIS_CASHFLOW_TRAN).
Step 3: Now use “Append Structure” to append new fields.
Step 4: Now add the required fields.
- Step 5: Activate the append structure.Go to RSA6 transaction select the data source Go to datasourceàchange DataSource.
Step 6: Here, we have the options like ‘Select’, ‘Hide’, ‘Inversion’ and ‘Field only’ each for a different use.
- Hide field: Used exclude an extract structure field from the data transfer. As a result of our action, the field is no longer made available in BW or BI when setting the transfer rules and generating the transfer structure.
- Inversion is only possible for certain transaction data DataSources. These include DataSources that have a field that is indicated as an inversion field.The value of the key figure is then transferred in inverted form i.e. multiplied by (–1) into BW or BI.
- Field only: The indicator Field only known in Exit is set for fields of an append structure. By default these fields are not passed onto the extractor from the field list and selection table. Deselect the indicator ‘Field Only’ to enable the Service API to pass on the append structure field to the extractor together with the fields of the delivered extract structures in the field list as well as in the selection table.
Procedure to populate the records in the data source:
Step 1: To populate the records according to the business requirement we can do by implementing a BADI, USEREXIT etc.Here we have used BADI “RSU5_SAPI_BADI”.
Step 2: Select the interface àgo to the data transform.
With delta load, we can prevent long loading times and unnecessary locks on the database by only loading new or modified data records into SAP BW. This is advantageous when working with applications with large data collections.
- Delta-initialization: Determines the beginning inventory; can be run multiple times for each DataSource with enhanced selection criteria.
- Delta update: Determines and loads the delta dataset.
- Full update: Determines and loads the entire dataset. You need to delete the data in the BW before reloading.
Step 3: Inside method write the perform signature.
Step 4: Now go the SE38 create a report “ZPME1_0REFX_6 “, Select type as “Subroutine pool”.
Step 5: Inside the form take the field values from BI into an internal table. Based on the field values from BI fetch the data from ECC system then pass the fetched into the internal table “C_T_DATA”.
Extraction of the data:
Once new datasource is created through any of the methods explained above, it is ready for the extraction. So, for extracting the data from the new datasource:
- Go to the transaction RSA 3.
All the records satisfying the desired selection criteria will be extracted and displayed