Batch workflow with tasks displayed in a table and displaying what is done #xpa


Heidi Schuppenhauer
 

I'm not sure what the structure of the program is, but I've done something similar. 

1. If the task is showing to the user, it would be an online task of some sort, and it would remain visible.
2. It could be in a subform or as a batch task that remains visible after it ends.
3. There then needs to be something that indicates when the batch task ends. If the batch task is a subtask, it could just update a variable in the parent task (the visible one). Then you can use a "Variable change" handler to refresh the view if necessary. The items that are changed could be in the Main Program too I think. That is as close to real time that I can think of.
4. Otherwise you need an event that cycles in the background, looking for the item that has changed. I did one based on a timer event that cycled once a second ... it worked but there were issues with it IIRC. Anyway, it would call a task or program like "Check for change" that returns the current status. 


Heidi.Schuppenhauer

 

 


On Fri, Nov 18, 2022 at 10:02 PM Adrian Wick <adrian.wick2015@...> wrote:
Hi all.

I am trying to display a batch workflow to the user. Lets say the batch will call 5 programs. This are the 5 records
in my temp table. When each program is finished, i would like to "checked" the row in a table that is finished. So 
that the user can see what has finished and what else its going to happen.

Something similar to this. This would mean that the "Configuration Management" task is running at the moment.


Is there a way of doing this in "realtime"?

Regards,
A


Adrian Wick
 

Hi Heidi,

thank you for the input. I managed to do it like so:

1. The table with task is indeed an online task.
2. With press on a button:
    a) I call an action 1. In that action 1 I call a subtask that has a link query in it and its located on 1st record. I update the logical field to "True".
    b) After I exit subtask, I call an action screen refresh.
    c) Than I call action 2 at the end of action 1 ... and so I do the same cycle in action 2 and in the end I call action 3.

This way each record gets an update. 

If I didn't have each record update in separate actions, the screen refresh fired only 1 time at the end ... now it actually fires at the end of each 
action and its doing what I want.

Regards,
A