On the Update tab page in the data transfer process (DTP), the error handling settings allow you to control how the system responds if errors occur in the data records when data is transferred from a DTP source to a DTP target.
Settings for Error Handling
For a data transfer process (DTP), you can specify how you want the system to respond when data records contain errors. If you activate error handling, all records with errors are written to a request-based database table (PSA table) known as the error stack. You can use a special data transfer process, the error DTP, to update the records to the target.
Temporary storage is available after each processing step of the DTP request. This allows you to find out which processing step the error occurred in.
Checks for Incorrect Data Records
The following table provides an overview of where checks for incorrect data records can be run:
Where does the check take place? | Examples of Incorrect Data Records |
---|---|
In the transformation |
Field contains invalid characters or lowercase characters Error during conversion Error during currency translation A routine returns a return code <> 0 Characteristic value is not found for master data Error reading master data Customer-specific formula results in error |
When data is updated to the master data table or text table |
Invalid characters in keys or navigation attributes If no SID exists for the value of the navigation attribute If no language field is defined for texts Invalid "from" and "to" dates Duplicate data records with relation to keys Overlapping and invalid time intervals |
When data is updated to the InfoCube |
If no SID exists for the characteristic value |
When checking referential integrity of an InfoObject against master data tables or DataStore objects |
If no SID exists for the characteristic value |
"Repairing" with Error DTP
You create an error DTP for an active data transfer process on the Update tab page. You run it directly in the background or include it in a process chain so that you can schedule it regularly in the context of your process chain. The error DTP uses the full update mode to extract data from the error stack (in this case, the source of the DTP) and transfer it to the target that you have already defined in the data transfer process.
This setting is only relevant if you are transferring data to DataStore objects with data fields that are overwritten. If errors occur, all subsequent data records with the same key are written to the error stack along with the incorrect data record; they are not updated to the target. This guarantees the serialization of the data records, and consistent data processing. The serialization of the data records and thus the explicit definition of key fields for the error stack is not relevant for targets that are not updated by overwriting.
The default value and possible entries for the key fields of the error stack for DataStore objects that overwrite are shown below:
Default Value/Possible Entries | Which Fields in the Source? |
---|---|
Default value for the key fields of the error stack (fields selected by the system) |
All fields in the source that are uniquely assigned to a key field of the target. This means all fields in the source that are directly assigned to a key field of the DataStore object in the transformation. |
Fields that can also be selected as key fields for the error stack |
Fields in the source that are assigned to key fields of the DataStore object, but whose assignment is not unique. An assignment is not unique if it is not a direct assignment. If the assignment is direct, it is also considered to be not unique if there is a start or end routine. |
Fields that cannot be selected as key fields for the error stack |
Fields in the source that are assigned to a non-key field of the target, to a data field in the DataStore object. |
The key should be as detailed as possible. A maximum of 16 key fields is permitted. The fewer the number of key fields defined, the more records are updated to the error stack.
The system automatically defines the key fields of the target as key fields of the error stack for targets that are not updated by overwriting (for example for InfoCubes or DataStore objects that only have fields that are updated cumulatively). In this case you cannot change the key fields of the error stack.
If errors occur, the system terminates the update of the entire data package. The request is not released for reporting. The incorrect record is selected. This allows the error to 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 is the default setting in the DTP - with one exception: If the source is a data store object (of a semantically partitioned object) and the target is an InfoCube, error handling is deactivated.
This option allows you to update valid data. This data is only released for reporting after the administrator checks the incorrect records that have not been updated and manually releases the request by setting the overall status on the Status tab page in the monitor (QM action).
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.
The valid records are available immediately for reporting and analysis purposes. Automatic follow-on activities are performed automatically (such as modifying aggregates).
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.
If you leave this blank, handling for incorrect data records is not activated, and the update is terminated as soon as the first error occurs.
More information: