Skip to Content
Author's profile photo Paul Hardy

International Editable SALV Day 2016

International Editable SALV Day 2016 – Year Eight

/wp-content/uploads/2016/02/image001_883153.png

Dear CL_SALV_TABLE Fans,

Welcome to February 8th, 2016 which is the eighth International Editable SALV Day. See below for a link to a blog I wrote to celebrate this day exactly one year ago:-

http://scn.sap.com/community/abap/blog/2015/02/08/international-editable-salv-day-2015

As you may know back in the year 2000 we were all encourage to “enjoy” SAP and the good old CL_GUI_ALV_GRID came along to replace function module REUSE_ALV_DISPLAY_GRID.

This was nice and object orientated, which we all love. ABAP People love OO programming so much that sixteen years on, some have even started to use it!

Anyway, what we liked about the CL_GUI_ALV_GRID was the fact that you could make some of the columns, or even individual cells, editable. This is what the end users were crying out for. SAP itself made a big song and dance about having a convergence between analytical applications and transactional applications.

That is, a business user did not just stare at the data and admire it, but could actually take action on the data they were looking at e.g. remove a billing block, or adjust the price.

Thus began a golden age. All the peoples of the world forgot their differences and at long last there was world peace, an end to sickness and suffering, and an increase in the average human lifespan to 206 years. As Rufus said “bowling averages were way up, mini-golf scores were way down”.

Then, a great disaster befell the universe. With the advent of 7.20 a new monster was created by SAP, named CL_SALV_TABLE and we were all told to bow down and worship this new beast.

It fooled us all with its sweet promises of dynamically generating the field catalogue based on an internal table, and we fell for it, writing many reports using this new class, and converting many an old report to use this bright new technology.

We laughed and sang and thought how wonderful we were. But as always, pride comes before a fall.

One day the business users came to us and said “what we most desire in the world is to have this or that column editable, and maybe a few cells here and there, based on certain logic”. They then stood there looking at us expectantly; after all we had always been able to do it before. Alas, lack – now we could not! We had been cast out of Heaven!

/wp-content/uploads/2016/02/image002_883181.png

How could SAP play such a cruel trick on us? Pretending a new technology was superior in every way to the last, and not mentioning a whacking great hole in the middle. This was all the more annoying since CL_SALV_TABLE is nothing more than a wrapper around CL_GUI_ALV_GRID, adding some features, and clearly subtracting others.

For many years the sky turned black, and a plague of frogs rained down upon the SAP developer community. Then several programmers took a leaf out of Twisted Sister’s book and declared “we’re not going to take this, we’re not going to take this, and we’re not going to take this, any more”.

Here is the article that started the rebellion, written by Naimesh Patel

http://zevolving.com/2008/12/salv-table-10-editable-salv-model-overcome-the-restriction-of-salv-model/

Since that point many people have joined the crusade, including my good self. There have been many approaches created as to how to get around this, get the benefits of the SALV and also make it editable. Here is the latest blog I wrote on the subject, building on the work of the others who went before me:-

http://scn.sap.com/community/abap/blog/2015/08/07/salv-and-pepper-editing-individual-columns-in-the-salv

Of course the best way around this problem would be for the powers that be at SAP to recognise that every single one of their customers desires this functionality. I wonder how far SAP would have got if they had said “we have embraced the internet age, with a wonderful suite of new UI5 apps. All of them will be read-only”.

This day marks the 8th anniversary of James Hawthorne going cap in hand to SAP and suggesting maybe the SALV could be brought up to parity with the CL_GUI_ALV_GRID and have an option to be editable.

http://scn.sap.com/thread/733872

SAP did in fact respond to this request. They said it was impossible, and just laughed and laughed and laughed. They are still laughing to this day, fit to burst. No-one in all eternity has ever laughed so loud and so long, with the exception of Jock McLaughing, the Laughing Scotsman, winner of the All Scotland Laughing Competition 2015.

We have to face the cold hard truth. It is never going to change. We have proved it is technically possible, not even that difficult, but all the powers that be do is look at our workarounds and then try to close them down.

Currently, the way around this problem is to:-

(a)  Use CL_GUI_ALV_GRID

(b)  Use one of the many workarounds you can find on the SCN as to how to make the CL_SALV_TABLE editable, though this is of course naughty

(c)  Take a hybrid approach. Use the CL_SALV_TABLE to generate the field catalogue dynamically, and then pass that field catalogue into CL_GUI_ALV_GRID. There have been some articles on the SCN about that also.

Here is an example of such an approach by ลukasz Pฤ™giel :-

http://scn.sap.com/community/abap/blog/2016/01/10/falv–fast-alv-grid-object

/wp-content/uploads/2016/02/image003_883182.jpg

In conclusion, next year I will be publishing a blog celebrating the 9th annual International Editable SALV Day. See you then!

Cheersy Cheers

Paul

Assigned Tags

      16 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Simone Milesi
      Simone Milesi

      -swipe out tears from too much laughing-

      Paul, wonderful piece for the ABAPers' Bible: you are the really elected one and your words are powerful like thunder and clear as water!

      Author's profile photo Former Member
      Former Member

      Made-my-Monday ๐Ÿ˜‰

      Author's profile photo Steffi Warnecke
      Steffi Warnecke

      I really liked the blog, your writing style is great and absolutly funny!

      And I can never resist a Rufus quote. ๐Ÿ˜Ž

      Author's profile photo Michael Fritz
      Michael Fritz

      So, I wish you all a happy and pleasant SALV day ๐Ÿ™‚

      Guess we will still met the next years on such a sunny day and discuss the very same topic again and again. In the meantime SAP will take all efforts to hinder our current work arounds

      Would be much more easier for SAP guys to finally implement an editable grid instead of putting any ressources into building traps or other means of handicaps into their own product.

      Happy day!

      Michael

      Author's profile photo Former Member
      Former Member

      And the saddest thing is that editable ALV isn't officially supported even in CL_GUI_ALV_GRID, as described in note 695910 - "ALV Grid: Grid that can be edited and unreleased methods".

      http://www.pastorinpajamas.com/wp-content/uploads/2014/03/shock.jpg

      (I cannot express my shock in words).

      When I opened recently a SAP incident regarding a bug in editable ALV (Something related to parameter E_COMM in event DATA_CHANGED), it was categorized as consulting issue (or as the responsible manager of SAP GUI area states: "I can only recommend you to hire a consultant who can review your whole code and the issue")...

      Author's profile photo Volker Wegert
      Volker Wegert

      Small typo: That should have been note 695910. But check the date - that note exists since 2004...

      Author's profile photo Former Member
      Former Member

      Correct.

      That's (one of) the reason(s) I was amazed.

      Author's profile photo Tom Van Doorslaer
      Tom Van Doorslaer

      Now, obviously, you could also stop making gui-based ALV reports, and go for WebDynpro reports, with tables (no, no WDA SALV, that stuff is nasty) and add your editing logic.

      Every attribute of every element, of every node, has several properties among which: "readonly"

      Link that to the readonly property of the cell-editor and voila....

      But that's assuming ofcourse that 10+ years after the introduction of WebDynpro, SAP Professionals are already using this brave new technology...

      ๐Ÿ™‚

      Cheers Paul

      I love your crusade, but it's rather pointless to make your DOS based system show draggable windows, when you could just upgrade to Windows 10 (or Mac if you want)

      Author's profile photo Simone Milesi
      Simone Milesi

      Tom Van Doorslaer

      i do not see your point about switching from ALV to WebDynpros.

      You think EVERY scenario is suitable for WebDynpros?

      I do not think so, at all!

      Try to imagine an end user, working on his VA0x, VL0xN and then, instead of opening a new mode to run the classical ALV report, has to connect to some webdynpros via the browser.

      It's not easy or simple, since you have to keep switching here and there.

      KISS principles are thrown out the window imho.

      From user POV, keeping all on the same technology is great and easier.

      Really, could you explain your point better? ๐Ÿ™‚

      Author's profile photo Tom Van Doorslaer
      Tom Van Doorslaer

      Hi Simone,

      Yes, I believe EVERY scenario is suitable for Webdynpro as opposed to SAPGui.

      SAP business client is able to integrate SAPGui with Webdynpro's so you don't have to change windows. You can stick to tabs and use OBN.

      You can even stay within the same tab by using sidepanels.

      Heck you don't even have to use VA0x because there are webdynpro versions of that.

      Now obviously not every customer has the Business client.

      Well, have you already propsed it, or tried convincing them?

      And even if they don't, and they really want to work in the Gui, fine. Make a transaction wrapper around the WebDynpro. I've done that often enough. And you know what happened?

      Business users and managers alike came back and said: "hey, this new report/cockpit/transaction is much better than what we already know. Why haven't we been doing things like that before?" (true story x 4)

      And after a couple of cockpits done that way, I managed to convince them to go for the SAP Business Client.

      It's an SAP professional's duty to also educate customers about the fact that there are new technologies out there, that are far superior to what they have today. By not doing so, you allow customers to stick with the old stuff, get in trouble, think of workarounds and keep going in circles. What is even worse, you won't create an environment where you, as an SAP professional, can upgrade your own skills and continue evolving.

      Now obviously, UI5 is already a newer technology, but let's first start to walk before we attempt an obstacle course. (also for the customer's sake)

      one more thing:

      From user POV, keeping all on the same technology is great and easier.

      Condemning your users to keep on working with a 30 year old user interface, about which they have been complaining for the past 25 years, is not my idea of user-centric thinking.

      Author's profile photo Simone Milesi
      Simone Milesi

      Now obviously not every customer has the Business client.

      Well, have you already propsed it, or tried convincing them?

      Yes and the answer was: are you kidding me? ๐Ÿ˜€

      It's an SAP professional's duty to also educate customers about the fact that there are new technologies out there, that are far superior to what they have today.

      True but also false (maybe should open under Coffee Corner the right thread ๐Ÿ™‚ ).

      A quick example: HANA is AGES better than 7.31 i'm current working on. I'm sure it is.

      And i can "educate" the users and the businness about it.

      But it's objectively not worth the expense right now.

      As well using ABAP 7.5 instead of previous releases.

      But again, it's worth the price?

      What is even worse, you won't create an environment where you, as an SAP professional, can upgrade your own skills and continue evolving.

      Are You looking at your interest or your company's one? ๐Ÿ™‚

      I would love to work on HANA, my company could not afford it (or better, my company would not gain so much from the upgrade for the price required).

      As professional, i can say "stick with your current release" since it covers every single need pretty well.

      Even if i feel professionally castrated.

      I can agree with you on some points but still, reading your answer all my mind is getting is "Why do you use that slow and ugly truck instead of a shiny Lamborghini?".

      Note! No offence intended, ever! Just different points of view i guess.

      Author's profile photo Tom Van Doorslaer
      Tom Van Doorslaer

      Professional discussion ๐Ÿ˜‰

      And yes, I agree, wrong thread, my bad for that. But I can't help continuing the conversation.

      I can understand that an investment towards HANA does not compare to the benefits if the organization isn't suffering any issues that would be resolved with HANA.

      There is ofcourse the argument of missed opportunity, but that's hard to quantify and put into a business case. (Different discussion again. Been there, done that, have a closet full of t-shirts)

      But building a Webdynpro as opposed to a GUI application is not quite as impactful as a goto HANA. Nor is it as expensive. It might be a bit more expensive than the classic GUI report in the initial phase, when you're still learning the ins and outs of WDA, but it will soon pay off. Today, I can build that fancy WDA report faster than I can build the GUI report. (also because my screen painter skills are getting rusty. Deliberately so)

      As for the Business Client: I've had multiple customers with the same reaction. But why do they have that reaction? Often because of not knowing what the impact of the business client is.

      - Roll-out: same as a roll-out of a SAPGUI, or any desktop application. Nothing horrible there

      - We'll have to redesign our roles and authorizations: Wrong. That's a myth. You can leave them untouched.

      - End-users won't understand the new client and need training: Wrong, cause it still runs the GUI inside (just with extra integration for web-based apps). So it's fully transparent

      - it's slow: Wrong. It still uses the SAPGui, so it's equally fast, or slow, as it used to be

      - not everything works the same way: wrong: It's still the gui, so it's still the same. (until you start replacing old transaction with webdynpro versions obviously. And that requires testing anyway)

      - I can go on like this for a bit more.

      Point is that many customers have no understanding of the Business client at all, because they never had any SAP professional explaining it.

      enough about the business client for a second.

      You raised an interesting statement:

      "Are You looking at your interest or your company's one? ๐Ÿ™‚ "

      My interest is my customers interest and vice versa, because I will always strive for the best possible and feasible solution for my customer. I can only be succesful if my customer is succesfull, and my customer can only be succesful, if the people working for the customer are succesful.

      But that's very philosophical

      Sorry Paul for hijacking this thread ๐Ÿ™‚

      Author's profile photo Michael Fritz
      Michael Fritz

      You can't do everything with Webdynpro. Especially when 99.9% of your (SAP-)transactions and Z-reports are running in standard GUI and for that 0.1% you should force your customers to work with a different, let's say GUI.

      OTH Webdynpro depends on fast client PCs wheres SAP GUI runs on older hardware, too.

      Moreover you have to deal with different web browser versions, too, and not every company is up to date and maybe has different preferences which browsers to use.

      So arguing Webdynpro will cure this issue in ALV is rather pointless here.

      Author's profile photo Paul Hardy
      Paul Hardy
      Blog Post Author

      I am really just trying to make the SALV editable because a lot of people (developers as opposed to end users) have asked for this functionality for a very long time. I also like doing "impossible" things and like doing things that SAP tell me not to do even more.

      In regard to different technologies - DOS, SAP GUI, WDA, UI5 - we have used SAP GUI for 99.9% of transactions for 16 years now, and attempts to introduced WDA or indeed the Business Client have not got very far. The WDA applications we have are all ESS/MSS based and I think they look hideous and run like a dead dog with no legs, but everyone will say "Oh that's just your hardware" though every other website runs fine, as do the UI5 applications I am trialling.

      If someone has been complaining about a user interface for 25 years, and you give them something that looks almost identical but runs slower, I can't see how that changes the situation. I would like to quote Graham Robinson here when he was giving a speech "Do you know how bad it looks? It looks a bad as Web Dynpro. This really - it's that bad".

      I think comparing ALV in GUI with WDA is not like comparing a slow ugly tuck with a Lamborghini but rather comparing a slow and ugly truck with another slow and ugly truck, the second one with its windscreen smashed and all four tyres let down.

      As mentioned it is hard to get acceptance of any new technology, even great ones like WDA. We have a new guy trying to champion the NWBC so I shall see how that goes.

      Thus far people just reject anything new e.g. when giving someone an editable ALV grid rather than a DYNPRO table control, many years ago, they moaned because the squares were smaller, and when entering a value in a field you had to do more button clicks, to blank out an existing value (like 0.0) before entering your value.

      The funny thing is I have encountered huge resistance to every new SAP UI technology - which the exception of UI5.

      From what I hear in the focus groups, a lot of companies in Australia are jumping into UI5 with both feet, I went into the Commonwealth Bank in a one horse town the other day, and saw a UI5 application running on a tablet pinned to the wall for customer use.

      I reckon my company will have people using UI5 as their preferred user interface in a few years - so no more need for editable SALV any more, nt that this will stop me posting an "international editable SALV day" blog each year, just to be a pain in SAPs' side.

      Cheersy Cheers

      Paul

      Author's profile photo Former Member
      Former Member

      One of the best posts I have ever read on SCN!

      Keep it up!!

      Author's profile photo Joachim Rees
      Joachim Rees

      A sad toppic, but a very fun read!

      Thank you very much!