Текущее время: Ср, апр 24 2024, 06:22

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Создаем новое событие.
СообщениеДобавлено: Чт, дек 06 2007, 11:25 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 17:11
Сообщения: 48
Добрый день.

Извиняюсь за оффтоп.

Пытаюсь создать новое событие для бизнес-объекта. В курсах процесс описан очень поверхностно. Если не трудно кто-нибудь опишите процесс создания события по шагам.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 18:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 26 2007, 08:42
Сообщения: 175
Описание создания нового события БО и его программная генерация.

Triggering Events Programmatically
Purpose: This document details the procedure in triggering the business object events programmatically.
Pre-requisites: It is assumed that the reader of this document is aware of the business object concepts and good in ABAP.
Procedure:
In this document, we would take an example of the business object BUS1001006 (Material) and the event CREATED. In general, this event is triggered whenever a material is created using a standard procedure like MM01 or any others. Now we would trigger this event from our own programs.
Following are the screenshots of the business object BUS1001006 and the event CREATED. Go to transaction SWO1 for more information of the business object. Double-clicking on the key field parameter gives you technical information of the field. In order to trigger an event programmatically, we would use the function module SWE_EVENT_CREATE.
Following is the sample code to trigger the events programmatically:

REPORT ZDEMO_TRIGGER_EVENT.

DATA: KEY LIKE SWEINSTCOU-OBJKEY.

KEY = '1163'. “ Material Number (hard-coded)

CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = 'BUS1001006'
objkey = KEY
event = 'CREATED'
* CREATOR = ' '
* TAKE_WORKITEM_REQUESTER = ' '
* START_WITH_DELAY = ' '
* START_RECFB_SYNCHRON = ' '
* NO_COMMIT_FOR_QUEUE = ' '
* DEBUG_FLAG = ' '
* NO_LOGGING = ' '
* IDENT =
* IMPORTING
* EVENT_ID =
* TABLES
* EVENT_CONTAINER =
EXCEPTIONS
OBJTYPE_NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
WRITE 'Event Triggered'.
ENDIF.

COMMIT WORK.
In order to test whether the event is getting triggered or not, we can make use of Event Trace. Switch on the event trace using the transaction SWELS.
Press ‘Switch On”.
Now execute the program developed earlier. Now switch-off the event trace using the same transaction SWELS.
Now go to transaction SWEL. Here you can list out the events triggered in the particular period of time. Here is the event-trace list.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 07 2007, 12:18 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 17:11
Сообщения: 48
Спасибо за ответ. Это похоже не совсем то.

Ситуация следующая. Я создал новый бизнес объект для просмотра папок планирования. Как мне создать событие которое бы запускалось при изменении или сохранении данных в папках?

Как создать документ изменений и событие на его основе?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 10 2007, 10:25 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 26 2007, 08:42
Сообщения: 175
Дело в том, что:
1.Нужно запустить тр. swel, нажать F5 - убедиться, что трассировка событий включена.
2. Выполнить ваше действие по сохранению, изменению данных в папках, .........
3. Смотрим в swel. Если там есть событите БО, то рекомендую делегироваться от этого БО и не изобретать велосипед. В этом случае нам повезло.
4. Если стандартного события нет, то ищем подходящий user-exit и дописываем в него приведенный выше мною код.
Про документы изменения пока неохота вам забивать голову, попробуйте этот вариант.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

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


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

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


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

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