Skip to end of metadata
Go to start of metadata

MMPV (MM period shift) has been run by mistake! What should be done?

Check KBA  2042164 - MMPV: Period shifted to future period for Material Ledger active plant by mistake.

Different handling of local and parallel currency in Material Ledger

Check the notes:
526623 - Different handling of local and parallel currency in ML 
536893 - Composite SAP Note Stock transfers in material ledger 
1920994 - Actual price calculation in parallel currencies

The currencies managed in the Material Ledger are updated independently of each other.
The system performs amount translations between the currencies if external values are assigned that exist only in the transaction currency or the first local currency.
Generally, the posting logic is the same in all currencies managed in Material Ledger. In some special cases, the parallel currencies are processed differently than the first local currency:

-Goods receipt for purchase orders with multiple valuations: exchange rate valid on the purchase order posting date, if the goods receipt is before the invoice receipt. 
Exception: the purchase order price is not translated in group valuation or profit center valuation if the vendor is an affiliated company (LFA1-VBUND). The goods receipt is then evaluated with the current material price. Note  458543  to use the translated net purchase order price, even for affiliated companies (user exit EXIT_SAPLPC32_003).
See also the note  551158 - Transaction currency for goods receipt for purchase order.

-Order settlement in profit center valuation: KO88/CO88 does not settle any differences to the material if the order and the material belong to different profit centers. Instead, the system posts the differences to the production variance account (3KEL). The note  458543  describes how you can settle production variances in profit center valuation to a material in this type of scenario (exit EXIT_SAPLPCRW_003). 

-Reversal postings for subcontract orders: in the parallel currencies, the receipt of the parts provided are valuated using the current material price.

-Fixed exchange rate in the purchase order or external exchange rate in the invoice: only used for the translation from the transaction currency to the first local currency. 
Calculation of exchange rate differences in the invoice verification: exchange rate differences are always calculated in the invoice verification between the relevant local currency and the transaction currency.

-Transfer price valuation for material transfers: see note 1442153 

Check notes:
374496  - Rules for currency translation with active Material Ledger.
366968  - TP: Invoice receipt of group affiliated company. 

Profit center valuation for goods movements

Check note  1442153 - Transfer price valuation for material transfers.

Currency translation rules with active Material Ledger

Check note  374496  - Rules for currency translation with active Material Ledger. 

  • Currencies that are managed in FI and ML: the translation rules can be set in FI customizing (transaction OB22 for ERP releases and FINSC_LEDGER in S/4HANA releases).You define the rules according to which you want values to be translated into the different local currencies (from transaction currency or first local currency; on the posting date, the document date or the value date; exchange rate type use).

  • ML currencies that are managed in ML but not managed in FI have hard coded translation rules.  You cannot set the translation rules for these currencies, the system always uses the following translation rules:

Exchange rate type 'M', standard translation at average rate.

Source currency '1', translation from transaction currency.
Type of translation date '2', translation for posting date.

  • To enable you to change the default settings of the translation rules for ML currencies that are not managed in FI, you can implement the BAdI CKML_UPDATE, method CURRENCY_TRANSLATION_RULES. See note 789592 for details.


Stock valuation with active Material Ledger


Check KBA  2436214 - Stock valuation with active Material Ledger.


If a posting is executed in Material Ledger in the current period X with a posting date in the previous period X-1, then in Material Ledger there are two documents involved for this posting: 
one for the previous period X-1 and one document for the current period X.

The Material Ledger records are read per period. Therefore, if an update needs to be done for the previous period, the Material Ledger also needs an update with a table entry and a document in the current period.

Check note  2206915 - CKM3: documents posted in a different period than displayed.

Stock transfer material to material: single or multilevel?

During multilevel actual costing, transfer postings from material to material (for example, transaction type 309, 311) are mapped as single-level processes, and these are as follows:

  • VUBM Material transfer posting (consumption).
  • BUBM Material transfer posting (procurement).
  • This means that, for the cost estimate with quantity structure, price variances from the consumable material are not rolled on to the procured material.
  • You can implement a setting in a Customizing table to make multilevel the transfer postings from material to material.
  • Check the 1529517 - Material transfer posting as multilevel process (309 / 311).



Check also KBA  2433794  Rounding differences in actual costing during stock transfer with the same standard price in both plants.

Goods receipt reversal for production order: valuation

Check notes:

440815 - Valuation of reversal of goods receipt for production order.

1759860 - Incorrect GR reversal for production orders and performance improvement.

1666871 - GBB valuation in a goods receipt and in a reversal for a PP order.


Error CKPRCH025 during goods movement posting or during price release


Check note:
1984006 - CKPRCH025 is issued during goods movement posting or during price release.

You use planned delivery costs in purchase orders, and ML is active in your system: you do not want certain types of delivery costs to create price differences in the Material Ledger.

Check note:  1704534 - Deactivation of delivery costs for ML update.

Error C+704 during material posting: stock value not zero for a stock quantity of zero

Check KBA:  2224503 - Error message C+704 when the material stock value is not zero and the stock quantity is zero.

Error C+056 during material posting: price will be negative


  • The logic in inventory management leads to reliable inventory valuation results. For this reason, in case of a high value, error C+056 is triggered in order to avoid an unrealistic periodic unit price, which is the direct cause of the error. 
  • When the error C+056 occurs, the price calculated with the transaction has exceeded the limits of the technical settings for the field 'Price'. The standard data model restricts the prices (moving average price, CKMLCR-VPRSV or standard price, CKMLCR-STPRS) to 11 digits (including the 2 decimals). This means that the field 'Price' allows 9 non decimal places and 2 decimal places.
  • If the price calculated with the transaction = (Stock value + Price differences) / Stock quantity x Price unit is larger than the maximum value allowed, the error C+056 is triggered.

There are two possible alternatives for a solution:

  1. A change of price unit is definitely a good way to avoid the overflow of the price fields. Please, consider that the price unit can be chosen for each currency independently.
  2. You may post a debit or credit posting (transaction MR22) for the material in order to change price differences so that actual price can be calculated. In this case the actual price will be changed. In case you choose this option, the amount needs to be manually updated in all the currencies before saving the document (navigate through the currency tabs). Otherwise, the posting will only take effect in Company code currency:




Finally, the posting date is very important. For example, if you are closing period 11/2017 but your current period is 12/2017. In such case, the posting date needs to be in period 11/2017 to be effective in the closing period.


**In case of a very small stock quantity (CKMLPP-LBKUM close to 0) a goods issue to set the stock to 0 is necessary as, the V_Price, is calculated as follows:

V_PRICE = Stock_Value · Price_Unit / Stock_Quantity

If the Stock_Quantity above is close to 0, the V_PRICE will have a very high and unrealistic value.


FI accounts posted in Material Ledger

In order to know the transaction keys behind the Material Ledger postings, check note:
908737 - Post Closing in Material Ledger.

The G/L accounts corresponding to debit and credit postings are customized in transaction OBYC for these transaction keys and the valuation classes included in the material master. 
The decision of using the same or different account for credit/debit postings is made in the corresponding customizing.

You find price differences not posted to the stock for a 2V material: stock coverage check logic


2238651 - Price differences not posted to the stock for 2V materials: stock coverage check.

2393887 - Stock revaluation in 2V material after Settlement.

2471234 - Settlement of 2V materials: Which accounts appear in the lines of the FI document? 

Stock transfer issues: logical and physical directions, movement type 412 E, movement type 453, negative consumptions, negative receipts,...


536893 - Composite SAP Note Stock transfers in material ledger. 
2748139 - Composite SAP Note for stock transfers in material ledger
2059061 - INFO: CKM3 Correction Tool for Negative Consumption & Single-material Cycles

  • No labels