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

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


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

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


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

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