BRFplus vs the Whirling Circle of Death
This story has a happy ending….
I have been playing around with BRFplus now, for many years, ever since a spent one winter reading the SAP Press book on the subject every work lunchtime, when I was in the beer garden around the corner from the office in Heidelberg.
I have used it in my day to day job for various things, and wrote a chapter on the subject in my own SAP Press book. In the course of all this I used the BRF workbench in version 7.02, 7.31 and 7.40 of ABAP.
In every case I found the performance of the workbench to be appalling. I would spend half the time staring at the whirling circle on the screen, which appeared every time I did a drop down, or pressed enter, any sort of round trip. As for both decision tables and decision trees entering every single value takes about a million button presses this was, as can be imagined, torture, or as I had to endure one million whirling circles for every branch of the decision tree.
Well, times move on, and at the moment I am writing the second edition of my book and this time I have a 7.50 system to play with. That makes me a very happy bunny, but when the time came to once again turn to BRF+ I thought to myself “my new system is a test system, it is physically in Singapore”. I am in Sydney and all my previous systems had been physically in Melbourne. I had worried the extra latency would make matters even worse.
Anyway, before I got going, I emailed the inventor of BRF+, Carsten Zeigler, and asked him had much changed between 7.40 and 7.50. He said that most improvements these days were going into the add-on product DSM, makes sense to me, SAP has to make money after all, and that would explain why the appearance of the screens had not changed between 7.40 and 7.50, when they had changed vastly between 7.02 and 7.40, but for the core BRF+ product that there was a corker of an OSS note that could vastly improve performance all over the shop.
This is OSS Note 2280740. I downloaded it, it had a syntax error, since I now had a direct line to SAP a new version of the note came out within 24 hours, I downloaded that and all was well.
I can now report that all my whirling circle woes are gone. You still have to press a lot of buttons, that will change in the future I am assured, but at least I do not have to watch my good old mate the circle whirling away all day. I don’t see it at all now, once the very first time the program compiles, and never again. And this is with the extra latency.
So, this is wonderful news. Previously whenever I had tried to demonstrate this to anybody (the big delay) the little man inside the computer figured out what I was up to and sped up the application whilst I was screen sharing or trying to do a ScreenCam, and then slowed it back down when I was on my own again. The little men inside the computer are like that, I have the same situation at work, if someone calls me over, whatever is broken fixes itself for the duration I am staring at the screen, and the problem re-occurs when I walk off.
Once I solved the problem by turning my back on the screen and shouting “I’m not looking, I’m not looking!” while an accomplice recorded a video on their phone of what the user was doing. That technique worked, the problem occurred of course under those laboratory conditions.
Anyway, moving back to the previous poor performance of BRF+ that bad performance had given me a rather skewed negative view of Web Dynpro applications. The only two I ever used were BRF+ and the leave request, and both were very “circly”.
And whatever happened to the hourglass anyway? What did it ever do to be consigned to the dustbin of history? I bet it is lying in a gutter somewhere, drinking meths, and complaining about the injustice of it all.
Anyway, it can’t be Web Dynpro that was the problem, as now the BRF+ performance is fine. I still think Web Dynpro looks hideous, worse than the SAP GUI if that’s possible, but that is by the by.
So, the moral of the story is, if you use BRF+, and have a 7.31 system or higher, apply the good old note 2280740 and see what happens. It changes about one billion classes and methods (the ones that start with FDT (Funky Decision Tool, the original name for BRF+)) all for the better.
So I told Cartsen that the note worked and he said great, could I write a blog about the improvements I had encountered. This has been it, though I imagine he may be somewhat puzzled by the rambling, incoherent, nature of it….