Текущее время: Вт, апр 16 2024, 08:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 11:16 
Ассистент
Ассистент

Зарегистрирован:
Вт, мар 20 2018, 11:16
Сообщения: 27
Добрый день!
Необходимо вывести внутреннюю таблицу itab2 с помощью cl_gui_alv_grid . При выводе выводит два поля: Ключ и Функциональный компонент . Программы BCALV_EDIT_* смотрел. Как можно вывести эту таблицу? Предполагаю ошибка в " i_structure_name = 'itab' "


Code:

Types: begin of itab ,
  pernr type p0001-pernr,
  name like p0001-ename,
  DEV_MNf like Zobur-DEV_MNf,
  DEV_MODEL like Zobur-DEV_MODEL ,
  ADD_INFO like Zobur-ADD_INFO ,
  end of itab.

data:
itab1 type itab,
itab2 type table of itab.


Code:
MODULE pbo OUTPUT.
  SET PF-STATUS 'MAIN100'.
  SET TITLEBAR 'MAIN100'.
  IF g_custom_container IS INITIAL.
    CREATE OBJECT g_custom_container
      EXPORTING
        container_name = g_container.
    CREATE OBJECT g_grid
      EXPORTING
        i_parent = g_custom_container.


    gs_layout-edit = 'X'.

*происходит наполнение*

    CALL METHOD g_grid->set_table_for_first_display
      EXPORTING
       i_structure_name = 'itab'
        is_layout        = gs_layout
      CHANGING
                 it_outtab             = itab2[].

    CALL METHOD g_grid->set_ready_for_input
      EXPORTING
        i_ready_for_input = 1.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 11:26 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Создайте структуру через se11 с полями itab

Или возьмите что то уже готовое :wink:


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 11:57 
Ассистент
Ассистент

Зарегистрирован:
Вт, мар 20 2018, 11:16
Сообщения: 27
Bimit написал(а):
Создайте структуру через se11 с полями itab

Или возьмите что то уже готовое :wink:



Есть другая возможность вывода, без создания структуры?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 12:26 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
Заполнить филдкаталог и передать его функции set_table_for_first_display


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 12:58 
Ассистент
Ассистент

Зарегистрирован:
Вт, мар 20 2018, 11:16
Сообщения: 27
Kuranov.Dmitry написал(а):
Заполнить филдкаталог и передать его функции set_table_for_first_display


Пробовал, так же выводились два поля Ключ и Функциональный компонент


Code:
form build_fieldcat changing pt_fieldcat type lvc_t_fcat.

  call function 'LVC_FIELDCATALOG_MERGE'
       exporting
            i_structure_name = 'itab'
       changing
            ct_fieldcat      = pt_fieldcat.

  endform.



Code:
perform build_fieldcat changing gt_fieldcat.

    CALL METHOD g_grid->set_table_for_first_display
      EXPORTING
        is_layout        = gs_layout
      CHANGING
        it_fieldcatalog       = gt_fieldcat
                 it_outtab             = itab2[].


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 13:25 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Для 'LVC_FIELDCATALOG_MERGE' также нужна словарная (se11) структура.
Если лень делать филдкаталог ручками:
https://wiki.scn.sap.com/wiki/display/ABAP/How+to+generate+fieldcatalog+from+program+internal+table


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 13:40 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
exotik написал(а):
Kuranov.Dmitry написал(а):
Заполнить филдкаталог и передать его функции set_table_for_first_display


Пробовал, так же выводились два поля Ключ и Функциональный компонент


Проверьте в дебаггере что pt_fieldcat.
скорее всего там только два поля

И еще,
вот эти товарищи :
Code:
  DEV_MNf like Zobur-DEV_MNf,
  DEV_MODEL like Zobur-DEV_MODEL ,
  ADD_INFO like Zobur-ADD_INFO


как в Zobur определены?
через элемент данных, или просто тип указан?
если не через элемент данных то автогенерация филдкаталога обломается


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV
СообщениеДобавлено: Вт, апр 17 2018, 13:54 
Ассистент
Ассистент

Зарегистрирован:
Вт, мар 20 2018, 11:16
Сообщения: 27
Цитата:

Проверьте в дебаггере что pt_fieldcat.
скорее всего там только два поля

И еще,
вот эти товарищи :
Code:
  DEV_MNf like Zobur-DEV_MNf,
  DEV_MODEL like Zobur-DEV_MODEL ,
  ADD_INFO like Zobur-ADD_INFO


как в Zobur определены?
через элемент данных, или просто тип указан?
если не через элемент данных то автогенерация филдкаталога обломается


Через элемент данных


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь в выводе в ALV  Тема решена
СообщениеДобавлено: Вт, апр 17 2018, 16:37 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
В ABAP-словаре есть структура с именем itab (посмотреть ее можете в se11). Параметр i_structure_name предназначен не для глобального типа в программе, а для имени структуры в словаре. Поэтому берется не Ваш тип, а стандартная структура. Вывести можно, например, так:
Code:
    DATA: lo_alv_table TYPE REF TO cl_salv_table.

    TRY.
        cl_salv_table=>factory( IMPORTING r_salv_table = lo_alv_table
                                CHANGING t_table = itab2 ).
        lo_alv_table->display( ).
      CATCH cx_salv_msg.
    ENDTRY.


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

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


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

Сейчас этот форум просматривают: Caligari


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

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