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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: кнопки формата отчета
СообщениеДобавлено: Ср, июн 11 2008, 14:28 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, янв 11 2008, 06:48
Сообщения: 94
Создаю свой GUI-статус для отчета, как мне добавить в него кнопки по сохранению, вызову и настройке формата столбцов?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 11 2008, 14:37 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
Создай GUI


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 11 2008, 15:04 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, янв 11 2008, 06:48
Сообщения: 94
GUI создал, вставил в него кнопки по выделению - функция &ALL, снятию выделения &SAL, фильтрации -&ILT.

Теперь необходимо добавить кнопки для управления форматами.
Если бы не создавать свой GUI, то это решается просто установкой i_save = 'X', но тогда я не знаю как добавить свою дополнительную кнопку.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 11 2008, 20:01 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Не совсем понятно, о какого рода отчете идет речь... Т.к. промелькнуло i_save, то могу предположить, что это ALV. В таком случае наверное надо скопировать стандартный GUI status (function group SALV) и уже в него добавлять свои кнопки, а не наоборот. :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 16 2008, 05:34 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, янв 11 2008, 06:48
Сообщения: 94
Да, отчет действительно ALV.
Можно небольшой пример по добавлению своей кнопки?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 16 2008, 17:48 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Если под "форматом столбцов" подразумевается layout, то теперь не совсем понятно, чем вам стандартные ALV кнопки или меню не угодили? :?

Anyways... Как уже упоминалось, идете в function group SALV и копируете оттуда GUI status STANDARD под именем, например, ZSTANDARD в свою программу. Потом в программе подставляете свой ZSTANDARD вместо стандартного. Вот фрагмент кода с использованием ФМ:

Code:
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_top_of_page   = 'TOP-OF-PAGE'
      i_callback_pf_status_set = 'SET_PF_STATUS'
      i_callback_user_command  = 'USER_COMMAND'
      is_layout                = gs_layout
      it_fieldcat              = fieldcat[]
      i_save                   = 'A'
      is_variant               = alv_variant
    TABLES
      t_outtab                 = i_alv[].

*&---------------------------------------------------------------------*
*&      Form  set_pf_status
*&---------------------------------------------------------------------*
*       Replace standard ALV GUI with custom GUI (copy of STANDARD
*       from function group SALV).
*----------------------------------------------------------------------*
*      -->RT_EXTAB   Functions to be excluded
*----------------------------------------------------------------------*
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'ZSTANDARD'.
ENDFORM.                    "set_pf_status

*&---------------------------------------------------------------------*
*&      Form  user_command
*&---------------------------------------------------------------------*
*       Routine for the GUI functions not included in standard ALV FM
*----------------------------------------------------------------------*
*      -->R_UCOMM      Function code from the GUI
*      -->RS_SELFIELD  Options
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm     LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.
  IF r_ucomm = '&ALL'.

<do stuff here>

* Uncomment, if necessary:
*    rs_selfield-refresh    = 'X'.
*    rs_selfield-col_stable = 'X' .  " This will keep the cursor position
*    rs_selfield-row_stable = 'X' .

  ENDIF.
ENDFORM.  "User_command


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 08:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 18 2008, 11:25
Сообщения: 100
Вывожу ALV несколько другим способом. Подключаю свой ГУИ-статус (копию стандартного), но на экране не отображаются кнопки сохрания формата и вызова сохраненного. Как в этом случае можно их вытащить. В статусе они есть по умолчанию, но на экран не выводятся. Код прилагаю:
Code:
TRY .
      CALL METHOD cl_salv_table=>factory
*        EXPORTING
*          r_container  = lr_cont
        IMPORTING
          r_salv_table = lr_alv
        CHANGING
          t_table      = gt_result.
    CATCH cx_salv_msg.
  ENDTRY.

lr_alv->set_screen_status(
             report       = sy-cprog
             pfstatus     = 'SALV_STANDARD'
             set_functions = lr_alv->C_FUNCTIONS_ALL
              ).

lr_alv->display( ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 08:49 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
Refresh написал(а):
Вывожу ALV несколько другим способом. Подключаю свой ГУИ-статус (копию стандартного), но на экране не отображаются кнопки сохрания формата и вызова сохраненного. Как в этом случае можно их вытащить. В статусе они есть по умолчанию, но на экран не выводятся. Код прилагаю:
Code:
TRY .
      CALL METHOD cl_salv_table=>factory
*        EXPORTING
*          r_container  = lr_cont
        IMPORTING
          r_salv_table = lr_alv
        CHANGING
          t_table      = gt_result.
    CATCH cx_salv_msg.
  ENDTRY.

lr_alv->set_screen_status(
             report       = sy-cprog
             pfstatus     = 'SALV_STANDARD'
             set_functions = lr_alv->C_FUNCTIONS_ALL
              ).

lr_alv->display( ).
CL_salv_table и Варианты просмотра

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 08:59 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 18 2008, 11:25
Сообщения: 100
Как раз нашел и только собирался расказать, как увидел ответ. В приципе все так и сделал ))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 22 2008, 13:42 
Специалист
Специалист

Зарегистрирован:
Чт, сен 04 2008, 12:40
Сообщения: 119
Откуда: Пермь
Пол: Мужской
Alex80 написал:
CL_salv_table и Варианты просмотра

А я не понял
Можно подробнее?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 22 2008, 13:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Подробнее переходим по сылке и смотрим код. Если не помогло - то далее в pdf-ничек и на стр. 14-15.

Или сюда смотрим.
Code:
data: gr_layout type ref to cl_salv_layout.
data: key type salv_s_layout_key.

gr_layout = gr_table->get_layout( ).
key-report = sy-repid.
gr_layout->set_key( key ).
gr_layout->set_save_restriction( cl_salv_layout=>restrict_none ).


Добавил: to Alex80 извини, что код продублировал - проглядел, что ты его в прошлой теме выложил.


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

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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