Комментарии по теме

«Ко­рре­кти­ро­вка таблиц базы данных с помощью ABAP»
Олег Точенюк:
Андрей а вам никто никогда не говорил, что обновлять таблицы базы данных SAP категорически запрещено, независимо от того чем обусловлены такие желания. Свои Z-таблицы, да сколько угодно, но......

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь

Транзакция SM02: сообщения в SAP системе

11 сентября 2014, 22:01

У пользователей или консультантов может появиться необходимость сообщить что-то всем пользователям системы, сделать срочное и важное заявление. :)

Например, предупредить об остановке системы, времени недоступности или проблемах с оборудованием. Иногда надо сообщить об обновленной инструкции, справочнике или появлении пакета поддержки (патча) для клиентского места SAP GUI, который необходимо установить. Во всех этих случаях поможет транзакция SM02.

Основной экран транзакции представляет собой рабочую область (список уже созданных сообщений, если они есть) и панель с кнопками (Рис. 1).

Рис. 1. Основной экран транзакции SM02.

Кнопки на панели дублируют пункты меню "Перейти к" (Рис. 2).

Рис. 2. Основные функции транзакции SM02.

Для создания нового сообщения необходимо вызвать пункт меню "Перейти к -> Создать" или нажать соответствующую кнопку на панели. В появившемся диалоговом окне ввести текст сообщения. Для этого доступны только три строки. Переход между строчками осуществляется по кнопкам вверх-вниз на клавиатуре. Имейте ввиду, что случайное нажатие кнопки "Enter" в попытке перейти на следующую строку отправит сообщение в обработку. В следующих полях можно ограничить сообщение диалоговой инстанцией, мандантом или языком, под которым пользователи вошли в систему. Если хотите отправить сообщение всем пользователям, то эти поля заполнять не надо. Далее необходимо указать дату/время, до которой пользователи будут видеть данное сообщение и дату/время, когда сообщение будет автоматически удалено из системы (Рис. 3).

Рис. 3. Создание нового сообщения в системе.

После нажатия, как я уже писал, клавиши "Enter" или кнопки с зеленой галочкой в диалоговом окне, сообщение будет активировано в системе.

Пользователи в системе увидят его разово при любом следующем шаге диалога или при новом входе в систему (Рис. 4). То есть, если пользователь ничего не делает в системе, то сообщение он не увидит.

Рис. 4. Сообщение в SAP системе.

После активации сообщение появится в списке в основном окне транзакции SM02 (Рис. 5).

Рис. 5. Транзакция SM02 с одним активным сообщением.

Данное сообщение, можно выделить, установив галочку слева напротив сообщения, и изменить, посмотреть или удалить, выбрав соответствующий пункт в меню или кнопку на панели. После изменения сообщения, оно будет показано пользователям вновь, но опять же, при любом шаге диалога.

Сообщения, которые уже неактивны в системе, но еще не удалены, доступны в разделе "Архивированные сообщения" (пункт меню "Перейти к -> Архивированные сообщения"). Там их можно удалить раньше срока автоматического удаления (Рис. 6).

Рис. 6. Удаление сообщения.

Комментарии:

Олег Башкатов (Рейтинг: 7779) 13:19, 12 сентября 2014

С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)
18:22, 22 сентября 2014

Дмитрий Трусов (Рейтинг: 126)

Во, можно чат сделать))))
11:33, 03 сентября 2015

Артем Кощеев (Рейтинг: 26)

А разве она не на конкретном сервере приложений работает? Если пользователь на другом (ну в случае, если их несколько, конечно).

Олег Точенюк (Рейтинг: 10291) 20:31, 12 сентября 2014

"У пользователей или консультантов может появиться необходимость сообщить что-то всем пользователям системы, сделать срочное и важное заявление. :)" - Ну у пользователей и консультантов конечно же может быть такое желание, вот только в 99.9% возможности такой у них быть не должно... для этих целей вообще-то базисник должен быть, который по процедуре данные сообщения и выставляет.
16:41, 17 сентября 2014

Вячеслав Шиболов (Рейтинг: 483)

Конечно, Олег, вы правы. Всё разграничивается правами и полномочиями. Но у кого они должны быть и есть, у того и может возникнуть законное желание написать сообщение всем в системе, вне зависимости от того, как этот человек именуется в социальной иерархии системы - пользователь, консультант или базисник. :)
17:36, 17 сентября 2014

Олег Точенюк (Рейтинг: 10291)

Честно у пользователей и консультантов таких прав не встречал практически. Хотя ситуации могут быть разные.
08:20, 22 сентября 2014

Евгений Никонов (Рейтинг: 79)

У консультантов тоже бывают такие права.
12:32, 22 сентября 2014

Василий Ковальский (Рейтинг: 597)

Сразу возникает задача, как поставить в игнор всех кроме сисадмина
:)
21:47, 22 сентября 2014

Олег Точенюк (Рейтинг: 10291)

Василий, да это вообще не проблема оказывается. В общем идете в программу, точнее модуль: SAPMSEM1, со строчки 881 будет нечто такое:
 
*---------------------------------------------------------------------
*       MODULE CHECK_DIAG_SUPPBIT_NOSYSMSG
*---------------------------------------------------------------------
*       Falls das Frontend keine Systemnachrichten anzeigen kann
*---------------------------------------------------------------------
form check_diag_suppbit_nosysmsg.
  data: support_bit type i.
 
  call 'C_GUI_SUPPORT'
     id 'FEATURE' field 'NOSYSMSG'
     id 'VALUE' field support_bit.
 
  if sy-subrc = 0 and support_bit = 1.
*    suppress system message - do not display
*    no database update
*    PERFORM C_DY_EXIT.
    set screen 0.
    leave screen.
  endif.
endform.                    "CHECK_DIAG_SUPPBIT_NOSYSMSG
 
Ну т.е. оно проверяет поддерживает ли фронтэнд вывод окошка с ообщением. Если нет, тогда на выход. Ну а дальше вставляем неявный энхансмент в конец данной подпрограммки где.. ну скажем так читаем пользовательскую табличку, куда помещаем наших базисников и других людей, которых не стоит беспокоить своими сообщениями :-) ну или скажем так, можно дальше полет мысли запустить и там еще группы намутить, типа если это отправляет пользователь Х, то сообщение показывать только группе пользователей Х/Y/Z например. Короче и только компилятор может теперь ограничить пытливый ум начинающего абапера...
21:52, 22 сентября 2014

Олег Точенюк (Рейтинг: 10291)

И это, пытливые абап-умы аккуратнее там надо все делать, а то если криво расширение реализовать, пользватель даже GUI не запустит :-)
10:49, 23 сентября 2014

Олег Башкатов (Рейтинг: 7779)

Лучшая практика показывает, что сисадмин/базисник о состоянии системы и планах проведения работ должен узнавать из других источников нежели информация от кого-то из SM02 :-)