ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Defining Expressions in MQ Workflow

Post new topic  Reply to topic
 Defining Expressions in MQ Workflow « View previous topic :: View next topic » 
Author Message
lzn9b8bpm
PostPosted: Tue Jul 01, 2003 5:37 am    Post subject: Defining Expressions in MQ Workflow Reply with quote

Newbie

Joined: 23 May 2003
Posts: 6
Location: Dallas, Texas

Is it possible to use a datamember of type Date to define an expression in workflow? For example, one of the datamember fields is CustomerOrderDate. I want to create an expression that will evaluation this datamember. So, CustomerOrderDate < 22days.

Is this possible? Thanks for the help.

Joe
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
Ratan
PostPosted: Tue Jul 01, 2003 6:31 am    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

There is no direct expression in WF to do that, but you can always have an activity that evalutes that and routes your process flow.
_________________
-Ratan
Back to top
View user's profile Send private message Send e-mail
lzn9b8bpm
PostPosted: Tue Jul 01, 2003 6:49 am    Post subject: Reply with quote

Newbie

Joined: 23 May 2003
Posts: 6
Location: Dallas, Texas

You mean use an UPES to evaluate the expression right? What kind of overhead would this be on the process?

The requirement is that if the process is equal to 22days old then something has to been done, either a notification is sent or a process instance is created. The problem is having this expression evaluated continuously until either the HL process is complete or the process age equals 22days. The client is worried that having a UPES running throughout the process will cause too much overhead. Thanks for the help.

Joe
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
jmac
PostPosted: Tue Jul 01, 2003 8:03 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

If I understand your problem correctly, you do not need a UPES, you simply need a "batch" program that runs nightly retrieves all instances created from the particular template, and then you simply test each one. This would be extremely low overhead, and could be run off peak.

But then again, perhaps I don't understand your problem
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Ratan
PostPosted: Tue Jul 01, 2003 8:05 am    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

I thought you wanted to evaluate the Date for a transition condition. For your needs John, solution is right.
Also you can use Workflow Notifications depending on your requirements.
_________________
-Ratan
Back to top
View user's profile Send private message Send e-mail
lzn9b8bpm
PostPosted: Tue Jul 01, 2003 10:33 am    Post subject: Expressions Reply with quote

Newbie

Joined: 23 May 2003
Posts: 6
Location: Dallas, Texas

Here are the requirements:

There are three time constraints: All based on a data member (date_received)

first time: date_received => date_received + 22days

second time: date_received => date_received + 55 days

third time: date_received => date_received + n days (n days is depended on the process, some have 5 days and others 10 days, but this value will not change for each process)

The client first tried dealing with this req using the Monitor and defining these as Business measures. This was a problem and did not provide the desired results.

The process should not go beyond any of these time frames. If the process ends before the time frames then it needs to finish. These times can be Notifications, they can be work items or even seperate Process instances. As long as the client gets the desired results it doesn't matter.

To give you an example, there are over 150 processes that will use the same notifications, all 150 can be running concurrently, with multiple instances running of each.

Thanks for all the advise so far...

Joe
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
jmac
PostPosted: Tue Jul 01, 2003 10:40 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Joe:

So then, unless there is something I am missing, you should be able to do exactly what I suggest. You just need to write a little code.

GOOD LUCK
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Ratan
PostPosted: Tue Jul 01, 2003 11:10 am    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

John's solutions is the simplest from what I understand. You just have to write a simple program (sould not be more than a few lines), and check the Process Instances timestamp.
_________________
-Ratan
Back to top
View user's profile Send private message Send e-mail
lzn9b8bpm
PostPosted: Tue Jul 01, 2003 11:46 am    Post subject: Reply with quote

Newbie

Joined: 23 May 2003
Posts: 6
Location: Dallas, Texas

Okay,

I see where your going but don't I still need a UPES? The process timestamp needs to be evaluated against the Date_Received data member that can be 5 to 10 days old before it reaches workflow.

So if you have an activity in the begining of the process that fires a message off to a queue, then have a program that runs nightly that will read all the messages looking for past due dates. If a past due date is found, then the program can create a process instance depending on the type of past due event.

This is the way I understand it working unless there is a way get a data member from the process without using the UPES.

Just to let you know, I usually don't get involved in the programming side of the equation. I typically do the process re-engineering, analysis, design of the models and then work with the developers to hammer through the code.

I really appreciate the support.

Joe
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
jmac
PostPosted: Tue Jul 01, 2003 11:57 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

lzn9b8bpm wrote:
This is the way I understand it working unless there is a way get a data member from the process without using the UPES.


NAH, what you want to do is to write a program that:

    Logs on
    Accesses the ProcessInstances created from the appropriate template
    Get the ProcessInstance::createTime()
    Go into a loop and validate each instance against your criteria by accessing the appropriate data member from the Instance Input container and
      do the appropriate action if this instance is delayed
      do nothing if the instance is not delayed
    Logoff

_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Defining Expressions in MQ Workflow
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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.