Skip to main content

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); } }
 Happy Working...

Comments

Popular posts from this blog

My 10 years in Application Development

It's been around 10 years since I started programming. May be a bit more, if I have to include my first attempts at C programming in school. But it would be a grave insult to call remembering ten lines of code and just replicating it to put a star on the screen. I also did a course on Visual basic, but it was more gimmicks that Application development. But it was truly in the year 2007 when I started my Master in Computer Applications that I found a new flare for developing applications. 
I was very late to computers in general and even when I joined my Masters, computers were not really accessible to me. But when I joined my Masters where one is actually expected to hone the skills which they already have, but in case it was were I was learning the skills, initially it was very difficult. I was not sure what computers had for me nor I had a natural flair for programming. But the thing about computers that attracted me was the visual medium it gave. Initially it was just a door t…

Changing Timezone in Postgresql, Ubuntu

Timezone and locale are integral concepts that one should be aware of when implementing a System. For example. if you create a database in PostgreSql, it will use the default System settings for the database. Lets say you have a server in UK and your client is US. If the client tries to retrieve the current date or time, it is going to show the UK time and not the US one.
Today I encountered a different issue in our client place where the Ubuntu timezone and PostgreSql timezone were showing a incorrect values. Instead of Indian Standard Time (IST) it was showing Pacific Daylight Time(PDT). These are the steps that I followed to change the timezone to IST in PostgreSql and Ubuntu.
Changing timezone in Ubuntu:
sudo dpkg-reconfigure tzdataYou will be prompted to choose the continent and then the area. Provided screen shots where we configure the location.
Use TAB key to navigate to the OK button and then press Enter.

The changes will get reflected immediately. To check it you can open a n…

Apps to install after installing Ubuntu

Here are the list of apps that I almost use on a day to day basis. This blog will be updated with the apps in the subsequent versions.

Docky (MAC like doc)Nylas N1 (Email client)SkypeVimPathogen package managerTwitvimNERDTreeSublime TextVLC Media PlayerSSHUnity tweak toolOpenbravo ERP stackJavaAntPostgresqlTomcatEclipse IndigoNode.js (useful for many plugins)Google ChromeNoobs Labs Ubuntu themes and iconsTeamviewerFogger App