SAP ABAP Class CL_FDT_DECISION_TABLE_COMPARE (FDT: Decision Table Comparison Helper)
Hierarchy
☛
SAP_BASIS (Software Component) SAP Basis Component
⤷
BC-SRV-BR (Application Component) BRFplus - ABAP-Based Business Rules
⤷
SFDT_EXPRESSIONS (Package) BRFplus: Expressions
⤷
⤷
Properties
| Class | CL_FDT_DECISION_TABLE_COMPARE | |
| Short Description | FDT: Decision Table Comparison Helper | |
| Super Class | ||
| Instantiability of a Class | 0 | Private |
| Final |
General Data
| Message Class | ||
| Program status | ||
| Category | 0 | |
| Package | SFDT_EXPRESSIONS | BRFplus: Expressions |
| Created | 20121107 | SAP |
| Last change | 20130531 | SAP |
| Shared Memory-enabled | ||
| Fixed point arithmetic | ||
| Unicode checks active |
Forward declarations
| # | Type group / Object type | Type | Type Description |
|---|---|---|---|
| 1 | Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) | |
| 2 | Forward declaration class (CLASS c DEFINITION DEFERRED) | Forward declaration class (CLASS c DEFINITION DEFERRED) | |
| 3 | Forward declaration class (CLASS c DEFINITION DEFERRED) | Forward declaration class (CLASS c DEFINITION DEFERRED) | |
| 4 | Forward declaration interface (INTERFACE i DEFINITION DEF... | Forward declaration interface (INTERFACE i DEFINITION DEF... |
Interfaces
Class CL_FDT_DECISION_TABLE_COMPARE has no interface implemented.
Friends
Class CL_FDT_DECISION_TABLE_COMPARE has no friend class.
Attributes
| # | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Constant | Public | Type reference (TYPE) | DIFF_OPERATION | 'a' | 20121107 | |||
| 2 | Constant | Public | Type reference (TYPE) | DIFF_OPERATION | 'c' | change operation | 20121107 | ||
| 3 | Constant | Public | Type reference (TYPE) | DIFF_OPERATION | '-' | delete operation | 20121107 | ||
| 4 | Constant | Public | Type reference (TYPE) | DIFF_OPERATION | '+' | insert operation | 20121107 | ||
| 5 | Constant | Public | Type reference (TYPE) | DIFF_OPERATION | 'm' | move operation | 20121107 | ||
| 6 | Constant | Public | Type reference (TYPE) | DIFF_OPERATION | '?' | unknown operation | 20121107 | ||
| 7 | Constant | Public | Type reference (TYPE) | DIFF_TARGET | 'C' | column target | 20121107 | ||
| 8 | Constant | Public | Type reference (TYPE) | DIFF_TARGET | 'R' | row target | 20121107 | ||
| 9 | Constant | Public | Type reference (TYPE) | DIFF_TARGET | 'T' | 20121107 | |||
| 10 | Instance attribute | Private | Object reference (TYPE REF TO) | CL_FDT_DECISION_TABLE | FDT Decision Table | 20121107 | |||
| 11 | Instance attribute | Private | Type reference (TYPE) | T_DIFF | Table that stores the differences | 20121107 | |||
| 12 | Instance attribute | Private | Type reference (TYPE) | CL_FDT_DECISION_TABLE=>TS_TABLE_DATA_TEXT | 20121107 | ||||
| 13 | Instance attribute | Private | Type reference (TYPE) | CL_FDT_DECISION_TABLE=>TS_TABLE_DATA_TEXT | 20121107 | ||||
| 14 | Instance attribute | Private | Type reference (TYPE) | I | 0 | count changes | 20121107 | ||
| 15 | Instance attribute | Private | Type reference (TYPE) | I | abort processing after n changes | 20121107 | |||
| 16 | Instance attribute | Private | Type reference (TYPE) | IF_FDT_TYPES=>TIMESTAMP | Timestamp 1 | 20121107 | |||
| 17 | Instance attribute | Private | Type reference (TYPE) | IF_FDT_TYPES=>TIMESTAMP | Timestamp 2 | 20121107 |
Methods
| # | Method | Level | Visibility | Method type | Description | Created on |
|---|---|---|---|---|---|---|
| 1 | Instance method | Private | Method | compare two version of a decision table | 20121107 | |
| 2 | Instance method | Private | Method | compare the columns | 20121107 | |
| 3 | Instance method | Private | Method | compare 2 rows | 20121107 | |
| 4 | Instance method | Public | Constructor | Constructor | 20121107 | |
| 5 | Instance method | Private | Method | Convert TS_DIFF to Table of string | 20121107 | |
| 6 | Instance method | Private | Method | find column inserts and deletions that are equal and merge | 20121107 | |
| 7 | Instance method | Private | Method | find row inserts and deletions that are equal and merge them | 20121107 | |
| 8 | Instance method | Private | Method | find the first common subrow set | 20121107 | |
| 9 | Instance method | Private | Method | Helper method to generate row differences | 20121107 | |
| 10 | Static method | Public | Method | Get differences of two tables | 20121107 | |
| 11 | Instance method | Private | Method | Concatenates a row of a table to a string | 20121112 | |
| 12 | Instance method | Private | Method | decide if compared rows are equal | 20121107 | |
| 13 | Instance method | Private | Method | increments counter, stops when limit is reached | 20121107 | |
| 14 | Instance method | Private | Method | split between subrow sets. deivide unitl a result is found | 20121107 |
Events
Class CL_FDT_DECISION_TABLE_COMPARE has no event.
Types
| # | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
|---|---|---|---|---|---|---|---|
| 1 | DIFF_OPERATION | Public | See coding | Type for a operation in s_diff | 20121107 | diff_operation TYPE c LENGTH 1
|
|
| 2 | DIFF_TARGET | Public | See coding | Type for a target in s_diff | 20121107 | diff_target TYPE c LENGTH 1
|
|
| 3 | S_COL_COMPARE | Private | See coding | Structure to connect equal columns in different versions | 20121107 | BEGIN OF s_col_compare,
object_id TYPE if_fdt_types=>id,
col_no_1 TYPE int4,
col_no_2 TYPE int4,
END OF s_col_compare
|
|
| 4 | S_DIFF | Public | See coding | Structure to decribe a difference | 20121107 | BEGIN OF s_diff,
target TYPE diff_target,
table_1_row TYPE int4,
table_1_col TYPE int4,
table_2_row TYPE int4,
table_2_col TYPE int4,
operation TYPE diff_operation,
table_1_text TYPE string,
table_2_text TYPE string,
col_id_1 type if_fdt_types=>id,
col_id_2 type if_fdt_types=>id,
END OF s_diff
|
|
| 5 | TS_COL_COMPARE | Private | See coding | Table of equal columns | 20121107 | ts_col_compare TYPE SORTED TABLE OF s_col_compare WITH NON-UNIQUE KEY col_no_1 col_no_2
|
|
| 6 | T_DIFF | Public | See coding | Table of differences | 20121107 | t_diff TYPE STANDARD TABLE OF s_diff WITH NON-UNIQUE KEY target operation table_1_row table_1_col table_2_row table_2_col
|
|
| 7 | T_TEXT | Public | See coding | Table of texts for readable output | 20121107 | t_text TYPE STANDARD TABLE OF string
|
Method Signatures
Method COMPARE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | RTS_DIFF | Value transfer | Type reference (TYPE) | T_DIFF | Differences | 20121107 |
Method COMPARE on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method COMPARE_COLUMNS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CV_LIMIT_REACHED | Call by reference | Type reference (TYPE) | ABAP_BOOL | Table of differences | 20121107 | |||
| 2 | ETS_COMP | Call by reference | Type reference (TYPE) | TS_COL_COMPARE | X: Limit reached -> Stop | 20121107 | |||
| 3 | ET_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Table of equal columns | 20121107 |
Method COMPARE_COLUMNS on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method COMPARE_ROWS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ET_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Table of differences | 20121107 | |||
| 2 | EV_MATCHING | Call by reference | Type reference (TYPE) | I | Number of matching rows | 20121107 | |||
| 3 | EV_TOTAL | Call by reference | Type reference (TYPE) | I | Number of comparable rows | 20121107 | |||
| 4 | ITS_COMP | Call by reference | Type reference (TYPE) | TS_COL_COMPARE | Table of equal columns | 20121107 | |||
| 5 | IV_ROW_NO_1 | Call by reference | Type reference (TYPE) | I | Row no. from table version 1 | 20121107 | |||
| 6 | IV_ROW_NO_2 | Call by reference | Type reference (TYPE) | I | Row no. from table version 2 | 20121107 |
Method COMPARE_ROWS on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method CONSTRUCTOR Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_DECISION_TABLE | Call by reference | Type reference (TYPE) | IF_FDT_TYPES=>ID | 20121107 | ||||
| 2 | IV_LIMIT | Call by reference | Type reference (TYPE) | I | 50 | Max number of entries | 20121107 | ||
| 3 | IV_TIMESTAMP_1 | Call by reference | Type reference (TYPE) | IF_FDT_TYPES=>TIMESTAMP | 20121107 | ||||
| 4 | IV_TIMESTAMP_2 | Call by reference | Type reference (TYPE) | IF_FDT_TYPES=>TIMESTAMP | 20121107 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | 20121107 | |||
| 2 | 20121107 |
Method DIFF_TO_CHANGE_INFO Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ET_CHANGE_INFO | Call by reference | Type reference (TYPE) | CL_FDT_MAINTENANCE=>T_CHANGE_INFO | Change Info | 20121107 |
Method DIFF_TO_CHANGE_INFO on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method FILTER_COL_MOVES Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ET_MOVE | Call by reference | Type reference (TYPE) | T_DIFF | Reduced table of real movements | 20121107 | |||
| 2 | IT_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Table of differences | 20121107 | |||
| 3 | IT_MOVE | Call by reference | Type reference (TYPE) | T_DIFF | Table of potential movements | 20121107 |
Method FILTER_COL_MOVES on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method FILTER_ROW_MOVES Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ITS_COMP | Call by reference | Type reference (TYPE) | TS_COL_COMPARE | Table of equal columns | 20121107 |
Method FILTER_ROW_MOVES on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method FIND_COMMON_SUBROWS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CV_LIMIT_REACHED | Call by reference | Type reference (TYPE) | ABAP_BOOL | X: Limit reached -> Stop | 20121107 | |||
| 2 | ET_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Table of differences | 20121107 | |||
| 3 | EV_LENGTH | Call by reference | Type reference (TYPE) | I | Length of common subrow set | 20121107 | |||
| 4 | EV_START_1 | Call by reference | Type reference (TYPE) | I | First row of common subrow set in table 1 | 20121107 | |||
| 5 | EV_START_2 | Call by reference | Type reference (TYPE) | I | First row of common subrow set in table 2 | 20121107 | |||
| 6 | ITS_COMP | Call by reference | Type reference (TYPE) | TS_COL_COMPARE | Table of equal columns | 20121107 | |||
| 7 | IV_LENGTH_1 | Call by reference | Type reference (TYPE) | I | Amount of rows in table 1 that are considered | 20121107 | |||
| 8 | IV_LENGTH_2 | Call by reference | Type reference (TYPE) | I | Amount of rows in table 2 that are considered | 20121107 | |||
| 9 | IV_START_1 | Call by reference | Type reference (TYPE) | I | First row to consider in table 1 | 20121107 | |||
| 10 | IV_START_2 | Call by reference | Type reference (TYPE) | I | First row to consider in table 2 | 20121107 |
Method FIND_COMMON_SUBROWS on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method GENERATE_DIFF_OPS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CV_LIMIT_REACHED | Call by reference | Type reference (TYPE) | ABAP_BOOL | X Limit reached | 20121115 | |||
| 2 | ET_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Table of differences | 20121107 | |||
| 3 | IV_DIFF_OP | Call by reference | Type reference (TYPE) | DIFF_OPERATION | Operation | 20121107 | |||
| 4 | IV_LENGTH | Call by reference | Type reference (TYPE) | I | Length of affected row set | 20121107 | |||
| 5 | IV_START | Call by reference | Type reference (TYPE) | I | First affected row | 20121107 |
Method GENERATE_DIFF_OPS on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method GET_DIFFERENCE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ET_CHANGE_INFO | Call by reference | Type reference (TYPE) | CL_FDT_MAINTENANCE=>T_CHANGE_INFO | Difference (Message) | 20121107 | |||
| 2 | ET_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Difference (Technical Format) | 20121107 | |||
| 3 | IV_DECISION_TABLE | Call by reference | Type reference (TYPE) | IF_FDT_TYPES=>ID | Decision Table | 20121107 | |||
| 4 | IV_LIMIT | Call by reference | Type reference (TYPE) | I | 50 | Max no of messages returned | 20121107 | ||
| 5 | IV_TIMESTAMP_1 | Call by reference | Type reference (TYPE) | IF_FDT_TYPES=>TIMESTAMP | Timestamp 1 (of decision table) | 20121107 | |||
| 6 | IV_TIMESTAMP_2 | Call by reference | Type reference (TYPE) | IF_FDT_TYPES=>TIMESTAMP | Timestamp 2 (of decision table) | 20121107 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | 20121107 |
Method GET_ROW_AS_TEXT Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_INTERRUPTED_ENDING | Call by reference | Type reference (TYPE) | STRING | '...' | string added at the end if the max. length is reached. | 20121112 | ||
| 2 | IV_MAX_LENGTH | Call by reference | Type reference (TYPE) | I | 50 | max. length of text | 20121112 | ||
| 3 | IV_PREFIX | Call by reference | Type reference (TYPE) | STRING | `[ ` | string added at the start | 20121115 | ||
| 4 | IV_ROW_NO | Call by reference | Type reference (TYPE) | I | Row number | 20121112 | |||
| 5 | IV_SEPERATOR | Call by reference | Type reference (TYPE) | STRING | ` | ` | field seperator | 20121112 | ||
| 6 | IV_SUFFIX | Call by reference | Type reference (TYPE) | STRING | ` ]` | string added at the end | 20121115 | ||
| 7 | IV_TABLE | Call by reference | Type reference (TYPE) | I | 1: Table 1, 2: Table 2 | 20121112 | |||
| 8 | RV_TEXT | Value transfer | Type reference (TYPE) | STRING | concatenated row fields | 20121112 |
Method GET_ROW_AS_TEXT on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method IS_COMPARE_EQUALS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_MATCHING | Call by reference | Type reference (TYPE) | I | 20121107 | ||||
| 2 | IV_TOTAL | Call by reference | Type reference (TYPE) | I | 20121107 | ||||
| 3 | RV_RESULT | Value transfer | Type reference (TYPE) | ABAP_BOOL | 20121107 |
Method IS_COMPARE_EQUALS on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method LIMIT_COUNTER Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IV_INC | Call by reference | Type reference (TYPE) | I | 1 | amount | 20121107 | ||
| 2 | RV_LIMIT_REACHED | Value transfer | Type reference (TYPE) | ABAP_BOOL | X: Limit reached -> Stop | 20121107 |
Method LIMIT_COUNTER on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
Method SPLIT_SUBROWS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CV_LIMIT_REACHED | Call by reference | Type reference (TYPE) | ABAP_BOOL | X: limit reached, stopped | 20121107 | |||
| 2 | ET_DIFF | Call by reference | Type reference (TYPE) | T_DIFF | Table of differences | 20121107 | |||
| 3 | ITS_COMP | Call by reference | Type reference (TYPE) | TS_COL_COMPARE | Table of equal columns | 20121107 | |||
| 4 | IV_LENGTH_1 | Call by reference | Type reference (TYPE) | I | Length of changed area in version 1 | 20121107 | |||
| 5 | IV_LENGTH_2 | Call by reference | Type reference (TYPE) | I | Length of changed area in version 2 | 20121107 | |||
| 6 | IV_START_1 | Call by reference | Type reference (TYPE) | I | First row for split (from tab 1) | 20121107 | |||
| 7 | IV_START_2 | Call by reference | Type reference (TYPE) | I | Firt row for split (tab 2) | 20121107 |
Method SPLIT_SUBROWS on class CL_FDT_DECISION_TABLE_COMPARE has no exception.
History
| Last changed by/on | SAP | 20130531 |
| SAP Release Created in | 740 |