Author |
Message
|
Adi |
Posted: Mon Oct 17, 2005 10:56 am Post subject: Design/Modeling question |
|
|
Apprentice
Joined: 23 Oct 2003 Posts: 40
|
I have a requirement where I need to *set* variables in workflow before calling the UPES activities. Each of the UPES is inside a block to retry it if it fails
There are two ways to do this
1. Have a Noop just before calling a UPES block. Set the variable in NOOP and map it to the UPES block.
2. Come up with different names for the blocks, though the UPES activity within these blocks stay the same. Set the variable within the block before the actual UPES activity gets called.
I am currently using the method2. I want to know if 1 is better than 2 for reusability factor.
The downside to 1 is I have to have many NOOPs and have default connectors coming out of them.
The downside to 2 is obviously non reusability factor.
May I know which way is better.
Thanks in advance |
|
Back to top |
|
 |
Ratan |
Posted: Mon Oct 17, 2005 11:59 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
where I need to *set* variables in workflow |
From this statement I am assuming that you are trying to set some container values on the data connector.
For that, I dont see why you need NOOP acitivities.
What do you mean by reuse? I dont see any reuse either way, unless I misunderstood your question. _________________ -Ratan |
|
Back to top |
|
 |
kotha |
Posted: Mon Oct 17, 2005 12:51 pm Post subject: |
|
|
Partisan
Joined: 12 Mar 2005 Posts: 333
|
I prefer method1. I dont know what exactly u r tryin to do. But in general noop is better than the two blocks as the later adds up more load on the server. |
|
Back to top |
|
 |
Ratan |
Posted: Mon Oct 17, 2005 1:13 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
I prefer method1. I dont know what exactly u r tryin to do. But in general noop is better than the two blocks as the later adds up more load on the server. |
He needs UPES Activities inside blocks anyway for automatic restarts. So there are no additions BWUs added. _________________ -Ratan |
|
Back to top |
|
 |
jmac |
Posted: Mon Oct 17, 2005 1:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
It seems to me that what you want is to set the default data in the source of each of the blocks which is then mapped to the UPES activity. I assume here that this is Ratan's unstated intent. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Adi |
Posted: Tue Oct 18, 2005 5:43 am Post subject: |
|
|
Apprentice
Joined: 23 Oct 2003 Posts: 40
|
Yes Jmac, you are spot on. I want to set default values to particular container variables before I invoke the UPES activities which are themselves inside a block.
If I set the defaults in the Data tab for the block, this same value gets used wherever I have this block in the flow ( which is not what I need). so I am having to name the blocks differently but still have the contents inside the block the same. I am populating the default values in the source section of the block ( I am using Modeler here).
Ratan,
I think my original post didnt say the requirement clearly. I need to call the same UPES block multiple times in a process flow with the container field having different values each time. say in one path, the variable.. "whereisworkflow" should have the value "AfterLoanApproval" and in another path the same UPES should be sent "BeforeCreditCheck"...etc.... I am trying to see if I can avoid having to define new blocks which will have the same contents inside ( with only the default values populated with different values ) |
|
Back to top |
|
 |
Ratan |
Posted: Tue Oct 18, 2005 8:45 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
I think my original post didnt say the requirement clearly. I need to call the same UPES block multiple times in a process flow with the container field having different values each time. say in one path, the variable.. "whereisworkflow" should have the value "AfterLoanApproval" and in another path the same UPES should be sent "BeforeCreditCheck"...etc.... I am trying to see if I can avoid having to define new blocks which will have the same contents inside ( with only the default values populated with different values ) |
Modeler shows blocks as SubProcesses which can be reused, and I think that is what is causing the confusion. In MQWF blocks are not autonomous. _________________ -Ratan |
|
Back to top |
|
 |
jmac |
Posted: Tue Oct 18, 2005 9:11 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Adi wrote: |
If I set the defaults in the Data tab for the block, this same value gets used wherever I have this block in the flow ( which is not what I need). so I am having to name the blocks differently but still have the contents inside the block the same. I am populating the default values in the source section of the block ( I am using Modeler here). |
It seems to me that you have to be able to set the default value for your whereIsWorkflow member each entry into the block, and since you have the block multiple times in the model, you should be able to set the proper default each time. I know that I could do this in Buildtime, and if it can not be done in modeler that would be just one more incompatability between the two. Note that if you are simply using default _struct to _struct mapping thoughout the entire model this will not work, you will need to map at the individual member level.
After re-reading your post, I beleive the answer is to set the default on the mapping INTO the block, not in the block itself. I am not a modeler expert, so I cant tell you exactly how this would work, but I bet it will. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Adi |
Posted: Thu Oct 27, 2005 2:36 pm Post subject: |
|
|
Apprentice
Joined: 23 Oct 2003 Posts: 40
|
Jmac, Ratan
I tried many things and the following seems to be the only option.
Please let me know if I am mistaken
Quote: |
Define a block- call it oneblockeverywhereblock.
Define multiple processes. Proc1,Proc2,Proc3.......so on.
put the oneblockeverywhereblock in all these processes ( I dont have to remodel the contents of the block here )
set the default values in containers in source of each processes Proc1, Proc2 etc....
This way, I will have multiple processes with same block inside them which will pass different values for a container variable to the "activities" inside the blocks |
Jmac,
Your suggestion is fine but the problem is I cannot use the same block in the same process. I will have to remodel each and every block with a unique name and set the default values from source inside each block.[/list] |
|
Back to top |
|
 |
|