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

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


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

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


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

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