International Editable SALV Day 2017 – Year Nine
Dear CL_SALV_TABLE Fans,
Welcome to February 8th, 2017 which is the ninth International Editable SALV Day. See below for a link to a blog I wrote to celebrate this day exactly one year ago:-
The gist of the problem is that the end users are no longer content to sit and stare at a report with love in their eyes, but rather want to interact with it, changing values and saving them to the database.
In other words as time has gone by the worlds of analytics and transaction have blurred together. No longer do you print out a report, use that to perform various transactions in SAP one by one, and then print out another report to see if you remembered to make all the changes you wanted.
This you can do with a report created using CL_ALV_GRID. This you cannot do with a report created using the “new improved replacement” i.e. CL_SALV_TABLE.
The business requirements almost always want the ability for grids to be editable, and as developers we want to use the newest technology – with CL_SALV_TABLE you also get the bonuse it creates the field catalogue for you.
There is a simple answer surely – since CL_SALV_TABLE is nothing more than a fancy wrapper for CL_ALV_GRID why can’t SAP just expose a little bit more of the underlying functionality of the class at the core? In the same way a subclass can do everything its parent class can do and more.
This day marks the 9th anniversary of James Hawthorne going cap in hand to SAP and suggesting maybe the CL_SALV_TABLE could be brought up to functional parity with the CL_GUI_ALV_GRID and have an option to be editable.
SAP told him to go and stand in the corner with a dunces cap on his head for even daring to suggest such a thing.
I also want the ability to be able to programmatically add icons to the command bar, like I can do with CL_ALV_GRID. You can do that sometimes, sort of, with CL_SALV_TABLE, but not in all situations.
The best workaround solution is to use the CL_SALV_TABLE for the one thing it is good at – creating the field catalogue, and then pass that field catalogue into a real instance of CL_GUI_ALV_GRID and then Bob is Your Uncle. It would be great if you did not have to do that, but there you go.
Anyway it is obvious this is never going to change, but that is no reason not to keep on and on about it like a broken record. The point is not even about the ALV GRID as such. The point is about thousands of SAP developers all begging SAP to give them something to make their lives easier and getting the finger in return, on the grounds that we don’t really know what we actually want.
These days SAP keeps talking about “design thinking” and “empathy” with the customers. Well in this case the product is the tools (like ALV classes) that SAP provide the customers (developers in this case). Empathy should be trying to put yourselves in the shoes of the developer and working out why so many people keep asking for something again and again, instead of unilaterally deciding the whole lot of them are a pack of fools who don’t know a good thing when they see it.
With that piece of vitriol out of the way let us turn to the argument that the whole thing is moot anyway, as we should no longer be using the SAP GUI because it is old fashioned / ugly.
This may well be so, but I bet a pound to a bucket of ferrets a lot of companies are still using the SAP GUI in a big way. With the advent of UI5 and S/4 HANA maybe slightly less every single year, but it will be a long time till the GUI bows out the door.
Based on my wide-ranging, in depth, asked everyone on the planet, research I have used my empathetic design thinking skills and determined what end users find easy and hard to enter data into. Ranging from easiest (1) to hardest (6) here is what they like:-
- Table Controls in the SAP GUI
- Any sort of standard Web Page (including UI5)
- ALV Grids
- Engraving the data into solid rock with a blunt chisel whilst having their innards torn out by a pack of ravenous wolves
- Web Dynpro
Since we have been told for years now to avoid “spreadsheet hell” the first one is out of the question, and it would be heresy to return to the days of table controls, no matter if people like them or not. The reason they (users) tend to like table controls by the way is because the cells are big (like Excel) and you can easily tell where the cursor is (like Excel) and you don’t have to blank out the existing content before entering new content (just like Excel).
So whilst we are traveling down the road to UI5 we are stuck with ALV grids for a fair old while – and they need to be editable.
In conclusion, on this day next year I will be publishing a blog celebrating the 10th annual International Editable SALV Day.
See you then!