Текущее время: Пт, июл 18 2025, 20:28

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Программно поменять вариант в SALV_WD_TABLE
СообщениеДобавлено: Пн, янв 27 2014, 09:07 
Начинающий
Начинающий

Зарегистрирован:
Пн, янв 27 2014, 08:56
Сообщения: 2
Добрый день!

Делаю отчет (вывод в SALV_WD_TABLE) в Web Dynpro. В зависимости от одного из параметров выбора нужно выводить или один набор столбцов, или другой.
Хотел бы настроить два варианта, а затем в зависимости от параметра в момент построения отчета программно вызывать тот или другой вариант.
Подскажите, возможно ли менять вариант прямо в момент работы, и как сделать?

Пробовал ->wd_get_api( ), затем ->get_personalization_manager( ), затем set_default_variant.
Видимо, это не то.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программно поменять вариант в SALV_WD_TABLE
СообщениеДобавлено: Ср, фев 05 2014, 15:38 
Ассистент
Ассистент

Зарегистрирован:
Чт, мар 11 2010, 18:35
Сообщения: 33
Для одного поля выглядит здесь, или здесь:
Для многих полей - выбираем весь список полей и применяем, те значения в варианте.

Code:
1.   method on_std_function_afte.   
2.    
3.       data lo_alv_ifc      type ref to iwci_salv_wd_table.   
4.       data ls_config_in  type if_salv_wd_table=>s_type_param_config_in.   
5.       data ls_config_out type if_salv_wd_table=>s_type_param_config_out.   
6.       data lo_model        type ref to cl_salv_wd_config_table.   
7.       data lo_field          type ref to cl_salv_wd_field.   
8.    
9.     * Get the ALV interface controller   
10.       lo_alv_ifc = wd_this->wd_cpifc_alv_table( ).   
11.    
12.       case r_param->id.   
13.     *    Handle selection of an ALV view variant   
14.           when if_salv_wd_c_std_functions=>view_load " select view from view dropdown   
15.               or if_salv_wd_c_std_functions=>settings.    " select view from settings > ok/apply   
16.    
17.     *        Determine what ALV view variant is currently selected   
18.               ls_config_in-action = if_salv_wd_table=>actual.   
19.               ls_config_out = lo_alv_ifc->get_config_data( ls_config_in ).   
20.    
21.     *        Process each ALV view variant as needed   
22.               case ls_config_out-view-description.   
23.                   when 'MY_ALV_VIEW_VARIANT'.   
24.     *                Fetch the field we will be creating a filter for   
25.                       lo_model = lo_alv_ifc->get_model( ).   
26.                       lo_field = lo_model->if_salv_wd_field_settings~get_field( 'FIELD_NAME' ).   
27.    
28.     *                Remove prior filter rules on the field   
29.                       if lo_field->if_salv_wd_filter~t_filter[] is not initial.   
30.                           lo_field->if_salv_wd_filter~delete_filter_rules( ).   
31.                       endif.   
32.    
33.     *                Set new filter rule on the field   
34.                       lo_field->if_salv_wd_filter~create_filter_rule(   
35.                           operator    = 'BT'   
36.                           low_value  = low_date_value   
37.                           high_value = high_date_value ).   
38.    
39.                   when others. " other view variants   
40.    
41.               endcase. " view variant   
42.    
43.           when others. " other standard functions   
44.    
45.       endcase. " ALV standard function   
46.    
47.   endmethod.


Последний раз редактировалось Helper Чт, фев 06 2014, 09:25, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программно поменять вариант в SALV_WD_TABLE
СообщениеДобавлено: Ср, фев 05 2014, 19:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Helper, для оформления кода используйте соответствующий тег Code, пожалуйста.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB