Начиная с версии Netweaver 04 SAP предоставляет разработчикам новую модель для построения ALV таблиц. Новая модель описывается классами семейства CL_SALV*.
Основные преимущества новой модели:
- Благодаря проработанной объектно-ориентированной модели обеспечивается легкость программирования
- Данная модель позволяет с помощью одного единственного класса управлять всем макетом отчёта (настраивать фильтры, сортировки, форматы и пр.)
Главный недостаток данной модели:
- невозможность использования для ввода данных (скорее всего данное ограничение будет снято в будущем)
Основные классы используемые в новой модели:
- Обычная ALV таблица — CL_SALV_TABLE
- Таблица с иерархическим представлением — CL_SALV_HIERSEQU_TABLE
- Древовидное представление — CL_SALV_TREE
Все классы имеют статический (фабричный) метод, который по входящим данным создает экземпляр ALV объекта. Как правило в качестве входящих данных используется внутренняя таблица, по которой автоматически, без создания каталога полей (в старой модели и функциональной модели) строится ALV таблица.
Простейший пример создания ALV отчёта:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | REPORT ZALV_SIMPLE. DATA:       gt_data      TYPE spfli_tab,  " Таблица с данными       go_alv       TYPE REF TO cl_salv_table. START-OF-SELECTION.   SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_data.   " Фабричный метод возвращяет экзмепляр ALV объекта   TRY.       cl_salv_table=>factory(          IMPORTING            r_salv_table = go_alv          CHANGING            t_table = gt_data ).     CATCH cx_salv_msg .       MESSAGE 'Ошибка при создании ALV' TYPE 'E'.   ENDTRY.   " Отобразить ALV представление   go_alv->display( ). | 
Дерево SALV классов:

![ppt_img[1]](../../../wp-content/uploads/2012/02/ppt_img1.gif)