Classic MRP Transactions:
SAP HANA optimization for classic MRP transactions like MD01, MD02, and MD07 only improves data selection from the database.
Previously, records were selected from the database one at a time, processed by an ABAP code, and saved to the internal table MDPSX. This internal table inspired the name of the business function LOG_PPH_MDPSX_READ.
MRP did not fully explore the SAP HANA parallelism with this logic, and performance could be improved with a change to the MRP design.
As a result, with the addition of the LOG PPH MDPSX READ business function, all of the logic for reading data from the database and saving it to the internal table MDPSX was redesigned. Instead of selecting and processing records one by one, the system now triggers the reading of all SAP HANA database tables at once. Then, in an ABAP code, all of the records selected from the database are processed to build the results for the internal table MDPSX.
This optimization is available in the transactions listed below:
MRP runs: MDBT, MD01, MD02, and MD03 MPS runs: MDBT, MD01, MD02, and MD03 MDBS, MD40, MD41, and MD42 are all medical terms.
Overview of stocks and requirements: MDC7, MD07, and MD04.
Long-Term Planning (transactions such as MS01 and MS04), order report (MD4C), pegged requirements (MD09), and interactive MRP (MD43) have not yet been optimised for SAP HANA and are still running with the old logic.
The overall transaction design has not changed; the only visible change for the user is the addition of a new flag to the MRP transactions to indicate that SAP HANA optimization is active for each transaction. As shown in Figure, we can see the flag on the MRP list (Transaction MD05).
When using the classic MRP transactions to run MRP on SAP HANA, keep the following limitations in mind:
Total necessities
SAP HANA MRP is incapable of handling total sales and dependent requirements. As a result, they must be completely removed before the business function can be used.
MRP inventory
When running MRP on classic transactions, the MRP list is still created; however, customer and dependent requirements are displayed in aggregate on the same day.
BAdIs are not referred to as
Some BAdIs that were previously called during postprocessing are no longer called because the logic for selecting records from the database and postprocessing them has changed. MD_CHANGE_MRP_DATA, which was used to manipulate data, is the most relevant BAdI that is no longer called.
MRP elements are generated during the MRP run. BAdIs MD_STOCK_TRANSFER and MD_ADAPT_DISTRIBUTION are no longer called.
If you have active implementations of these BAdIs, you can replace them with BAdI MD_ADD_ELEMENTS. After reading the MRP elements from the database and creating table MDPSX, this BAdI is invoked. As a result, it is still called and can be used when running MRP on traditional MRP transactions.