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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 09:29 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
Добрый день.

Подскажите пожалуйста, как сделать недоступную кнопку в меню с помощью SE41.

Есть кнопка "удалить", которая находится на панели экрана. Хочу, чтобы данная кнопка в некоторых случаях была не доступна, но пользователь ее видел(серая кнопка).
Может кто знает как такое реализовать?

Заранее спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 09:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 15 2009, 05:55
Сообщения: 174
Откуда: Мегион - > СПб
Пол: Мужской
Можно так

_________________
Ничто так не заразительно, как смех начальника...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 10:32 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
Идея хорошая тоже. Просто еще интересно узнать как можно сделать кнопку серой. Чтобы она была видимой и доступной.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 10:57 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
если вас правильно понял выбирайте в gui-status в свойстве строки кнопок опцию Отражать все

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 11:00 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
WALL-E написал:
Добрый день.

Подскажите пожалуйста, как сделать недоступную кнопку в меню с помощью SE41.

Есть кнопка "удалить", которая находится на панели экрана. Хочу, чтобы данная кнопка в некоторых случаях была не доступна, но пользователь ее видел(серая кнопка).
Может кто знает как такое реализовать?

Заранее спасибо.

В редактировании статуса экрана вызываете Свойства строки кнопок и там манипулируете опциями. Вам нужно Просмотреть все . Тогда, если кнопка будет недоступна, она все равно будет видна (серым цветом) - для всех кнопок или выбрать некоторые функции отдельно.
Изображение


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 11:01 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 27 2011, 15:21
Сообщения: 31
WALL-E написал:
Идея хорошая тоже. Просто еще интересно узнать как можно сделать кнопку серой. Чтобы она была видимой и доступной.


Может так?

Code:
MODULE status_0100 OUTPUT.
  DATA: itab TYPE TABLE OF sy-ucomm.

  APPEND 'DELETE' TO itab.

  SET PF-STATUS 'STATUS100' EXCLUDING itab.

ENDMODULE.                 " STATUS_0100  OUTPUT


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41  Тема решена
СообщениеДобавлено: Пн, дек 03 2012, 12:48 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
flex00 написал(а):
WALL-E написал:
Идея хорошая тоже. Просто еще интересно узнать как можно сделать кнопку серой. Чтобы она была видимой и доступной.


Может так?

Code:
MODULE status_0100 OUTPUT.
  DATA: itab TYPE TABLE OF sy-ucomm.

  APPEND 'DELETE' TO itab.

  SET PF-STATUS 'STATUS100' EXCLUDING itab.

ENDMODULE.                 " STATUS_0100  OUTPUT

Само собой, так тоже надо сделать


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 13:33 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
flex00 написал(а):
WALL-E написал:
Идея хорошая тоже. Просто еще интересно узнать как можно сделать кнопку серой. Чтобы она была видимой и доступной.


Может так?

Code:
MODULE status_0100 OUTPUT.
  DATA: itab TYPE TABLE OF sy-ucomm.

  APPEND 'DELETE' TO itab.

  SET PF-STATUS 'STATUS100' EXCLUDING itab.

ENDMODULE.                 " STATUS_0100  OUTPUT


А можно данный код на PAI повесить?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 13:39 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
Сейчас у меня возникла другая проблема. Все вроде бы получилось, но есть один нюанс.
Я хочу поменять статус основного экрана при событии в подэкране.

Такое возможно?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 14:14 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
WALL-E написал:

А можно данный код на PAI повесить?

Зачем? Надо в PBO
WALL-E написал:
Сейчас у меня возникла другая проблема. Все вроде бы получилось, но есть один нюанс.
Я хочу поменять статус основного экрана при событии в подэкране.

Такое возможно?

возможно


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 14:48 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
bossjohn написал(а):
WALL-E написал:

А можно данный код на PAI повесить?

Зачем? Надо в PBO
WALL-E написал:
Сейчас у меня возникла другая проблема. Все вроде бы получилось, но есть один нюанс.
Я хочу поменять статус основного экрана при событии в подэкране.

Такое возможно?

возможно


Как? Когда я пробовал установить статус командой в подэкране, то у меня вылезла ошибка.

У меня просто три вкладки.
Заголовок и позиция.
Я хочу, чтобы кнопки на заголовке были доступны, а на позиции они были серые.

Как такое сделать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 16:04 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
WALL-E написал:
Как? Когда я пробовал установить статус командой в подэкране, то у меня вылезла ошибка.

У меня просто три вкладки.
Заголовок и позиция.
Я хочу, чтобы кнопки на заголовке были доступны, а на позиции они были серые.

Как такое сделать?

Статус устанавливается в PBO того экрана, которому он принадлежит.
У подэкрана нет статуса.
Хотя бы скриншот приложите, чтобы было понятнее.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 16:22 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 27 2011, 15:21
Сообщения: 31
WALL-E написал:
Как? Когда я пробовал установить статус командой в подэкране, то у меня вылезла ошибка.


А что за ошибка?

Я думаю примерно так можно сделать. (Хотя не уверен)

Code:

DATA: itab TYPE TABLE OF sy-ucomm. " глобально

***

MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS100' EXCLUDING itab.
*  SET TITLEBAR 'xxx'.

ENDMODULE.                 " STATUS_0100  OUTPUT

MODULE user_command_0100 INPUT.

  DATA: ok_code TYPE sy-ucomm.

  MOVE sy-ucomm TO ok_code.

  CASE ok_code.
    WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'YOURBUTTON'.     ----> тут ваше действие в подэкране
      APPEND 'BACK' TO itab. ----> тут что скрываем
      SET PF-STATUS 'STATUS100' EXCLUDING itab.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT



Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 17:04 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
после нажатия на кнопку произойдет в итоге PBO главного экрана.
выражение SET PF-STATUS 'STATUS100' EXCLUDING itab. в PAI не сработает


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание недоступной кнопки с помощью SE41
СообщениеДобавлено: Пн, дек 03 2012, 17:16 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 27 2011, 15:21
Сообщения: 31
bossjohn написал(а):
после нажатия на кнопку произойдет в итоге PBO главного экрана.
выражение SET PF-STATUS 'STATUS100' EXCLUDING itab. в PAI не сработает


Волшебство, но работает. А сначала не работало. В общем я сам не понимаю почему :oops:
Привожу листинг:

Code:
DATA: itab TYPE TABLE OF sy-ucomm.

DATA: grid TYPE REF TO cl_gui_alv_grid,
      g_custom_container TYPE REF TO cl_gui_custom_container.

DATA: gt_sflight TYPE TABLE OF sflight.
**********************************************************************
START-OF-SELECTION.
CALL SCREEN 100.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS100' EXCLUDING itab.
*  SET TITLEBAR 'xxx'.
  IF g_custom_container IS INITIAL.
    CREATE OBJECT g_custom_container
      EXPORTING
        container_name = 'CONTAINER1'.
    CREATE OBJECT grid
      EXPORTING
        i_parent = g_custom_container.
  ENDIF.

    SELECT * FROM sflight UP TO 10 ROWS INTO TABLE gt_sflight.

    CALL METHOD grid->set_table_for_first_display
      EXPORTING
        i_structure_name = 'SFLIGHT'
      CHANGING
        it_outtab        = gt_sflight.

ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  DATA: ok_code TYPE sy-ucomm.

  MOVE sy-ucomm TO ok_code.

  CASE sy-ucomm.
    WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'NEXT'.
      APPEND 'BACK' TO itab.
      SET PF-STATUS 'STATUS100' EXCLUDING itab.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT


Изображение


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

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


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

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


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

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