Welcome to the Exact Product Blog

On this blog we will cover stories from all around the Exact ecosystem.

Exact Configurator – Integration of workflow and business logic

Written by Michiel Dorjee on . Posted in Exact Synergy

Hi all,

Today I wanted to talk a bit about Exact Synergy Enterprise and workflow.
There are a lot of ways that workflow can be used in a company, but not with specific company logic.

In the next release of Exact Configurator we have enabled this, so that company logic can be incorporated into the workflow.
This can only be done by experts on the database, since you’ll need to have a knowledge of both SQL and the exact database.

What we have done is enable validation of the request at any step defined in the request, but also allocation of resources that can perform the next step in a request depending on business logic. I will explain with a small example.

Let’s take the vacation request, something which is done in every company. Standard we have a validation on fields in there, like start date can not be after the end date and things like that. But for a lot of companies there are rules out there that say, you can only take 3 weeks of vacation in a row, while in another company that is 2 weeks.

This kind of logic you can now incorporate into your configuration. We have created a tab called validation in the request definition. In there the consultant/expert can define business logic rules.
Note that eventhough our customers can see the rules once they have been deployed, they can’t create rules themselves. The reason for this is quite logical, if you define a query wrongly it can greatly affect the performance of your software, so let’s leave it to the experts!

Defining a rule is done through an intermediate screen and can be defined per step:

Once you have create the rule per step, it will appear in the overview screen.

This overview screen will also be seen by your end customer, except that the button new is not available for him. Your customer will be able to add rules (the rules that are inactive) and remove rules from a request type (this will make a rule inactive). Actual deletion of a rule can only be done by a consultant in his development environment.

The second option we have added is people allocation. Similar to the way validation rules are created also allocation rules are created.

Now, why would there be a need for people allocation combined with business logic, since you can already add a role to a request per step?

A good example for this would be the expense claim. Different rules apply in each company. Of course there is validation, which you can handle with the above mentioned explanation on validation rules, but there’s also an approval stage with rules applied to expense claims. For example an expense claim with an amount lower than 100 euros can be approved by the manager, but once the amount gets higher, usually specific finance people look at this. Or project specific declaration may need to be approved by a project manager.

These kinds of approvals you can arrange with our allocation rules. You can also have the request appear in multiple peoples workflow, simply by stating in your SQL statement that the resource is A OR B OR C.

With this software I think the expert has another strong tool to align the customers Exact Synergy Enteprise environment more and more with his business logic.

Happy configuring!

Should you have any questions about this solution, do not hesitate to contact me at ruud.aalders@exact.com or add comments to this post.

 

 

 

 

Tags: ,

Comments (15)

  • Robert Klein

    |

    Great possibilities with this new feature!

    Reply

  • Gary@VCD

    |

    Hi Ruud, two questions:
    1. Will we be able to use INNER JOINs in the validation query? There may be use to have the validation follow information stored in other tables, eg PRProject, or Items?
    2. Will these validations be a part of a configuration containing the full requesttypes also, or can they be deployed over existing requesttypes, which can still be further maintained outside of the configuration (fields, descriptions etc.)?

    Thanks for the new features!

    Reply

    • Ruud Aalders

      |

      Hi Gary,

      1. Yes you can use inner joins as long as they are based on the absences table.
      For example: a.Type = ’10’ AND e.EmpId IN (SELECT TOP 1 res_id FROM humres h INNER JOIN kstpl ON h.costcenter = kstpl.kstplcode WHERE kstpl.Class.01 = ‘SalesMark’ AND a.empid = h.res_id)

      2. You will need a configuration to deploy your rules. However it is not necessary to have your own entities. And yes, you can apply rules to the standard requests. You can do this from the workflow menu when your database is in development mode. From the configurator menu you can of course define rules on your newly created request types. (which have your own ranges).

      Reply

  • Martijn

    |

    Ruud,

    This sounds really nice (and customizable).

    Do you know in which Synergy-release (or when) this can be expected ?

    Thanks in advance !

    Reply

    • Ruud Aalders

      |

      Hi Martijn,

      This is available in the next release, release 250.

      Reply

  • Arno

    |

    Does the business logic also work in the apps?

    Reply

    • Ruud Aalders

      |

      Hi Arco,

      The requests are created at the server, the business logic will fire in the repository. So yes, this will also execute on the apps.

      Reply

  • Martijn

    |

    Just upgraded to Synergy Enterprise 250 (as this is currently in Controlled Release). The request-section from the Configurator menu has some new tabpages, so I tried to add a rule. However, clicking on New always throws an error: “Object reference not set to an instance of an object.”

    This happens on line 177 in CNFRule.aspx which says
    return (int)Queries.GenerateNextID(env, ConfiguratorSettings.GetRuleIDFrom, ConfiguratorSettings.GetRuleIDTo, “RuleID”, “CNFRuleDeployment”);

    That’s a pity, but as this is currently in Controlled Release, I guess this should be solved soon.

    Reply

    • Ruud Aalders

      |

      Hi Martijn,

      This is not a bug. Your settings are not filled yet. You will need to touch your configuration first and then your settings are filled. Or if you have a new environment, fill your settings first.

      You need a configuration to deploy rules anyways.

      Reply

  • Martijn

    |

    Ruud,

    Thanks for your reply.

    I have added a new entity, generated it and now this new functionality also works.

    Reply

  • Wouter

    |

    Hey Ruud,

    Great feature. Looking forward to test it. Q: will I be able to skip a workflow step. Example, expense claims < €100, then AUTO realize?

    Reply

    • Ruud Aalders

      |

      hi Wouter,

      It’s not made to skip steps. It’s validation of the workflow and it’s based on the request. I will however do inventory on your suggestion to see if more people would like to be able to skip steps.

      Regards,
      Ruud.

      Reply

  • Tamás

    |

    We are using Workflow validator already. Is there any new features comparing this one to Workflow validator? I’m asking because I don’t really see how is it more than that?

    Thanks,
    Tamás

    Reply

  • Vincent Nooren

    |

    Is this also available for clients instead of only businesspartners, For me this would be really great, that is all we miss with Synergy. We have now 85% of our company run with the workflow of Synergy. I can’t wait to fix the rest.

    Reply

  • Ruud Aalders

    |

    Hi Vincent,

    Since this is done via SQL statements, it is really important that trained businesspartners or exact consultants implement the requested conditions. This is the reason why we chose not to offer this for all clients. You can always contact our delivery department so they can help you implement the validations you would like to have.

    Reply

Leave a comment