SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

есть ли аналог REUSE_ALV_FIELDCATALOG_MERGE?


Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Roronoa Zoro
Участник
Участник



Joined: 14 Jan 2010
Posts: 18

PostPosted: Sun Jul 25, 2010 1:02 pm    Post subject: есть ли аналог REUSE_ALV_FIELDCATALOG_MERGE? Reply with quote

Доброго времени суток.

Использую связку:
REUSE_ALV_FIELDCATALOG_MERGE
LVC_TRANSFER_FROM_SLIS
для формирования списка полей моей внутренней таблицы, т.к. использую ОО ALV.

Однако неудобно так делать, т.к. REUSE_ALV_FIELDCATALOG_MERGE
предъявляет жесткие требования к объявлению внутренней таблицы:
Code:
DATA: BEGIN OF it occurs 0,
              field1 LIKE type1,
              ...
          END OF it.


а мне бы хотелось объявлять как:
Code:
TYPES: BEGIN OF ty_it,
                field1 TYPE type1,
                ...,
            END OF ty_it.

DATA: it TYPE TABLE OF ty_it.



Возможно есть еще какие нибудь ФМ для автоматического формирования списка полей?
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Sun Jul 25, 2010 6:34 pm    Post subject: Reply with quote

Объявляйте свои структуры и таблицы в словаре - так и программа не будет загромождаться громоздкими объявлениями, и проблемы с филдкаталогом исчезнут, и вообще жить станет попроще
Back to top
View user's profile Send private message Blog
Roronoa Zoro
Участник
Участник



Joined: 14 Jan 2010
Posts: 18

PostPosted: Sun Jul 25, 2010 6:54 pm    Post subject: Reply with quote

Предложенный вами способ был первым в списке возможных, когда я решал как мне реализовать заполнение филдкаталога.

Хотелось бы способ позволяющий сделать как я писал, который бы не захломлял словарь одноразовыми структурами и таблицами.
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Sun Jul 25, 2010 8:50 pm    Post subject: Reply with quote

Roronoa Zoro wrote:
Предложенный вами способ был первым в списке возможных, когда я решал как мне реализовать заполнение филдкаталога.

Хотелось бы способ позволяющий сделать как я писал, который бы не захломлял словарь одноразовыми структурами и таблицами.

Словарю от этого не поплохеет, поверьте.
Но дело ваше.
Back to top
View user's profile Send private message Blog
vga
Мастер
Мастер


Age: 165
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Sun Jul 25, 2010 10:36 pm    Post subject: Reply with quote

Как кто-то сказал: "Словарь - слишком дорогое удовольствие в сапе, чтобы его не использовать". Так что поддерживаю Armann и к тому же не вижу других альтернатив.
_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
rstiv
Специалист
Специалист


Age: 44
Joined: 29 Oct 2008
Posts: 68
Location: Питер

PostPosted: Sun Jul 25, 2010 10:47 pm    Post subject: Reply with quote

А и в самом деле, есть ли аналог этой функции среди классов??? И вообще чем плох REUSE? Почему многие склоняются писать классами гриды. Вот дерево писал когда посмотрел примеры из BCALV* ушло около дня что бы сделать дерево в первый раз. А грид то зачем писать классами? "Просто типо ООП и круто и все такое??"Smile))
_________________
Строчечку написал, стопочку пропустил...
Back to top
View user's profile Send private message
Dmitriy
Аналитик
Аналитик


Age: 47
Joined: 14 Nov 2008
Posts: 300
Location: Russia

PostPosted: Sun Jul 25, 2010 11:53 pm    Post subject: Reply with quote

rstiv wrote:
А и в самом деле, есть ли аналог этой функции среди классов??? И вообще чем плох REUSE? Почему многие склоняются писать классами гриды. Вот дерево писал когда посмотрел примеры из BCALV* ушло около дня что бы сделать дерево в первый раз. А грид то зачем писать классами? "Просто типо ООП и круто и все такое??"Smile))

Offtop:
Как то дали задачу, там был достаточно пионерский грид. Сделал ч/з REUSE, там меньше часа по времени было готовый шаблон вывода адаптировать, потом, не успев сделать "начинку" (выборки и прочее Wink ) был вынужден передать разработку другому абаперу. Потом глянул: он поменял его на объектный, причем названия контейнера и переменных, были тупо скопированы из BCALV, HTML_HEADER вместо банального TOP_OF_PAGE и ф-ции внутри. Судя по качеству кода, пареньку еще учиться и учиться, как и завещал дедушка Ленин. Просто у него не было времени и желания разобраться с REUSE, видимо 1-й его самостоятельный вывод был на примере класса. А я типа старый и несовременный уже. Sad
Laughing

_________________
ABAP/4 You
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Mon Jul 26, 2010 6:00 pm    Post subject: Re: есть ли аналог REUSE_ALV_FIELDCATALOG_MERGE? Reply with quote

Roronoa Zoro wrote:
Доброго времени суток.

Использую связку:
REUSE_ALV_FIELDCATALOG_MERGE
LVC_TRANSFER_FROM_SLIS
для формирования списка полей моей внутренней таблицы, т.к. использую ОО ALV.

ФМ LVC_FIELDCATALOG_MERGE сразу возвращает филдкаталог для ALV-Grid

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 46
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Tue Jul 27, 2010 8:50 am    Post subject: Re: есть ли аналог REUSE_ALV_FIELDCATALOG_MERGE? Reply with quote

Удав wrote:
Roronoa Zoro wrote:
...для формирования списка полей моей внутренней таблицы...

ФМ LVC_FIELDCATALOG_MERGE сразу возвращает филдкаталог для ALV-Grid

Он уже корректно с внутренними таблицами работает?
Back to top
View user's profile Send private message Blog
XXX_:)
Аналитик
Аналитик


Age: 40
Joined: 01 Feb 2008
Posts: 387
Location: Воронеж

PostPosted: Tue Jul 27, 2010 9:47 am    Post subject: Reply with quote

Часто пользуючь классом cl_salv_table. Он немного урезан в части функциональности, но лично мне работать с ним приятнее. И он допускает объявление таблицы так как вы хотите.
_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Jul 27, 2010 10:25 am    Post subject: Re: есть ли аналог REUSE_ALV_FIELDCATALOG_MERGE? Reply with quote

John Doe wrote:
Он уже корректно с внутренними таблицами работает?

Сорри, не заметил Rolling Eyes
Получить описание внутренних таблиц для ALV - тот еще геморрой Smile
Roronoa Zoro, послушайте Armann и vga.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Jul 27, 2010 10:28 am    Post subject: Reply with quote

rstiv wrote:
А и в самом деле, есть ли аналог этой функции среди классов??? И вообще чем плох REUSE? Почему многие склоняются писать классами гриды. Вот дерево писал когда посмотрел примеры из BCALV* ушло около дня что бы сделать дерево в первый раз. А грид то зачем писать классами? "Просто типо ООП и круто и все такое??"Smile))

1.Удобнее организованы события
2.Повторное использование
3.Наследование
В общем, весь набор преимуществ ООП Wink
ЗЫ: про инкапсуляцию можно даже не упоминать.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Roronoa Zoro
Участник
Участник



Joined: 14 Jan 2010
Posts: 18

PostPosted: Tue Jul 27, 2010 10:53 pm    Post subject: Reply with quote

Благодарствуйте добрые люди.
cl_salv_table возможно был бы как вариант, однако у нас на данный момент версия 4.7( переход на ERP 2005 в этом году не состоялся).
Посему прислушаюсь к добрым советам и буду использовать словарь.
Однако ж все же странно что такая возможность не предусмотрена.
Back to top
View user's profile Send private message
Dmitriy
Аналитик
Аналитик


Age: 47
Joined: 14 Nov 2008
Posts: 300
Location: Russia

PostPosted: Tue Jul 27, 2010 11:14 pm    Post subject: Reply with quote

Удав wrote:
rstiv wrote:
А и в самом деле, есть ли аналог этой функции среди классов??? И вообще чем плох REUSE? Почему многие склоняются писать классами гриды. Вот дерево писал когда посмотрел примеры из BCALV* ушло около дня что бы сделать дерево в первый раз. А грид то зачем писать классами? "Просто типо ООП и круто и все такое??"Smile))

1.Удобнее организованы события
2.Повторное использование
3.Наследование
В общем, весь набор преимуществ ООП Wink
ЗЫ: про инкапсуляцию можно даже не упоминать.

+ возможность вывода нескольких объектов на одном экране (ALV Tree + ALV Grid)

Удав, под 2-м подразумевалась возможность динамической смены форматов и структуры выводимой таблицы для одного и того же объекта и т.д.?..

_________________
ABAP/4 You
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Thu Jul 29, 2010 10:08 am    Post subject: Reply with quote

Dmitriy, под повторным использованием понималось именно повторное использование класса для разных задач, а не только в рамках одной задачи.
У нас реализован свой класс для работы с ALV, в который сразу инкапсулирован container и написан код для часто используемых методов (получение fieldcatalog, определение события double_click, показ на экране, регистрация ряда событий) и определены значения по умолчанию для layout, fieldcatalog и т.п.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.