So we are implementing several rapid marts in our environment here, one of them being the GL rapid mart.
One of the key sections of this is the Financial Document workflow. There is a note included in this workflow about how the data is extracted.
The way they handle the Delta seems to be completely unrealistic. Extracting 2+ years of data from BKPF/BSEG on a regular basis would be incredibly time consuming.
My boss wants me to redesign or create a new workflow for the Delta using the Changed/Modified dates from BKPF which I’m comfortable doing, he seems to think all changes will be captured in those dates, but I’m worried because of this note in the workflow.
Does anyone have any experience with this and have any suggestions for me?
“Recording Changed Line Items
In the case of Financial Accounting line items that have been changed since the last data request in SAP R/3, there is no reliable time stamp that can document the time of the last change. For this reason, all line items that are changed in a way relevant for BW must be logged in the system. Changed line items, together with the document key and the time of the last change are recorded in table BWFI_AEDAT”
Other possible solutions
If “BWFI_AEDAT” is enabled on your system, you can use it to identify changed records.
Use the Change History table “CDHDR” for OBJECTCLAS = ‘BELEG’ to identify changed financial records.
a. Capturing of change history for financial documents must be enabled in your system configuration.
b. Remember, CDHDR captures changes only. It will not capture new documents. Use “BKPF.CPUDT” to identify new documents.
Changes for monetary amounts are handled by a reversing or adjusting document, with its own document number and creation date (BKPF.CPUDT). Thus, you could get a majority of changes with this solution:
On a daily basis:
a. Load new documents using BKPF.CPUDT
b. Load newly Cleared documents by checking BSEG.AUGCP (clearing entry date).
Note: since BSEG is a clustered table, this can be a costly update to run on the SAP server. You may want to do this one on a weekly basis.
c. Load changed documents with checks on BKPF.AEDAT (Date of the Last Document Change by Transaction) and BKPF.UPDDT (Date of the Last Document Update)
Then on a weekly or less frequent basis:
Use the current 3 year delta logic to catch any changes missed by the daily loads. You may also want to include BSEG.AUCGP (cleared documents)here.
Consider partitioning the Financial Document Fact table by fiscal year, just like the LEDGER_SUMMARY_FACT_HZ and LEDGER_SUMMARY_FACT_VR tables. This facilitates the “deletion” part of the Delta load (data flow DF_FinDocFactDeltaDelete_SAP). Instead of deleting the records for 3 fiscal years, which can take a long time, you simply drop and re-create partitions for those years, which is very quick.
See SAP Knowledge Base note 1514547 for more details on how to do this. If you cannot find the note, please contact SAP support as this is a recent note, and may not be generally available yet.
One final point: It is possible to create financial documents many years in the past. These are typically adjusting entries. If your company is creating documents with fiscal years before the time window covered in the standard delta load they will not show in the Rapid Mart. Consider loading these documents separately on a one-time basis.
We’ve got our sales, cost and GL rapid marts running nightly incremental loads, and for all 3 it takes just under 3 hours and we’re still optimizing. Hoping to get it closer to 2 hours.