I have a well-defined process spread over 3 individual chained apps (each consisting of a minimum of 3 workflows). When a user intends to run a particular process, he/she goes to the desired process and then run the workflow. I wanted to combine three chained apps into a single app and then start the process from there. For example, using radio buttons the user would first select which of the processes would one want to initiate basis which the chained apps would run. However, when I am combining the three processes I am unable to configure all 3 processes' chained apps, that is, I am unable to configure what should run at the success of the workflow as defined in a chained app. I want it to be configured such that once a user selects process 1, then the chained app of process 1 should run, if user selects process 2 then chained apps related to the process shoul
To begin with, I have three processes all defined in the form of chained workflows
1) Process A (4 workflows chained together)
2) Process B (3 workflows chained together)
3) Process C (3 workflows chained together)
The process involves uploading data from excel to a database (for the storage process) and then manipulating it to be extracted in the form of excel files (for further manipulation). Right now, all these three workflows are separate workflows and need to be clicked individually. I want to combine them so that the user only gets a single interface to work through these workflows. So I used radio buttons to create an interface like this:
However, once I placed these individual workflows, I am unable to direct it to the next workflow of the chained process. For example, in the configuration of interface designer where I specify the next workflow to run I can only specify one workflow - Process A Step 2
What if the user selects Process B? How do I make sure at the end of it step 2 of Process B is run instead of Step 2 - Process A?
Hope it is clear enough? Let me know if you've any doubts.
The only way that I've seen to make a conditional chain of workflows is through some file manipulation magic. You build up the chained workflows and have the main workflow rename the first workflow of the selected chain to the name of the second workflow.
Chained workflow 1: a.yxzw->b.yxzw->c.yxzw
Chained workflow 2: d.yxzw->e.yxzw->f.yxzw
Main workflow: first.yxzw->second.yxzw
First.yxzw has the radio buttons to select chained workflow 1 or chained workflow 2. It also has logic to read the excel file and the other steps in your process. Based on the user selection, first.yxzw overwrites second.yxzw with either a.yxzw or b.yxzw as it's last step. The chaining process then runs second.yxzw and continues on with the correct chain.
There are points to consider though. You have to attach the 6 chained workflows as assets to the first workflow, which will put them into .\_external\1 on the server, so you'll have to play with paths in your copy statement to select the correct replacement file. As an alternative to this, you might want to store the text of each of the chained workflows in .yxdb files, with the correct file names as a field, i.e. chained1.yxdb and chained 2.yxdb The first.yxzw reads in the correct .yxdb and writes the files to current directory with the proper names. The chaining of second.yxzw then branches to the correct file.
This is a lot of effort on your part though for very little actual gain. What you can do instead is take the initial portion that reads the excel file and put it in the first workflow of each chain. Wrapping in it a macro will make it easier to drop-in and maintain. Then tell the user to run the correct workflow chain based on their needs.