Текущее время: Чт, мар 28 2024, 11: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 часа


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

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


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

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