
As a user who maintains master data, you can use the Copy Material program (transaction MMCC, Material Master Copier) to create, enhance, or change multiple material master records in one step on the basis of a material master record. When doing so, you can not only specify the reference material, but also decide which data of which organizational levels is to be taken into account and which data of which source organizational units is to be copied to material data of which target organizational units.

The (database tables of) basic data, plant data, storage location data, SD data, warehouse number data, storage type data, and valuation data for a material are referred to in the following section as organizational levels. (To make things easier, the basic data is also listed for the organizational levels even though this data belongs to the material irrespective of organization.)
Organizational units are the individual instances of these levels – so, for example, plant 1000, storage location 0001, valuation area 1000, and so on.
- In this way, for example, you can use the data of material A for plant 1000 to create a new material master record B for plant 2000.
- However, to an existing material master record B for plant 1000, you can also add material data for another storage location based on reference material A.
- Or you can change the existing valuation data in valuation area 3000 for material C based on the data in valuation area 1000 of the same material.
Features
Overview
When executing the program, you can decide:
- Whether to first simulate the copy process in a test run without updating the database
- How many and which materials are to be created, enhanced, or changed
- Which organizational levels are to be copied with the respective database tables
- Which organizational unit of the reference material is to be used as the source for which organizational units of the target materials
- Whether existing data is to be protected or allowed to be changed
Data to Be Copied: Selection of Organizational Levels
The data is copied at database table level, not at view level of the material maintenance transactions (MM01 and so on).
- Basic data: MARA, MARM, MEAN, MAKT, STXH
- Plant data: MARC, MPOP, MLAN, STXH
- Storage location data: MARD
- SD data: MVKE, MLAN, STXH
- Warehouse number data: MLGN
- Storage type data: MLGT
- Valuation data: MBEW

You can use the identically-named indicators here to specify which levels are to be considered when data is copied to the target material.
If you do not intend to copy data for a certain level, that is, the relevant indicator is not selected, the corresponding tab is hidden on the next screen.
If data for a reference material does not exist at a level, the relevant indicator is deselected after a screen change (for example, F8 -> and back).
Filter Settings: Selection of Organizational Units
In addition to selecting organizational levels, you can also flexibly assign the instances of these levels as source and target organizational units according to your requirements:

The organizational unit data of the reference material does not have to be copied to the same organizational unit of the target material. For example, data can be copied from plant 1000 (source organizational unit) to plant 2000 (target organizational unit).
In the case of the default setting (Apply User Setting indicator is not selected), the organizational units from the reference material are proposed as source and target organizational units. Using the filter settings, you can restrict or change the proposed organizational units.
The reference material can be copied to create completely new material master records or to change or enhance existing materials.
Enhance here means adding data for another organizational unit to a material.
Change here means changing data that already exists for a material for one or more organizational units. You can use the Do Not Change Existing Data indicator to prevent this, that is, existing data is not overwritten. If data for an organizational unit does not yet exist in a target material, this data is created even though the Do Not Change Existing Data indicator is selected.
Data can also be copied to the reference material. This means that a target organizational unit can be added to the reference material from an existing source organizational unit.
The individual maintenance statuses are assumed by the reference material and reduced where necessary.
The authorization checks executed correspond to those authorization checks that are executed in standard material master maintenance (MM01 and so on).
Selection
Number Assignment
When target material numbers are assigned, both internal and external numbers can be assigned. In the case of internal number assignment, users do not specify material numbers for target materials so that these numbers are assigned internally. In the case of external number assignment, you (the user) specify the material numbers of the target materials.
When copying the short text, you have the following options:
- If the Basic Data indicator is not selected, the short texts are not copied.
- If the Basic Data indicator is selected, the short texts are copied only when a new material is created; otherwise the short texts are neither created nor changed.
- If the short text is copied from the reference material and not changed, the shorts texts are created in all languages.
- If the short text is changed, the short text is simply created in the logon language of the user. Short texts in the other languages maintained in the reference material are not created.
- If a short text is not specified, a short text is not created or changed.
When material master records are copied, the following scenarios can arise, for example:
- To enhance an existing material without changing existing data (and without creating a new material), the indicator for the Basic Data level must be deselected and the Do Not Change Existing Data indicator selected.
- To enhance or change an existing material (without creating a new material), the Basic Data and Do Not Change Existing Data indicators must be deselected. The basic data is not changed in this case, however.
- To create a new material or enhance an existing material without changing existing data, the Basic Data and Do Not Change Existing Data indicators must be selected. The basic data for an existing material is not changed in this case, however.
- To create a new material or enhance or change an existing material, the Basic Data indicator must be selected and the Do Not Change Existing Data deselected. The basic data is always copied in this case.
Activities
After you have called up the Copy Material report, you enter the reference material on the initial screen, select the source data levels that you want to include, and filter the source organizational units you require. You then choose the Execute pushbutton (F8).
On the next screen, you make entries for the target materials. The default values are taken from the filter settings and user settings defined in Customizing. The user can overwrite these values. You then choose Execute (F8) again. If you did not select the Test Run indicator (on the initial screen), your entries are written to the database.
Results Output
The results of the copy process are output in the same way as in an application log. Errors, warnings, and success messages generated are listed.
All target materials are created, changed, or enhanced with the exception of those for which errors occurred (for example, required field errors).
Constraints
Integrated material master data is not copied. This includes:
Classification data, document data in the document management system (DMS), configuration data, MRP area data (MRP data is copied, however), quality management inspection types, sales conditions, bills of material, routings, and production versions
The reference material must not be changed while copying is in process.
The material type is copied from the reference material and cannot be changed.
Customizing
You can use transaction MMCU to access Customizing for the material master copier (Copy Material program). In these settings, you can specify (on a user-specific basis) from which source organizational unit to which target organizational unit the data is to be copied (for example, from plant 0001 to plant 0005). If “DEFAULT” is specified as the user name, the setting applies for all users.
Every time you access the material master copier, you can decide whether the aforementioned settings from Customizing are to be used (Apply User Setting indicator is selected) or whether the organizational units are to be proposed 1:1 from the reference material.
Enhancements
To enable you to influence the data copying process without modifying program code, a business add-in is provided.
The BADI_MATERIAL_CC business add-in offers two methods for predefining or changing data on a customer-specific basis.
The MATERIAL_ASSIGN_NUMBER method can be used to predefine material numbers for target materials on a customer-specific basis. Note here that the number of rows created in internal table MATNR_UEB corresponds exactly to the number of materials to be copied (import parameter P_NUMMAT). For example, if you want to copy to 10 target materials, internal table MATNR_UEB must contain 10 rows. If this is not the case, material numbers are not predefined. The material number of the reference material (import parameter P_MATNR) can be used to determine or create the material numbers of the target materials.
The MATERIAL_CHANGE_DATA method can be used to change data for target materials directly before it is updated. The data for each material is contained in the internal tables IDOC_CONTRL (IDoc Control Record) and IDOC_DATA (IDoc Data Records) in line with ALE/IDoc technology.
After executing the program, you can change the material data as usual using the standard transactions such as MM02 and MM17.
Customer fields are also copied automatically provided that the customer fields have been added to the relevant database tables in append structures and ALE distribution has been enhanced accordingly as usual.



