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

Часовой пояс: 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 часа


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

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


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

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