Versioning Records in RDM
RDM supports versioning of records, that is, creating multiple versions of the same record with different validity intervals. The beginning and the end of the validity interval is stored in special columns—called business date columns—assigned with those properties in the table properties. Validity intervals of a child record must correspond to those of the parent record.
Example
The following RDM table demonstrates record versioning on the example of a machinery part, whose code changed on 2015/03/14. Since this information is available in advance, the value can be conveniently registered in RDM ahead of time, even before it becomes valid (for example, the data manager could enter this information on 2015/02/15, or as soon as the information about the change becomes available).
[ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
34 |
1 |
QIX-201-C |
2015-03-13 |
2099-01-01 |
The GID attribute is the attribute that groups the same records with different values in different intervals.
Creating a new record version
To check whether a table has business date columns configured, select Description from the toolbar.
To create a new version of the record:
-
Select a record and then Action > Split rows.
-
Keep Use selected rows selected and select OK.
-
Choose the versioning option.
-
Select OK to finish.
Versioning options
Let’s take a look at the options for creating new record versions with the following sample record:
[ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
Before selected record version
This option creates a new record with the Valid From column equal to the minimum date defined in the RDM backend.
The option is usually used in special cases, for example, when it is necessary to align the beginning of validity of all records in the table to a specific date.
With the minimum date set to 1900-01-01, we get the following outcome:
-
The original record version interval does not change.
-
The new version starts being valid at the predefined minimum allowed date and stops being valid immediately before the original version starts being valid.
When | [ State ] | [ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|---|---|
Before |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
After |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
New (green dot) |
34 |
1 |
QIX-201-C |
1900-01-01 |
2000-01-01 |
After selected record version
This option creates a new record with the Valid To column equal to the maximum date (defined in the RDM backend).
The option is usually used in special cases, for example, when it is necessary to align the end of validity of all records in the table to a specific date.
With the maximum date set to 2099-12-31, we get the following outcome:
-
The original record version interval does not change.
-
The new version starts being valid immediately after the original version ends being valid and stops being valid at the predefined maximum allowed date.
When | [ State ] | [ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|---|---|
Before |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
After |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
New (green dot) |
34 |
1 |
QIX-201-C |
2015-03-13 |
2099-12-31 |
Custom (as valid from)
Using the Custom (as valid from) option, it is possible to create a new record version beginning or ending with the date entered. The outcome depends on where the date is placed in regards to the original validity interval of the record.
There are three main scenarios:
-
The entered date is within the original record’s validity interval.
-
The entered date is before the left edge of the validity interval.
-
The entered date is after the right edge of the validity interval.
Within the interval
If we have 2002-06-06
as the entered value, we get the following outcome:
-
The original record version’s end of validity changes from
2015-03-13
to2002-06-06
. -
The new record version is created with the following validity interval:
2002-06-06
(the value entered) -2015-03-13
(taken from the original record version).
When | [ State ] | [ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|---|---|
Before |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
After |
Changed (orange dot) |
33 |
1 |
QIX-102-A |
2000-01-01 |
2002-06-06 |
New (green dot) |
34 |
1 |
QIX-201-C |
2002-06-06 |
2015-03-13 |
Before the FROM date
If 1999-01-01
is the entered value, we get the following outcome:
-
The original record version does not change.
-
The new record version is created with the following validity interval:
1999-01-01
(the date entered) -2000-01-01
(the date of validity of the original version).
When | [ State ] | [ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|---|---|
Before |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
After |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
New (green dot) |
34 |
1 |
QIX-201-C |
1999-01-01 |
2000-01-01 |
After the TO date
If 2015-09-01
is the entered value, we get the following outcome:
-
The original record version does not change.
-
The new record version is created with the following validity interval:
2015-03-13
(the end of validity of the original version) -2015-09-01
(the date entered).
When | [ State ] | [ Id ] | [ Gid ] | Part Specification | Valid From | Valid To |
---|---|---|---|---|---|---|
Before |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
After |
/ |
33 |
1 |
QIX-102-A |
2000-01-01 |
2015-03-13 |
New (green dot) |
34 |
1 |
QIX-201-C |
2015-03-13 |
2015-09-01 |
Was this page useful?