Conversion of material ledger data during an R/3 upgrade from 3.x to 4.0 or
CNACT, material ledger, data conversion, actual costing/material ledger,
material ledger, upgrade, conversion
Reason and Prerequisites
This information is relevant if you have gone into production operation
with the material ledger in a release PRIOR TO 4.0A and want to install
Release 4.0A (or a higher release) now.
If you did not use the material ledger in Release 3.0, then this note is
not relevant. You can carry out a normal R/3 upgrade and then a material
ledger production startup following the upgrade. Refer to Note 194465.
If you want to convert the material ledger data, please make sure that you
have applied the latest Hot Package or the latest versions of the specified
Actions to take before the upgrade to 4.0 or higher
1. Get current versions of programs ZCKML_OPEN_PO and
ML_PO_CONSISTENCY_UPGRADE. You can find these programs on sapserv3 in
directory ftp/general/R3server/abap/note.0081463. Use Transaction SE38
to create the appropriate program objects and insert the downloaded
text files into the program code. Please also maintain the text
elements. You can find the relevant texts as comment at the beginning
of the program code.
2. In order to keep the data volume as small as possible for the
conversion of the data from Release 3.X to 4.0 and higher , archive
the following objects:
a) all purchase orders (archiving object MM_EKKO) that you no longer
b) all material ledger period records (archiving object CO_ML_ML1)
before the last period of the previous year that you no longer
You are recommended not to archive the material ledger period
records as of the last period of the previous year.
Refer to the documentation in the R/3 library for Release 3.0 or
3.1 (Basis Components -> System Administration -> Application Data
Archiving and Reorganization -> MM Materials Management).
3. Note down the plants (valuation areas) for which the material ledger
was active before the upgrade. You can determine them by calling up
table CKMLV in all relevant clients using Transaction SE16. In the
field MEBWI you will see whether the valuation area (plant) is
productive for the material ledger.
4. When you convert the purchase order history records, all purchase
order items must have been cleared, that is, the quantities delivered
and calculated must agree. In case of goods-receipt-based invoice
verification, each goods receipt must have been calculated. Therefore,
carry out the following steps:
a) Perform an account maintenance (MR11). By this, old purchase order
items are cleared automatically.
b) Execute program ZCKML_OPEN_PO. It generates a list of the purchase
order items that are still open.
c) In order to clear the open purchase order items, post all open
invoices that are actually available to you but that have not yet
been posted into the system.
d) If the invoices are not yet available to you, reverse a goods
receipt to the effect that the quantity delivered agrees with the
quantiity calculated up to now. The reversed goods receipts have to
be re-posted after the release upgrade.
e) Execute program ZCKML_OPEN_PO again to make sure that all purchase
orderitems have been cleared.
5. Carry out the material ledger settlement (Transaction CKM4) for all
materials in the relevant plants.
6. Upgrade to a higher release than 4.0B: Close all finished orders (PP
production order, CO production order, process order, product cost
collector). After the upgrade, you need to create new orders. ('Old'
orders may be transferred. During transfer, they are not included in
the material ledger quantity structure management, however, and thus
are not taken into account for multi-level pricing.)
System actions to take during the upgrade to 4.0 or higher
During the 4.x installation the system automatically deletes the internal
indicator that says that the material ledger is productive using program
MLXPRA3X. This occurs for all valuation areas in all clients.
For the time being, no valuation-relevant movements are possible.
Actions to take after the upgrade to 4.0 or higher
1. Read the current Implementation Guide for the component Actual
Costing/ Material Ledger and check the accompanying settings in
Customizing. Also refer to Note 122391.
2. Do not use the material ledger production startup (Transaction
CKMSTART) for plants in which movement data exist.
3. Import the current versions of program ML_PO_CONSISTENCY_UPGRADE.
4. Implement all attached notes (provided that they are not yet contained
in the current Support Package), so that program SAPRCKM_CONVERT_30_40
5. Run the program SAPRCKM_CONVERT_30_40 for each client to convert the
data and to return to production operation with the Material Ledger.
Do this for the valuation areas that you have previously noted. (In
the course of this, refer to Note 194465.)
a) Select 'Portion int. tables' (parameter P_PORT).
b) Deselect P_VERB.
c) Deselect 'Test run' (parameter P_TEST).
When larger amounts of data are concerned, you can expect longer runtimes.
To increase the performance of the program, run it for each plant
separately and run several instances in parallel on several application
Once the program has been run, valuation-relevant movements are possible
After the run of this program, the system also converts the existing
purchase orders for the material ledger.
If errors C+ 606, C+ 630 or NR 751 during the program execution, please see
The program is restartable, i.e. you can restart it at any time after a
program termination without carrying out further activities.
6. If you use a database with cost-cased optimizer (for example, Oracle),
make absolutely sure that new table statistics for the optimizer are
created. Otherwise, you would encounter considerable performance
problems with the following processing steps.
In particular, use Transaction ST04 to check whether the number of
records of table MLWERE is determined correctly by the optimizer.
7. For posting key WRX, create a GR/IR clearing account with open item
administration. Please note that the clearing account used with active
material ledger in Release 3.x (posting key WRY) did not permit open
item management at purchase order item level.
8. Execute program ML_PO_CONSISTENCY_UPGRADE. It corrects the purchase
order history in local and parallel currencies and thus adjusts them
to the GR/IR clearing logic used in the standard system (and now in
the material ledger as well). Please note that you have to execute
this program twice: once each for purchase order items without and
with goods-receipt-based invoice verification respectively (parameter
P_WEBRE is not set or set, respectively). In particular, the run with
goods-receipt-based invoice verification will have a long runtime.
Please run the program as follows:
a) Select option R_WERKS: enter the plants you set to productive.
b) Select options R_EBELN and R_EBELP: leave these empty.
c) Parameter P_DATUM: enter the date at which currency translations
are carrid out that may be pending. If this field is empty, the
current date is used for the translation.
d) Parameter P_EKBE: should always be set
e) Parameter P_DISTR: should always be set
f) Parameter P_WEBRE: set during the first program run, but not during
the second one.
g) Parameter P_TEST: not set
9. If required, change the settlement control of the materials.
With the conversion program, the system automatically changes
materials with settlement control 1 to materials with settlement
control 2, since settlement control 1 is dropped as of Release 4.0A.
You can use Transaction CKMM to change the settlement control and, if
required, the price control of such materials.
10. Re-post any goods receipts you have reversed before the upgrade.
11. Upgrade to higher releases than 4.0B. Create new production orders
(see 'Actions to take before the upgrade to 4.0 or higher'). During
creation, they are automatically included in the quantity structure
management and taken into account for multi-level pricing. Upgrade to
higher releases than 4.5B. As of Release 4.6B, there is an order
history for production orders (PP production orders, CO production
orders, process orders, and product cost collectors). This does not
require any special actions after the upgrade. In particular, orders
that were created and posted to before the release changeover can
still be used.
If problems occur during the upgrade, please contact the Development
Support of SAP. At the same time, implement Note 364368.
You can find further information regarding the new functions in the current
documentation under Controlling Actual Costing/Material Ledger.