SAPфорум.RU
https://sapboard.ru/forum/

Помощь в выводе в ALV
https://sapboard.ru/forum/viewtopic.php?f=13&t=96298
Страница 1 из 1

Автор:  exotik [ Вт, апр 17 2018, 12:16 ]
Заголовок сообщения:  Помощь в выводе в ALV

Добрый день!
Необходимо вывести внутреннюю таблицу 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.

Автор:  Bimit [ Вт, апр 17 2018, 12:26 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

Создайте структуру через se11 с полями itab

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

Автор:  exotik [ Вт, апр 17 2018, 12:57 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

Bimit написал(а):
Создайте структуру через se11 с полями itab

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



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

Автор:  Kuranov.Dmitry [ Вт, апр 17 2018, 13:26 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

Заполнить филдкаталог и передать его функции set_table_for_first_display

Автор:  exotik [ Вт, апр 17 2018, 13:58 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

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[].

Автор:  RA [ Вт, апр 17 2018, 14:25 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

Для 'LVC_FIELDCATALOG_MERGE' также нужна словарная (se11) структура.
Если лень делать филдкаталог ручками:
https://wiki.scn.sap.com/wiki/display/ABAP/How+to+generate+fieldcatalog+from+program+internal+table

Автор:  Kuranov.Dmitry [ Вт, апр 17 2018, 14:40 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

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 определены?
через элемент данных, или просто тип указан?
если не через элемент данных то автогенерация филдкаталога обломается

Автор:  exotik [ Вт, апр 17 2018, 14:54 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV

Цитата:

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

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


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


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

Автор:  LAT [ Вт, апр 17 2018, 17:37 ]
Заголовок сообщения:  Re: Помощь в выводе в ALV  Тема решена

В 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.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/