Duvidas na formatação do campo

Blz galera!

Estou customizando um ERP OpenSource que se chama Adempiere que esta utilizando o banco de dados postgre aonde eu tenho um campo chamado emprestimo(Z_LoanDate) e outro de retorno(Z_ReturnDate), quando seleciono o campo emprestimo(Z_LoanDate) o campo de retorno(Z_ReturnDate) recebe na data 5 dias a mais ex:
Emprestimo 16/12/2010 retorno 21/12/2010.
Mas o meu problema é que no campo de retorno o ano esta vindo 2009 e quando clico no botão salvar esta aparecendo a seguinte mensagem:
Erro no Banco de Dados.: ERRO: coluna “z_returndate” é do tipo timestamp without time zone mas expressão é do tipo integer
Será que vocês podem me ajudar! estou deixando o meu codigo ok.
Segue meu codigo:

public String category (Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value)
{

	log.log(Level.SEVERE, "ExCallout");
	
	Timestamp Z_LoanDate = (Timestamp) mTab.getValue("Z_LoanDate");
	 Object Z_ReturnDate =  mTab.getValue("Z_ReturnDate");
	 String formato = "yyyy-mm-dd";
	 SimpleDateFormat dataFormatada = new SimpleDateFormat(formato);
	 
	 
	if(mTab.getTableName().equals("Z_Loan"))
	{
		
	
		if(isCalloutActive() || value==null)
		{
		return "";
		}
		
		if(Z_ReturnDate ==null)
		{
			Z_ReturnDate = "0";
			
			
		}
		
			log.log(Level.SEVERE, "ExCallout"+Z_ReturnDate);
			
			Z_LoanDate.setDate(Z_LoanDate.getDate()+5);
			mTab.setValue("Z_ReturnDate",dataFormatada.format(Z_LoanDate));
	
			
			
	}	
	return "";
	
	
}

coloca os codigos na usando a tag “code”.