Автор Тема: REPOST - Работа с событиями в системке...  (Прочитано 9962 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
REPOST - Работа с событиями в системке...
« : Ноябрь 21, 2008, 12:45:13 pm »
думаю никто не посчитает плагиатом, если даный пост будет опубликован тут (тем более автор даного поста, Uukrul) а вещь действительно подезная .....
_________________________________________________ _________________________________________________ _________

Uukrul:

Тут попросили по поводу событий в системе, ну чтобы два раза не отвечать в ПМ, решил ответить один раз на форуме.

Значит так сначала создаем событие и программу которая должна вызваться при старте этого события для этого идем стандартно транзакция SM62 и там создаем пользовательское событие (системные лучше не трогать) напрмер Y_TEST_EVENT после этого идем в планирование заданий SM36 и там планируем наще фоновое задание которое должно стартовать по созданнму событию Y_TEST_EVENT, кстати не забываем ставить там галку "Выполнять задание периодически", потом пишем например программку (SE38 никто не отменял), которая должна стартовать по этому задании, в программке пишем в начале такую функцию как:

Код: You are not allowed to view links. Register or Login
DATA: event_id LIKE tbtco-eventid,
          eventparm LIKE tbtco-eventparm.
     
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
     IMPORTING
          eventid         = event_id
          eventparm       = eventparm
     EXCEPTIONS
          no_runtime_info = 1

т.е. получить по какому событию была вызвана программа и получить параметры вызова, для чего это можно прикруить, ну скажем для организации паровозика, т.е. в программе когда уже где-либо известен например номер документа проводки или еще какие важные данные, то в экзите делаем такую штуку как:
Код:

Код: You are not allowed to view links. Register or Login
DATA: event_id LIKE tbtco-eventid,
          eventparm LIKE tbtco-eventparm.

  CONCATENATE xmkpf-mblnr xmkpf-mjahr INTO eventparm.
  CALL FUNCTION 'BP_EVENT_RAISE'
       EXPORTING
            eventid                = 'Y_TEST_EVENT'
            eventparm              = eventparm
       EXCEPTIONS
            bad_eventid            = 1
            eventid_does_not_exist = 2
            eventid_missing        = 3
            raise_failed           = 4
            OTHERS                 = 5.

т.е. дергаем событие а в качестве параметра передаем номер документа, ну а что дальше делать с номером документа это как говорится от потребностей...
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Sapforum.Biz

REPOST - Работа с событиями в системке...
« : Ноябрь 21, 2008, 12:45:13 pm »