|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Looping in Holosofx --> MQWF How to? |
« View previous topic :: View next topic » |
Author |
Message
|
CDougherty |
Posted: Tue Mar 04, 2003 12:43 pm Post subject: Looping in Holosofx --> MQWF How to? |
|
|
 Newbie
Joined: 30 Oct 2002 Posts: 5
|
Hi,
I'm looking to repeat a process until a claim is 'complete'. I'm trying to use Holosofx BPM to model this and it works fine there. The FDL that comes out of the tool for MQWF doesn't represent the loop.
Can someone give me the benefit of experience, the documentation says it is possible -- but the FDL sure looks plain to me.
Thanks,
--Charles _________________ Thanks,
Charles D. |
|
Back to top |
|
 |
yaakovd |
Posted: Tue Mar 04, 2003 1:03 pm Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
Two ways to create loop on process:
1. using Block
Code: |
STRUCTURE 'myDT'
DESCRIPTION ""
'condit': STRING;
END 'myDT'
/*
* PROGRAMs
*/
PROGRAM 'Dummy Unattended'
STRUCTURES_FROM_ACTIVITY
UNATTENDED
WINNT EXE PATH_AND_FILENAME "dummy.bat"
INHERIT ENVIRONMENT
STYLE VISIBLE
START FOREGROUND
END 'Dummy Unattended'
PROCESS 'Loop' ( 'myDT', 'myDT' )
DO NOT PROMPT_AT_PROCESS_START
WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 612
WINDOW SHOW ALL CONNECTORS
WINDOW SHOW NO CONDITIONS
SOURCE 1 XPOS -800 YPOS 1300
SINK 1 XPOS -800 YPOS 500
BLOCK 'Block' ( 'myDT', 'myDT' )
START WHEN AT_LEAST_ONE CONNECTOR TRUE
EXIT WHEN "condit=""EXIT""" XPOS -800 YPOS 750
LAYOUT XPOS -800 YPOS 900
NAME_POSITION XPOS -800 YPOS 825
WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 28
WINDOW SHOW ALL CONNECTORS
WINDOW SHOW NO CONDITIONS
SOURCE 1 XPOS -700 YPOS 700
SINK 1 XPOS -700 YPOS 0
PROGRAM_ACTIVITY 'Program' ( 'myDT', 'myDT' )
START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE
EXIT AUTOMATIC
LAYOUT XPOS -700 YPOS 400
NAME_POSITION XPOS -700 YPOS 325
PRIORITY DEFINED_IN INPUT_CONTAINER
PROGRAM 'Dummy Unattended'
SYNCHRONIZATION NESTED
END 'Program'
DATA
FROM SOURCE 1 TO 'Program'
MAP '_STRUCT' TO '_STRUCT'
DATA
FROM 'Program' TO SINK 1
MAP '_STRUCT' TO '_STRUCT'
END 'Block'
DATA
FROM SOURCE 1 TO 'Block'
MAP '_STRUCT' TO '_STRUCT'
DATA
FROM 'Block' TO SINK 1
MAP '_STRUCT' TO '_STRUCT'
DATA
LOOP 'Block'
MAP '_STRUCT' TO '_STRUCT'
LAYOUT
XPOS -900 YPOS 1100
XPOS -700 YPOS 1100
END 'Loop'
|
2. Using SubProcess:
Code: |
/*
* PROCESSes
*/
/*
* PROCESS Sub1
*/
PROCESS 'Sub1' ( 'myDT', 'myDT' )
DO NOT PROMPT_AT_PROCESS_START
WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 27
WINDOW SHOW ALL CONNECTORS
WINDOW SHOW NO CONDITIONS
SOURCE 1 XPOS -800 YPOS 700
SINK 1 XPOS -800 YPOS 0
PROGRAM_ACTIVITY 'Program' ( 'myDT', 'myDT' )
START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE
EXIT AUTOMATIC
LAYOUT XPOS -800 YPOS 400
NAME_POSITION XPOS -800 YPOS 325
PRIORITY DEFINED_IN INPUT_CONTAINER
PROGRAM 'Dummy Unattended'
SYNCHRONIZATION NESTED
END 'Program'
DATA
FROM SOURCE 1 TO 'Program'
MAP '_STRUCT' TO '_STRUCT'
DATA
FROM 'Program' TO SINK 1
MAP '_STRUCT' TO '_STRUCT'
END 'Sub1'
/*
* PROCESS Loop1
*/
PROCESS 'Loop1' ( 'myDT', 'myDT' )
DO NOT PROMPT_AT_PROCESS_START
WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 28
WINDOW SHOW ALL CONNECTORS
WINDOW SHOW NO CONDITIONS
SOURCE 1 XPOS -700 YPOS 700
SINK 1 XPOS -700 YPOS -100
PROCESS_ACTIVITY 'Process' ( 'myDT', 'myDT' )
START AUTOMATIC WHEN AT_LEAST_ONE CONNECTOR TRUE
EXIT AUTOMATIC WHEN "condit=""EXIT""" XPOS -700 YPOS 150
LAYOUT XPOS -700 YPOS 300
NAME_POSITION XPOS -700 YPOS 225
PRIORITY DEFINED_IN INPUT_CONTAINER
PROCESS 'Sub1'
END 'Process'
DATA
FROM SOURCE 1 TO 'Process'
MAP '_STRUCT' TO '_STRUCT'
DATA
FROM 'Process' TO SINK 1
MAP '_STRUCT' TO '_STRUCT'
DATA
LOOP 'Process'
MAP '_STRUCT' TO '_STRUCT'
LAYOUT
XPOS -800 YPOS 500
XPOS -600 YPOS 500
END 'Loop1'
|
_________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
CDougherty |
Posted: Thu Mar 06, 2003 5:16 am Post subject: |
|
|
 Newbie
Joined: 30 Oct 2002 Posts: 5
|
Thanks, are you saying that looping must be coded in the FDL and that I shouldn't rely on the modeller? _________________ Thanks,
Charles D. |
|
Back to top |
|
 |
jmac |
Posted: Thu Mar 06, 2003 6:53 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Charles:
NO, the loop can definitely be coded in BPM. What you need to do is to make the activities that you want to repeat into a block. Then you have the block fail its exit condition when you want the loop to repeat. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Maria |
Posted: Thu Mar 06, 2003 8:15 am Post subject: |
|
|
Newbie
Joined: 03 Mar 2003 Posts: 2
|
What John is referring to is specifying the block itself. To me, this wasn't very intuitive since in BPM you must first define the block as a "Process". Then open the "Process" and select "Export Type" of block on the Fields tab of the Process Info dialog. Once you go to the top process, you'll see that there is the letter "B" (instead of "P"!) in the process object.
So, you have Open the process which you'd like to define as block.
Everything else (exit conditions, etc) is similar to the way you define it in MQWf.
Please try - I hope it works.
Maria |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|