MSEG Extension - Redesign MB51/MB5B Performance optimizationMatthias Stegmueller, SAP AGDeveloperMaterials Management Inventory ManagementInstalled Base Maintenance & Support SCM1July 21st, 2011
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 2
Agenda
The Issue and its Business Impact
Goal of the implementation
Redesign
Action Plan
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 3
The Issue and its Business Impact
Issue: Long runtime of transaction MB51 / MB5B
Example: Transaction MB51 runs for a long time and sometimes terminates with the runtime error "TIME_OUT".
Reason and Prerequisites:
There is an extremely large number of MM documents in your system.
The SELECT JOIN statement on the header and item table is very demanding
on system performance due to large volumes of data.
Business Impact:
It takes a long time to get the list of material documents. Sometimes the transaction gets aborted.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 4
Goal of the implementation
Goal:
- Increase performance
- Decrease runtime of the report
- Avoid short dumps
- Increase user satisfaction
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 5
Redesign - Overview
- Fields from MKPF (like posting date, user name, etc.) are added to table MSEG
- The fields from MKPF are held redundantly in the table MSEG
- This technique enables large gains for the performance of all applications that read material documents
- Note correction ensures that the new fields of the table MSEG are updated in the same way as the fields in the table MKPF by each goods movement
A conversion tool is provided to fill the existing document items in the MSEG table with the fields from MKPF.
- Notes for MB51 & MB5B are being provided
- FAQ Note available
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 6
Redesign - Overview
Relevant notes:
1516684 MKPF fields added to MSEG - Performance optimization
1550000 MB51: Redesign of selection for performance optimization
1558298 MB5B: Redesign of selection to optimize performance
1567602 DB dependent steps to support the redesign of MB51
1598760 FAQ: MSEG Enhancement & Redesign MB51/MB5B
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 7
Action plan
1. Enhance the table MSEG by fields from table MKPF
2. Implement correction instruction of note 1516684 to ensure update of new fields of table MSEG
3. Implement report ZMST_FILL_MSEG_FROM_MKPF from note 1516684
4. Perform data conversion using report ZMST_FILL_MSEG_FROM_MKPF to update existing
MSEG records according to the values in MKPF as explained in longtext of note 1516684
5. Apply note 1550000 for coding change in MB51, Note 1558298 for MB5B
6. Apply manual steps of note 1550000 including creation of new DB indexes -> see note 1567602
for details about the indexes to be created
NOTE: The process steps are very detailed explained in the long text of notes 1516684 and 1550000 See FAQ Note 1598760 for questions
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 8
Action plan for higher Support Packages
1. Enhance the table MSEG by fields from table MKPF (already inSP)
2. Implement correction instruction of note 1516684 to ensure update of new fields of table MSEG
(already inSP)
3. Implement report ZMST_FILL_MSEG_FROM_MKPF from note 1516684
4. Perform data conversion using report ZMST_FILL_MSEG_FROM_MKPF to update existing
MSEG records according to the values in MKPF as explained in longtext of note 1516684
5. Apply note 1550000 for coding change in MB51, Note 1558298 for MB5B (already inSP)
6. Apply manual steps of note 1550000 including creation of new DB indexes -> see note
1567602 for details about the indexes to be created
For customers on a support package greater or equal to SAPKH60021, SAPKH60211, SAPKH60310, SAPKH60411, SAPKH60507 orSAPKH60602 only the actions 3, 4 & 6 are necessary! The other actionswere already shipped via the support package delivery.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 9
Action plan detailled steps
1.wEnhance the table MSEG by fields from table MKPF
MBLNR MJAHR . VGART_MKPF BUDAT_MKPF CPUDT_MKPF CPUTM_MKPF USNAM_MKPF XBLNR_MKPF TCODE2_MKPF
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 10
Action plan detailled steps
2.wImplement correction instruction of note 1516684 to ensure update of new fields of table MSEG
The following code change ensures that the new fields in MSEG will be updated by each goods movement:
Include MM07MFM0_M_SEGMENTE_ERGAENZEN
FORM M-SEGMENTE_ERGAENZEN
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 11
Action plan detailled steps
3.wImplement report ZMST_FILL_MSEG_FROM_MKPF from note 1516684
The conversion report ZMST_FILL_MSEG_FROM_MKPF is attached to note 1516684. You can find it under attachments. Please apply it in your system landscape.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 12
Action plan detailled steps
MKPF
VGART
BUDAT
CPUDT
CPUTM
USNAM
XBLNR
TCODE2
MSEG
VGART_MKPF
BUDAT_MKPF
CPUDT_MKPF
CPUTM_MKPF
USNAM_MKPF
XBLNR_MKPF
TCODE2_MKPF
4.Execute report ZMST_FILL_MSEG_FROM_MKPF to perform the data conversion. This will update existing MSEG records according to the values in MKPF as explained in the longtext of note 1516684
DATA COPY
A temporary index can be created in order to decrease the runtime of the conversion report:
MSEG~TMP: MANDT, BUDAT_MKPF, MJAHR, MBLNROnce the conversion is done, the index can be deleted.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 13
Report: ZMST_FILL_MSEG_FROM_MKPF
Process material documents:
This will update the new fields of the material document items (MSEG) with the values in the material document header (MKPF)
Recommendation: Choose block size 1.000.000. As Number of runs per block size you may choose the amount of millions MSEG entries you have in the system. For instance if you have 49.334.233 MSEG entries you choose 50. You could also schedule the tool per material document year (Year) for instance.
If you have many MM documents in table MSEG, it makes sense to plan several parallel background jobs, e.g. for different set of plants, movement type and document years.
Please run this in background task. This can also be executed during your usual runtime.
Show documents to be converted and Show number of converted documents:
This function can be used in case you want to check how many documents are already processed and how the status of the overall conversion is.
Set conversion complete:
This sets a client depended status that the conversion was completed. The reports will later on check whether the conversion was done completely before reading from the new fields of MSEG. Till this status was not set, the reports will work with the old logic!
Regenerate MB51:
This is necessary to activate the redesign in MB51. This will regenerate the generated include RM07DOCS and switches to the new selection logic.
The conversion report is used only once, per each client in your system. Its execution will fill in the newly created fields of all existing MSEG records. Afterwards, new goods movements will be posted properly with the new MSEG structure as explained in step 2.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 14
Action plan detailled steps
5.wApply note 1550000 for coding change in MB51 & note 1558298 for MB5B
ATTENTION:
In case you only apply the notes, nothing will happen!
The reports check, whether the conversion of MSEG was done. Report ZMST_FILL_MSEG_FROM_MKPF can set this status (see point 4.) The reports will work with the old logic (i.e. reading data from MKPF) until the new status is set and the conversion done.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 15
Action plan detailled steps
6.wApply manual steps of note 1550000 including creation of new DB indexes -> see note 1567602
for details about the indexes to be created
1. The following new indexes must be created:
MSEG~BUD: MANDT, BUDAT_MKPF, MATNR, WERKS, LGORT, BWART, SOBKZ MSEG~M1: MANDT, WERKS, BUDAT_MKPF, MATNR, LGORT, BWART, SOBKZ MSEG~M2: MANDT, MATNR, BUDAT_MKPF, WERKS, LGORT, BWART, SOBKZYou may add your customer-specific indexes as needed to increase the performance individually
2. Customizing for MB51 should be adjusted to get the optimum benefit
-> see next slide
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 16
Action plan detailled steps
Customizing for optimal performance increasement for transaction MB51We recommend including only the following fields from MKPF in the Customizing table MMIM_REP_CUST: (SPRO -> Materials Management -> Inventory Management and Physical Inventory -> Reporting -> Define Field Selection for Material Document List):
MBLNR, MJAHR, VGART, BUDAT, CPUDT, CPUTM, USNAM, XBLNR and TCODE2
The inclusion of other fields from MKPF may actually decrease the performance. Gains are not as good as when you restrict your selection to the MKPF fields listed above.
You cannot include the new MSEG fields (such as BUDAT_MKPF) in Customizing. As before, these are mapped using the standard fields MKPF-BUDAT. Therefore, leave MKPF-BUDAT within the Customizing table MMIM_REP_CUST.
There is no restriction on the MSEG fields. They can be chosen as SELECT and OUTPUT fields without negative impact on performance.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 17
Example: Customizing without benefit
Here, the field MKPF-BKTXT is chosen as SELECT parameter. Since BKTXT was not duplicated into MSEG, the old MSEG/MKPF Join logic must be used and there is no benefit from the redesign.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 18
Example: Customizing with improvement potential
Here, the fields MKPF-BKTXT and MKPF-XABLN are both chosen as OUTPUTparameters. Since BKTXT and XABLN were not duplicated into MSEG, theold MSEG/MKPF Join logic is used. However in this case, there is a benefit from the redesign as the WHERE Condition (SELECT fields) is only being done on MSEG fields.
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 19
Example: Optimal Customizing
The optimal customizing includes only the copied fields from MKPF in output and selection of report MB51!
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 20
Any further questions?
Please refer to the FAQ Note 1598760 !
Thank You!
2011 SAP AG. All rights reserved. MSEG Extension - Redesign MB51/MB5B Performance optimization SAP contact: Matthias Stegmller 22
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 and Java are registered trademarks of Oracle and/or its affiliates.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.
2011 SAP AG. All rights reserved.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, 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 Software Ltd. Business Objects is an SAP company.
Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase 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.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.
Top Related