Lessons learnt on Empty Initial Load
If the Source system that is connected to CFIN is a newly introduced SAP environment as a part of any new business or demographics requirement, then the CFIN settings & connectivity will have to be done along with the other configurations in source. Ideally in such a scenario we do not have to execute an actual initial load (as it does not have any Postings) but what is called as Empty initial load.
Empty Initial Load is run with the settings in VCFIN_SOURCE_SET for company codes as Future year in the document-Year field of the table and the execution will update the source system CFIN_MIG_LOG table for the company codes in scope so that it will start recording real time replication data in source staging tables. There are few pointers that I learnt during my implementation of such an in-flight landscape that was introduced and connected to CFIN.
Empty IL is not required to be run for all company codes.
The logic for source system to start recording is explained in my blog: Central Finance – All about the triggers for recording of FI real time replication | SAP Blogs. No why do I say it is not necessary to run Initial load for all company codes, as per the blog given above you might wonder if maintaining the VCFIN_SOURCE_SET with the initial load finished flag would suffice for recording of data – Well the answer is it will not work just by that for a source system that was never connected to a Central Finance system and the trick is there should be at least an RFC call made as a part of initial load from Central Finance to Source system for this to work. So, if you want to enable Real time replication from source you can run an empty initial load once for one company code and then use the VCFIN_SOURCE_SET to thereafter enable replication for any other company code, That’s right – Life is easy after the one-time RFC call executed from CFIN to source as a part of Empty initial load.
Importance of the Year field maintained in VCFIN_SOURCE_SET
I learnt during the implementation that the Year field have a key role to play even if there is no need to run an actual initial load in case of a new system which is going live with a set of company codes. The documentation that you would have seen about Empty IL says the years can be maintained like 2099 if it’s a new ERP and you are running Empty load. Well, what I saw in this case is any change that is happening to the documents posted in the current year or previous year (Entered as a part of cutover/legacy transfer) will not be recorded ( Please note it is only Change that does not work, new postings are recorded so only AC_DOC_CHG interface is impacted). For example you want to activate replication and as you are going live in Jan 2023 you will maintain the fiscal year in the table as 2023 – then any change to a document posted as a part of cutover like closing balance or Open item will not get recorded. So the trick is, you maintain the Year as given below depending on the year for cutover postings so that everything is recorded as a part of changes.