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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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