How to change the standard price in Material Ledger for materials with Price Determination Control 3

作者:郑德鼎 约 6 分钟阅读 更新日期:2024-02-22 2 年前更新 标签:CO, FI, 财务
目录

Maria Luisa Munoz

June 15, 2010 4 minute read

How to change the standard price in Material Ledger for materials with Price Determination Control 3

116,935

When the Material Ledger is active, for materials with price determination control 3, a price change or a release cost estimate should always be the first transaction to execute in the period.

If you want to change the price for a new period, you have to  release the price before closing the previous  period. You can only release a new price for the material when the status in the period is  10 ‘Period opened’, 20 ‘Price change completed’ or 01 ‘New objects’. The reason is that the post closing process has an influence on the status of the material in the new period. After executing the post closing step, the system changes the status of the previous period to 70 ‘Closing entry completed’ and the status of current period to 30 ‘Quantities and values entered’. Therefore the system does not allow to change the price subsequently. Once the period status is ’30’, the standard price cannot be release or changed.

For more details please see note https://service.sap.com/sap/support/notes/190707.

Before opening a new period, in order to carry out the period end closing and release a new standard price, all the steps of transaction CKMLCP can be executed except the ‘post closing step’.

1. Mark the new prices

2. Run MMPV (period shift in MM)

3. Single-level Price determination for previous period

4. Multi-level Price determination for previous period

5. Revaluation of consumption

6. WIP revaluation

7. Price release for the new period

8. Post closing step for the previous period

In case that the status of the material does not allow to release a new price in the period, the following workarounds can be applied in order to change the standard price for the new period:

– Postponing the costing release to next month

– Reversing transactions and usage of note https://service.sap.com/sap/support/notes/574930

– Using the option from note https://service.sap.com/sap/support/notes/555176 . You can use this option for current period. It provides a correction which allows you to make a price change, despite the  transactions that you have already run.

Dynamic Price Release Functionality

In case that you want to release a future price or  a marked cost estimate during the first material movement in the period you can use the functionality of the dynamic price release (Transaction OMX5).

The dynamic price release is intended to release the new prices for materials that are posted or moved at the beginning of a new period, before the price release has been implemented for flagged cost estimates or future prices.

It has been designed to be activated when there are material movements and a cost estimate has not been yet released.

With a posting for the material in MM module, the status of the material changes and if this functionality is not set, it is not possible to release a new standard price in the period.

Please check the attached note https://service.sap.com/sap/support/notes/757732  which provides a detailed  explanation about the dynamic price release functionality.

Whatever the way in which the standard price is released in the new  period, this change should be carried out before closing the previous period, otherwise it will not be possible.

This functionality has not been designed to replace the transactions CKME, CK24 or CK40N. The dynamic release cannot and should not replace the static release; it should only enhance it.

574930 - Resetting material ledger status

Program ZCKML_RESET_STATUS_OF_PERIOD

Symptom

If you use actual costing and material price determination 3, you can only change or release prices of marked cost estimates for a material at the beginning of the period, as long as no goods movements, invoices, and so on have been created for the material. If you then try to carry out a price change, the system generates message C+811 or C+212. This behavior is explained in SAP Note 555176.

The system also does not reset the status to the original value if either the goods movements causing this situation or the actual costing closing entry have been reversed.

Other Terms

CNACT, MR21, CKME, CK24

Reason and Prerequisites

Solution

This note provides a program that allows the status to be reset to 'Period opened' (10) under the following conditions:

Goods movements are completely reversed

The collected price differences and exchange rate differences are zero in all currencies. Generally, this is also possible by reversing all transactions that have been carried out.

The status of the previous period is not 'Closing entry performed'.

If Posting closing executed,Then need to perform CKMLCP reverse

The material is not locked by another user.

The relevant period is the current period. After resetting the status, it is possible to carry out price changes in the period again.

Since the status information is represented in the output table only as figures, the following is a list of the status texts:

Not defined                        '00'

New objects                        '01'

Period opened                      '10'

Price change completed              '20'

Quantities and values entered       '30'

Values entered                      '31'

Price determined single-level       '40'

Price determined multi-level        '50'

Closing entry reversed              '60'

Closing entry performed             '70'

After generating and activating the program, you can maintain the selection texts: SE38 Goto - Program texts - Selection texts. For all texts, mark checkbox 'from Dictionary' or copy the menu function from the DataDictionary(DD).

In addition, maintain the selection texts of the parameters

Name      Text

P_EBEW    Selection of sales order stock

P_MBEW     Selection of stock material

P_QBEW     Selection of project stock

555176 - Late price change

Version 12 from 14.07.2011 in English

Symptom

Actual costing with material price determination 3 no longer allows a price change for materials, if, in a period, there have already been goods movements, values have already been entered by invoices or if the closing entry of the previous period has been executed.

See also Note 190707.

Other Terms

MR21, material ledger, actual costing, CKME, release standard prices, error messages, C+ 811, C+ 212, CNACT

Reason and Prerequisites

Implement the program corrections.

You must implement the program corrections described in this section only if they are relevant for your Support Package. If the program corrections are already included in your Support Package or Enhancement Package, continue reading in the "Handling" section.

1. Create the following text element in the programs SAPLCKM8 and SAPLCKM8N

Sym  Text                                        dLen  mLen

218  Subsequent price change                    19    30

2. Add the following table parameters to the interface of the function module CKML_F_DOCUMENT_PRICE_CHANGE (transaction SE37):

Parameter name Type spec Associated Type Optional

IT_CKMLCR_OLD  LIKE         CKMLCR    X

IT_CKMLCR_NEW  LIKE         CKMLCR     X

3. Depending on your Support Package level, the function module MLCCS_READ_ONLY_BUFFER may already exist. Check whether the function module is contained in the function group MLCCS_DBACCESS. If not, create it there using transaction SE37.

Create the following import parameters

I_BDATJ_1 LIKE CKMLPP-BDATJ

I_POPER_1 LIKE CKMLPP-POPER

I_BDATJ_2 LIKE CKMLPP-BDATJ

I_POPER_2 LIKE CKMLPP-POPER

I_BDATJ_3 LIKE CKMLPP-BDATJ

I_POPER_3 LIKE CKMLPP-POPER

I_BETWEEN_1_AND_2 TYPE CHAR01

I_UNTPER LIKE CKMLPP-UNTPER '000'

For all of these parameters, select Optional and Pass Value.

Enter the following export parameters

ET_OLD_KEPH TYPE MLCCS_T_KEPH

ET_NEW_KEPH TYPE MLCCS_T_KEPH

Table parameter

IT_KALNR TYPE CKMV0_MATOBJ_TBL

IT_LAKALNR TYPE CKMV0_LAOBJ_TBL     optional

IR_CATEG TYPE CKMV0_YT_CATEG    optional

IR_PTYP TYPE CKMV0_YT_PTYP    optional

IR_BVALT TYPE CKMV0_YT_BVALT    optional

IR_KEART TYPE CKMV0_YT_KEART    optional

IR_MLCCT TYPE CKMV0_YT_MLCCT    optional

IR_KKZST TYPE CKMV0_YT_KKZST    optional

IR_PATNR TYPE CKMV0_YT_PATNR    optional

IR_DIPA TYPE CKMV0_YT_DIPA    optional

IR_CURTP TYPE CKMV0_YT_CURTP    optional

Enter the following exceptions

UNSUFFICIENT_PARAMETERS        unsufficient_parameters

NO_DATA_FOUND                  No period records found

4. Implement the program corrections.

5. You must also implement Note 583221.

Handling

The corrections allow you to make a price change, despite the transactions that you have already run. This option should only be used in urgent cases. In general, you should only ever make a price change at the beginning of the period. The subsequent price change introduced here does allow the price change and does not lead to inconsistencies, but errors occur in periodic consumption valuation, in particular if you have already posted consumption in the period. If possible, you should cancel consumption before making a subsequent price change.

You activate the subsequent price change using the OK code LTPC in transaction MR21.

Call transaction MR21.

Enter LTPC in the OK code field.

Enter the materials to be edited and the new prices.

If you want to release a marked planned price, choose 'Default Planned Prices'.

Choose 'Post'.

Display in material price analysis (transaction CKM3)

Price determination structure view

The preliminary valuation and any differences are rescaled at category level and the corresponding lines for price change documents are sorted and flagged with the text "Subsequent price change".

Cost component view

...

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「How to change the standard price in Material Ledger for materials with Price Determination Control 3.docx」整理生成,仅用于内部技术分享与学习交流。