Modularising Process

I want to divide my process into sub-processes as I am expecting a very high execution time for the complete process.

How should I break the process if I am not using any framework? I was thinking of creating different flowcharts and then invoking each into the main flowchart.

Pls suggest me something for this. Some sample code may also work.

@loginerror @Pablito

Hi @Pankit,

  1. check for unused variables-remove it.
  2. Usually UiPath tends to run through thousands of records in a matter of seconds. We just need to find what is slowing it down. It is typically something in a loop such as queries, nested loops, etc that have to be performed on each item which can really slow things down.
  3. Try to reuse the workflow, if there is repetation.
  4. Try to minimize writeline behalf of it, you can use log message

The process I am working on is Invoice Processing. The bot has to pick a row data from excel and upload that to the oracle system. Now, uploading to Oracle have following steps :

  1. Putting invoice data.
  2. Setting distributions on that data.
  3. Setting GST values.
  4. Raising a request.

Should I create different modules for all the 4 parts of the same transaction? How can I do that?

For this, we would have use the framework. Since you are not opting to use it, you can build up a flowchart in that you can have 4 modules in a sequence for proper data segregation.

If you want to see which module is troubling. I recommend you to test each module first. From this, we get an understanding that which module is taking more time to execute. later we can optimize that module. I can recommend some optimization methods.

PS- While testing each module, record the time it took to execute in output panel.

Hi @Pankit

It looks like you could make use of splitting your processes into multiple processes (=projects) and then binding them together using an Orchestration Process:

That of course depends on how complicated separate parts are.

Thanks. I am not using Orchestrator or Queues. Working on an invoice process and one transaction itself involves many sub-tasks.

For now, I am creating different projects based on all sub-tasks and will be adding all to the main project. Do you think it is a right way?

Or should I only use workflows for repetitive tasks and all transactions in one workflow and later invoke it?

Hi @Pankit ,

Do a proper segregation of data in your workflow, to have a proper over view we do this segregation.

By doing this, it doesn’t speed up our process…

Please Note - Dividing the process into subprocess is necessary where you can reuse the workflow in inherit parts