Текущее время: Вс, июн 22 2025, 17:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:18 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
День добрый
Подскажите, как создать docking container на подэкране?

Какое значание параметра parent в конструкторе?
Я создаю контейнер так
Code:
create object docking_alv
          exporting
             parent    = cl_gui_container=>screen0  " ??????
             side      = cl_gui_docking_container=>dock_at_top
             dynnr     = '1013' " SUBSCREEN
             repid     = sy-repid
             extension = 230.


Заранее спасибо.

Пономарев Артем: пользуйтесь тэгами для оформления кода, пожалуйста.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
попробуйте поменять cl_gui_container=>screen0
на объект cl_gui_custom_container (custom-area на вашем подэкране), а dynnr уберите


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:42 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Так вроде параметр parent типа cl_gui_container?
пробую так
Code:
DATA: container_cust TYPE REF TO cl_gui_custom_container.
CREATE OBJECT container_cust
            EXPORTING
                container_name = 'CNT'.
create object docking_alv
          exporting
             parent    = container_cust
             side      = cl_gui_docking_container=>dock_at_top
*            dynnr     = '1013' " SUBSCREEN
             repid     = sy-repid
             extension = 230.

сваливается естественно в дамп.

еще пробую так
Code:
DATA: container_cust TYPE REF TO cl_gui_custom_container.
CREATE OBJECT container_cust
            EXPORTING
                container_name = 'CNT'.
create object docking_alv
          exporting
             parent    = container_cust->screen0
             side      = cl_gui_docking_container=>dock_at_top
*            dynnr     = '1013' " SUBSCREEN
             repid     = sy-repid
             extension = 230.

не работает :-(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:48 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
:rtfm:
http://www.abap4.it/download/ALV.pdf


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 08:57 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
ссылка не работает


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 09:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Ага. Уже убили ссылку.
Но вот тут тоже самая дока.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 09:25 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
За ссылку конечно спасибо.
Но я не понимаю каким образом эта дока по ALVгриду связана с моим вопросом:
как docking container создать на подэкране??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 09:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Почему Вы говорите докинг если у вас контейнер объявлен как custom?
Судя по всему Вы просто хотите вывести алв в подэкране.
Напишите вот так
Code:
DATA: container_cust TYPE REF TO cl_gui_custom_container.
CREATE OBJECT container_cust
            EXPORTING
                container_name = 'CNT'.

create object docking_alv
          exporting
             parent    = container_cust
             side      = cl_gui_docking_container=>dock_at_top.

Причем необязательно, что после этого программа не свалица в дамп (нужно еще почитать, что написано в дампе) и если других местах ошибок нет (для этого почитайте мануал), то всё должно сработать.
Удачи.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 10:17 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Марик написал:
Почему Вы говорите докинг если у вас контейнер объявлен как custom?

Контейнер объявленный как custom, я (по совету trop) пытаюсь подсунуть как parent для своего docking контейнера.
Марик написал:
Судя по всему Вы просто хотите вывести алв в подэкране.

Нет, на подэкране должно быть: в верхней части - ALV, в нижней TabStrip.
Марик написал:
Напишите вот так

не работает, - дамп. Оно и понятно - разные типы параметра parent и container_cust.

Думаю, что проблема в том, что я неверно указывалю параметр parent.
Пробовал различные варианты, и с от cl_gui_container=>screen0 до cl_gui_container=>screen9, и создавая на основном окне с cl_gui_container=>screen0 а потом LINK'ом на container_cust, который на подэкране. Ничего не помогает :-(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 10:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Я не понимаю зачем одному контейнеру передавать в родитель другой контейнер.
Нужно созданный контейнер (любой докинг или кастом) сразу передавать как parent в создаваемый alv.
Code:
data  gr_alvgrid        type ref to     cl_gui_alv_grid .
data: gr_ccontainer     type ref to     cl_gui_docking_container.

create object gr_ccontainer
        exporting
          side = cl_gui_docking_container=>dock_at_left.

      data align type int4.
      align = cl_gui_control=>align_at_left +
      cl_gui_control=>align_at_right +
      cl_gui_control=>align_at_bottom.


      call method gr_ccontainer->set_alignment
        exporting
          alignment = align
        exceptions
          others    = 1.

      create object gr_alvgrid
        exporting
          i_parent = gr_ccontainer.

Такой код гораздо проще и у меня он работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 11:20 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Марик написал:
Я не понимаю зачем одному контейнеру передавать в родитель другой контейнер.

Это чтобы указать где будет создаваться мой docking контейнер. На основном экране или на подэкране.

Марик написал:
Нужно созданный контейнер (любой докинг или кастом) сразу передавать как parent в создаваемый alv.
Такой код гораздо проще и у меня он работает.

Спасибо за код, он у меня тоже работает. Только gr_ccontainer создается на основном экране(это легко проверить меняя подэкраны - ALVгрид на gr_ccontainer не изчезает), а мне необходимо, чтобы он был создан на подэкране.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 11:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
elvis написал(а):
Марик написал:
Я не понимаю зачем одному контейнеру передавать в родитель другой контейнер.

Это чтобы указать где будет создаваться мой docking контейнер. На основном экране или на подэкране.

видимо docking_container вкладывается только в верхний экран (screen0) и в 1й popup (screen1).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 11:45 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
а, что использование docking контейнера настолько принципиально?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 12:02 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Просто хотел на подэкране сделать вверху ALV, а снизу Таbstrip (Таbstrip уже лежит на подэкране в ScreenPainter'e),.... Но чувствую, что придется делать в подэкране spliter контейнер..


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

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


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

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


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

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