Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
Vibha_Tiwary
Product and Topic Expert
Product and Topic Expert
3,823
This blog will provide some insights on How snapshot works? Why Snapshot was designed? How to handle snapshot data?
I received multiple questions from many customers about how the Snapshot in Cash Management works, what is it's benefit, what is it's purpose, etc. Hence the reason for this blogpost.
.
To enable snapshot: SPRO -> Financial Supply Chain Management -> Cash and Liquidity Management -> General Settings -> Define Basic Settings -> select 'Enable snapshot'. This works only for Full Scope.
.
How snapshot works:
One Exposure always persists a new version whenever there is change of cash flows which is triggered by source applications.For example, a vendor invoice is updated in FQM_FLOW table at the time of creation. Then, the invoice is changed and a new entry is saved to the table. When the payment run is performed a new entry with the according timestamp is generated. Finally with the last step the bank statement the information is updated once again.
.
How the date works in Cash Flow Analyzer app:Date: Entries are displayed based on this date. By default this is fqm_flow-transaction_date(Date Indicator: Value date). We can also change it to Date Indicator as Posting date then entries will be displayed based on this posting date.Snapshot Time: This takes the relevant information based on time validity. We can see the valid date in One Exposure table, fqm_flow-valid_from and fqm_flow-valid_to.


Figure 2: Date in CFA.PNG


Why Snapshot was designed:

It is designed for cash manager to justify his/her decision of yesterday(or a little bit more days ago) and find room for improvement. For example, if today the cash manager sees a significant shortage or surplus of cash, there might be 3 reasons:

(1) I made a mistake yesterday, that forget to prepare some huge need of cash, or

(2) yesterday some business department didn’t have right forecast. And in the case of (2), cash manager wants to dive deeper to see which entity(company code), which business(maybe HR? maybe AP? maybe ….) forget to have their forecast into the system, e.g. maybe a payment run wasn’t executed in time, or a remote system info wasn’t get in timely, or the data quality wasn’t good enough,… , or

(3) yesterday after I left my office, something happened, e.g. a customer paid huge amount of cash at 6pm, so our bank account will have huge surplus of cash.

How to handle snapshot data:

This is not the audit tool for the cash position history. It’s better to keep only short term snapshot history(like 1 day or 1 week) while deleting older than that. Keeping snapshot for too long period will take significant huge database space.

If you want to have one year history. This is unfortunately not the purpose this feature was designed as above. So what about this:

1. Short term: one possible way is they can export the cash position in the app "Cash Flow Analyzer" into excel at every month end or whatever time they like.

2. Long term: we consider to develop a new feature, it's more a picture-like snapshot. Then end users take it at the time they need it. This new way hopefully will need less storage space.

 

Helpful tips for the Snapshot enabled systems.

Please check the Generic Hints for ‘Enable Snapshot’ in Cash Management blog post by hongjun.qian. It contains helpful tips for the snapshot enabled systems..

More details:

  • The parameter 'Time Stamp': exactly what range of time it will take. Before or After the given timestamp?


Ans: When you choose 'Snapshot Cleanup', this is how the Time Stamp is calculated.

Time Stamp = Time Stamp+ '0.9999999', then data is deleted from table FQM_FLOW where               fqm_flow-valid_to date is less than or equal to Time Stamp date.

  • What is 'Deletion time scope'? What and how data is considered here?


Ans: When you choose 'Delete Redundant Snapshot Flow', the time stamp also considers the              'Deletion time scope'.

So if we give the date in timestamp as 08.03.2022 and Deletion time scope as 5 days, it will                check for all the redundant data from 03.03.2021 to 08.03.2021 (5 days).

  • How it determines which are redundant data?


Ans: Currently the snapshot flows are generated when flow are rebuilt. For instance, one flow            generated three times and generated two snapshot flows. If the those two snapshot flows are            the same business value, we call those two snapshot flows are redundant snapshot flows.                  Using this deletion type can identify those flows and perform the deletion.

This deletion type will compare the data and perform the deletion. It is a time-cost activity and            it shall be executed in background mode(from the link).

  • As the snapshot is created whenever the flows are rebuilt, and this creates a lot of data. So you can use the FQM_DELETE -> 'Snapshot Cleanup', every day to delete the snapshot data or schedule a background job for 'Delete Redundant Snapshot Flow' as per your business need. If you will keep the snapshot flows for long time, more data will be generated in fqm_flow.


See KBA 3288033 - Snapshot - how it works?

Disable snapshot: After switching on snapshot and system has snapshot data created, you want to switch off the snapshot, which is possible, but you need to follow the instruction to cleanup snapshot data from all systems.

.

Hope this blog will help you in using Snapshot as per your need provide you some insight about the Snapshot functionality and how to handle it in Cash Management. Please feel free to comment your suggestions, feedback or questions and follow mit07tiwary for future posts.