A background process is a system action requested by the user who has to previously provide auxiliary parameter values to execute that action.
There are two background processes which are listed by default in the process request window, those are:
- the Accounting Server Process.
This process searches for and automatically "Posts" transactions in status "Completed" set as "Posted" = No.
- Above means that this process allows that documents such as purchase invoices, sales invoices or GL journals get automatically posted without any user action but to schedule this process.
- and the Heartbeat Process.
This process collects information about Openbravo installations, if scheduled.
Apart from that there are other background processes which can also be scheduled and therefore monitored:
- the Costing Background Process. This process calculates the cost of the material transactions.
- the Alert Process. This process checks if the SQL Query defined in each active alert rule returns any record in order to create the corresponding alert instance.
This process also removes the fixed alerts instances to get they are not shown anymore.
- the Execute Pending Payments process. This process checks and execute Payment In and Payment Out linked to a payment method having an "Automatic" Payment Execution Process, which are not set as "Deferred" and do not required any input to be executed.
- and the Payment Monitor process. This process checks the invoice's payment status and update the invoice's "Payment monitor" section.
All of the processes above can be scheduled if logged as System Administrator role.
Process Request window allows to review and add background processes which can be scheduled or unschedule as required.
The information to fill in to schedule a background process is:
- select the Organization for which the background process is going to be schedule
- select the Process to schedule from the list of processes available
- select the Timing. Timing options available are:
- Run Inmediately, this one does not required to enter any additional parameter values but just to press the action button "Schedule Process".
- Run Later, this one requires to enter additional parameter values prior to "Schedule the Process":
- the Start Date
- and the Start Time
- Schedule, this one requires to also enter additional information:
- the Start Date
- the Start Time
- the Frequency, options available are options such as "Every n seconds", "Every n minutes", "Hourly", "Daily", etc. Depending on the frequency selected two new fields are populated to enter:
- the "Interval in Seconds" and the "Number of Repetitions"
- the "Interval in Minutes" and the "Number of Repetitions"
- the "Hourly Interval" and the "Number of Repetitions"
- the "Daily options" and the "Daily Interval"
- select the "Security based on Role" checkbox to get that only the user who schedules a process can monitor it in the process monitor window,
otherwise any user sharing the same role as the one who scheduled the process will be allowed to monitor it.
In both cases it is required that the role have access to the process in the process access tab of the Role window.
- and finally configure by when a process needs to finish. "Finishes" field allows to enter:
- a Finish Date
- and a Finish Time
Process defined as "Run Inmediately" and "Run Later" can either be Scheduled or Rescheduled.
Process defined as "Schedule" can either be Scheduled or Unschedule.
Costing Background Process
The Costing Background Process is the process in charge of searching for goods transactions such as:
- Goods Receipts
- Goods Shipments
- Physical Inventory
- Goods Movements
- Internal Consumptions
- and Productions
for which its cost has not been calculated yet.
This process considers only transactions having its "Costing Status" property as:
- "Not Calculated"
- or "Pending".
This process calls the Costing Server process which calculates the cost of each transaction.
The transactions are calculated sequentially ordered by the Transaction Process date that is the date and time when the document that originated the transaction was processed.
If the Costing Server throws an error the background process stops and it is not possible to calculate any new transaction cost until the error is fixed.
The error message can be checked in the Process Monitor window. Note that although the Costing Background might have failed the process monitor might show a Success. Please refer to the Process Log field to get the real result message.
Some costing algorithms such as "FIFO" implement the "Pending" Costing Status as a way to delay the cost calculation of a given transaction/s until the next run.
This way the costing calculation process is not stopped for the rest of the transactions having a Not Calculated or Pending status, for which it is possible to calculate the cost.
Full list of Process Request window fields and their descriptions is available in the Process Request Screen Reference.