Upgrading Groovy in SpagoBI

Groovy Language It is possible to create a SpagoBI Script (Groovy-based) Data Set which calls a web service and returns data in the standard XML format needed by consumers of SpagoBI Data Sets. As a proof of concept, I used Groovy-WS Lite (a Groovy SOAP/RESTful client library, which required a newer version of Groovy than that which shipped with SpagoBI 5.0 (Groovy 1.5.x). So, it was necessary to replace the Groovy-all library jar with a later version and add the

Read more

SpagoBI report deployment via SDK

Below are my thoughts on approach, capabilities, and limitations on doing automated deployments of SpagoBI reports through the SDK. I welcome your comments and suggestions. If you’re doing something differently, please share. As I now have 12 SpagoBI instances, keeping the reports in Sync on all environments has become a challenge. As a proof of concept, I’ve created a groovy script that can import an Exported-SpagoBI document to a list of SpagoBI servers. (Happy to share that if anyone is

Read more

Using Groovy to Deploy Federated (or Linked Server) views

I have several federated server / linked views in SQL Server 2000, which allows querying across multiple servers and databases simultaneously. While very powerful, there are some limitations. The primary database server has some linked servers defined. The primary database has a view defined in it which points to a specific linked server and linked database. Unfortunately, Linked Server aliases are not supported and the linked database name varies between environments. Because the View has the Linked Server and Database

Read more

SpagoBI Groovy LOV for Last Day of Last Month

SpagoBI Lookup Value (LOV) in Groovy to get the last day of last month 1 2 3 4 5 6 7 8 9 10 11 12 Calendar cal = Calendar.getInstance() cal.add(Calendar.MONTH, -1) cal.set(Calendar.DATE, 1) Date firstDateOfPreviousMonth = cal.getTime() cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE)) Date prevDate = cal.getTime()   //You pick whether you like sprintf or GString better //String returnStr = "${(cal.get(Calendar.MONTH)+1).toString().padLeft(2,’0′)}/${(cal.get(Calendar.DATE)).toString().padLeft(2,’0′)}/${cal.get(Calendar.YEAR)}" //return returnStr.toString() String returnStr = sprintf("%02d/%02d/%4d", cal.get(Calendar.MONTH)+1, cal.get(Calendar.DATE), cal.get(Calendar.YEAR)) return returnStrCalendar cal = Calendar.getInstance() cal.add(Calendar.MONTH, -1) cal.set(Calendar.DATE, 1) Date firstDateOfPreviousMonth = cal.getTime()

Read more