DTP determines the process for transfer of data between two persistent/non persistent objects within BI.
As of SAP NetWeaver 7.0, InfoPackage loads data from a Source System only up to PSA. It is DTP that determines the further loading of data thereafter.
Use
In the process of transferring data within BI, the Transformations define mapping and logic of data updating to the data targets whereas, the Extraction mode and Update mode are determined using a DTP.
NOTE: DTP is used to load data within BI system only; except when they are used in the scenarios of Virtual InfoProviders where DTP can be used to determine a direct data fetch from the source system at run time.
Key Benefits of using a DTP over conventional IP loading
Extraction
There are two types of Extraction modes for a DTP – Full and Delta.
Update mode full is same as that in an InfoPackage.
It selects all the data available in the source based on the Filter conditions mentioned in the DTP.
When the source of data is any one from the below InfoProviders, only FULL Extraction Mode is available.
Delta is not possible when the source is anyone of the above.
Unlike InfoPackage, delta transfer using a DTP doesn’t require an explicit initialization. When DTP is executed with Extraction mode Delta for the first time, all existing request till then are retrieved from the source and the delta is automatically initialized.
The below 3 options are available for a DTP with Extraction Mode: Delta.
I Only get delta once:
If this indicator is set, a snapshot scenario is built. The Data available in the Target is an exact replica of the Source Data.
Scenario:
Let us consider a scenario wherein Data is transferred from a Flat File to an InfoCube. The Target needs to contain the data from the latest Flat File data load only. Each time a new Request is loaded, the previous request needs to be deleted from the Target. For every new data load, any previous Request loaded with the same selection criteria is to be removed from the InfoCube automatically. This is necessary, whenever the source delivers only the last status of the key figures, similar to a Snap Shot of the Source Data.
Solution – Only Get Delta Once
A DTP with a Full load should suffice the requirement. However, it is not recommended to use a Full DTP; the reason being, a full DTP loads all the requests from the PSA regardless of whether these were loaded previously or not. So, in order to avoid the duplication of data due to full loads, we have to always schedule PSA deletion every time before a full DTP is triggered again.
‘Only Get Delta Once’ does this job in a much efficient way; as it loads only the latest request (Delta) from a PSA to a Data target.
The above 3 steps can be incorporated in a Process Chain which avoids any manual intervention.
II Get all new data request by request:
If you set this indicator in combination with ‘Retrieve Until No More New Data’, a DTP gets data from one request in the source. When it completes processing, the DTP checks whether the source contains any further new requests. If the source contains more requests, a new DTP request is automatically generated and processed.
NOTE: If ‘Retrieve Until No More New Data’ is unchecked, the above option automatically changes to ‘Get One Request Only’. This would in turn get only one request from the source.
Also, once DTP is activated, the option ‘Retrieve Until No More New Data’ no more appears in the DTP maintenance.
The number of Data records contained in one individual Data package is determined here.
Default value is 50,000.
The selection Criteria for fetching the data from the source is determined / restricted by filter.
We have following options to restrict a value / range of values:
Multiple selections
OLAP variable
ABAP Routine
A on the right of the Filter button indicates the Filter selections exist for the DTP.
Choose Semantic Groups to specify how you want to build the data packages that are read from the source (DataSource or InfoProvider). To do this, define key fields. Data records that have the same key are combined in a single data package.
This setting is only relevant for DataStore objects with data fields that are overwritten. This setting also defines the key fields for the error stack. By defining the key for the error stack, you ensure that the data can be updated in the target in the correct order once the incorrect data records have been corrected.
Aon the right side of the ‘Semantic Groups’ button indicates the Semantic keys exist for the DTP.
Update
If an error occurs, the error is reported at the package level and not at the data record level.
The incorrect records are not written to the error stack since the request is terminated and has to be updated again in its entirety.
This results in faster processing.
If errors occur, the system terminates the update of the entire data package. The request is not released for reporting. The incorrect record is highlighted so that the error can be assigned to the data record.
The incorrect records are not written to the error stack since the request is terminated and has to be updated again in its entirety.
This option allows you to update valid data. This data is only released for reporting after the administrator checks the incorrect records that are not updated and manually releases the request (by a QM action, that is, setting the overall status on the Status tab page in the monitor).
The incorrect records are written to a separate error stack in which the records are edited and can be updated manually using an error DTP.
Valid records can be reported immediately. Automatic follow-up actions, such as adjusting the aggregates, are also carried out.
The incorrect records are written to a separate error stack in which the records are edited and can be updated manually using an error DTP.
Erroneous records in a DTP load are written to a stack called Error Stack.
Error Stack is a request-based table (PSA table) into which erroneous data records from a data transfer process (DTP) are written. The error stack is based on the data source (PSA, DSO or Info Cube), that is, records from the source are written to the error stack.
In order to upload data to the Data Target, we need to correct the data records in the Error Stack and manually run the Error DTP.
Execute
Processing Mode
Serial Extraction, Immediate Parallel Processing:
A request is processed in a background process when a DTP is started in a process chain or manually.
Serial in dialog process (for debugging):
A request is processed in a dialog process when it is started in debug mode from DTP maintenance.
This mode is ideal for simulating the DTP execution in Debugging mode. When this mode is selected, we have the option to activate or deactivate the session Break Points at various stages like – Extraction, Data Filtering, Error Handling, Transformation and Data Target updating.
You cannot start requests for real-time data acquisition in debug mode.
Debugging Tip:
When you want to debug the DTP, you cannot set a session breakpoint in the editor where you write the ABAP code (e.g. DTP Filter). You need to set a session break point(s) in the Generated program as shown below:
No data transfer; delta status in source: fetched:
This processing is available only when DTP is operated in Delta Mode. It is similar to Delta Initialization without data transfer as in an InfoPackage.
In this mode, the DTP executes directly in Dialog. The request generated would mark the data found from the source as fetched, but does not actually load any data to the target.
We can choose this mode even if the data has already been transferred previously using the DTP.
Delta DTP on a DSO
There are special data transfer options when the Data is sourced from a DTP to other Data Target.
The data is read from the DSO active table and from the archived data.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
6 | |
5 | |
5 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 |