Retrieving Openbravo properties in DAL code is the configuration page in which we specify the source folder, the database configuration and many other configuration parameters. For more information on configuration, refer here.

There will be many cases where we will need the values of the parameters configured in the Few cases are.

  1. When you have a native jdbc connectivity code and you do not want to change that, but bring that under a DAL code.
  2. When you have attached a file to a record and want to process that using the actual file path.
  3. When you need your current database name. 
  4. When you need your current database parameters like URL, username,password, etc
  5. When you want the current context name using which the instance will be accessed.

Now lets see how we can access the in DAL code.

  1. Import the package  org.openbravo.base.session.OBPropertiesProvider.
  2. Use thegetProperty(property name) method on the OBPropertiesProvider
  3. Pass the name of the parameter whose value you require to the getProperty() method.

 Provided below is a sample code to retrieve the source path, database name, URL, database user name and database password.

package com.fugoconsulting.XXX.erpCommon.ad_process;

 import org.apache.log4j.*;
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.scheduling.ProcessBundle;
 import org.openbravo.dal.service.OBQuery;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.core.SessionHandler;
 import org.openbravo.base.session.OBPropertiesProvider;
 import org.openbravo.service.db.DalBaseProcess;

  * @author shankar
 public class ImportFile implements org.openbravo.scheduling.Process{

    private static Logger log=Logger.getLogger(ImportFile.class);

    public void execute(ProcessBundle bundle) throws Exception {
         // TODO code application logic here

           String RecordId=(String) bundle.getParams().get("XXX_Import_ID");
 "Record ID "+RecordId);
           String sourcepath=      OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("source.path");
          String dburl= OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.url");
         String database = OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.sid");
         String systemUser = OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.systemUser");
          String systemPassword = OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.systemPassword"); </span>


catch(Exception e){


Happy Working…

About Shankar Balachandran
Technical Manager, Openbravo operations, Kailao Consulting Private Limited

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: