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, 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; 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);"Last field changed:"+lastChanged);"Last field length:"+length); } }
 Happy Working...


Popular posts from this blog

Changing Timezone in Postgresql, Ubuntu

My 10 years in Application Development

Dissecting Openbravo 3.0 UI Architecture