Текущее время: Чт, мар 28 2024, 23:57

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 13:45 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Коллеги, помогите пожалуйста начинающему.

Построил простой поток операций из двух задач:
1. Создание договора (использовал стандартный объект BUS2095)
2. Отправка пользователю сообщения с номером созданного документа

Поток данных из первой задачи в контейнер прописал, и из контейнера во вторую задачу тоже.

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

Подскажите, где и что мне еще нужно настроить, чтобы ПО заработал?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 14:39 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Hop написал(а):
...
Поток данных из первой задачи в контейнер прописал, и из контейнера во вторую задачу тоже.
...


"Поток данных прописал" - это сказано слишком абстрактно, чтобы понять, где у вас может быть ошибка.
Что передаете и куда - можно поподробней?
В случае, если поток данных правильно прописан, то в тексте/заголовке письма необходимо ссылаться на документ примерно так &BUS2095.SalesDocument&, чтобы он отобразился

Иначе - ошибка в самом потоке данных


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 14:54 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Из первой задачи в контейнер передаю: &_WI_OBJECT_ID& -> &BUS2095&
Во второй задаче автоматически создалось: &BUS2095& -> &BUS2095&


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 15:57 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Внешне все выглядит правильно, только смущает, что запись идет слева направо,
если передача данных идет из первой задачи в контейнер потока операций, то должно выглядеть так


&_WI_OBJECT_ID& <- &BUS2095&

т.к. слева - контейнер потока операций, а справа - контейнер задачи


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 16:20 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Еще мысль пришла -
в контейнере задачи должно быть установлено для BUS2095 свойство "Импорт"

И если мне не изменяет память, вот такие вещи (в тексте или заголовке сообщения) &BUS2095.SalesDocument&,
желательно определять через "Вставить выражение" -
при прописывании вручную и копировании - система не всегда их определяла


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 16:27 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Да, в первой задаче указывал

&_WI_OBJECT_ID& <- &BUS2095&

Для BUS2095 в контейнере установил свойства "Импорт" и "Экспорт".
В сообщение вставлял через "Вставить в сообщение"

Но значение все равно не передается :(

Пробовал через дополнительные элементы контейнера, которые ссылаются на элементы ABAP-словаря, но это тоже не помогло...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Вт, авг 03 2010, 11:36 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Я понимаю реализацию первого шага так.
Операция ссылается на пользовательскую задачу, в которой происходит выполнение пользовательского метода бизнес-объекта.
А в методе бизнес-объекта перед "END_METHOD"
должна быть прописана запись значений в контейнер для бизнес-объекта договора
SWC_SET_ELEMENT CONTAINER
Дольше идет передача инстанции бизнес-объекта из контейнера метода в контейнер задачи
и из контейнера задачи в контейнер потока операций
Во второй задаче тип "отправка сообщения" идет передача инстанции бизнес-объекта из потока операций в задачу.

При этом во всех контейнерах должно быть установлено "импорт"/"экспорт" в зависимости от осуществляемого действия


Попробовала создать ПО из 2 шагов аналогично Вашим,
но только для БО BUS1001 - т.к. у его есть стандартный метод CREATE,
все отработало корректно, и номер нового материала пришел в с ообщениии.
Возможно, ошибка кроется в неверной передаче инстанции бизнес-объекта из пользовательского метода по созданию договора в задачу?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Вт, авг 03 2010, 12:48 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Не совсем все понял....
Я реализовывал так.
У БО BUS2095 стандартного метода CREATE нет. Поэтому я создал свой БО ZBUS2095 на основе BUS2095.
В новом объекте добавил метод CREATE со следующими параметрами: Диалог, синхронно, параметр результата. В качестве типа результата выбрал БО BUS2095, а на закладке "ABAP" указал транзакцию VA41.
Далее для БО 2095 настроил делегирование на новый БО.

При создании задачи для первого шага в качестве типа объекта я использовал БО BUS2095.
В ПО в контейнере для BUS2095 "импорт" и "экспорт" установил.

Может я чтото неправильно сделал при формировании нового БО или метода?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Вт, авг 03 2010, 15:52 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Нужно организовать в методе (в самой программе метода) после запуска транзакции правильную передачу значения номера контракта.

Т.е. выхватить после создания контракта номер документа,
и передать его в элемент контейнера.
При этом нужно определить эту переменную как параметр метода


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО  Тема решена
СообщениеДобавлено: Вт, авг 03 2010, 16:48 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Hop написал(а):
Не совсем все понял....
Я реализовывал так.
У БО BUS2095 стандартного метода CREATE нет. Поэтому я создал свой БО ZBUS2095 на основе BUS2095.
В новом объекте добавил метод CREATE со следующими параметрами: Диалог, синхронно, параметр результата. В качестве типа результата выбрал БО BUS2095, а на закладке "ABAP" указал транзакцию VA41.
Далее для БО 2095 настроил делегирование на новый БО.

При создании задачи для первого шага в качестве типа объекта я использовал БО BUS2095.
В ПО в контейнере для BUS2095 "импорт" и "экспорт" установил.

Может я чтото неправильно сделал при формировании нового БО или метода?


А зачем? У стандартного объекта присутствует событие CustGroupContract.CREATED. Запускайте свой поток по этому событию и первым же шагом выполняйте свое уведомление. При таком подходе инстанция БО в потоке будет корректной и номер свой Вы получите.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Ср, авг 04 2010, 10:06 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Создал поток, который запускается по событию и отправляет уведомление.
Если поток просто активировать и создать договор, то пользователю приходит сообщение с номером созданного договора.
А если активированный поток запустить в тестовом режиме, то после создания договора пользователю приходит два сообщения. Одно с номером договора, другое без номера договора. Получается, в тестовом режиме в потоке значения параметров в контейнер не передаются. Странно это....


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Ср, авг 04 2010, 12:41 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Спасибо всем за помощь :D

У меня есть еще один вопрос, если не сложно подскажите.
Мне нужно этот поток немного изменить, подскажите как это сделать.
У договоров есть статусная схема, и нужно в зависимости от пользовательского статуса отправлять пользователям разные сообщения.
Сами статусы находятся в таблице JEST и связь с договором идет по полю OBJNR. Атрибут для этого поля в БО я добавил. Вот только не могу сделать так, чтобы в поток попали значения статусов...
Как мне сделать чтобы в потоке были эти значения статусов и я мог для каждого возможного значения определить соответствующее действие?

Наверное это все просто делается, но у меня опыта никакого с workflow :oops:


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Чт, авг 05 2010, 14:43 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Вопрос снимается.
Получилось самому разобраться :)


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

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


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

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


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

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