Informatica Workflow Manager : How to control the flow of the workflow based on some condition

Viewed 325

I have below scenario that I want to figure out, how to implement.

After Session0, Either Session1.1 or Session1.2 will execute based on Session Variable (Var). I want to execute Session2 only if either Session1.1 Succeeds or Session1.2 Succeeds.

I have tried below solutions :

  1. If I simply put Status conditions on Link C and Link D. Session2 does not executed
  2. If I put a decision task after Link C and Link D which checks for Status of Session1.1 and Session 1.2 but workflow still does not read the decision task.

enter image description here

2 Answers

The way you added session 2, it will execute only when both 1.1 and 1.2 executed successfully.
You can solve your issue in two ways.
Option 1. using another session 2 shortcut.
Option 2. using a decision task.

1 - Create a shortcut of session 2 and add it after session 1.2 and original to to 1.2.
Mapping should look like this -

          | -> sess 1.1 --> sess 2 
sess 0 -->
          | -> sess 1.2 --> sess 2 (shortcut of original sess2)

2 - Create a decision task and add it before session 2. The condition will be if(sess1.1.status=succeeded or sess1.2.status=succeeded,1,0). Then join it to sess 2. The link condition will be decision.condition=1.
Mapping should look like this -

          | -> sess 1.1 --> |
sess 0 -->                  | -> decision task -link_cond-> sess 2 
          | -> sess 1.2 --> |

The other option is to keep your design as it is (as showed in the picture) and in session 2, you need to select the check box Treat Input links as- OR

Note: Assuming Link c has a condition Sess 1.1 = succeeded and Link D has a condition Sess 1.2 = succeeded

Related