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".
Costing background process:
- calls the Costing Server process which calculates the cost of each transaction
- and takes into account what configured in the Costing Rule defined for the products, therefore either "Warehouse" dimension is taking into account while calculating the costs, or either "average" or "standard" cost is calculated for the products.
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.
Price Correction Background Process
Price correction background process searches for Goods Receipts that:
- either have a purchase order related which has been reactivated and booked after completing the Goods Receipts
- or have a purchase invoice related
After that this process checks and compares whether:
- order purchase price has been changed before booking the invoice
- invoice purchase price is not the same as purchase order price
If the purchase price has changed a Price Correction cost adjustment is created for the products included in the Goods Receipt(s).
There is a process named "Process Price Different Adjustment" that manually adjusts if required all Goods Receipts already invoiced prior upgrading Openbravo 3 instance to manage Cost Adjustments feature.
Process Request has been modified in order to be able to schedule a process group. There is a check Group. Marking the check a field called Process Group will appear and you will be able to select a Process Group.
The schedule of a process group will work exactly as the schedule of a single process. Is not possible to schedule a process group and a single process at the same time.
More information in Process Group
Full list of Process Request window fields and their descriptions is available in the Process Request Screen Reference.