Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

SAP Note

2354768 - S4TWL - Technical Changes in Material Ledger with Actual Costing


Component: CO-PC-ACT (Actual Costing), Version: 25, Released On: 30.01.2024

Symptom
You are doing a system conversion to SAP S/4HANA, on-premise edition, higher or equal to on-premise 1610. The following
SAP S/4HANA Transition Worklist item is applicable in this case.

Other Terms
ML, Actual Costing, CKM3, CKMLCP, CKMLCPAVR, MLDOC, MLDOC_CCS, MLAST, T001W, MGVUPD, plant, WERKS_D,
BWKEY, CKMLQS

Reason and Prerequisites


Material Ledger Actual Costing has been activated already in the system before the system conversion to SAP S/4HANA.
You can verify if Material Ledger Actual Costing is active for one or more plants via SAP Reference IMG / SAP Customizing
Implementation Guide (transaction SPRO)
-> Controlling
-> Product Cost Controlling
-> Actual Costing/Material Ledger
-> Actual Costing
-> Activate Actual Costing
-- Activate Actual Costing
=> Checkbox 'Act.Costing' (Updating Is Active in Actual Costing)
When this checkbox is marked, this means that Material Ledger Actual Costing is active in this plant.
Technically this can be verified via database table T001W, field MGVUPD. 'X' means that Material Ledger Actual Costing is
active in this plant.
In addition, the table T001W shows the link between the plant and the valuation area.

Solution
Description
With S/4HANA the data model for material ledger data has been changed significantly, especially when actual costing is
active.
The main purpose for the changed data model is:
Simplified Data Model
Simplification of Calculation Logic
Leverage the Strength of HANA
Business Process related information
Reduce complexity and improve runtime in the Material Ledger Costing Cockpit for Actual Costing
Example: 4 separate process steps ('Single-Level Price Determination', 'Multilevel Price Determination', 'Revaluation of
Consumption', 'WIP Revaluation' ) are merged to one process step ('Settlement')
New 2-dimensional distribution logic to avoids rounding errors
Less "not-distributed" values
No lock conflicts caused by material movements (in current period)
Change of standard price for materials and activities within the period is supported
Required and Recommended Action(s)
Deactivation of the statistical moving average is not mandatory in SAP S/4HANA, but is nevertheless recommended in
order to achieve a significant increase of transactional data throughput for goods movements. It is important to note that
the deactivation is not reversible. For further details regarding this matter please see description in SAP Support Note
2267835. With SAP S/4HANA, on-premise edition 1610, this option also includes materials with Moving Average price
control and all special stock types. Additional details can be found in SAP Support Note 2338387.
Separate currency customizing of Material Ledger (transactions OMX2 / OMX3) has become obligatory, Material Ledger
is acting on a subset of the currencies defined for Financials. There is no default Material Ledger Type “0000” anymore.
It is not allowed to use a ML Type that references to currency settings defined in FI or CO (flags “Currency Types from
FI” resp. “Currency Types from CO”). Instead you have to define explicitly the currency and valuation types that are
relevant for Material Ledger.
Steps to be executed: 1. Define the currency and valuation types that are relevant for Material Ledger using transaction
OMX2. 2. Afterwards assign this ML Type to your valuation area using transaction OMX3.
Before system conversion is started, all Material Ledger costing runs, no matter if actual costing (transaction
CKMLCP) or alternative valuation run (transaction CKMLCPAVR) need to be finished (e.g. step 'post closing'
successfully executed, no error, no materials with status 'open'). Reason: After system conversion to SAP S/4HANA it
will not be possible to do any changes on costing runs created before system conversion. You can create new costing runs
for previous periods or for the current period, after data conversion in the new system, but it is important to have no
incomplete costing runs, where just some steps have been started. This means, if you are doing a conversion in an open
period (e.g. in the middle of a month), do not start a costing run in the old system on the old release, for this open
period. You can create the costing run for this period later, after system conversion in the new system.
It is not allowed to change Material Ledger costing runs, nor to run steps of Material Ledger costing runs during the
process of system conversion.
It is not allowed to activate or deactivate Material Ledger Actual Costing during the process of system conversion for one
or more plants.
Details:
Simplified Data Model
Tables MLDOC and MLDOCCCS
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, CKMLKEPH). For more
information refer to note 2352383.
Some of the former periodic tables are still required for the following purposes:
The Material Ledger Closing Document is stored in the former ML document tables (ML*)
Standard Price. Periodic Unit Price and Price Control are still managed in table CKLMLCR
Cost Component Split for Prices is still managed in tables CKMLPRKEKO and CKMLPRKEPH (But the values
to Price Type 'B')
The design of tables MLDOC/ MLDOCCCS allows storing both line item and aggregated data.
Periodic transactions (goods movements, activity confirmation, etc.) update tables MLDOC/ MLDOCCCS with line
item data using the INSERT ONLY principle.
Material Ledger Period Close creates (run-dependent) settlement records in tables MLDOC/ MLDOCCCS to store
the results from Actual Costing. These records are stored under the costing run key (field ‘Run Reference’) so that
they are ‘visible’ only by the corresponding costing run. In this way different runs (e.g. a periodic run and an AVR)
can store their results independently from each other.
Important design changes
Single- and multilevel differences are no longer distinguished. In table MLDOC all price/exchange rate
differences are stored in fields PRD/KDM. In table MLDOCCCS the CCS for price/exchange rate differences
are stored under the CCS types E/F (field MLCCT).
The CCS is stored in a table format using the cost component (field ELEMENT) as additional key. This allows
increasing the number of cost components without modification.
The CCS for preliminary valuation is always stored

Tables MLDOC_EXTRACT and MLDOCCCS_EXTRACT


The table MLDOC_EXTRACT holds information about quantity and valuation changes. Transaction based updates,
like goods movements or invoice receipts, usually update tables MLDOC and MLDOC_EXTRACT in parallel. But
table MLDOC_EXTRACT can be compressed. After compression, the table will contain only one entry per cost
estimate number, period and currency type valuation view. Table MLDOC_EXTRACT allows fast and efficient
calculation of total quantity and total value, by cumulating all records for specific cost estimate number(s). The
same is true for table MLDOCCCS_EXTRACT which has been designed for holding cost component information.
During period shift (transaction MMPV) the tables MLDOC_EXTRACT and MLDOCCCS_EXTRACT will be
compressed automatically for periods older than previous period. Manual compression via program
FCML4H_RMLDOC_EXTRACT_COMPRESS or via function module FCML4H_MLDOC_EXTRACT_COMPRESS
is possible and recommended in case of very high number of material movements.

Table MLRUNLIST
Table MLRUNLIST replaces the former table CKMLMV011 (Object List for Costing Run), but has some additional
functions:
Materials and activities selected for a costing run are stored under the corresponding run id.
It manages the period status of materials and activities

Data Conversion
In case Material Ledger Actual Costing has been activated already in the system, in one or more valuation areas, before
the system conversion to SAP S/4HANA (when the system is e.g. on release SAP ERP 6.0 or on SAP Simple Finance), the
tables MLDOC, MLDOCCCS, MLDOC_EXTRACT and MLDOCCCS_EXTRACT are filled automatically with data, during
Migration Step M10: Migrate Material Ledger Master Data for the valuation areas, where Material Ledger Actual Costing has
been activated. The data will be created starting from last period of year before previous year until the current period in the
system. All material related goods movements or price changes from previous years will be converted to the MLDOC tables as
if the goods movement or the price change has taken place in the last period of year before previous year. The data of the
current year and of the previous year will be converted not based on single material documents or price change documents,
but there will be 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 related to ML Alternative Valuation Runs is usually not converted automatically during Migration Step M10. It is
possible to convert data related to ML Alternative Valuation Runs with report FCML4H_MIGR_AVR_INVENTORY (To be
executed later-on in the S/4HANA system, after migration has been completed.). Only data related to "COGM costing runs"
(costing runs in accordance with the business function FIN_CO_COGM/multiple valuation of cost of goods manufactured,
that were created in the source system prior to the migration) is converted automatically during Migration Step M10: Migrate
Material Ledger Master Data.
Functional changes/improvements
Material Price Analysis (Transaction CKM3):
No separate view for Cost Components, but integrated in main screen
Flag for selection of cost components not relevant for material valuation, or only cost components relevant for
material valuation; by default selection of inventory relevant cost component split. This behavior can be enhanced by
implementing SAP Support Note 2467398 (further details are described within this note)
Display of WIP Reduction for material; by default WIP Reduction is hidden; If WIP reduction is displayed, both WIP
reduction and consumption of WIP for order are shown in opposite sign in different folder.
Plan/Actual Comparison is removed in new CKM3
Technically, data are retrieved from table MLDOC, MLDOCCCS and MLDOC_EXTRACT and
MLDOCCCS_EXTRACT
Remark: Data older than last period of year before previous year (related to current period in the system for a specific
company code, at the time of system conversion) cannot be displayed via transaction CKM3 because the 'old' data has not
been converted to the MLDOC-tables. To show data older than last period of year before previous year you can use
transaction CKM3OLD('Material Price Analysis') or CKM3PHOLD ('Material Price History'). To display single material
ledger documents, created before system conversion, you can also use transaction CKM3OLD. The system conversion will
not convert single material ledger documents, but there will be one entry per category, process category and procurement
alternative/process, with aggregated quantities, amounts and price/currency differences of single material ledger
documents. So CKM3 will show data also on this level for migrated data.
CKM3 will show all details on single material ledger documents for postings created after system conversion.
CKM3OLD will not show postings created after system conversion

ML Actual Costing Cockpit (Transaction CKMLCPAVR):


I n the transactions CKMLCP and CKMLCPAVR, there is an additional parameter “Application”. This means that the
application can be chosen so that it is possible to process Alternative Valuation Runs via the transaction CKMLCP and
Actual Costing Runs via the transaction CKMLCPAVR.
In the toolbar of the transactions CKMLCP and CKMLCPAVR, there is a new button next to the “Display <-> Change”-
Button to switch the application from “Costing Run” to “Run Reference” and back.
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 Alternative Valuation Run. It can be used when creating an
Alternative Valuation Run but it is only mandatory for creating Alternative Valuation Runs for Parallel COGM. It can
also be created for a single period run, for year-to-date run or for a rolling run.
There are 2 options for creating an AVR:
Create a “Classic AVR” which is the same like before.
Create an AVR with run reference which means the settings are taken from the run reference and can’t be changed.
Only the plants must be chosen.
Some of the programs and therefore also the steps in the section “Processing” have changed. The new steps of an ML
costing run are:
Selection (program FCML4H_SELECTION)
Preparation (program FCML4H_PREPROCESSOR)
Settlement (program FCML4H_SETTLEMENT)
Post Closing (program FCML4H_POST_CLOSING)
It is no longer possible to use delta posting runs.
Additionally to the status of the materials, the status of the activity types is displayed in the section “Processing”. The
button “Activity Types” for displaying the activity types value flow has been removed.
The section “Costing Results” has been removed. It will be replaced by the report
FCML4H_RUN_DISPLAY_MATERIALS that displays a material list with status. It will called via the button “Results”
in the section “Processing”.

The classical CKMLCP steps Single Level Price Determination, Multilevel Price Determination, Revaluation of
Consumption and WIP Revaluation have been replaced by the new step Settlement which essentially does all cost
allocations and actual price calculations. Additionally the step Preparation is required to prepare the data (e.g. reading
of apportionment structures, actual activity prices, cost sequence determination).
A change of standard price for materials and activities within the period is now supported
Easier reprocessing: If a material is reprocessed by settlement the depending materials on higher costing levels which
need to be reprocessed are recognized automatically
Consumption Price Differences (i.e. Price Differences updated in Consumption Folder) are now taken into account
A new 2-dimensional distribution logic avoids rounding errors. The new ‘CKM3’ will match vertically and horizontally
even on level of Cost Components
Price Limiter Logic is accurate on level of Cost Component Split
Materials and Activity Types are widely treated as equivalent objects. The cost allocation logic is essentially the same.
The same reports (e.g. CKM3, CKMVFM) can be used for both of
them (-> to be enabled yet!)
Alternative Valuation Run (AVR):
The new AVR do no longer copy the data into a separate key area. (Only the settlement records are stored under the
AVR ‘Run Reference’, see above). In particular,
the cumulation of several period is done ‘On-the-fly’.
The former step Cumulate Data is no longer needed
The complex rescale logic, which adjusts all materials data to a common preliminary AVR price, is no longer
needed.
All AVR can now handle WIP
Post Closing:
Post Closing uses a ‘push logic’ (in accordance to the new Settlement). This means that the price differences
rolled from an input to the output are now posted
in the closing document of the input (material/activity)
For activity types (and business processes) a new posting has been introduced. See the documentation in
transaction OBYC for the new transaction key PRL:
Price differences for activity types or business processes. During settlement in the material ledger, these
price differences are posted from cost centers
(Transaction/Account Modification GBB/AUI) to the material ledger (transaction PRL) and then further
allocated to the receivers (finished products/WIP).

Restrictions
AVR Delta Posting Logic is not available
The BAdI BADI_ENDING_INV for external valuation is currently not available. Static external valuation (for ending
inventory or cumulated inventory) based on table CKMLPR_EB is available with note 2613656
The BAdI CKMLAVR_SIM has been replaced by the BAdI FCML4H_MODIFY_VALUES. For more information refer to
the following note:
2876478 Documentation for BAdI FCML4H_MODIFY_VALUES

Material Ledger Costing Runs and Alternative Valuation Runs, which have been created before the system conversion
cannot be changed nor reversed any more after the conversion to SAP S/4HANA
Material Ledger Valuated Quantity Structure (Transaction CKMLQS) is available after implementing the following notes
(, or related support package):
2378468 Enable CKMLQS based on table MLDOC
2495950 CKMLQS: Connection to CKM3

Software Components
Software Component From To And subsequent

S4CORE 101 101 X

This document refers to


SAP Component Title
Note/KBA

2495950 CO-PC-ACT CKMLQS: Connection to CKM3

2467398 CO-PC-ACT CKM3 on MLDOC for S/4HANA: Cost Component Mark Up and inventory valuation not
relevant

2378468 CO-PC-ACT Enable CKMLQS based on table MLDOC

2352383 CO-PC-ACT S4TWL - Conversion to S/4HANA Material Ledger and Actual Costing

2338387 MM-IM-GF- S4TWL - Goods movements without exclusive locking by material valuation
LOCK

2332591 CO-PC-ACT S4TWL - Technical Changes in Material Ledger

2267835 MM-IM-GF-VAL S4TWL - Material Valuation - Statistical moving average price

This document is referenced by


SAP Component Title
Note/KBA

2654195 First closing period in Material Ledger / Actual Costing after Migration

3016138 CO-PC-ACT S/4 HANA issue on program about reading standard view V_MLIT

3011167 CO-PC-ACT S/4 HANA Migration shows Material Ledger Repair Document

2959828 CO-PC-ACT S/4 HANA report FCMLHELP_SET_PP_STATUS which is no longer valid requires passcode

2943450 CO-PC-ACT S/4 HANA unable to change standard price with variances

2709553 CO-PC-ACT How to track value flows of an activity during ML Closing.

2693919 CO-PC-PCP No C+811 error in S/4 HANA system when you post price change

2123418 CO-PC-ACT Root causes for Not Allocated price difference in T-code: CKM3

2635313 CO-PC-ACT Error C+805, ML4HMASTER106 and ML4HMASTER107 in CKMLCP

2440792 CO-PC-ACT Unable to find Material Ledger document in CKM3 before conversion to S/4HANA (ref: transaction
CKM3OLD)

2604219 CO-PC-ACT CKMVFM does not show all company codes in the dropdown list

2594384 CO-PC-ACT Material Ledger period status in S/4HANA: actual costing period status is not correct in table
CKMLPP, instead the status is handled in table MLRUNLIST
2532361 FIN-MIG- Error C+000 during migration to S/4HANA 1610, FINS_MIG_STATUS
ML

2558115 CO-PC-ACT S/4HANA CKMLCP: New Posting logic for activity types (new transaction key PRL)

2555503 CO-PC-ACT KKML0 Drill-down report slow on S/4HANA 1610

2554964 CO-PC-ACT Material Ledger with Actual Costing in S/4 HANA: list of notes for Cost Component Split issues

2550081 CO-PC-ACT S/4HANA: Consumption Price Differences are considered for actual price calculation. Field 'Price Diff.
Issues' is not displayed on CKM3.

2537912 CO-PC-ACT S/4HANA CKM3: Data Unmigrated warning appears

2503684 CO-PC-ACT S/4HANA: new design of the views in CKM3

2482617 CO-PC-ACT CKMLCP on S/4HANA 1610: Results button

3429685 CO-PC-ACT Migration of AVR to S/4 Data Model

2467061 CO-PC-ACT CKMLBB_AGGREGATE: ML Balance Sheet Valuation (FIFO) does no find any data for receipts
calculation

2431747 FI-GL-GL General Ledger: Incompatible changes in S/4HANA compared to classic ERP releases

2408065 CO-PC-ACT S/4HANA 1610 SP01 Material Ledger Migration: Error FINS_ML_MIG 080 CREATE_CCS_2

2364977 CO-PC-ACT S/4HANA 1610 SP00 Material Ledger Migration Corrections for Actual Costing

You might also like