Hi, I have created process Dashboard for the process model say "Job or

Certified Lead Developer
Hi,
I have created process Dashboard for the process model say "Job order",in which i have two process pariable of type cdt lets say jobOrderDetail and jobTickets.jobtickets is of multiple type and in job ticket cdt i am having almost 30 fields.again i am saving both pv jobOrderdetail and jobTickets to database. i need to show this information on the dashboard. so which is better way perfomancewise and memory from below 2
1. Keeping both pv jobOrderDetail and jobTickts array in process itself.and showing them on dashoard.
2. or fetching data from database and showing on dashboard. as i have data in database so there is no need to maintain jobOrderDetail and jobTickts array in process...

OriginalPostID-74276

OriginalPostID-74276

  Discussion posts and replies are publicly visible

  • It is not a hard and fast rule but I personally believe that this is relative to the way an application is designed
    We may have to consider the following, while
    1. Fetching Data from Database -
    a. If the dashboard is refreshed a number of times then those many database hits may lead to a performance hit.
    b. If lots of data (columns) is being fetched from multiple tables (joins), then the query rule execution will be more time consuming.

    2. Picking the data directly from the process variables -
    a. If the process is only maintaining the process variables for display on the dashboard then I see no point as the data will be fetched from the query rule in the process which will be the same number of hits as we would have if the dashboard is refreshed, unless it is passed from some other process or we have configured it accordingly for example - do not instantiate if an active process exists.
    b. If there exists other process models who can change the data in the tables (relating to jobOrderdetail and jobTickets), then one may not receive the real time data as soon as it would be required.
    So depending on the requirements we may have to choose one over the other.
    Apologies for not having a direct answer.
  • 0
    Certified Lead Developer
    Hi shrutij,
    In Second approach fetching data from database. as i am using ncolumntable function to show data on dashboard,i am calling same query rule for each column(e.g getJobTicketsDetail(parameter1).jobTicketID) i am repeating this expression for each column with different field. is it good way to do that . or can we achieve this in other way
  • Hello Ajinkya, since this is a process dashboard, we will have access to all the process variables, why not have a process variable which will call the query rule once. So in the process model we have <pv!someProcessVariable> = getJobTicketsDetail(), we can access this process variable in the dashboard.
    =ncolumntable({"Col1","Col2","Col3"},pv!someProcessVariable.Field1,pv!someProcessVariable.Field2,pv!someProcessVariable.Field3), rather than having a query rule being called directly in each of the column.
    You may have another requirement which mandates you to follow the currently implemented design, cannot deny this, but if it is straight forward query rule call then having it as a process variable should do good.