With the new magnitude of overall simplification of the actual costing process in SAP S/4HANA 1610, organizations can achieve significant reductions in run time. Now the material ledger close is significantly faster. Four separate process steps (single-level settlement, multi-level settlement, revaluation of consumption, and work in process [WIP] revaluation) are merged into one step (i.e., settlement). The changes made in the material ledger include various old actual costing tables being integrated into two new tables, MLDOC and MLDOCCCS. However, this was not only a technical change. The material ledger data store and processing logic also were fundamentally simplified. Because of these changes in the material ledger, there is in general no backward compatibility, and that is why no compatibility views exist on the table level.
I describe the changes made to SAP S/4HANA 1610 by answering questions that arose in the wake of the release of this version of SAP S/4HANA and explaining their impact on various business processes.
What Are the Supported Valuations with SAP S/4HANA 1610?
SAP S/4HANA supports all ERP valuation methods, and there is no change from a business functionality point of view. SAP S/4HANA 1610 supports the following valuations:
- Standard Price
- Moving Average Price
- Actual Costing Optional
- Last in, first out (LIFO)/first in, first out (FIFO) valuation
- Transfer Pricing to enable Legal/Group and profit center valuation
Why Is the Material Ledger Mandatory in SAP S/4HANA Enterprise Management 1511 and Higher?
Before SAP S/4HANA, the inventory valuation tables xBEW(H) (tables EBEW, EBEWH, MBEW, MBEWH, OBEW, OBEWH, QBEW, and QBEWH) contained transactional and master data attributes. With SAP S/4HANA, these tables still exist. However, these tables are used to store only material master data attributes. The transactional fields LBKUM, SALK3, and VKSAL are retrieved from the ACDOCA line items table with on-the-fly aggregation. The transactional field SALKV also is retrieved from the material ledger table.
Hence, those fields are not updated anymore in the original xBEW(H) tables. As a consequence, the material ledger has to be activated mandatorily. During a conversion to SAP S/4HANA 1610 or higher, the configuration conversion step activates the material ledger automatically for all users doing the conversion even though the users have not activated the material ledger in their source systems. If the user is doing a new implementation, the material ledger activation has to be done manually and the xBEW(H) tables need to be updated less often, leading to a higher throughput as a result of fewer database locks (refer to SAP Note 2337368).
What Are the Technical Changes to SAP S/4HANA 1610?
SAP has made significant architectural simplification in SAP S/4HANA 1610, including material ledger actual costing. The changes made in the material ledger include the following:
- Various actual costing tables have been integrated into two new tables, MLDOC and MLDOCCCS.
- The content of most of the former material ledger database tables is now stored in table ACDOCA, which allows simpler, faster (SAP HANA optimized) access to the data. The attributes of the material ledger data model that are relevant for the inventory subledger functionality are now part of table ACDOCA. The former tables are obsolete.
- Contents of tables MLIT, MLPP, MLPPF, MLCR, MLCRF, MLCD, CKMI1, and BSIM are stored in ACDOCA. MLHD data is stored in BKPF.
- The new material ledger document tables MLDOC and MLDOCCCS replace most former periodic tables (MLHD, MLIT, MLPP, MLPPF, MLCR, MLCRF, MLKEPH, CKMLPP, CKMLCR, MLCD, CKMLMV003, CKMLMV004, CKMLPPWIP, and CKMLKEPH). For more information refer to SAP Note 2352383.
Table 1 provides a snapshot of the replaced tables and their purposes.
Tables replaced in SAP S/4HANA 1610
(For more information on the tables replaced in SAP S/4HANA, refer to SAP Notes 2352383 and 2354768.)
What Are the Functional Changes with Material Ledger Actual Costing in SAP S/4HANA 1610?
In SAP S4/HANA 1610 the material ledger data store and processing logic were fundamentally simplified. Functional changes to SAP S/4HANA 1610 include:
- The material ledger close is significantly faster. The four separate process steps that I mentioned at the beginning of this article are merged into one step, settlement.
- With the new material ledger, there is no longer the distinction between single- and multi-level variances.
- Price changes during the period are now possible without using a late-price change.
- Completely new period status logic.
These changes in the material ledger mean that in general there is no backward compatibility, and that is why no compatibility views exist for material ledger tables.
The actual costing closing cockpit was significantly simplified in SAP S/4HANA 1610. Figures 1 and 2 compare the actual closing cockpit before and after SAP S/4HANA 1610.
The actual costing closing cockpit before SAP S/4HANA 1610
The actual costing closing cockpit with SAP S/4HANA 1610
What Is the Impact of SAP S/4HANA on Reporting?
The Material Price Analysis transaction (transaction codes CKM3 and CKM3N) was refactored and now provides a simplified, improved view of materials in plants with active actual costing. This view replaces the former CKM3 view Price Determination Structure. The enhanced Material Price Analysis transaction functionality in SAP S/4HANA includes these changes:
- No more single-level or multi-level variances are shown in different columns in CKM3; rather, these variances are displayed in the same column and these variances can still be identified whether the variance is single level or multilevel. Since single- and multi-level variances were stored in different fields, they were shown in different columns in CKM3.You have only one column for both single- and multi-level variances. However, the information is still there and shown in CKM3. There is no longer a separate view for cost components, but instead, the cost components are integrated in the main screen.
- The posting logic to FI has not changed. It still distinguishes multi-level rollup (transaction key PRV) versus single-level postings (transaction key PRY).
- Multi-level variances: In table MLDOC you can find the multi-level price variances in the records with POSART = MC for materials and AC for activities.
- Single-level variances: POSART = MI are the variances that are rolled up on the consumption side to the next level. For a multi-level rollup, there always exists a pair of MI/MC records. MC is for materials, and MI is for the variances that are rolled up on the consumption side to the next level
- Plan/Actual Comparison is removed in the new CKM3 transaction code
- Technically, data is retrieved from tables MLDOC, MLDOCCCS, MLDOC_EXTRACT, and MLDOCCCS_EXTRACT
This new CKM3/CKM3N functionality is explained with a few examples.
Execute transaction code CKM3. In the screen that appears input data in the Material, Plant, and Period/Year fields as shown in Figure 3. In the View field select PS Price Determination Structure from the drop-down list of options. The section highlighted in the red square in Figure 3 then appears. In the Production section under Consumption in Figure 3, the data is for raw material issued for semifinished goods (SFG) production.
Raw material valuation issued SFG production
(Note: In Figure 3, COGM stands for cost of goods manufactured.)
Now execute transaction code CKM3 again. In the screen that appears input data in the Material, Plant, and Period/Year fields as shown in Figure 4. In the View field select PS Price Determination Structure from the drop-down list of options. The section under Production highlighted in the red rectangle in Figure 4 then appears. The data in the rows in this section is for raw material issued for finished goods (FG) production.
Raw material valuation issued to FG production
Execute transaction code CKM3 again. In the screen that appears input data in the Material, Plant, and Period/Year fields as shown in Figure 5. In the View field select PS Price Determination Structure from the drop-down list of options. The rows highlighted in red in Figure 5 then appear. The data in the second row under Production in the Receipts section (the row in which ATY 1305/1420 appears) is for the own price difference on production. The data in the second and third rows under Production in the Consumption section are for the price difference passed on to consumption — material issued for production.
Semifinished material valuation issued to FG
Now execute transaction code CKM3 again. In the screen that appears input data in the Material, Plant, and Period/Year fields as shown in Figure 6. In the View field select PS Price Determination Structure from the drop-down list of options. Then after you expand the Receipts folder, the first marked red box in this folder displays the price difference on production allocated from lower level materials, the second red box with ATY 1305/1420 shows production variances of its own. When you open the Ending Inventory folder, the marked red rows in this folder show price differences allocated to ending inventory at the time of periodic closing using transaction code CKMLCP, which you can see in the Settlement row.
Finished material valuation
You can see single-level price difference and multi-level price differences in the same column.
Now I compare the processes you complete after executing transaction code CKM3 in SAP S/4HANA 1610 versus the processes used after executing transaction code CKM3 in the SAP ERP Central Component (ECC) system. Figure 7 shows view after executing transaction code CKM3 by providing Material /plant and period.
Results after executing Material Price Analysis (transaction code CKM3) in SAP S/4HANA1610
In Figure 7, multi-level (marked in the first red box) and single-level (marked in the second red box) variances are shown under the same column, and these variances are allocated to ending inventory at period end close, which is shown under settlement. However, prior to SAP S/4HANA 1610 these differences could be seen in different columns as shown in Figure 8.
Results after executing the Material Price Analysis transaction (CKM3) prior to SAP S/4HANA1610
The cost component is added by default with SAP S/4HANA 1610 in the Material Price Analysis transaction (CKM3) and there is no further option given in the view to select the cost component.
The Plan/Actual comparison is removed from SAP S/4HANA 1610, but it was available in prior releases (Figure 8).
With SAP S/4HANA 1610, after you execute the Material Price Analysis transaction (CKM3), the system provides you with four views (Figure 9), whereas after you execute Material Price Analysis in the ECC system, you find 12 views available as shown in Figure 10.
Material Price Analysis transaction (CKM3) options available with selection value from SAP S/4HANA 1610
Material Price Analysis transaction (CKM3) options available with selection value prior to SAP S/4HANA 1610
Additonal options were added to the new Material Price Analysis transaction in SAP S/4HANA 1610. For example, you can see the closing document, closing history, source document, and WIP reduction. These options were not available with Material Price Analysis in ECC.
The functionality for the Valuated Quantity Structure transaction (transaction code CKMLQS) has been designed to display the multi-level valuated quantity structure for individual material. The aim of the multi-level valuated quantity structure is to provide an overview of the actual quantity structure of the multi-level processes, valuated with the actual prices from the actual costing.
Now execute transaction code CKMLQS and enter data in the Material, Plant, and Period/Year fields. After you execute the transaction, the system displays the screen in Figure 11.
Multi-level valuated quantity structure
Implement SAP Note 2378468 for report CKMLQS. I recommend that you also apply SAP Note 2495950 to enable that the Valuated Quantity Structure transaction can be called directly via a button from transaction codes CKM3 and CKM3OLD if this is not available in your SAP S/4HANA 1610 version.
Figure 12 shows a comparison of period status updated in the Material Price Analysis transaction before SAP S/4HANA 1610 and with SAP S/4HANA 1610. To verify the period status, execute transaction code CKM3 and populate the Material, Plant, and Period/Year fields. Then click the Information on Period Status icon under period status. You can then observe that the period statuses are different in SAP S/4HANA 1610 versus lower releases.
Period status can be verified as explained above from transaction code CKM3 or from table MLRUNLIST.
Now it is possible in the standard system behavior to change the standard price even if the goods movement has been posted. However, you cannot change the price if the material status is closing entries completed.
Now it is no longer required to use a late price change (LTPC) with SAP S/4HANA 1610.
You might use the Allow Open Status for Previous Period check box from the parameters on the Preparation step after executing transaction code CKMLCP. Use this new check box only in exceptional cases. In general SAP does not recommend selecting this check box (Figure 13). If you press the F1 key on your keyboard, SAP Help documentation explains in which scenarios this option should be checked. If you select this check box, materials or activities are processed in the Cockpit Actual Costing transaction (transaction code CKMLCP) even though their period statuses in the previous period are not closing entries completed.
The Allow Open Status for Previous Period check box
Normally, the status check of a previous period should be used in following scenarios:
- In a test environment to allow testing of the material ledger period close in the Cockpit Actual Costing transaction (transaction code CKMLCP) for a recent period although the Cockpit Actual Costing transaction has not been executed for previous periods.
- In a productive environment for the very first material ledger period close after the material ledger has been set to productive.
- In a productive environment, if the Cockpit Actual Costing transaction for the previous period was processed incompletely owing to errors and it is no longer possible to complete post closing for the open materials or activities (for example, because results have already been reported).
For details refer to KBA 2515611 - S/4HANA 1610 CKMLCP: errors ML4HMASTER 106 or ML4HMASTER 107, or Close previous period first.
What Tables Have Been Updated in SAP S/4HANA 1610?
The material ledger data includes the following categories:
AB = Beginning Inventory
PC = Price Change
ZU = Receipts
VP = Other Receipts/Consumption
VN = Consumption
EB = Ending Inventory
NV = Not Distributed
KB = Cumulitive Inventory
NC = Not Allocated
The difficult thing is that on the database level in table MLDOC the quantities and values for beginning inventory and ending inventory are not persisted any more for each period. Instead, they need to be calculated dynamically by aggregating all quantity and value changes from previous periods. It is best to calculate this information based on table MLDOC_EXTRACT.
Table MLDOC_EXTRACT holds information about quantity and valuation changes. Transaction-based updates, such as goods movements or invoice receipts, usually update tables MLDOC and MLDOC_EXTRACT in parallel. However, table MLDOC_EXTRACT can be compressed. After compression, the table contains only one entry per cost estimate number, period, and currency type valuation view. Table MLDOC_EXTRACT allows fast and efficient calculation of the total quantity and total value by cumulating all records for specific cost estimate numbers.
During period shift (transaction code MMPV) the tables MLDOC_EXTRACT are compressed automatically for periods older than the previous period. Manual compression via program FCML4H_RMLDOC_EXTRACT_COMPRESS is possible and recommended by SAP in case of very high number of material movements. For further details refer to SAP Note 2354768.
Execute transaction code SE16N and pass the cost estimate number for the material as shown in Figure 6. You then see the individual line item records in the screen in Figure 14.
Execute transaction code SE16N and pass the cost estimate number for the material as shown in Figure 14. You then see the screen in Figure 15 in which you can see the compressed records per period or currency with quantity and values as ending inventory.
Update of table MLDOC for the material shown in Figure 6
Update of MLDOC_EXTRACT table for the material shown in Figure 14
If you need the quantities and values for beginning inventory and ending inventory for each period, then use reporting table FCML_REP_V. If you do not need the quantities and values for beginning inventory and ending inventory for each period, it will be better to read data directly from table MLDOC. Reading directly from table MLDOC also has advantages if you want to be able to look into details of single goods movement documents, because FCML_REP_V has data only on a level, summarized by category, item type, and production process number, as shown in Figure 16. In Figure 16 note that the marked EB category represents ending inventory, AB represents beginning inventory, ZU represents receipts, and VN represents consumption.
Update of view FCML_REP_V for the material shown in Figure 14
The Core Data Services (CDS) view provides a unified data model across all application domains FCML_REP_V has been optimized. Now it shows Beginning Inventory (Category AB) and Ending Inventory (Category EB) also when no costing run has been created for the period, and when no goods movements have been posted in the period. To get the optimized version, implement SAP Note 2456976 CDS-View FCML_REP_V Beginning Inventory for periods w/o MLRUNLIST.
In case you cannot get the required information directly out of tables MLDOCCCS_EXTRACT and MLDOCCCS, a new CDS view FCML_CCS_REP_V can be implemented via SAP Note 2467741.
With this model, material inventory documents (journal entries) are inserted into table ACDOCA. Actual inventory quantity and value data are no longer persisted in the material ledger tables and inventory valuation tables in the key figure model (for example, tables CKMLPP, CKMLCR, MBEW, and MBEWH). All actual inventory quantity and value data are calculated on the fly from the material inventory entries in table ACDOCA.
To increase performance a second table, ACDOCA_M_EXTRACT, has been introduced, from which the actual inventory quantity and value data are calculated instead of from table ACDOCA.
ACDOCA_M_EXTRACT has a small subset of fields from ACDOCA, and each inventory valuation relevant record inserted into ACDOCA during the material inventory document posting is also inserted into ACDOCA_M_EXTRACT.
Records in ACDOCA_M_EXTRACT are periodically condensed. That means that the single material inventory documents are aggregated to new condensed records per material and per period. The new condensed records are inserted into ACDOCA_M_EXTRACT, and the contributing records of the single material inventory documents are deleted from ACDOCA_M_EXTRACT. These condensed records result in a periodic reduction in the number of records in ACDOCA_M_EXTRACT compared with ACDOCA.
Because of the reduced number of records in ACDOCA_M_EXTRACT, requests for actual inventory quantity and value data perform better after this process. This process is called precompacting for table ACDOCA_M_EXTRACT and is executed by default as part of period-end closing.
Execute transaction code SE16N and then pass on the cost estimate number to view the table in the output screen shown in Figure 17.
Table ACDOCA_M_EXTRACT update
Precompacting for table ACDOCA_M_EXTRACT is executed by default as part of period-end closing transaction MMPV After you execute transaction code MMPV an entry with GLFY 9999 and period 999 is updated. This represents the closing stock of the material ledger completed period as shown in second marked box in Figure 17
Where period is updated as 009.2016 / 010/2016 those shows periodwise stock as well as values as shown in first marked red box in Figure 17.
For calculating current closing stock the last closing entry (i.e., period 999 FY 9999 + all the entries that have document numbers updated) should be considered.
For more information refer to SAP Note 2342347.
Execute transaction code SE16N. This action opens the screen in Figure 18. In the Search for Table field enter a table name (e.g., MLRUNLIST) and populate the fields under the Material and Plant columns for the relevant item. (For my example, the item is enclosed in the red rectangle. Enter COGM-F-01 for the material and COG4 for the plant.) Press the Enter key on your keyboard to save your data. In this example, the highlighted item in Figure 18 shows that actual costing closing is completed for this material for the period 09/2016 in valuation area COG4.
Table MLRUNLIST update (also refer to Figure 6)
The closing entry is completed for the COGM-F-01 in plant COG4 for period 9/2016.
What Functionality Has Changed in SAP S/4HANA 1610 to Complete an Alternative Valuation Run (AVR)?
In the Cockpit Actual Costing (transaction code CKMLCP) and AVR Cockpit (transaction code CKMLCPAVR) transactions, there is an additional parameter named Application (Figure 19). This means that the application can be chosen so that it is possible to process alternative valuation runs via transaction code CKMLCP and actual costing runs via transaction code CKMLCPAVR.
There is a new icon next to the display<->change icon to switch the application from Costing Run to Run Reference and back in the toolbar of the Cockpit Actual Costing and Alternative Valuation Run Cockpit transactions, as shown in Figure 19.
AVR options (CKMLCP or CKMLCPAVR)
When the application is switched to Run Reference, a run reference can be created, changed, or displayed. A run reference is a reference that contains all settings of an AVR. It can be used when creating an AVR, but it is only mandatory for creating AVRs for parallel COGM. It can also be created for a single period run, for a year-to-date run, or for a rolling run.
There are two options for creating an AVR: Create a classic AVR, which is the same as before SAP S/4HANA 1610, or create an AVR with a run reference, which means the settings are taken from the run reference and can’t be changed. Only the plants must be chosen.
In SAP S4/HANA 1610 all AVRs use periodic posting logic as is explained in SAP Note 633010. The classic delta posting logic is no longer available.
A restriction in SAP S/4HANA 1610 is that currently there can’t be a periodic run and a posting AVR with same end period—except for the specific parallel COGM scenarios. For example, that means if users are running CKMLCP every period end, then AVR cannot be run. For example, if the user is running CKMLCP every period end 1 to 12, which is the normal actual costing process, then if another user wants to run AVR for the period 1 to 6 and 7 to 12 as a cumulation run, it would not work. For more details on this process, refer to SAP Note 2354768.
What Is the Impact on an Organization That Converts to SAP S/4HANA 1610?
There is a significant impact on the users in an organization that is currently using material ledger actual costing and is migrating to SAP S/4HANA 1610. Therefore, it is very important to understand the overall functional and technical changes SAP made in the SAP S/4HANA 1610 release. I explain how an organization should analyze the actual costing post migration to SAP S/4HANA 1610.
Material Ledger Type Conversion
In SAP S/4HANA 1610 you no longer can use a material ledger type that references currency settings defined in FI or Controlling (CO). (The old check boxes that you no longer can use are Currency Types from FI and Currency Types from CO.) Instead, you have to explicitly define the currency and valuation types that are relevant for the material ledger. Refer to SAP Note 2291076.
(Note: During material ledger configuration, the conversion step for the existing material ledger type 0000 is automatically converted to a new material ledger type and assigned to all the plants. Therefore, there is no need to create a material ledger type manually during conversion.)
To define a material ledger type, execute transaction code FML_MIG_CUST and follow menu path SPRO > Conversion of Accounting to SAP S/4HANA > Preparations and Migration of Customizing > Preparations and Migration of Customizing for Material Ledger > Migrate Material Ledger Customizing. This path takes you to the screen in Figure 20.
The Migrate Material Ledger Customizing screen
After you execute the program in update mode by clicking the execute icon in Figure 20, check the following transactions:
- Define Material Ledger Type (transaction code OMX2)
- Material Ledger Assignment of Valuation Area (transaction code OMX3)
- Material Ledger Activation in n Valuation Areas (transaction code OMX1)
After you execute the migration step as explained in the instructions before Figure 16, first check the settings after you execute transaction code OMX2. This action opens the screen in Figure 21. Check whether the new material ledger type besides 0000 exists. Check whether manual currency type option is selected with ML types other than 0000 as explained in Figure 17.
Define a material ledger type
If this is a new implementation, then you need to create ML types other than 0000 and select the indicators under the Manual column for the currency settings as shown in Figure 17.
Now select the value in the field under the ML Type column (e.g., 9300) in Figure 21 and click the Define individual characteristics folder. You see the screen shown in Figure 22.
Define individual characterstics in the ML type
Verify whether all the required currency types are included in Figure 22. Note during conversion, currency types are taken over from the source SAP system, and if the material ledger is not active in the source system, then the default currency type 10 is added.
For my example, two currrency types are entered in Figure 22, but you can add up to three currency types.
After the ML Type is set up as explained in the instructions before Figures 21 and 22, then execute transaction code OMX3 to assign material ledger types to valuation areas as shown in Figure 23.
Assign a material ledger type to a valuation area
In Figure 23 check that all the plants that are assigned to a material ledger type have a green status box. Now execute transaction code OMX1. This action opens the screen in Figure 24.
Activate the material ledger with relevant price determination
In this step, you activate the material ledger for one or more valuation areas. If the material ledger is active for a valuation area, all materials in that valuation area are valued using the material ledger.
To activate the material ledger:
- Set the Material ledger active indicator for the valuation areas for which you want to activate the material ledger.
- With price control V in activity-based material price determination (indicator 2 in the material master), the moving average price is calculated. If the price control indicator is S, the material is valuated at the standard price. The moving average price is calculated for information purposes.
- In single- or multi-level material price determination (indicator 3 in the material master), the valuation price (standard price) remains unchanged and a periodic unit price is calculated for the material valuation of the closed period. This option is only possible for materials with price control indicator S.
(Note: If you activate the material ledger for a valuation area (Plant), you should also activate it for all other plants in the company code. This step ensures that the accounts in FI are reconciled with the accounts in MM.)
Check whether actual costing is active in the source system by following customizing menu path SPRO > Controlling > Product Cost Controlling > Actual Costing/Material Ledger > Actual Costing > Activate Actual Costing. This path takes you to the screen in Figure 25.
Activate actual costing
(Note: In the old system [i.e., before SAP S/4HANA 1610] you can check whether actual costing has been activated by viewing table T001W-MGVUPD = X.)
In this step you activate actual costing for materials and the update of activity consumption in the quantity structure. The activation is separate for each plant.
You need to select a setting for updating the consumption of activities and processes in the actual quantity structure. Three different settings are available:
- 0 = Update is not active
- 1 = Update is active but not relevant to price determination. Consumption is updated in the quantity structure but not taken into account upon price determination.
- 2 = Update is active and relevant to price determination. Variances between the activity prices/process prices posted during the period and the actual price at the end of the period are adjusted subsequently.
To include this price in actual costing, choose option 2 Activity update relevant to price determination in the column Activity Consumption Update in the Quantity Structure. Click the save icon to save your changes.
What Steps Do I Need to Complete for Data Migration to SAP S/4HANA 1610?
To migrate data to SAP S/4HANA 1610, follow menu path SPRO > Conversion of Accounting to SAP S/4HANA > Data Migration > Start and Monitor Data Migration. This path takes you to screen in Figure 26 wherein the rows in the red box show migrated material ledger data and the rows in the green box show migrated purchase order and production order history.
The data migration cockpit
I now describe the migration steps shown in Figure 26.
M10: Migrate Material Ledger Master Data
This activity ensures that the material ledger is activated for all valuation areas because it is mandatory in SAP S/4HANA. The activity creates material ledger master data (tables: CKMLHD, CKMLPR, CKMLPP and CKMLCR) in all material ledger currencies for periods more recent than the last period of the previous year.
Data in MLDOC is created from the last period of the previous year to the current period for all valuation areas where actual costing is activated. Cost component split data is created in table MLDOCCS based on MLDOC entries.
In addition, all existing inventory aggregate values (tables MBEW, EBEW, QBEW, OBEW) and their complete historic data (tables MBEWH EBEWH, QBEWH, OBEWH) are migrated into the new universal journal entry table ACDOCA and ACDOCA_M_EXTRACT. Period records more recent than the last period of the previous year are converted into material ledger currencies using the standard exchange rate type. If you are already using the material ledger, existing material ledger records (tables CKMLPP and CKMLCR) are transferred into ACDOCA and ACDOCA_M_EXTRACT with all existing currency information.
This migration activity does not activate actual costing because actual costing is still optional in SAP S/4HANA. However, if you are already using actual costing in the migration source system, ML data for actual costing is transferred to new ML data structures.
M20: Check Material Ledger Master Data
After you perform the material ledger master data migration activity, this activity checks and verifies the migrated data. For instance, existing values from the inventory and material ledger tables are compared with aggregation via table ACDOCA.
M11: Migrate Material Ledger Order History
If the material ledger was not active in any valuation area before SAP S/4HANA conversion, this actvity ensures that all existing purchase order history table records (tables EKBE, EKBEH, EKBZ, EKBZH) and production order history table records (tables MLAUFCR and MLAUFCRH) are converted into the material ledger currencies.
M21: Check ML Production Order and Purchase Order History
This activity verifies whether all production and purchase order history records have been converted into the material ledger currencies.
For further detail refer to SAP Note 2352383.
(Note: All the material ledger customizing and data migration steps are mandatory to execute even if companies have not activated the material ledger or actual costing in the source system and are migrating to SAP S/4HANA 1610.
To convert from SAP S/4HANA 1511 to SAP S/4HANA 1610, you need to execute the FCML4H_STARTUP program to update new SAP S/4HANA 1610 material ledger tables as table ACDOCA would have already been updated with SAP S/4HANA 1511 data conversion steps.)
What Tips Should I Learn About Reading Old and New Actual Costing Data in SAP S/4HANA 1610?
When material ledger data is converted owing to the simplified material ledger data model in SAP S4/HANA 1610, this conversion is not based on single material documents or price change documents. There is one entry per period, per currency type and valuation view, per category (e.g., receipts), per process category (e.g., production), and per production process.
Reading Old Data (Before Conversion)
Here are some tips for reading old data before converting to SAP S/4HANA 1610:
- You may use your old reports that point to the old tables and read old data before conversion. Compatibility views are not necessary.
- You may also use adapted custom programs that point to the new tables, but keep in mind the conversion logic.
- Keep in mind that all material-related goods movements or price changes from previous years are converted to the MLDOC tables as if the goods movement or the price change had taken place in the last period of the previous year (summarization).
- Remember that data of the current year is converted not based on single material documents or price change documents, but is summarized as follows: one entry per period, per currency type and valuation view, per category (e.g., receipts), per process category (e.g., production), and per production process.
- Data older than the last period of the previous year (related to the time of system conversion) cannot be displayed by executing transaction code CKM3 because the old data has not been converted to the MLDOC tables. To show data older than the last period of the previous year, you can use transaction codes CKM3OLD (Material Price Analysis) or CKM3PHOLD (Material Price History). Figure 27 shows the differences in the screens in the SAP system after executing transaction codes CKM3 and CKM3OLD.
- CKM3OLD does not show postings created after system conversion.
Differences in screens after executing transaction codes CKM3 and CKM3OLD
Reading New Data (After Conversion) in a Custom-Developed Query
New data posted after conversion to SAP S/4HANA 1610 is stored in the new tables. You have to adapt your custom programs and queries to read the new tables.
Recommendations for Organizations Doing a System Conversion
If your organization is planning a conversion to SAP S/4HANA 1610, here are some recommendations to consider:
- Before system conversion is started, all material ledger costing runs—whether it is an actual costing (transaction code CKMLCP) or an alternative valuation run (transaction code CKMLCPAVR)—need to be finished (e.g., the step post closing has been successfully executed with no errors and no materials with a status of open). Reason: After system conversion to SAP S/4HANA 1610 or later, it is not possible to do any changes on costing runs created before the system conversion.
- You cannot change material ledger costing runs or run steps of material ledger costing runs during the process of system conversion.
- You cannot activate or deactivate material ledger actual costing during the process of system conversion for one or more plants.
- Material ledger custom codes should be reviewed and reworked as there is no compatibility view. Therefore, material ledger custom reports also do not work because they are based on the old material ledger data structure.
A Review Quiz
The following statements are either true or false:
1. In the SAP S/4HANA 1511 on-premise version, there was no issue regarding a material ledger with 200 custom programs.
2. Normally, SAP provides compatibility views to continue to use custom programs, but table MLxx does not have views in the SAP S/4HANA 1610 version.
3. If users have created SAP query reports by using standard query functions or ABAP reports, with SAP S/4HANA 1610, SAP query reports have to be changed referring to the new material ledger table.
4. Transaction code FCML_FILL is required in SAP S/4HANA 1610.
5. There are not any database views (CDS) available as per the new material ledger database design in SAP S/4HANA 1610.
6. There is a material ledger help desk available that supports the new design.
7. There are not any important SAP Notes to which you should refer while implementing or migrating to SAP S/4HANA 1610 with actual costing.
8. The late price change process (LTPC) is required with SAP S/4HANA 1610.
1. True. The changes in the material ledger with actual costing were introduced with SAP S/4HANA 1610. You can find information on this change in the Simplification List (PDF document) and various release notes.
2. True. The changes in the material ledger with actual costing are so massive that it does not make sense or is impossible to provide compatibility views. Depending on the information you want to read, you need to adapt your customer-specific reports to read the new tables.
3. True. The queries have to be adapted if you want to read new data. Provide the queries so that you can be guided to the correct new tables.
4. False. In SAP S/4HANA 1610 transaction code FCML_FILL is not needed anymore because the data base views FCML_MAT_V and FCML_REP_V can replace the former database tables.
5. False. Via SAP Note 2433831/ 2467741 you can implement new database views (CDS) FCML_MAT_V, FCML_REP_V, FCML_PROC_V, FCML_CCS_REP_V. These views can be consumed in the same way as database tables and already contain much of the information you require.
6. True. The Material Ledger Consistency check report is available to suppport SAP S/4HANA 1610 and can be used to find the inconsistency in material ledger tables. However, these reports can be run only in test mode, and the correction can be done only by a responsible SAP development team. For the same reason you need to open an SAP Note message to fix the material ledger inconsistency. This new report can be implemented using SAP Note 2433733 along with the prerequisite notes mentioned in SAP Note 2433733. The transaction code for this report is FCMLHELP.
7. False. The following SAP Notes must be referred to if your organization is moving to SAP S/4HANA 1610:
- 2332591 - Technical Changes in Material Ledger
- 2416935 - Material Ledger with Actual Costing in S/4HANA 1610: Important Notes
- 2354768 - Technical Changes in Material Ledger with Actual Costing
- 2352383 - Conversion to S/4HANA Material Ledger and Actual Costing
- 2416935 - Material Ledger with Actual Costing in S/4HANA 1610: Important Notes2427356 - OMX1: valuation area cannot be added with ML type 9000
- 2433733- ML Helpdesk tool in S/4HANAML Helpdesk tool in S/4HANA
8. False. With SAP S/4HANA 1610 you can change the price directly after executing transaction code MR21 in the period in which goods movement has been done without using the LTPC option. Therefore, the LTPC option is no longer required with actual costing in SAP S/4HANA 1610.