Transformations are used for defining the way how data is loaded from the source to the target of a Data Transfer Process (DTP).
You can create Transformations also without having a DTP beforehand to model and test their behavior.
Basically, Transformations are built up from rules, which bind one or more fields of the source structure to a given field of the target structure.
Furthermore you can build up a complex logic for a Transformation using additional routines.
Rules define the source fields which are used for loading a given target field, and the operation how the target value is calulated.
Using rules, it is not possible to use several records from the source, or create several records in the target; Transformation rules are applied recordwise and create exactly one target record from exactly one source record.
Taking the given source fields as input, using rules you can choose from the following operations (called Rules Types):
- Constant: assigns a predefined value regardless of the content of the input fields,
- Direct Assignment: copies the value of the input field without any conversion (only the possible conversion routines defined in the target InfoObject might apply),
- Formula: using this rule type you can define basic logical operations to be performed on the input fields without having to know the ABAP programming language,
- Initial: assigns an initial value to the target field,
- Read Master Data: using the input field value as a key, you can read the value of a Characteristic attribute belonging to a specified Characteristic; the InfoObject of the required Characteristic attribute must comply the InfoObject of the target field of the rule,
- Read from DataStore: using the input field value(s) as a (compounded) key, you can read the data fields of a specified DataStore Object (DSO); the InfoObject of the required data field must comply the InfoObject of the target field of the rule,
- Routine: you can implement an ABAP method to calculate the value of the target field based on the values of the source fields; Routine type rules differ from other Transformation routines in the restriction, that here the result of the operation must be a single value.
As an example, the transformation below uses 3 rules, 2 of which are Routine types, and one is a Read from DataStore type.
Rules can be divided into different Rule Groups. The following Rule Groups are available by default:
- Standard Rule Group contains the rules for filling the InfoObjects of the target which were added by the user,
- Technical Rule Group contain technical controlling InfoObjects (for example Record Mode for DataStore Objects (DSO)); this Group is available only if applicable.
You can find further information about Transformation rule types in the application help.
Using a start, end or expert routine you can define specific subroutines to be executed at certain points during the Transformation process.
These include the following:
- Start routine is executed before applying the defined rules for the source dataset,
- End routine is executed after applying the defined rules for the source dataset,
Expert routine omits the defined rules and enables you to implement the entire Transformation process in code.
Graphically, the place of these additional routines can be depicted the following way:
With routines, you can use the whole dataset as input for a given target record, however for creating new target records in a routine you must consider the following notes:
- Creating new records in Start routine: 1258089,
- Creating new records in End routine: 1223532,
- Creating new records in Expert routine: 1227667.
You can find further information about Transformation routines in the application help.