The idea of the Material Ledger accelerators is to move the main Material Ledger tables to SAP HANA in order to accelerate reporting and the period end close and to aggregate huge amounts of data on the fly.
Material Ledger Accelerators powered by SAP HANA provide new possibilities for fast and efficient reporting. Therefore new Material Ledger database tables have been introduced. These so called FCML reporting tables contain the Material Ledger data that is relevant e.g. for the drilldown reporting in a format that can be read quickly. This article describes the new FCML tables and the new transaction FCML_FILL (report FCML_FILL_REPORTING_TABLES). Furthermore it refers to the settings made in transaction HDBC and provides some general recommendations.
General Information for Material Ledger on SAP HANA
In the context of Material Ledger, SAP HANA covers the following use cases:
- Period End Closing (the acceleration of some steps in the costing run)
- Material Price Analysis (the acceleration of the select statements needed in transaction CKM3)
- Drill-Down Reporting (common in other applications, such as CO-PA, but rarely used for the material ledger)
- Virtual InfoProviders (the ability to convert the material ledger structures into BW-like structures for easy querying and for reporting via SAP Analysis)
- Accelerated BW extraction
- Material Ledger Network Graphics (to show the quantity structure across several levels for one ore many materials in a graphical display)
It is worth understanding that there are actually two ways that organizations can move to SAP HANA:
- The one is to use SAP HANA as a secondary database (sometimes called a side car) in which the main Material Ledger tables are replicated to SAP HANA and then the reports and close processes are redirected to read from SAP HANA rather than from the database in the ERP system. This approach is often referred to as the accelerator approach and requires only very minor changes to the existing reports and close processes to allow them to read from SAP HANA rather than a conventional database.
- The alternative is to use SAP HANA as the primary database. This is the approach behind the SAP Business Suite powered by SAP HANA and the SAP Simple Finance Add-On to SAP Business Suite powered by SAP HANA, where the database is migrated to SAP HANA and all applications run on SAP HANA. This approach is a more radical shift but is allowing SAP to gradually remove index and total tables which are no longer needed if the database is fast enough and redesign the underlying data structures.
Even without using a SAP HANA database the Material Ledger Accelerators can be used.
The new FCML tables
SAP introduced new reporting tables in the context of SAP HANA.
- Table FCML_MAT:
Material related information stored by usage of unique ID “KALNR” (Cost EstimateNo). In addition information about activity types and business processes can be stored in FCML_MAT
Contains information from tables MARA, MBEW, CKMLHD, CKMLLAHD, …
- Table FCML_REP:
Periodic transactional information about logistic or price relevant changes of materials
Contains information from tables MLCD, CKMLPP, CKMLCR, CKMLMV002, CKMLMV003, …
- Table FCML_CCS_REP:
Periodic information for cost component split values
Contains information from tables CKMLKEPH, CKMLPRKEKO, CKMLPRKEPH, …
- Tables FCML_PROC and FCML_ALT
Information about (production) processes and (procurement) alternatives which usually have materials as output or input
Contain information from tables CKMLMV001, CKMLMV002, CKMLMV003, CKMLMV005, …
The tables FCML_MAT, FCML_REP and FCML_CCS_REP can be joined together via the unique ID “KALNR” (Cost EstimateNo).
These tables are filled with the current data using transaction FCML_FILL (report FCML_FILL_REPORTING_TABLES).
To replicate the data to the new FCML reporting tables, execute transaction FCML_FILL or report FCML_FILL_REORTING TABLES.
Selection screen of transaction FCML_FILL (report FCML_FILL_REORTING TABLES):
One should execute this program AFTER the Material Ledger period end closing activities are finished for a given period.
It is possible to restrict the data to be replicated either by selecting a specific material ledger costing run or by free selection.
When specifying a costing run, the execution of FCML_FILL and the relevant log information can be found in the schedule manager results of the costing run. If one selects a periodic costing run the system selects all materials of this costing run and all materials with price determination control equal 2 of the plants referring to this costing run. If one selects an alternative valuation run the system selects only the materials of this run.
It is also possible to use the “Free Selection” and specify individual period or ranges of periods or to restrict by company code or valuation area. For testing purposes, you might also want to restrict the selection to single materials.
It is recommended to always select complete valuation areas (plants) and in case of stock transfer scenarios to select all related valuation areas (plants).
“Create entries in the following database tables:” allows to specify the database tables to be replicated.
The tables FCML_MAT and FCML_REP are important for most applications so these tables should generally be selected. There is a separate checkbox “Activity Types in FCML_MAT” which allows you to control whether activity types should be included in your reporting tables later. An activity type gets an entry in table FCML_MAT, but with ‘Object type’ (OBART) = ‘Activity type’ (KL) or OBART = ‘Business process’ (BP). Similar to the materials, the periodic information related to these object types can be identified in tables FCML_REP and FCML_CCS_REP via the cost estimate number.
The next area on the selection screen “Database” allows you to specify which database connection should be used as a target of the replication. Usually this would be your SAP HANA database (option: “Write to HDB”). However, there are scenarios where you can benefit from the optimized data structures of the FCML reporting tables, even WITHOUT implementing SAP HANA. When you select the option “Write to ERP Database” the database connection specified via transaction HDBC will be used. It might happen that some table definitions are not available on the SAP HANA database, yet. In this case the table names will be shown in grey color in transaction FCML_FILL and cannot be selected. Then you will need to generate the tables on SAP HANA using transaction HDBC.
In the lower part of the screen you can make settings for “Processing Options”: The parameter “Del. entries first” is only relevant if you experienced issues during previous replication runs and if you want to delete existing previous entries according to the selection criteria. The parameter “Test Mode” does the calculations, but without doing database changes on the target tables. The most relevant setting in this area is the option to activate parallel processing for this program. Depending on the settings of the server group (maintained via transaction RZ12), the runtime of FCML_FILL can be reduced significantly. A package size of 100 is recommended. If a value > 100 is chosen memory and table overflow can occur.
When the parameters are maintained, the program can be started in online mode or as a background job. When the program is finished a result list will be shown with some statistic.
Special case “transaction-based” update for FCML reporting tables
Depending on the number of materials and the data volume, the runtime for data replication in transaction FCML_FILL can be too high for some scenarios. To reduce the runtime of FCML_FILL, a special option, the so called “transaction-based update” is available.
It has to be maintained in transaction HDBC (ERP Accelerators: Display Application Settings):
Selected Application: Material Ledger, tab “Online Update for ML Reporting”
One can choose between “Transaction-Based Update” and “Periodical Update -> FCML_FILL” as strategy for ML Reporting Tables:
With “Transaction-Based Update” or the so called “online update” it is possible to determine the values which need to be replicated to the tables FCML_REP and FCML_CCS_REP on the fly when the transaction happens. This means that these two tables are updated already when e.g. a goods movement for a material happens. With this option activated only a few calculations need to be done in FCML_FILL after period end closing activities, like updating the beginning inventory or ending inventory values or transferring the multi-level price differences for these two tables. The other tables FCML_ALT, FCML_MAT and FCML_PROC still have to be filled via FCML_FILL.
Please note WIP is NOT supported within transaction-based update (online update). If you need the WIP integration we recommend to execute transaction FCML_FILL to populate the WIP lines in tables FCML_REP and FCML_CCS_REP.
When using this option currently it is not possible to update the data directly on the SAP HANA database (option “Write to HDB” is greyed out), but the data is transferred in a first step to the primary database. If needed, you can then replicate the data (in this case as 1:1 replication) to SAP HANA using the SAP LT Replication Server.
Remark: When you start using the option “Transaction-Based Update” FCML_FILL does not create the entries which are usually created during logistic processes. So especially in the first period when you activated “Transaction-Based Update”, but also when running FCML_FILL for PREVIOUS periods, you might need to recreate these entries. To do so, mark the correction mode parameter “Corr. Mode (T.B.Upd)” in FCML_FILL:
This parameter is only visible when “Transaction-Based Update” is marked in HDBC.
If option “Periodical Update -> FCML_FILL” is active as update strategy for ML reporting tables then FCML_FILL has to be executed periodically.
Result of FCML_FILL
After having filled the new Material Ledger reporting tables with transaction FCML_FILL one can use
- ML drill-down reporting (transaction KKML0)
- ML Virtual Info Providers (the ability to convert the material ledger structures into BW-like structures for easy querying and for reporting via SAP Analysis)
- ML Network Graphics (to show the quantity structure across several levels for one ore many materials in a graphical display).
Benefit from using FCML reporting tables even without SAP HANA
The application "Drill Down Reporting" in HDBC allows you to configure selected drilldown reports to consume data from the new FCML reporting tables. In case you do not set the checkbox "All Reports" in HDBC, only the selected drilldown reports will read data from FCML reporting tables.
In addition you can specify that the data is consumed only from the FCML reporting tables on primary (ERP) database but not from the alternative secondary database. To do so, mark the checkbox "Use ERP Datase Tables". This setting will be used as default value in transaction FCML_FILL.
Good to know
What happens if FCML_FILL is executed multiple times in a period? In general the data is newly created and gets overwritten in case FCML_FILL is executed again. In certain cases (e.g. program corrections due to SAP notes) it is required to delete erroneous data first before executing FCML_FILL. This can be done with processing option "Del. entries first" or by executing report Z_ML_DELETE_FCML_REP out of SAP note 1924511. Report Z_ML_DELETE_FCML_REP has a shorter runtime.
FCML_FILL & SAP S/4 HANA 1610
In Release SAP S/4HANA 1610 the transaction FCML_FILL is not needed any more, because the data base views FCML_MAT_V and FCML_REP_V can replace the former database tables.
The advantage of using these views is, that no additional step is needed to populate the data into the reporting tables, so you can skip FCML_FILL.
The views FCML_MAT_V and FCML_REP_V can be implemented via the following SAP Note 2433831 - FCML_MAT and FCML_REP on S/4HANA 1610
In what kind of scenario would you like to use table/view FCML_MAT / FCML_MAT_V or FCML_REP / FCML_REP_V ?
1) ML Drilldown Reporting (transaction KKML0)
2) ML Network Graphics (transaction FCML_NWG)
3) other customer specific reports ?
In case option 1) is true, please also implement the following SAP note 2441212 ML Drilldown Reporting - use CDS views FCML_MAT_V, FCML_REP_V
In case option 2) is true, please also implement the following SAP note 2435567 ML Network Graphics - use CDS views FCML_MAT_V, FCML_REP_V, FCML_PROC_V
In case option 3) is true, please consider reading information directly from table MLDOC or MLDOC_EXTRACT.
Use new CDS-View FCML_CCS_REP_V without executing transaction FCML_FILL if you want to use data that is based on "old" table FCML_CCS_REP. See SAP note 2467741 for more information concerning this CDS-view.
Related SAP Notes/KBAs
SAP Note 2467741: CDS-View FCML_CCS_REP_V in SAP S/4HANA
SAP KBA 2189151: Why does the system not update all FCML_FILL tables in realtime?
SAP Note 2441313: FCML_FILL does not work for 'Selection via Costing Run'
SAP Note 2171924: FCML_FILL exclude Materials which are not relevant
SAP Note 2165696: IMG items and SAP Menu for Drilldown Reporting and for FCML table set up for Material Ledger Accelerators
SAP Note 2072183: FCML_FILL: Ending inventories or beginning inventories missing in correction mode
SAP Note 2064968: FCML_FILL: Package processing and parallel processing
SAP Note 2023339: FCML_FILL: Switch from periodic- to transaction based-update
SAP Note 1807147: Network Graphics in Material Ledger
SAP Note 1639462: ERP accelerators: enhancements in ML drilldown reporting
SAP Note 1620213: ERP Accelerators: Enhancement Application Settings