DTS Assignment Logic
DTS supports two types of assignments:
-
Rule assignments
-
Business object assignments
The assignments are automatically set by the table pool builder programs. For more information, see the steps Generate table pool or Generate conversion rules assignment to tables.
You can then maintain the generated assignments in the step Assign filtering rules and business objects.
Rule Assignments
Rule assignments are used either for special filtering or for a value change (data conversion).
A DTS rule is automatically assigned to a table field when the following conditions are met:
-
The data element or domain of the field matches the DTS business object definition belonging to the DTS rule.
-
The DTS rule is active.
-
The DTS rule does not have the Manual assignment option enabled. You can set this option in the rule maintenance screen in the step Maintain business objects (scope definition).
DTS rule automatic assignment principle
Each DTS rule is assigned to a business object, and each business object is defined by a data element and domain. For all the rule assignment steps, DTS scans the SAP DDIC to find all the relevant fields of transparent, cluster or pool tables that match the data element or domain defined in a business object.
The logic for determining how rules are assigned is based on the following conditions:
-
The rule is assigned to a field if the field matches the DTS business object definition (data element or domain) to which the rule belongs.
-
The rule is active.
-
The rule does not have the Manual assignment option enabled.
If multiple DTS rules match these criteria for one field, all of them are assigned. As a result, one field can have multiple rule assignments.
Business Object Assignments
Business object assignments are used for filtering purposes only to define the selectivity. A field that is successfully assigned to a DTS business object is processed with an SQL JOIN with the DTS business object table. The DTS business object tables are filled during the preselection execution. For more information, see the step Execute and monitor preselection.
Example: Asset master record segments (table ANLA) are selected based on the derived values stored in the business object BUKRS table using a JOIN. The table /DV1/SOBJ17785 is generated for the business object BUKRS in the example below:
SELECT * FROM ANLA
INNER JOIN /DV1/SOBJ137785 AS INPUT00
ON ANLA~BUKRS = INPUT00~BUKRS ...
DTS business object automatic assignment principle
A DTS business object is assigned to a table field if it matches the data element or domain definition of the business object. The following situations might occur when the table pool builder assigns a business object to a table field:
-
No business object can be assigned. Depending on the scenario and the user selection, the table is either fully migrated or excluded from the processing.
-
Exactly one object can be assigned. This is the most straightforward situation and the identified business object is assigned.
NOTE Only DTS business objects with a defined priority can be assigned automatically. -
Multiple objects can be assigned. In this case, the following options are available:
-
1. One of the available DTS business objects has a higher priority than the others. In such cases, the object with the highest priority is assigned. You can define the DTS business object priority in the step Maintain business objects by editing the business object.
-
2. There are two or more DTS business objects with the highest priority. In such cases, you must make the decision manually. All identified DTS business objects are assigned the status Proposal, and hints that are relevant for the manual assignment decision are stored in the comment. The hints contain following the information:
-
Whether the field assigned to the business object is a table key.
-
How many empty records the business object has.
NOTE The analysis ends at 1,000 blank records. Any additional records are marked with > 1000. -
The business object priority.
NOTE The condition tables are automatically assigned to the respective condition DTS business object (KNUM*). Tables with unresolved proposals are excluded from further processing. This is the same as if they were inactive in the table pool.
-
-
Example (not all fields displayed in the manual assignments are shown here):
Status | ... | Table | Field | ... | Group | Init. values | Rule/business object | ... | Comment |
---|---|---|---|---|---|---|---|---|---|
Proposal | TAB1 | BUKRS | 0 | No | BUKRS | Key; 10 empty rows; priority 1 | |||
Proposal | TAB1 | BUKRS1 | 0 | No | BUKRS | >1000 empty rows; priority 1 | |||
Proposal | TAB1 | SORG | 0 | No | SORG | 5 empty rows; priority 3 | |||
Proposal | TAB1 | PLANT | 0 | No | PLANT | 20 empty rows; priority 2 |
There are another two important fields that impact the processing of the filtering:
-
Group: Defines the union or intersection among the processed business objects. The default value is 0 (union). Business objects with the same group that is above 0 are processed as an intersection. All other cases are processed as a union. See the diagrams below.
NOTE Multiple objects with the union processing cannot be processed by an SQL JOIN statement in the generated reports. The FOR ALL ENTRIES cursor is applied instead. For more information, see the chapter DTS Selection Modes. -
Initialized values: Flag indicating whether the empty values will be considered for processing.