SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Workflow: проверка, что объект создан



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
StasZh
Участник
Участник



Joined: 27 Sep 2007
Posts: 23

PostPosted: Fri Dec 21, 2007 12:12 pm    Post subject: Workflow: проверка, что объект создан Reply with quote

Привет!
Столкнулся с проблемой при разработке бизнес процесса в Workflow.
В бизнес объекте Purcahse Requsition существует ссылка на объект Sap user 'USR01'. В случае, если имя пользователя не существует в системе (это случается в документах, приходящих через IDOC), объект USR01 не создается. И при попытке отослать письмо пользователю, выполнение прерывается с ошибкой.
Пытаюсь в построителе Workflow (SWDD) вставить проверку, что объект не пустой,
USR01 <> ''
выдается ошибка:
Operation '<>' between data type 'o' and '' not allowed.
То есть при проверке, можно ссылаться на атрибуты, но не на сам объект. Например так проходит
USR01.User name <> ''

Как можно проверить, что объект создан именно в построителе Forkflow? Как включить такую проверку через атрибуты бизнес объекта разобрался, но это требует программирования и не всегда возможно из-за необходимости модификации SAP объектов.

Второй вопрос, чем отличается element от property в макросах?
SWC_GET_ELEMENT
SWC_GET_PROPERTY
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 45
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Fri Dec 21, 2007 1:22 pm    Post subject: Reply with quote

Несколько непонятно, что нужно.
Для проверки формирования инстанции в любом бизнес-объекте существует стандартный метод ExistenceCheck. Можно сделать задачку на его основе, к примеру.
Хотя верным будет также проверять ключевые поля бизнес-объекта на заполнение ( в Вашем случае поле BNAME таблицы USR01, елемент контейнера ID).

По второму вопросу. Кажется, что swc_get_element беерет значение в контейнере своей задачи, а swc_get_property может заглянуть и в чужой контейнер. Но точной уверенности нет, могу ошибаться.
Сам использую только swc_get(set)_element(table).
Back to top
View user's profile Send private message Blog
StasZh
Участник
Участник



Joined: 27 Sep 2007
Posts: 23

PostPosted: Fri Dec 21, 2007 1:54 pm    Post subject: Reply with quote

John Doe, спасибо за Ваш ответ. С workflow я тесно не сталкивался, нужно испровить ошибку при отправке почты.

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

У нас так написано, что если BNAME не реальный, то и бизнес объект USR01 не создан.

Пошел по другому пути, создал атрибут IsRequisitionerValid для бизнес объекта, который проверяет, что USR01 вилиден, и если да, выставляет этот атрибут в 'X'. Вроде работает.
Проверку делаю через handle объекта
swc_get_property self 'PRCREATOR' lo_pRCREATOR.
swc_get_element почему то возращает возвращает ошибку - объект не найден.

Code:
GET_PROPERTY IsRequisitionerValid CHANGING CONTAINER.
DATA: lo_PRCREATOR  TYPE swc_object.

swc_get_property self 'PRCREATOR' lo_pRCREATOR.
* swc_get_element CONTAINER 'PRCREATOR' lo_pRCREATOR.
IF NOT lo_pRCREATOR-handle IS INITIAL.
  OBJECT-IsRequisitionerValid = 'X'.
ELSE.
  CLEAR OBJECT-IsRequisitionerValid.
ENDIF.
  SWC_SET_ELEMENT CONTAINER 'IsRequisitionerValid'
       OBJECT-IsRequisitionerValid.
END_PROPERTY.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.