As discussed in Time and Technical Characteristics, a master data read class is assigned to such a special InfoObject which handles the master data retrieval. The values for display attributes are derived(by this class) from the month of the data record, navigation attributes are read with the help of the master data tables P and X.
The time characteristic 0CALMONTH uses the class is CL_RSMD_RS_0CALMONTH(see note 1387166). The definition depends on the content release. E.G. on BW/4Hana systems, 0CALMONTH is shipped with some navigation attributes in contrast to BW75 systems where all attributes are display attributes(and hence the P and X tables are empty/do not exisit).
As explained in notes 2194279 and 2074801, it is important to use the current content version of this characteristic. It is not recommended to change the delivered version of the object, however, it is possible to create your own hierarchies and change display attributes to navigation attributes.
Transaction RSRHIERARCHYVIRT can be used to define a time interval which is the basis for the F4 help of time characteristics. In case of inconsistencies, this transaction also offers an option to refill the corresponding master data tables(more precisely, the SID, P, and X tables) for the characteristics 0DATE, 0CALMONTH, 0QUARTER and 0FISCPER(since the new content versions of these objects contain navigation attributes). So, e.g. when there is a record missing within the defined time interval in the SID table, it is created. In addition, all attribute values of the P and X table are refilled for all months of the SID table. See the example below and the following note for details:
2608688 New Rebuild Option for Time Characteristics Master Data
In case the (content) version of 0CALMONTH does not contain any navigation attributes(P and X tables do not exist), this rebuild option does not have any effect.
For time characteristics like 0CALMONTH so called Virtual Time Hierarchies can be used in order to get a hierarchical display of the periods in query results. See Virtual Time Hierarchies for further details. It is also possible to create manually hierarchies with transaction RSD1/RSH1 and BW Modeling Tools.
Texts are retrieved from the basis table T247. The corresponding year is always added automatically. See also example below.
- 0NUMDAY (Display Attribute Only)
- 0NUMWDAY (Display Attribute Only)
- 0DATEFROM (Display Attribute Only)
- 0DATETO (Display Attribute Only)
There is a check called "Consistency of SID and X table for relevant Time Characteristics" in RSRV you can use to check whether the records in the SID, P and X tables are consistent. In case of inconsistencies, the button 'Correct Error' can be used to refill these tables(similar to the corresponding function of RSRHIERARCHYVIRT).
BW75 Systems: Content Version
Since there are only display attributes, the P and X tables are not needed. Hence the P table only contains the initial value(and the X table does not exist at all):
BW/4Hana Systems: Content Version
There are 5 navigation attributes:
BW/4Hana Example: Filling of Master Data Tables
We check the impact of the definition of the time interval in transaction RSRHIERARCHYVIRT. When the system is new, all the master data tables(/BI0/SCALMONTH, /BI0/PCALMONTH, /BI0/XCALMONTH) of 0CALMONTH are empty. We start with the interval 01.01.2016 to 31.12.2017 and save it:
Afterwards we use the button 'Execute Recreate' in order to fill the tables:
This table is filled with values from 01.01.2016 up to 31.12.2017:
P and X Table
The P and X table are filled as well with all the (navigation) attributes:
In case we now e.g. load a data record where 0CALMONTH is equal to 05.2018(into a provider), the corresponding records would be added to all these tables.
If we deleted this record in the P table and then ran the rebuild function in transaction RSRHIERARCHYVIRT, this record would be added again since there was still the corresponding entry in the SID table.
BW75 Example: Texts for 0CALMONTH
0CALMONTH is delivered with medium and long texts. During query runtime a method of class CL_RSMD_RS_0CALMONTH reads the texts from the table T247 In this method the corresponding year of the data record is added. The table /BI0/TCALMONTH is not taken into account(and empty on a BW75 system and it does not exisit on BW/4Hana system).
When we check a test query where the keys and the long texts are displayed we get the following:
In case we switch to medium text we get:
Corresponding records in table T247: