Retrieving last changed value in Openbravo Callout

Callout in Openbravo is the feature that enables us to do runtime operations with the data. Callout is generally attached to a field and triggered in the onchange event. Openbravo has implemented a java class file called SimpleCallout.java, that we can extend and use it for implementing Callouts. For more information on implementing callouts, refer here and here.

As Callouts are attached to a field, you can use the field name with the prefix ‘inp’ to retrieve the run time value. Based upon that, you can do manipulations. But using this method, restrict the usage of that callout to a particular field. Say for instance I have a same logic to be implemented across five different fields, then I have to write 5 different callout, as we are hard coding the field names. But there is also a method provided to retrieve the last changed field and then using that, you can retrieve that value.

I have provided below the code, that retrieves the name of the last changed field and then the value of the corresponding field.

package com.fugoconsulting.xxx.erpCommon.ad_callout;

import javax.servlet.ServletException;
import java.util.*;
import java.lang.*;

import org.openbravo.utils.FormatUtilities;
import org.apache.log4j.Logger;
import org.hibernate.criterion.Expression;
import org.openbravo.erpCommon.ad_callouts.SimpleCallout;
import org.openbravo.base.secureApp.VariablesSecureApp;
import org.openbravo.dal.service.OBDal;

public class NameValidation extends SimpleCallout {

	private static final long serialVersionUID = 1L;
	private static Logger log = Logger.getLogger(NameValidation.class);
	@Override
	protected void execute(CalloutInfo info) throws ServletException {

		//Gets the last changed field
		String lastChanged = info.getStringParameter("inpLastFieldChanged",null);

		int length = lastChanged.length();

		//Gets the value of the last changed field
		String lastChangedValue = info.getStringParameter(lastChanged,null);

		log.info("Last field changed:"+lastChanged);
		log.info("Last field length:"+length);

	}
}
Advertisements

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

3 Responses to Retrieving last changed value in Openbravo Callout

  1. Pingback: Setting Date field in Openbravo Callout « Fugo Consulting

  2. Pingback: Setting Date field in Openbravo Callout « Shaan – Openbravo Developer, India, Fugo

  3. Pingback: Setting Date field in Openbravo Callout « Openbravo Technical Development – Do's and Dont's

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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: