Many people heard about data aging in context of HANA. You see it on a lot of SAP slides with DLM (Data Lifecycle Management) or in BoH / S/4HANA context, books about HANA and especially in the result of the HANA ABAP sizing reports. In my opinion the naming here – “clean-up” – is a little bit misleading. It is a bit more than just housekeeping and lot of things you have to pay attention to.
The sizing report uses by default a threshold of 15 days. All older data will be placed in the cold store and handled as historical data. This should be adjusted to your business data and in most cases 30 days and more will be used. As result you will get another sizing.
There a already a lot of details out there, you should have read them to get the context right:
– help.sap.com: Data Aging
– Blog from Bartosz Jarkowski: How to perform Data Aging in S/4HANA
– 1872170 – Business Suite on HANA and S/4HANA sizing report
– 2416490 – FAQ: SAP HANA Data Aging in SAP S/4HANA
– 2044468 – FAQ: SAP HANA Partitioning
– 2315141 – Collective note for Data Aging Framework
1. The SAP application must provide Data Aging Objects
2. The Profile Parameter abap/data_aging is set to ‘on’
3. The Data Aging business function (DAAG_DATA_AGING) is switched on
4. Relevant authorizations for Data Aging activities are provided
|SAP Application||Techn. Data Aging Object||Availability||Table||Note|
|Application Log (BC-SRV-BAL)||BC_SBAL||7.40 SPS8||BALDAT||1909418|
|ALE Integration Technology (BC-MID-ALE)||BC_IDOC||7.40 SPS8||EDIDS, EDID4||1949760|
|G/L Accounting (FI-GL) in Smart Financials 1.0||FI_DOCUMENT||Simple Finance add-on 1.0||BSEG, ACDOCA||2170722|
|Workflow (BC-BMT-WFM-RUN)||BC_WORKITEM||7.40 SPS12||SWWCNTP0; SWW_CONT; SWWLOGHIST||2173755|
|Change Document (BC-SRV-ASF-CHD)||BC_CHDO||7.40 SPS12||CDPOS;CDHDR||2232583|
|Sales Documents||SD_VBAK||S/4 1610||VBAK, VBAP, VBKD, VBEX, VBEP,
NAST, JEST, ADRC etc.
|Material Documents||MM_MATDOC||S/4 1511||MATDOC||2400142|
|Deliveries||LE_LIKP||S/4 1610||LIKP, LIPS, VBFA, VTRDI, NAST||2381387|
|Billing Documents||SD_VBRK||S/4 1610||VBRK, VBRP, VBRL, FPLA, FPLT, VBPA, VBPA3, VBFA, NAST etc.||2397618|
|Purchase Orders||MM_EKKO||S/4 1610||EKKO, EKPO, EKET, EKBE, EKBE etc.||2331524|
Check note 2315141 (Collective note for Data Aging Framework) for details.
Check under the first section of the sizing report if you benefit from data aging. You can see the benefit under the description ‘data clean-up’. But this is the sum of all data aging objects. May be you only want activate a specific one and want to know which table is it worth. Go to the clean-up details for the exact classification.
For the most ERP systems you will see that the biggest benefit can be achived in the change document area with aging object BC_CHDO. This affects table CDPOS and CDHDR. In this example you will save 5.3GB with 15 days retention. This means you also save 5.3GB working space. In sum you ~10.6GB memory footprint. In this case I would recommend not to use data aging, because the effort to activate it and adopt the custom code may be too high.
|DAGOBJ||Display all Data Aging Objects|
|DAGPTC||Customizing for Partitioning|
|DAGRUN||Overview of Data Aging Runs|
|DAGADM||Managing Data Aging Objects|
|DAGLOG||Data Aging Log|
- use sizing report to estimate your benefits
- compare different sizing runs with report /SDF/READ_HDB_SIZING_RESULTS_2
- check if you have Z-Coding which are using the aged tables => use the classes CL_ABAP_SESSION_TEMPERATURE and CL_ABAP_STACK_TEMPERATURE for access to cold data
- check HANA parameters for cold data
- check sizing of data volume
- begin on high level with partitioning year > month > week because you can go to low level but not vice versa
- keep checking your data aging runs
Ok, after you have analyzed that the usage of data aging is technically possible and you generate a benefit for your HANA memory usage so that the sizing can be optimized. Is this the go to use it?
If you carefully read note 2416490 you know that the access of the historical data is only possible with a special sql syntax by using the defined ABAP classes CL_ABAP_SESSION_TEMPERATURE and CL_ABAP_STACK_TEMPERATURE. The standard SAP coding is already adjusted, but what about your custom code which may be also access (read+write) the affected tables? So if you activate aging object BC_CHDO and you have custom code which access tables like CDPOS or CDHDR you have to adjust it! This means if you don’t do anything with your custom code you only get results from the current data which may be wrong because you also want data from the historical partitions.
The next blog will cover the technical details of data aging.
1.1 Added Data Aging object tables and notes