Patrick George 13.May.06 12:49 AM a Web browser General 6.5.1 All Platforms; Windows 2003; Windows 2000; Windows XP
I'm facing a peculiar problem in one of the workflows that I designed.
I'm new to Lotus Workflow and don't completely understand everything that's going on yet.
I've designed a workflow which is going to be used by people in 6 countries. I'll explain why I mention this in a little while. Its basic workflow with no customisations other than the addition of a field in teh form which contains the name(s) of the users of the next activity in the flow. This is done via a lookup into the organisation database.
This workflow has about 20 steps with decisions being made in about half, in the other half the users are updating information for the decision makers.
As I mentioned the users are going to be in 6 countries and some of the decisions will be made by managers resident in their country while others are made by managers in other countries. Hence the need for the customised fields. Managers in other countries don't want to be party to approvals that are not specific to them. What I mean is this, if a user in country A initiates the workflow, then the next activitiy owner is the manager of the user also in country A. Howerver in step 3 of the workflow, after the manager approves, the activity moves to a manager in country B. Since the manager in country B might also be a manager of activity level 2 for users in country B, he/she doesn't want to participate in country A's activity level 2 and wants to recieve no mail notification either.
For this purpose I created a number of workgroups. The flow is initiated by a user in a specific country.
So I created a field which identifies the next stage's user(s) by doing a lookup into the organisation directory's workgroup based on the country and activity level and in the Architecht, I set the actvity owner to be a formula which points to the computed field. Lets call the formula DyanamicActivityOwner. So far so good. This is working fine, and while testing, mail goes to the right person or people. Perfect.
I have also included 2 automated activities which send out mail to the initiator. One to indicate approval the other to indicate rejection. The workflow is complete once this mail goes out. The sendTo field in the activity property is set to "Initiator".
My problem is the mail from the automated activities isn't going out. They are effectively the last operation in the workflow. There about 10 points of decison which have a relation to these automated activities. That is, approval at activiy level 5 leads to the automated activity to send mail for approval. The same for activities at stages 7, 10, 11, and so on until activity level 20, which is the final approval or rejection stage. If at any of the stages there is a rejection, then it leads to the automated activity to send rejection mail and the workflow concludes.
But mail isn't going out.
I inserted the ActivityOS field into the document and displayed it to track the activities. The background agent is getting triggered, as this field is updated to contain the name of the autoomated activity (namely Rejected or Approved) however, no mail is sent to the initiator and binder remains in the activity status "Automation" and does not move to "Completed"
I checked to see if for some reason the initiator field xxxx was blank and it isn't and there are no error messages in the application error log or on the server console.
Not sure if its' related. While designing the workflow I made a mistake and chose a few groups as owner for one activity instead of the formula DyanmicActivityOwner. But while testing the workflow I noticed that document got routed to the workgroup name. Meaning the workgroup name was not resolved into the names contained in the workgroup. This caused an entry in the application log which said no mail could be sent as there was no entry for "workgroup name" in the Names and address book.
Just to test this I replaced this workgroup name in the activity owners list with another which was alphabetically before the one that cause the error. Meaning, if the name of the group which caused the error began with "B" I inserted a name that began with "A". Amazingly, this was resolved corectly to the actual names of users while testing and each of the users in the workgroup recieved mails.
I checked organisational database cache to see if there was a problem and so all the workgroups including the problem one were listed. AS far as I can see, WOrkflow will resolve the names of the first 4 groups correctly to their users, all subsequent workgroups are trashed.
Another workflwo exists in this database of a similar construct, except that it uses Roles instead of workgroups and is a little more complicated. That was designed by someone else and I haven't tested to see if it faces this problem.
I hope I provided sufficient information without flooding you with unnecessary junk. Any help in this would be deeply appreciated as the deadline for this is fast approaching.