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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 16:52 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Всем привет.
Никто не пробовал вставлять CL_GUI_ALV_TREE в подэкран (на закладку).
Упорно не рисуется, периодически (но не каждый раз, зависимость не смог вычислить) выскакивает какая-то ошибка (дрякозяблы, поэтому не пойму в чем дело), которая рубит режим целиком.
Если вставить в обычный экран, все ОК.

Может, есть какая-то хитрость, о которой я забыл?

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 17:00 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
А код создания контейнера и дерева можно посмотреть? И в какой момент они создаются?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 17:20 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
John Doe написал:
А код создания контейнера и дерева можно посмотреть? И в какой момент они создаются?

Вот:
Code:
*-------------------
INCLUDE zdps_reqmain_evntrcvr.

DATA: gtr_trdata     TYPE REF TO   cl_gui_alv_tree
      ,   gtr_trcont     TYPE REF TO   cl_gui_custom_container
      ,   gtr_datatbr    TYPE REF TO   cl_gui_toolbar
      ,   gtv_data       TYPE          zdps_tree_alv occurs 0
      ,   gtp_fc_data    TYPE          lvc_t_fcat
      ,   gtr_evntrcv    TYPE REF TO   lcl_handle_trevnt  " в INCLUDE zdps_reqmain_evntrcvr
  .
*----------------------
* Экранная логика подэкрана, на котором находится дерево:
PROCESS BEFORE OUTPUT.
  MODULE output_202 .
*
PROCESS AFTER INPUT.
*----------------------
MODULE output_202 OUTPUT.
  IF gtr_trcont IS INITIAL.
    PERFORM init_trdata .
  ENDIF.
  CALL METHOD cl_gui_cfw=>flush.
ENDMODULE.                 " output_202  OUTPUT
*----------------------
FORM init_trdata .
  DATA: lt_events TYPE cntl_simple_events
      , l_event TYPE cntl_simple_event
      .

* Инициализация контейнера
* Контейнер действительно называется 'TREE_CONT' - перепроверено 3 раза
  CREATE OBJECT gtr_trcont
    EXPORTING
      container_name = 'TREE_CONT'
      repid          = sy-repid
      dynnr          = '0202'.

  CREATE OBJECT gtr_trdata
    EXPORTING
        parent              = gtr_trcont
        node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
        item_selection      = ' '
        no_html_header      = 'X'
*          no_toolbar          = 'X'
    EXCEPTIONS
        cntl_error                   = 1
        cntl_system_error            = 2
        create_error                 = 3
        lifetime_error               = 4
        illegal_node_selection_mode  = 5
        failed                       = 6
        illegal_column_name          = 7.
  IF sy-subrc <> 0.
    MESSAGE e000(zcommon) WITH 'Ошибка инициализации'.      "#EC NOTEXT
  ENDIF.

** Инициализация событий
  REFRESH lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_double_click.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
  APPEND l_event TO lt_events.

  CALL METHOD gtr_trdata->set_registered_events
    EXPORTING
      events                    = lt_events
    EXCEPTIONS
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3.

* create fieldcatalog.
  PERFORM fieldcat_trdata.

* repid for saving variants
  DATA: ls_variant TYPE disvariant.
  ls_variant-report = sy-repid.

* create emty tree-control
  DATA l_hierarchy_header TYPE treev_hhdr.
  l_hierarchy_header-heading = 'Структура заявки на согласование'.
  l_hierarchy_header-width = 60.
  l_hierarchy_header-width_pix = ''.

  CALL METHOD gtr_trdata->set_table_for_first_display
    EXPORTING
      is_hierarchy_header = l_hierarchy_header
      is_variant          = ls_variant
    CHANGING
      it_outtab           = gtv_data   "table must be emty !!
      it_fieldcatalog     = gtp_fc_data.


* Extend funtions of standard toolbar
  PERFORM setup_toolbar202.

  CREATE OBJECT gtr_evntrcv
   EXPORTING
        p_suffix = '_202'
        p_treegr = gtr_trdata
        p_toolbr = gtr_datatbr
    .

  gtr_trdata->set_visible( 'X' ) .
  gtr_trdata->frontend_update( ) .
ENDFORM.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 18:28 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Словил ошибку:
http://img-fotki.yandex.ru/get/3210/amo ... 0010_L.jpg
После нее режим слетает.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 18:39 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
А если попробовать временно отключить все, что ниже set_table_for_first_display и flush закомментить?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 18:42 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
John Doe написал:
А если попробовать временно отключить все, что ниже set_table_for_first_display и flush закомментить?

Пробовал, точнее это я все уже позже понаписал.
Сейчас для чистоты эксперимента все же закомментил. То же самое.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CL_GUI_ALV_TREE в подэкране - проблема
СообщениеДобавлено: Чт, фев 05 2009, 19:16 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Ладно, сейчас я перестроил интерфейс, убрал дерево из TabSheet (работает на основном экране - как я уже говорил, без проблем).
Хотя было бы полезно узнать, хотя бы на будущее - это я что-то неправильно сделал, или же невозможно в принципе дерево в подэкран засунуть

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


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

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


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

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


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

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