Текущее время: Вс, авг 03 2025, 23:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Выделение ячейки цветом в динамически созданной таблице
СообщениеДобавлено: Пн, июн 09 2008, 11:06 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 15 2008, 10:12
Сообщения: 9
Пол: Мужской
Создал с помощью field catalog динамическую ALV (класс CL_SALV_TABLE). В ней необходимо выделять ячейки цветом. Для этого надо в field catalog до создания таблицы внести структуру типа LVC_S_SCOL. Вопрос как это сделать? Или можно это сделать каким-нибудь другим образом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 09 2008, 11:10 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
До создания динамической таблицы проаппендь нужное поле типа LVC_S_SCOL в каталог полей.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 09 2008, 11:16 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 15 2008, 10:12
Сообщения: 9
Пол: Мужской
Так у меня вопрос: LVC_S_SCOL это структура, как ее добавить в каталог полей.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 09 2008, 12:24 
Президент
Президент
Аватара пользователя

Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш
Насколько я помню, надо не структуру аппендить в field catalog, а таблицу типа LVC_T_SCOL прописать, как одно из полей структуры данных, а потом прописать её, как таблицу данных о цвете. И в этой таблице должно быть столько строк (в каждой строке таблицы данных), сколько полей отображается в ALV.

_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 09 2008, 12:26 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
max1310 написал:
Так у меня вопрос: LVC_S_SCOL это структура, как ее добавить в каталог полей.
У Вас непраильный мёд, т.е. неправильный вопрос.
Насколько помню: В создаваемой таблице должно быть поле с типом LVC_T_SCOL - таблица раскраски для ячеек строки. Исходя из этого и надо формировать каталог полей.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 09 2008, 12:31 
Президент
Президент
Аватара пользователя

Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш
Смотрите Package SLIS в SE80. Там куча программ, есть и ваш пример

_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 09 2008, 12:31 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
В общем так: для динамического создания придется создать Z-структурку с одним полем типа LVC_T_SCOL (в моем случае ZCOLOR-COLOR).
Code:
DATA: DYNTAB    TYPE STANDARD TABLE OF DNTAB,
      WA_DYNTAB TYPE DNTAB,
      DREF     TYPE REF TO DATA.
DATA: I_FCAT        TYPE LVC_T_FCAT,
      WA_FCAT       TYPE LVC_S_FCAT.

FIELD-SYMBOLS: <NEWTAB> TYPE TABLE.

START-OF-SELECTION.
  CALL FUNCTION 'NAMETAB_GET'
    EXPORTING
      LANGU   = SY-LANGU
      TABNAME = 'SFLIGHT'
    TABLES
      NAMETAB = DYNTAB.

  LOOP AT DYNTAB INTO WA_DYNTAB.
    WA_FCAT-FIELDNAME = WA_DYNTAB-FIELDNAME.
    WA_FCAT-REF_FIELD = WA_DYNTAB-FIELDNAME.
    WA_FCAT-REF_TABLE = WA_DYNTAB-TABNAME.
    APPEND WA_FCAT TO I_FCAT .
  ENDLOOP.

  WA_FCAT-FIELDNAME = 'COLOR'.
  WA_FCAT-REF_FIELD = 'COLOR'.
  WA_FCAT-REF_TABLE = 'ZCOLOR'.
  APPEND WA_FCAT TO I_FCAT.

  CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
    EXPORTING
      IT_FIELDCATALOG = I_FCAT
    IMPORTING
      EP_TABLE        = DREF.
  ASSIGN  DREF->* TO <NEWTAB>.

  SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF TABLE <NEWTAB>.

Одно но, добавить то оно добавилось. Но ALV падает... В общем удачи разобраться. Если получиться - отпишиь здесь о ходе выполненной работы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 10 2008, 12:31 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 15 2008, 10:12
Сообщения: 9
Пол: Мужской
Спасибо, разобрался.
Формирую каталог полей и добавляю в него.
WA_FCAT-FIELDNAME = 'COLOR'.
WA_FCAT-REF_FIELD = 'COLOR'.
WA_FCAT-REF_TABLE = 'ZCOLOR'.
APPEND WA_FCAT TO IT_FCAT.
где ZCOLOR-имя структуры, а COLOR поле структуры с типом LVC_S_SCOL

Далее вызываю метод.
call method cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fcat
IMPORTING
ep_table = ty_table.

assign ty_table->* to <it_tab>.

Далее заполняю таблицу <it_tab> данным.
После заполнения вызываю.
CALL METHOD CL_SALV_TABLE=>FACTORY
IMPORTING
R_SALV_TABLE = gr_alv
CHANGING
T_TABLE = <it_tab>
.
gr_columns = gr_alv->get_columns( ).
gr_columns->set_color_column( value = 'COLOR' ).
gr_alv->display( ).

И все работает.


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

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


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

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


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

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