Module:External Data Integration
This module can be used by other extension modules to implement processes to load data from external resources or to extract data to other systems. Typical scenarios are clients where master data like products or customers is managed outside Openbravo or clients that require to send all the transactions (sales, invoices, paymetns,...) to another system. The implementation of these processes can be very different but all of them have a common user interface that is described in this guide.
The configuration is done in the EDL Configuration window for each Client. A record for each EDL Process that is used on the Client has to be created. The header only has the EDL Process field. Note that the module that implements the selected process might include additional fields to fill.
In case the EDL Process generates an output it has to be configured the Output tab. In this tab have to be configured all the output processes required to be executed for each EDL Process. The EDL module includes 2 output types: Debug and WSRest. Debug prints a INFO in the Openbravo log with the output generated by the EDL Process. WSRest allows to configure a REST WebService to send the result of the EDL Process.
In case the EDL Process has the retry enabled it is possible to configure it by checking the Retry Enabled flag. When this is checked 2 additional fields appear:
- the Max Retry Number to define the number of times that the process can be retried before giving up and throwing the Error.
- the Retry Interval to determine the time in milliseconds to wait before doing the retry.
The retry is an ability aimed for WSRest output type processes where the configured WebService can be temporarily unreachable.
Each execution of a EDL Process is called a EDL Request. All the requests are registered in the EDL Request window. The header contains all the information about each request, the main fields are:
- EDL Process: The process related to the request.
- Status: The current status of the request. Possible values are: Initial, Processing, Error, Scheduled, Success and Voided.
- Request Date: The date when the request was generated in the system.
- Execution Date: The date when the request process was finished.
- Request Data: The raw data in case the EDL Process Storage Location is Database.
If the EDL Process of the request is Asynchronous the data is divided in batches of items. Each batch is stored in a Request Line. Relevant information that can be checked in the Request Line tab is:
- Status: the status of the line. Possible values are: Initial, Processing, Error, Scheduled, Success and Voided.
- Import Entry and Import Entry Archive: The import entry used to process the request line.
- Line Data: the batch with the items to process.
- Error Message: The message in case the process of the items has failed.
If the EDL Process is configured with a Output Process that stores the generated content it can be reviewed in the Output Content tab. Relevant information that can be checked in this tab is:
- Request Line: in case the process is asynchronous the line that has originated the content.
- Execution Date: the date when the output is generated.
- Content: The content sent in the output.
When a EDL Request process fails it is possible to execute some processes to solve the issues.
- Process (request header tab)
- It executes again the EDL Request. If the process is asynchronous it is possible to select to execute all the request lines or only those in Error status. Available also in Success requests for example in case it is a Extract process that has failed in the external system so it is required to resend it. Some processes might not be able to reprocess if the required raw data is not properly stored or available.
- Available when the Request is in Error status. It discards the EDL Request by updating the status to Voided.
- Process (request line tab)
- Multiple selection button that processes all the selected request lines.