Текущее время: Вт, сен 09 2025, 15:00

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: ALV_GRID и таблица объектов
СообщениеДобавлено: Чт, июн 14 2007, 08:54 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Вт, июн 05 2007, 05:16
Сообщения: 13
Откуда: Пермь
Привет.

Подскажите, пожалуйста, возможно ли подсовывать сетке (cl_gui_alv_grid) данные в виде таблицы объектов (type table of ref to Object), а не структур. Если возможно, то каким образом нужно построить описатель полей (lvc_t_fcat)?

В качестве примера простой класс _Data с одним числовым (type i) полем filed.
Цитата:
class _Data definition.
public section.
data field type i.
methods:
constructor importing _field type i.
class-methods:
getFieldCatalog returning value(result) type lvc_t_fcat.
endclass.

class _Data implementation.
* Конструктор
method constructor.
field = _field.
endmethod.

* Получить описатель для сетки
method getFieldCatalog.
data field type lvc_s_fcat.
field-fieldname = 'field'. "видимо так делать некорректно
field-inttype = 'I'.
field-outputlen = '3'.
field-coltext = 'Поле'.
field-seltext = 'Поле'.
append field to result.
endmethod.
endclass.

Ну и собственно заполнение сетки:
Цитата:
data:
_data type ref to _Data,
_datas type table of ref to _Data.

create object _data exporting _field = 0.
append _data to _datas.
create object _data exporting _field = 1.
append _data to _datas.

data catalog type lvc_t_fcat.
call method _Data=>getFieldCatalog receiving result = catalog.

call method grid->set_table_for_first_display
changing
it_outtab = _datas
it_fieldcatalog = catalog.

В итоге прерывание внутри сетки при чтении описания:
Цитата:
000350 ***********************************************************************
000360 * find out the component numbers and names
000370 ***********************************************************************
000380 assign local copy of initial line of it_data to <l_workarea>.
> l_struc_descr ?= cl_abap_typedescr=>describe_by_data( <l_workarea> ).

Ни в документации, ни на форумах решения не нашел. Как-то вцелом реализация ООП в ABAP/4 расстраивает. :-(

Заранее благодарен за ответы.


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Дело в том, что в отличии от моделей, с которыми Вы видимо привыкли работать, управление ALV grid строится из двух частей: код на сервере приложений и код на сервере презентаций. А теперь представьте, как ваши желания вписываются в эту разделенную модель?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 14 2007, 09:19 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Вт, июн 05 2007, 05:16
Сообщения: 13
Откуда: Пермь
vga написал(а):
Дело в том, что в отличии от моделей, с которыми Вы видимо привыкли работать, управление ALV grid строится из двух частей: код на сервере приложений и код на сервере презентаций.
Да, больше занимаюсь системными объектными языками Java/.NET.
vga написал(а):
А теперь представьте, как ваши желания вписываются в эту разделенную модель?
Вы намекаете на то, что ссылки на объекты памяти сервера приложений не имеют смысла на сервере отображения? Гм... и это никак не обойти? Как вариант, можно ли упрощенно получать по объекту структуру, чтобы передавать сетке уже не таблицу ссылок, а таблицу данных?


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
rsn81 написал(а):
Вы намекаете на то, что ссылки на объекты памяти сервера приложений не имеют смысла на сервере отображения?


В первом приближении на это и намекаю.

rsn81 написал(а):
Как вариант, можно ли упрощенно получать по объекту структуру, чтобы передавать сетке уже не таблицу ссылок, а таблицу данных?


ну может покопать в сторону CONVERSION_EXIT_XXX_OUTPUT
для отдельной ячейки грида


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

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


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

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


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

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