This is a test message to test the length of the message box.
Login
ABAP Quick Transport ALV variant
Created by Software-Heroes

ABAP Quick - Transport ALV variants

1406

In this small article we show you some tips regarding ALVs, variants and the distribution in the system.



ALV or SAP List Viewer is used for all possible outputs in the system and had long been established as the new standard according to the print lists. There are now many different methods for developing an ALV, all of which have their advantages and disadvantages.

 

Methods

Today there are still different methods to create an ALV, a brief overview sorted with the oldest technology first.

  • Function module REUSE_ALV_GRID_DISPLAY
  • Class CL_GUI_ALV_GRID
  • Class CL_SALV_TABLE

 

Why there are two classes in the system, you going to ask yourself? If you look at the older class CL_GUI_ALV_GRID, you will quickly find that refactoring is urgently needed here. With around 220 methods and over 25,000 lines of code, the class is huge, not really maintainable and confusing. The new class CL_SALV_TABLE is the revision of the old class according to modern OO principles.

A disadvantage of the new class is that it cannot be used to change data in the ALV. The classes offer pure display functionality. You should definitely master both class variants if you want to use it's full power.

 

Structure

Here is a small example of how to build and display an ALV directly with little code. In the first step we read the company codes, call up the factory, activate a few more settings and display the data on the screen. A separate dynpro is not necessary and the function bar is also included.

SELECT *
 FROM t001
 INTO TABLE @DATA(lt_companies).

cl_salv_table=>factory(
 IMPORTING r_salv_table = DATA(lo_alv)
 CHANGING t_table = lt_companies ).

DATA(lo_functions) = lo_alv->get_functions( ).
lo_functions->set_all( ).

DATA(lo_layout) = lo_alv->get_layout( ).
lo_layout->set_default( abap_true ).
lo_layout->set_key( VALUE #( report = sy-repid handle = '0001' ) ).
lo_layout->set_save_restriction( ).

lo_alv->display( ).

 

By configuring the functions and the layout handling you get the standard function bar, with which you can then change and save the layout of the ALV.

 

Transport of variants

To transport a variant, you first have to configure and create your variant in the system. You can do this using the last three buttons on the toolbar. After you have created the variant and are still in the display of your data, you can go to the menu under "Settings -> Layout -> Administration".

 

You will then receive an overview of the variants for the current ALV. Here you can choose the variant to be transported and use the menu point under "Layout -> Transport" to adopt the variant in an existing transport or create a new one.

 

You need a customizing transport in the system to carry out the recording. After this step the entry in the transport looks like this.

 

Conclusion

When it comes to displaying and changing data, many other technologies have now become established that are mostly independent of the SAP GUI. Webdynpro or SAP Fiori are based on web technologies, but in terms of speed of development they are unlikely to catch up with the classic list in the system as quickly. At least for the next few years, the ALV will remain an important component for the ABAP developer.


Included topics:
QuickALVTransport variants
Comments (0)



And further ...

Are you satisfied with the content of the article? We post new content in the ABAP area every Friday and irregularly in all other areas. Take a look at our tools and apps, we provide them free of charge.


ABAP in Practice - String Processing

Category - ABAP

In this practical example we look at the string processing to determine the CDS names in CamelCase and how you can implement this with ABAP.

10/15/2024

ABAP in Practice - Test Driven Development

Category - ABAP

How does TDD actually work in practice and are there simple examples for learning in ABAP? In this exercise we will look at the practical part.

09/24/2024

ABAP in Practice - Merge data sets

Category - ABAP

How do we merge two different data sets in ABAP, especially with regard to Modern ABAP? A practical task for this topic.

09/17/2024

ABAP in Practice - Modern ABAP

Category - ABAP

In this small task we look at existing classic ABAP source code and try to optimize it according to Modern ABAP.

08/27/2024

ABAP Quick - Performance Data Filtering

Category - ABAP

Which statement do you use in ABAP to filter internal tables and is it performant? Read more in this article.

08/13/2024