Application Development and Automation Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Michael_Keller1
SAP Champion
SAP Champion
2,589
Dear community, I recently saw a picture about information and knowledge on Twitter. I've reproduced the picture for demonstration.


information knowledge figure


It reminded me of something in particular. However, it took some time before I figured it out ... lists!

Lists per SAP List Viewer (ALV) are part of my daily work. Lists usually contain a large number of columns and a large amount of information in the associated cells. As an example, check database table EKKO (purchasing document header). It contains 159 columns. I have to know or find the connections (the knowledge) myself. Every time I call transaction SE16, I keep that in mind 🙂 Good to know some business processes and the relevant data.

As soon as you understand certain connections, you use them skillfully to answer questions. For example: Which purchase orders of a certain document type were created for purchasing organization 1000?

This brings up the topic "focusing" - that's important to me. Sometimes I spend a lot of time looking for a particular column and its contents. Many times I'm just confused by the sheer number of columns (scrolling to the right ... a little bit more scrolling ... and finally missed) or I look in the wrong column 😞

In such a situation, I find it useful to reduce information. Hide the unnecessary information (columns) and focus on the important information. Handy if everything fits on the screen.

You can do this by setting a layout. You can define the order of the columns, you can hide columns, define filter and more. Really useful. Even more, you can define layouts only for yourself or for all users of the ALV.


function keys to work with layouts


Here's a very simple example. Database table T006 (units of measurement) has 23 columns. Therefore my screenshot is very wide and cannot show any details.


T006 view in transaction SE16 with all columns


If you reduce the columns to the required columns, the screenshot becomes clear (just an example that's ok for me)


T006 view in transaction SE16 with defined columns


This possibility exists for a long time. I'm therefore surprised how many users don't know it or don't use it. Incidentally, I know the same situation from selection screen variants. Both are very helpful. Especially if you combine them in your own written applications 🙂

If you can choose a layout with the selection criteria on the selection screen, you can save it in a variant for later use. That's a good combination: You can define what you want to see by selection criteria and how to you want to see it by layout.

This allows you to quickly develop different views on a list. Views that allow quick answers to certain questions. That's it - I just wanted to remind of this possibility.

How can you do that in your own code? Fortunately, there are standard examples. For lists based on class CL_SALV_TABLE, check report SALV_DEMO_TABLE_LAYOUT. If you work with lists based on ALV with Integradted Data Access (ALV with IDA), please check report SALV_IDA_LAYOUT_LISTBOX_FS.

So far so old-school so good 😉 Have fun and use the standard to keep things simple.

 

Best regards, thanks for reading and please stay healthy

Michael

 


P.S.: Interested in a hand-picked round-up of the best ABAP development links every week? Check ABAP Weekly.

P.S.S.: Not tired of reading blogs? Check this blog by jan_petersen.

15 Comments
ged_hurst
Participant
hi Michael, always interesting and thought provoking. I never thought about knowledge as joined up information, but I do now.

Cheers

Ged
EnnoWulff
Active Contributor
Just had a talk with a colleague about the intention of using a report. It is good and helpful to provide all possible data in reach, because you don‘t know about the intention with what the user will start the report. On the other hand it means that the user needs to focus on her/ his intention and know about the facts (select the right values, filter specific columns and maybe use different sortimg, totals and sub totals).

example: there are often reports like „open orders“. They are usedul if you want to know about open orders. But why not provide a list for all orders? The user could restrict the data by selecting the right status.

a good way of reminding the user about which intentions he might have, is - as described - using the built-in layout functionality. I described a solution for an even more obvious way on my blog (in german): https://tricktresor.de/blog/grid-mit-variantenschnellzugriff-menue/

All saved layouts are displayed as a button with sub-menu. This is more natural for a user as she/ he can take action instead of selecting a layout. A small but meaningful difference IMHO.
Michael_Keller1
SAP Champion
SAP Champion
0 Kudos
Hi Ged, I also had to see the picture to recognize and understand this connection 🙂
Michael_Keller1
SAP Champion
SAP Champion
Hi Enno. "A small but meaningful difference" ... there is a company that makes a lot of money with it. They pay a lot of attention to the "small difference". What's the name of the company ... ah, got it ... Apple 🙂

Your contribution is a nice addition to my blog. By the way, I've already written a lot of "open orders reportings" 😉
ged_hurst
Participant

Saved layouts with a drop-down menu? That should be a standard SAP feature!

ged_hurst
Participant
I wonder if you could visualise wisdom as joined-up knowledge? Is this AI?
EnnoWulff
Active Contributor
Nobody listens to me... 😛
shais
Participant
A good idea.

 

In one of our solutions we've also extended the standard menu of ALV layout with:

Recently used

Favorites

ged_hurst
Participant
0 Kudos
Actually Enno, there is another massive idea lurking in your comment, which you are already aware of but I have only just realized: ALV reports are very static and only allow the user to look at the data in a very fixed way (even with different layouts). But if you could give the user the ability to look at the extracted data set in several different ways, this would be very useful: after all, this is why people extract the data to Excel. I know you could probably program it and the idea is being introduced in Fiori but it would be nice to have it in ALV out of the box. Maybe I am asking for magic, I don't know… 🙂
EnnoWulff
Active Contributor
0 Kudos
Hey ged.hurst , I am not sure if I know what you mean... What "idea introduced in Fiori" do you mean?
ged_hurst
Participant
0 Kudos
Hmm. I've just been trying to back up what I was saying. The only Fiori app I'm in any way familiar with at the moment is Custom Code Migration Project and this takes all the custom code checks generated in ATC against the S/4 Simplification List. It's a huge amount of data, but the Fiori app lets you look at it in many different (predefined) ways.

Wouldn't it be great if you could do the same with ALV? Do the data extract once and look in it several ways ?(more than just filtering and sorting)
EnnoWulff
Active Contributor
I don't know what these "many different ways" are... sorry. What else is possible in the app apart from sorting and filtering? As you say: If there are "predefined" views than these might be programmed. Can you provide an example?
ged_hurst
Participant
For the first time in years I went back to look at the ALV layout functionality and I have to say it is pretty good and gives me 75% of what I was thinking of. What I really had in mind is performing different logic on the extraction set and displaying the resulting data in possibly different ways. You can do this in a custom program using different ALV containers. For example, I remember reading this book which describes such a method: https://www.sap-press.com/design-patterns-in-object-oriented-abap_2018/ and building a prototype which allowed different ALV views in split containers. This for example allowed me to display ALV lists for sales orders from different sales organisations side-by-side. This was useful but hard to program. I think it's asking too much to build that level of sophistication into a standard framework.
EnnoWulff
Active Contributor
ok. now I think I know what you mean... There are some enhancements that could be implemented in every grid. Like auto sum where you can mark number cells and get displayed the sum of the cell values (Version 1 and Version 2). And there are some enhancements still need to be programmed because they need to behave different in different grids.

I do not know where I read this, but there was a blog/ programming (??) where you could drill down the data defined by the foreign key. I don't remember exactly. A similar functionality is programmed in transaction SE16H where you cann drill down "total lines".

Functions like "open detail in new window" requires a general framework that allows you to close one container or switch sides for example. this is not restricted on grids.

A try to simplifying the container management is my project guiDrasil. It's prorgamming but it shows how container management could be provided by a framework.
former_member3255
Discoverer
0 Kudos

Dear Shai Sinai,

Thanks for sharing this feature. Could you please help on how this is done.