How to – Cross Application Mass Maintenance in SAP
Applies to:
SAP ECC 6.0 EHP 4
Summary
Imagine your project in cutover phase. You need to make changes to a large volume of master or transaction data.
For Example,
1. Delete all the line items in multiple purchase requisition (PR)
2. Or close all the line items in a PR
3. Or Un-fix all the line items in a PR
Even though we have options of using BAPI/BDC and this can be done programmatically, such approach would require additional development and testing efforts.
How about using a standard SAP transaction to achieve this functionality?
This document describes the usage of standard SAP transaction MASS for mass change in master/transaction data. We will consider example of updating purchase requisition details using mass transaction. We conclude with a discussion on when it would not be recommended to use MASS transaction.
Author: Parag Parikh
Company: Deloitte Consulting LLP
Parag Parikh is an SAP ABAP, SAP workflow consultant with 4.5 years of experience. He has extensively worked on SAP ABAP and SAP workflow. Parag also has functional skills for SAP FS-CD solution. He has worked on many SAP modules including SAP FI/CO, SD, MM, QM, PP, PLM-RM, SRM, HCM, ESS/MSS and EH&S. Parag is working with Deloitte Consulting LLP as Workflow Specialist.
Author: Vamsi Krishna Parepalli ( SCN ID: E1106724)
Company: Deloitte Consulting LLP
Vamsi Parepalli has over 6 years of experience in SAP ABAP, SAP OO-ABAP. He has extensively worked on Object Oriented ABAP. Vamsi is a technofunctional expert in SAP Retail, SAP SD and SAP MM modules. His experience inlcudes Reports, Enhancements, Forms, Interfaces and Workflow development. Vamsi is also an iRise expert and has developed many pre-sales demo using iRise Visual Simulator. He is currently working with Deloitte Consulting LLP as SAP Technical Consultant in capacity of a process lead and is technically leading iRise initiative.
Document Created on: 6th March 2012
Prerequisites
1. Knowledge of master and transaction data concept in SAP
2. Knowledge of navigating and working on SAP transactions
3. Knowledge of basic ABAP and Business Objects would be advantageous for customized development under MASS framework
4. Knowledge of various terms in SAP modules like MM or SD is desirable to understand example presented in this document
5. In mass maintenance, many objects can be changed at the same time. For this reason, the mass maintenance tool must be used only by experienced persons.
Overview of MASS Maintenance Tool
Mass maintenance is a generic (cross-application) tool that can be used for the following Purposes:
To change large quantities of data
Here, there are the following differences for the individual maintenance of objects in a Specific application:
· The user selects the field to be changed from a list.
· The consistency checks occur collectively when saving the changes and not simply when entering or changing a value.
· Changes can be made simultaneously to several objects.
Mass maintenance is therefore particularly useful if you have to adapt existing data stocks to a changed situation.
Example: A purchasing group is taken over by another, and in a particular plant, you have to assign all materials that were assigned to the old purchasing group, to the new purchasing group.
To create new data
In some situations it is not possible to change existing values, but to create new data instead (such as if you want to determine an additional unit of measure for a material).
Sample Scenario: Updating Purchase Requisition
Scenario Description:
Consider the below requirements that is to be accomplished as part of cutover activities.
1. Delete all the line items in multiple purchase requisition (PR)
2. Or close all the line items in a PR
3. Or Un-fix all the line items in a PR
We need to update below fields to attain the desired results as per the requirement.
Table Name |
Field Name |
Field Description |
Usage |
EBAN |
LOEKZ |
Deletion Indicator in Purchasing Document |
To delete the PO / PR order or Item. |
EBAN |
EBAKZ |
Purchase Requisition Closed |
To close any line item of the PR |
EBAN |
FIXKZ |
Purchase Requisition is Fixed |
To update the line item as Fixed line item. |
Run Transaction MASS.
We need to know BO type for Purchase Requisition. If you do not know the BO number, use transaction SWO3 to search for appropriate BO from Business Object Repository.
In present case, BO number is 2105.
Press F8 to run transaction.
As shown above, system displays an information message notifying about update of multiple tables at the same time.
Accept the information and proceed. We see only one table is listed for this BO.
Tables that can be updated using MASS for given object are maintained in table MASSTAB. This table can be maintained using SM30 transaction.
In our case, we need not alter standard SAP customizing.
Now select table EBAN and press fields tab.
We see fields allowed for mass maintenance in the following screen.
We do not see the fields that are needed for current requirements listed in screen above. We can maintain the fields required for mass maintenance in table MASSFLDLST.
Go to SM30 transaction.
Maintain field’s data in MASSFLDLST table.
Save the changes we have made.
Now go back to MASS and repeat the entire procedure till selection of fields and press F8. We may find they even though some fields are maintained in step above, we do not see them in selection criteria list.
In such cases, check table MASSAPPEX to see which Function Module is used for limit fields and limit ‘selection of fields’ activity.
‘Limit selection fields’ restrict some fields to be removed from selection criteria and ‘limit fields’ allows certain fields to be removed from maintenance. We can attach our custom FM copied using existing SAP FM to further restrict some fields or remove restriction from some fields.
If everything is OK till this stage, we can press F8 in MASS and accept warning.
Next screen allows us to restrict our selection.
Select the Purchase Requisition number which is needed to modify.
This will display all the data maintained in the standard table ‘EBAN’.
Select all the required fields which we need to change here.
Update all the data fields which we need to update in the table and save the data.
Status of the operation will be shown after that as messages from update task. This log provides us with the details of errors occurred in any.
Expected Outcome:
For the above example of change on line items of a Purchase Requisition ‘0010000000, below data is updated in table EBAN.
All the Updated data is also shown in ME53N transaction:
In the above screen shot, item number 3 and 5 are fixed and the item 4 is set for deletion in purchase requisition.
Useful Customizing:
In table MASSFUNC we can maintain FM which is used for updating the data using MASS maintenance. This is useful if you need to create similar functionality for your custom business object.
For this first you need to create an entry in table MASSNAME for your custom BO.
Instead of maintaining each of above customizing table individually; you may use transaction MASSOBJ to complete all customizing. You would be able to find out application exit points and tables listed in this transaction. 🙂
Frequently Asked Questions:
1. Are there any customized variants for MASS transaction?
-
Some customized transactions (variation of MASS tool only) are provided by SAP for specific objects.
-
Below is list of some of these transactions.
Transaction |
Description |
MASS_EKKO |
PO mass maintenance |
MASS_MARC |
Logistic/Replenishment Mass Maintenance |
MASS_VENDOR |
Vendor Mass Maintenance |
MEMASSCONTRAC |
Mass Changing of Contracts |
MEMASSIN |
Mass-Changing of Purchase Info Record |
MEMASSPO |
Mass Change of Purchase Orders |
MEMASSRQ |
Mass-Changing of Purchase. Requisition |
MEMASSSA |
Mass Changing of Scheduling Agreements |
MMSC_MASS |
Maintain Storage Locations Coll. |
-
2. In which scenarios MASS maintenance using MASS framework is not recommended?
2.MASS update does not carry out explicit conversions and validations on data. So even though you can create new data using this tool, it should not be used as an alternative to LSMW to load new data into system.
3. If you need to delete or change records based on certain criteria and validations, you should develop an ABAP program rather than modifying the update FM used for respective business object.
3. Do all SAP application areas support MASS maintenance?
You can only use MASS tool in application that supports it.
Currently as per SAP documentation, only below applications support MASS maintenance.
Application |
Additional Information |
Appropriation request |
IM – Investment Management under Mass maintenance |
Material Master (Retail) |
LO – SAP Retail under Material master data |
Business Partner |
LO – Business partner master data |
Customer Master |
LO – Business partner master data |
G/L Accounts |
FI – General ledger accounting under G/L account master data |
Material Master ( Industry ) |
LO – Material master |
Profit Center |
C – Profit Center Accounting under Display/change profit center (Collective processing) |
Purchase Orders |
MM – Purchasing under Mass maintenance of purchase orders |
Purchase Requisitions |
MM – Purchasing under Mass maintenance of purchase requisitions |
Purchasing Information Record |
MM – Purchasing under Mass maintenance of info records |
Rental Units |
RE – Real estate management under Mass maintenance of rental units |
Sales Order |
SD – Sales and distribution under Sales order |
Vendor Master |
LO – Business partner master data |
Related Content
http://help.sap.com/SAPHELP_470/Helpdata/EN/d9/02dea320f2408385fa91ef7a0bb78a/frameset.htm
SAP documentation on MASS transaction on link above describes steps required to create new records using MASS. Various modes for transaction run are discussed here. It also describes usage of variants and usage of a formula to calculate new value of a field.
Copyright
© Copyright 2012 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Oracle Corporation.
JavaScript is a registered trademark of Oracle Corporation, used under license for technology invented and implemented by Netscape.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies (“SAP Group”) for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
in the messages for the update task you can see green messages ME664 telling you that "change for LOEKZ could not be effected".
Is this message right or wrong?
Hi,
The messages are right because for some line items in PR changes were not applied and for some line items deletion indicator was not set.
Hi Parag,
This document is very helpful.Thanks for sharing.
I have a little different kind of issue.
I am trying to change material group for a line item of contract order from MEMASSCONTRACT. In first attempt it gives me error 'Change for MATKL could not be effected' , But if we go back save the same data in second attempt , it is working fine.
I would like to know is there any possibility to supress the 664 error in first attempt itself.
it tried to check in debug mode, i am just wondering something can be done from configuration. Your reply would be grateful to me.
Thanks,
Pavani.
Hi Pavani,
I am happy to know that the document helped you.
Unfortunately I am currently working on an HR project and my system does not have data where I can replicate this. But based on the inputs your inputs I checked code.
Could you please explore further the method CREATE_FS_MAPS of CL_MFS_MM and find out from where it reads the field configuration details. I believe that it has something to do with field status configuration for MATKL field and if your field status is display only i.e. '*' it gives that message.
I reached this class from looking into code of FM MASS_CHANGE_CONTRACT using configuration of MASSOBJ for BO BUS2014.
Hi Parag,
Even we are trying to fix/check this at field configuration level.Will take help of the FMs you mentioned.Will update here once i get the solution.
Thank you
Pavani
Excellent Job............ 🙂
Best Regards
Mohsin Abbasi