Текущее время: Пн, июл 21 2025, 12:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 14:40 
Начинающий
Начинающий

Зарегистрирован:
Вт, ноя 03 2009, 13:58
Сообщения: 16
Добрый день. Я в АБАПе програмирую недавно. Подскажите где искать или как сделать следующее:

Есть запись:

Code:
TYPES : BEGIN OF ot_data,
  kunnr   LIKE bsid-kunnr,
  name1   LIKE kna1-name1,
  land1   LIKE kna1-land1,
  cpudt   LIKE bsid-cpudt,
  dmbtr   LIKE bsid-dmbtr,
  zterm   LIKE bsid-zterm,
  zterm1  LIKE t052-zterm,
  ztag1   LIKE t052-ztag1,
  ztag2   LIKE t052-ztag2,
  END OF ot_data.

DATA gt_dout TYPE TABLE OF ot_data.
DATA gv_dout LIKE LINE OF gt_dout.


Как правльно это вывести в тиблицу ALV.

Пробую сделать следующие:
Code:
SELECT
  b~kunnr
  k~name1
  k~land1
  b~cpudt
  b~dmbtr
  b~zterm
  t~zterm
  t~ztag1
  t~ztag2
  INTO CORRESPONDING FIELDS OF TABLE gt_dout
  FROM ( ( bsid AS b
  INNER JOIN kna1 AS k ON b~kunnr = k~kunnr )
  INNER JOIN t052 AS t ON b~zterm = t~zterm )
  WHERE b~shkzg = 'H'


Запроси возвращает данные.
Пробую сделать вывод в АЛВ:
Code:
DATA:
      CUSTOM_CONTROL1 TYPE REF TO cl_gui_custom_container,
      alv TYPE REF TO cl_gui_alv_grid,
      gs_layout TYPE lvc_s_layo,
      gs_variant TYPE disvariant,
      ok_code_0100 LIKE  sy-ucomm.

IF sy-subrc = 0.
  CALL SCREEN 100.
ELSE.
   MESSAGE text-000 TYPE 'I'.
ENDIF.

MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_100'.
  gs_variant-report = sy-repid.
  gs_variant-username = sy-uname.

  IF CUSTOM_CONTROL1 IS INITIAL.
    CREATE OBJECT CUSTOM_CONTROL1
      EXPORTING
        container_name = 'CUSTOM_CONTROL1'.

    CREATE OBJECT alv
     EXPORTING
       i_parent = CUSTOM_CONTROL1.

    gs_layout-zebra = 'X'.
    gs_layout-cwidth_opt = 'X'.
    gs_layout-totals_bef = 'X'.

    CALL METHOD alv->set_table_for_first_display
      EXPORTING
        i_structure_name = 'gt_dout'
        is_layout = gs_layout
        i_save = 'A'
        is_variant = gs_variant
       CHANGING
        it_outtab = gt_dout.
    ELSE.
      ENDIF.
  ENDMODULE.

В результате пустое окно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 14:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
А в экране создана область с именем 'CUSTOM_CONTROL1' ?
Такая кнопочка с буковкой "с", называется "спец. упр. элемент".

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Последний раз редактировалось Parazit Вт, ноя 03 2009, 14:54, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 14:53 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
1. Посмотреть демо примеры.
2. Филд каталог не заполнен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 14:57 
Специалист
Специалист

Зарегистрирован:
Пт, сен 05 2008, 08:08
Сообщения: 134
Пол: Женский
Code:
CALL METHOD alv->set_table_for_first_display
      EXPORTING
        i_structure_name = 'gt_dout'
        is_layout = gs_layout
        i_save = 'A'
        is_variant = gs_variant
       CHANGING
        it_outtab = gt_dout.

i_structure_name - имя структуря ABAP-словаря (чтобы каталог сформировать).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 15:00 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Эх, добрый я сегодня.
Code:
DATA: g_etext   TYPE string,
      gcl_grid  TYPE REF TO cl_salv_table,
      gcl_error TYPE REF TO cx_root.

  TRY.

      cl_salv_table=>factory( IMPORTING r_salv_table = gcl_grid
                              CHANGING  t_table      = gt_dout  ).

    CATCH cx_salv_msg INTO gcl_error.

      g_etext = gcl_error->get_text( ).

      MESSAGE g_etext TYPE 'S'.

      RETURN.

  ENDTRY.

gcl_grid->display( ).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 15:01 
Начинающий
Начинающий

Зарегистрирован:
Вт, ноя 03 2009, 13:58
Сообщения: 16
Parazit написал:
А в экране создана область с именем 'CUSTOM_CONTROL1' ?
Такая кнопочка с буковкой "с", называется "спец. упр. элемент".

Естественно. На форме пока всего 1 элемент.

Dzed Maroz написал:
1. Посмотреть демо примеры.
2. Филд каталог не заполнен.

Тыкните носом плиз так как пробовал искать (может плохо искал) и нечего для себя не нашел.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Вт, ноя 03 2009, 16:11 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Вот это не правильно:

SysR написал(а):

Code:

        i_structure_name = 'gt_dout'
       



Пакет SLIS посмотрите.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Ср, ноя 04 2009, 12:12 
Начинающий
Начинающий

Зарегистрирован:
Вт, ноя 03 2009, 13:58
Сообщения: 16
Dzed Maroz написал:
2. Филд каталог не заполнен.

Примеры посмотрел.
Попробовал с каталогом:

Code:
FORM display_alv.
  IF gr_alvgrid IS INITIAL.
    CREATE OBJECT gr_ccontainer
      EXPORTING
        container_name  = gc_custom_control_name
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        others                      = 6.
    IF sy-subrc <> 0.
* --- Exeptions handling
    ENDIF.

    CREATE OBJECT gr_alvgrid
      EXPORTING
        i_parent                    = gr_ccontainer
      EXCEPTIONS
        error_cntl_create = 1
        error_cntl_init   = 2
        error_cntl_link   = 3
        error_dp_create   = 4
        others            = 5.
    IF sy-subrc <> 0.
* --- Exeptions handling
    ENDIF.

* --- Preparing field catalog
    PERFORM prepare_field_catalog CHANGING gt_fieldcat.

* --- Preparing layout structure
    PERFORM prepare_layout CHANGING gs_layout.

  CALL METHOD gr_alvgrid->set_table_for_first_display
    EXPORTING
      is_layout                     = gs_layout
    CHANGING
      it_outtab                     = gt_data[]
      it_fieldcatalog               = gt_fieldcat
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      others                        = 4.
    IF sy-subrc <> 0.
* --- Exeptions handling
    ENDIF.

  ELSE.
    CALL METHOD gr_alvgrid->refresh_table_display
*-      EXPORTING
*-        is_stable          = 1
      EXCEPTIONS
        finished   = 1
        others     = 2.
   IF sy-subrc <> 0.
* --- Exeptions handling
    ENDIF.
  ENDIF.
ENDFORM.


В итоге получил сообщение о том что prepare_field_catalog и prepare_layout он не знает.

Без PERFORM prepare_field_catalog CHANGING gt_fieldcat. и PERFORM prepare_layout CHANGING gs_layout. пустой экран.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Ср, ноя 04 2009, 12:56 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
SysR написал(а):
Dzed Maroz написал:
2. Филд каталог не заполнен.

Примеры посмотрел.
Попробовал с каталогом:
В итоге получил сообщение о том что prepare_field_catalog и prepare_layout он не знает.

Как всё запущено.
Откуда ему их знать-то, если вы их не создали ?
Или в примерах нету ? :roll:

PS: сегодня в России праздник какой али выходной ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Ср, ноя 04 2009, 14:18 
Начинающий
Начинающий

Зарегистрирован:
Вт, ноя 03 2009, 13:58
Сообщения: 16
Dzed Maroz написал:
Как всё запущено.
Откуда ему их знать-то, если вы их не создали ?
Или в примерах нету ? :roll:

PS: сегодня в России праздник какой али выходной ?
В примере как раз нет.
А запущено потому что я сисадмин а на АБАПе только начал програмировать (прирерно месяц как).
Хозяева сказали что будет САП и надо бы подучится. Литературы нет. На курсы денег тоже нет. Крутись как хочешь.
По опыту админки немного знаю СКуЛь (коллега сказал что текстовый вариант отчета не подходит надо все под АЛВ). Ездил на завод где САП уже запущен и работает так туда на 1 день приехал программист (друг моего коллеги) и пытался на на Словацком объяснить как и чего делать (им то было все понятно). Понятно за 1 день ничему не научиться. Спросить не у кого. Накачал кучу мануалов а с чего начать толком не знаю. Вот и попадаю пальцем в небо.

З.Ы. Я вообще из Украины.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Ср, ноя 04 2009, 15:08 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Смотрите примеры BCALV*
В частности BCALV_TEST_GRID
Там всё есть.


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

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
вот еще:
http://www.sapnet.ru/viewforum.php?f=6
http://www.sapnet.ru/viewtopic.php?t=5


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Чт, ноя 05 2009, 09:35 
Начинающий
Начинающий

Зарегистрирован:
Вт, ноя 03 2009, 13:58
Сообщения: 16
Спасибо за подсказки буду читать.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Чт, ноя 05 2009, 16:55 
Начинающий
Начинающий

Зарегистрирован:
Вт, ноя 03 2009, 13:58
Сообщения: 16
Немного разобрался с АЛВ теперь выводит и работает.
Заполнял каталог вручную, на автомате работать не хотел.

Но возникла 2я проблема: После вызова экрана все кнопки сверху заблокированы так что назад невозможно вернутся.
Может кто подскажет куда комнуть?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация ALV из записи
СообщениеДобавлено: Чт, ноя 05 2009, 17:16 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
SysR написал(а):
Немного разобрался с АЛВ теперь выводит и работает.
Заполнял каталог вручную, на автомате работать не хотел.

Но возникла 2я проблема: После вызова экрана все кнопки сверху заблокированы так что назад невозможно вернутся.
Может кто подскажет куда комнуть?

Копнуть в сторону pf-status (искать в вышеуказанных BCALV* по слову set pf-status)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.

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


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

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


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

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