Меню

Сортировать:

Новое Популярное
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

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

Андрей Красовский

  |  07 октября 2014, 09:59

Олег Точенюк 06 октября 2014, 18:18

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

Почему то складывается ощущение, что мы обсуждаем разные темы :-( Вы можете написать любую программу, но объясните, как будет запускаться вами написанная программа с 8-00 до 17-00 каждые 2 часа с понедельника по пятницу?
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

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

Олег Точенюк

  |  06 октября 2014, 18:18

Андрей Красовский 06 октября 2014, 17:34

"...запускать программу в фоновом режиме..." имеется ввиду ABAP программу или несколько ABAP программ

Да какое же у меня решение, небольшая программка на абапе да и всех делов... :-) хоть от фазы луны запускайся, главное до этой самой фазы достучаться.
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

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

Андрей Красовский

  |  06 октября 2014, 17:34

Андрей Красовский 06 октября 2014, 17:26

Олег, поясняю, суть статьи - решить задачу: "запускать программу в фоновом режиме каждые 2 часа в рабочее время, т.е. с 8 до 17 часов, и только с понедельника по пятницу. ...чтобы периодически выполняемая программа планировалась с помощью ОДНОГО фонового задания".
В статье описано решение такой нехитрой задачи и добавлено описание утилиты sapevt взятое из help.sap.com/saphelp_nw04s/helpdata
И нам действительно не нужно использовать параметр -p.
А если копнуть тему глубже, то у SAP есть свое решение такой задачи и называется оно: SAP Central Process Scheduling by Redwood (SAP CPS). Будем надеяться что и на эту тему в скором времени появится статья.
 
P.S. Если у вас есть свои варианты решение нашей задачи - будем рады узнать их.

"...запускать программу в фоновом режиме..." имеется ввиду ABAP программу или несколько ABAP программ
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

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

Андрей Красовский

  |  06 октября 2014, 17:26

Олег, поясняю, суть статьи - решить задачу: "запускать программу в фоновом режиме каждые 2 часа в рабочее время, т.е. с 8 до 17 часов, и только с понедельника по пятницу. ...чтобы периодически выполняемая программа планировалась с помощью ОДНОГО фонового задания".
В статье описано решение такой нехитрой задачи и добавлено описание утилиты sapevt взятое из help.sap.com/saphelp_nw04s/helpdata
И нам действительно не нужно использовать параметр -p.
А если копнуть тему глубже, то у SAP есть свое решение такой задачи и называется оно: SAP Central Process Scheduling by Redwood (SAP CPS). Будем надеяться что и на эту тему в скором времени появится статья.
 
P.S. Если у вас есть свои варианты решение нашей задачи - будем рады узнать их.
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

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

Олег Точенюк

  |  06 октября 2014, 16:36

Олег Точенюк 06 октября 2014, 16:26

-p <EVTPRM>: Опциональный аргумент для события EVT, который квалифицирует событие. EVTPRM не определён в системе SAP.
 
Прочитал пару раз, но так и не понял, как параметр который квалифицирует событие, может быть не определенным в системе SAP, и вообще кто кем и чем определяет это дело у вас? Что-то мне кажется что или я или вы немного не поняли что это такое. Это именно параметр, который можно передать при вызове, а зачем считать в абап программе, т.е. если бы вам нужно было например передавать каждый раз при вызове sap-события имя виндовой машины машины которая вызвала событие или путь рабочего каталога или много чего другого, то вы могли бы после ключа -p указать это значение в качестве строки и затем в программе используя:
 
CALL FUNCTION 'BP_EVENT_RAISE'
       EXPORTING
            eventid                = '<имя события>'
            eventparm              = eventparm
       EXCEPTIONS
            bad_eventid            = 1
            eventid_does_not_exist = 2
            eventid_missing        = 3
            raise_failed           = 4
            OTHERS                 = 5.
 
Получить переданное значение и соответственно дальше уже отработать в зависимости от полученного значения, ну это если у вас программа своя или стандартная которая предполагает какие-то параметры.
 
PS: Вообще, если честно, не заметил не стандартного подхода к планированию фоновых заданий, все полностью в рамках стандарта. А это, краткая инструкция по использованию консольной утилиты sapevt

Не тот ФМ скопировал, предыдущий для инициализации события из ABAP-программы:
 
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
     IMPORTING
          eventid         = event_id
          eventparm       = eventparm
     EXCEPTIONS
          no_runtime_info = 1
Нестандартный подход при планировании фоновых заданий в системе SAP (11)

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

Олег Точенюк

  |  06 октября 2014, 16:26

-p <EVTPRM>: Опциональный аргумент для события EVT, который квалифицирует событие. EVTPRM не определён в системе SAP.
 
Прочитал пару раз, но так и не понял, как параметр который квалифицирует событие, может быть не определенным в системе SAP, и вообще кто кем и чем определяет это дело у вас? Что-то мне кажется что или я или вы немного не поняли что это такое. Это именно параметр, который можно передать при вызове, а зачем считать в абап программе, т.е. если бы вам нужно было например передавать каждый раз при вызове sap-события имя виндовой машины машины которая вызвала событие или путь рабочего каталога или много чего другого, то вы могли бы после ключа -p указать это значение в качестве строки и затем в программе используя:
 
CALL FUNCTION 'BP_EVENT_RAISE'
       EXPORTING
            eventid                = '<имя события>'
            eventparm              = eventparm
       EXCEPTIONS
            bad_eventid            = 1
            eventid_does_not_exist = 2
            eventid_missing        = 3
            raise_failed           = 4
            OTHERS                 = 5.
 
Получить переданное значение и соответственно дальше уже отработать в зависимости от полученного значения, ну это если у вас программа своя или стандартная которая предполагает какие-то параметры.
 
PS: Вообще, если честно, не заметил не стандартного подхода к планированию фоновых заданий, все полностью в рамках стандарта. А это, краткая инструкция по использованию консольной утилиты sapevt
Планирование проекта с использованием SAP cProjects (2)

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

Денис Горьков

  |  06 октября 2014, 00:01

Александр Лобынцев 23 сентября 2014, 08:42

Очень актуальная и интересная тема. С нетерпением жду следующей статьи. Единственное что непонятно так это отдельный ли это продукт (SAP PPM sute)?

Александр, SAP PPM может быть развернуто как отдельное решение без ERP. Но наибольшую пользу он принесет именно в виде комплексного решения
Транзакция SM02: сообщения в SAP системе (11)

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

Олег Башкатов

  |  23 сентября 2014, 10:49

Василий Ковальский 22 сентября 2014, 12:32

Сразу возникает задача, как поставить в игнор всех кроме сисадмина
:)

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

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

Александр Лобынцев

  |  23 сентября 2014, 08:42

Очень актуальная и интересная тема. С нетерпением жду следующей статьи. Единственное что непонятно так это отдельный ли это продукт (SAP PPM sute)?
Транзакция SM02: сообщения в SAP системе (11)

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

Олег Точенюк

  |  22 сентября 2014, 21:52

Олег Точенюк 22 сентября 2014, 21:47

Василий, да это вообще не проблема оказывается. В общем идете в программу, точнее модуль: 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 например. Короче и только компилятор может теперь ограничить пытливый ум начинающего абапера...

И это, пытливые абап-умы аккуратнее там надо все делать, а то если криво расширение реализовать, пользватель даже GUI не запустит :-)
Транзакция SM02: сообщения в SAP системе (11)

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

Олег Точенюк

  |  22 сентября 2014, 21:47

Василий Ковальский 22 сентября 2014, 12:32

Сразу возникает задача, как поставить в игнор всех кроме сисадмина
:)

Василий, да это вообще не проблема оказывается. В общем идете в программу, точнее модуль: 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 например. Короче и только компилятор может теперь ограничить пытливый ум начинающего абапера...
Транзакция SM02: сообщения в SAP системе (11)

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

Дмитрий Трусов

  |  22 сентября 2014, 18:22

Олег Башкатов 12 сентября 2014, 13:19

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

Во, можно чат сделать))))
Практики экстремального программирования при внедрении BW/BI проектов (2)

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

Илья Муковоз

  |  22 сентября 2014, 17:41

ВЛАДИСЛАВ МИЛЯЕВ 05 сентября 2014, 15:45

Илья, добрый день!
Подскажите, какими средствами можно тестировать правила формул в трансформациях BW, а также подпрограммы завершения?

Конечными тестами: т.е. сначала делается расчет "на бумаге" согласно которому при прогоне теста должен получаться известный заранее результат. Если результат в какой-то момент становится другим, значит в систему внесены изменения повлиявшие на логику ее работы. Применительно к BW, я бы использовал Q систему для этих целей - регулярный прогон небольшого шаблонного набора данных до конечного отчета с эталонными значениями для сравнения результата.
Транзакция SM02: сообщения в SAP системе (11)

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

Василий Ковальский

  |  22 сентября 2014, 12:32

Вячеслав Шиболов 17 сентября 2014, 16:41

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

Сразу возникает задача, как поставить в игнор всех кроме сисадмина
:)
Транзакция SM02: сообщения в SAP системе (11)

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

Евгений Никонов

  |  22 сентября 2014, 08:20

Олег Точенюк 17 сентября 2014, 17:36

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

У консультантов тоже бывают такие права.
Транзакция SM02: сообщения в SAP системе (11)

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

Олег Точенюк

  |  17 сентября 2014, 17:36

Вячеслав Шиболов 17 сентября 2014, 16:41

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

Честно у пользователей и консультантов таких прав не встречал практически. Хотя ситуации могут быть разные.
Транзакция SM02: сообщения в SAP системе (11)

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

Вячеслав Шиболов

  |  17 сентября 2014, 16:41

Олег Точенюк 12 сентября 2014, 20:31

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

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

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

Олег Точенюк

  |  12 сентября 2014, 20:31

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

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

Олег Башкатов

  |  12 сентября 2014, 13:19

С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)
Практики экстремального программирования при внедрении BW/BI проектов (2)

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

ВЛАДИСЛАВ МИЛЯЕВ

  |  05 сентября 2014, 15:45

Илья, добрый день!
Подскажите, какими средствами можно тестировать правила формул в трансформациях BW, а также подпрограммы завершения?
Продолжая использовать сайт, вы соглашаетесь на обработку персональных данных, собираемых с использованием cookie-файлов и сервиса «Яндекс Метрика» для анализа использования сайта и оценки эффективности маркетинговых кампаний. Более подробная информация представлена в Политике конфиденциальности.
Понятно