Текущее время: Сб, авг 02 2025, 19:38

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


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

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


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

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