Ask and answer questions about WebRatio, WebML and BPMN

Hey,

I am trying to expand on the Vacation Request BPM tutorial. I've created the web model and synchronized it with the BPM model.

Now I am trying to insert the logic for the "Verify Available Vacation Days" service task, by calculating the difference between startdate and enddate and comparing it to a "days" attribute that each user has. To make this work, I have created a new Process Parameter in the BPM model called "Days". In the web model, inside the module for the "Register Vacation Request", I want to retrieve the "days" attribute from the User entity and assign it to the "Days" process parameter, so that I can use it in the "Verify Available Vacation Days" service task.

The problem is that I cannot retrieve the attribute inside the module. If I try this outside (in a pageview for example), it works without any problem. Inside the module the Selector unit returns no value (not only for the "days" attribute, but for any attribute). Is there something that I need to do first in order to make this work?

Thank you,

Mike

asked 04 Feb, 09:24

aliens's gravatar image

aliens
012
accept rate: 0%

Does anyone else have this problem? Perhaps it is something I'm doing wrong, but I can't figure out what.

I'm saying this because service tasks have to be implemented somehow, and often is the case where it requires the retrieval of database attributes, so it seems weird that this wouldn't be possible inside a module.

Cheers,

Mike

(19 Feb, 11:25) aliens

Hi,

the Get Unit is a Session Unit and it's used to retrieve the values stored in the Global Parameters. It is also a Content/Operation Unit.

You can find more information about the Get Unit in this article of our wiki: Get Unit

In order to retrieve the desired Attributes of the user, the Get Unit setted as Operation Unit must be linked to an unit of an operations chain. In order to follow a flow, the Units of the operations chain must be linked by OK Links.

In your case in fact the Get Unit and the Selector Unit are outside the Page and the Selector Unit is not reached by an OK Link (i.e. the Ok Link outgoing from the Input Collector Unit). The Selector Unit is not executed.

In order to solve this problem you can try to cut the Get Unit and the Selector Unit and paste them to the page. In this way in fact the units will be executed during the load of the page.

link

answered 05 Apr, 12:11

albertomolinaroli's gravatar image

albertomolin...
63424
accept rate: 62%

Excellent, that did it! I can finally get on with my project. Thank you!

(05 Apr, 17:49) aliens

Can you show me, copying and pasting the screenshot of the activity module here? Have you already checked if there are exceptions in log files? If you need to understand how debug the application using log files try to follow this link:

http://wiki.webratio.com/index.php/Debugging_with_application%27s_logs

link

answered 09 Mar, 09:40

mariobrunowr's gravatar image

mariobrunowr
2553
accept rate: 43%

Hey mario,

Here are two screenshots of the activity module and the output result: screenshots.

It's basically the Vacation Request tutorial, with the following changes:

  • added a new "Days" parameter to the Vacation Request business object
  • added a "days" attribute to the data model (user table)
  • used a Get Unit to get current user oid and a selector unit to get the "days" attribute from the database, which is coupled to the "Days" field in the Vacation Request form (the coupling coming from Get Parameters unit was removed); the "Days" field has the Preloaded option enabled

However, as you can see from the output screenshot, the Days field remains empty when I try to register a new vacation request. The days column in the database exists and is populated, so this should work.

Anything else I need to do to make it work?

Thank you, Mike

link

answered 04 Apr, 08:59

aliens's gravatar image

aliens
012
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×9
×3
×2

Asked: 04 Feb, 09:24

Seen: 204 times

Last updated: 05 Apr, 17:49

©2001-2011 Web Models s.r.l. All rights reserved