Introduction of Snapshots
Imagine the following business scenario: you develop and try out a new business model in a simple way (rapid prototyping) based on an Open ODS View. You want to generate a persistent DataStore Object (advanced) with the same fields, if there's a demand for this model.
Depending on the scenario, there are different ways to generate persistent data:
Load and Aggregate
Accumulate production quantities from different snapshots. If different ways of data aggregation are required, extract the data once and deploy it to several targets.
Snapshot
If you only need fast access to the current values of the open claims, address, and phone number of your business partners, the source values from previous periods are no longer needed. Generate a snapshot, that is, a new full extract from the Open ODS View into a DataStore Object (advanced) at a specific point in time. For storage quantities, you can expect to see the exact, consistent total quantity for each product and location from 8:00 a.m. of the current day.
Snapshot Support
From a list of snapshots with quantities for your storage locations, determine the differences between the two snapshots. You can use such data to determine periods of stability (without changes). You can update such data further to generate inflow and outflow values for an inventory scenario with noncumulative values (see lesson Defining Inventory Scenarios). The snapshot support function generates a change record even for locations that were closed.
Corporate Memory
You have no current reporting scenario, but you want to generate a history of detailed storage quantities and product values from regular data extracts at periodic intervals. When storing these values, you add the time of the extraction. From this data store, you can answer future questions regarding price and quantity trends, or average values over different periods of time.

The preceding figure shows the Load and Drop snapshot scenario.
A snapshot is a full extract at a certain point in time that is stored persistently. At regular or irregular intervals, load all values from one or more sources to a DataStore Object (advanced) . Use the extraction method full. Activate data.
Until the next snapshot, there might be, in comparison to the precedent snapshot, new data records, or data records might change, or might be deleted. During activation of this next snapshot, the deleted records won't be deleted from active table because the source doesn't deliver Delete-Records. Therefore, before loading the next snapshot, delete the entire content of the DataStore Object (advanced).

Assume that you want to retrieve the daily inflow and outflow from your storage snapshots. When Change Log is needed, for example, to load to a further target, but the source doesn't deliver delete or reverse records, you can use the Snapshot Support setting. In addition to Standard DataStore Object, select Write Change Log and Snapshot Support. The preceding figure shows an example.
The following situations can occur:
- The snapshot is loaded for the first time. All lines are entered in the target DataStore Object (advanced). During data activation, for each product, the quantity sum is stored in the Active Table. If the setting Write Change Log is active, these sums are entered in the Change Log table as new lines.
- A product is sorted out and it will no longer be stored in the source tables. In the example, no record for the outdated product HT-1080 exists any more. With the settings Write Change Log, Snapshot Support, the system generates a reverse record in the Change Log table (quantity: -280). Without the Snapshot Support option, this line would not be generated in the Change Log table.
- A product still exists, but with a different storage quantity. In the example, the sum for product HT-1081 changes from 110 to 70. The value is updated in the Active Data table. With the setting Write Change Log (with or without Snapshot Support), the system generates a reverse record and an after-image record in the Change Log table (quantity: -110, then +70).
- A product still exists with the same storage quantity. In the example, the sum for product HT-1082 remains at quantity 115. No change is necessary in the Active Data table. No entry for this product is added in the Change Log table.
- A new product is added which was not stored before. In the example, the product HT-1083 is new with quantity 50. In the Active Data table, and in the Change Log table, a new record is added (with value +50).
The Change Log table can be used in the following scenarios:
- Determine inflow and outflow values for an inventory management scenario (noncumulative key figures).
- Determine the number of changes for a specific product.
- Update delta values to a further target, where the quantity key figure is additive (cumulative key figure). To read only those values that are not yet included in the further target, choose the extraction mode Delta in the DTP.
If the snapshot support option is active, make sure that each data load contains the same filter values, or load a complete set of data. Turning on a filter leads to inappropriate reverse records.

The preceding figure shows a scenario for building a corporate memory. For this scenario, add the date or time stamp as an additional key field. In the example, choose Day and Product as a combined DataStore Object (advanced) key. Then, existing records are not changed when you load new values. Like in the other scenarios, by removing some fields, you can aggregate values from different records.
In this scenario, all records in the DataStore Object (advanced) have different keys. Then, we recommend one of the following two options:
Generating a History
If you want to specify a set of key characteristics with dependent values or implement a quality management step, implement the data activation. For an improved activation performance, choose only the modeling properties, Activate Data and Unique Data Records. A Change Log is not needed because it only repeats the values.
Corporate Memory
If you don't need a quality management step, you can change the settings of the DataStore Object (advanced) so that data is not activated. All records remain in one table, the Inbound Table.