Some interesting improvements in BRFplus and SAP DSM
Recently, we have seen several new, very big SAP DSM and BRFplus business rule projects. Taking a closer look at those projects helps us learn about new usage patterns. Sometimes we are surprised by the creativity shown by some customers and partners. In some rare cases we hit limitations. All of this has happened in the past few months. In this blog I want to share some improvements that were introduced with help of SAP notes. I think those novelties could be of interest to the community.
Our support team has created several notes with improvements for the code generation in BRFplus and DSM. One of the generator’s new capabilities is that it can now generate multiple classes for a function/decision service. Thanks to this improvement there is no longer a problem with generation limits. As a consequence, you can now also create decision tables with tens of thousands of rows. However, I still recommend not doing this. Your rule design would probably be odd in such a case. A decision table should not replace a database table. 🙂
Another optimization took place for use cases where many smaller expressions are often reused. In the past, the generator has created redundant code for smaller expressions and only bigger expressions were put into separate methods. Now this algorithm is much more intelligent. In a customer scenario, we were able to reduce the lines of code by magnitudes. As a side effect, the time to generate the code was reduced from minutes to seconds.
- 2191058 – BRF+: Generation fails due to error
- 2196004 – DSM: Deployment fails due to code generation errors
- 2198952 – BRF+: Search tree generation issue
- 2157081 – Code generation fails due to huge size of code
- 2185426 – BRF+: Decision tree generation issue
HTML Supported in Expression Type E-Mail Action
A customer requested the creation of HTML e-mails with help of e-mail actions. This very same feature was also requested in the business rules forum. Today, I can announce that our support team made it possible. By default, the system creates a plain-text e-mail that looks like an exact copy of what you type into the Body entry field at design time. To use the HTML format with all kinds of HTML features, enter the following document type declaration as the first line in the Body field: <!DOCTYPE HTML>. With this declaration, the system no longer interprets the entire remainder of the mail content as plain text, but as an HTML document.
- 2158477 – Enhance Send E-mail Action to allow HTML format
A customer with a huge rule base asked us for help because saving and activating objects took too much time. We analyzed the use case in depth. To our surprise, the customer had already spotted the problem and made a modification in the system. Often, customer modifications in deep layers of our code are not a good idea because customers can’t really assess the impact. Frequently data inconsistency and crashes are the result of modifications. But this time it looked very interesting and the increase in performance was remarkable – a factor of 10 and more in this giant use case. So we took the code home and did some analysis and test runs with it. Finally, we made turned it into a note to be able to share it with everybody.
- 2199193 – BRF+: Performance improvement in BRF+ object activation
Thanks to all of the customers who help us improve the product. Sometimes you need a bit of patience. But be sure that we hear you. I want to express even more gratitude to those customers who give us tips or even provide solutions. This is absolutely awesome. It happens rarely but I am always amazed when it does. Please continue surprising me! 😆