I need to integrate JasperReport to my ebase Xi application, The report is generated OK , but the file is generated on the Server and I need that the report is stored on the Client PC. Is this possible ?
Here is my code:
Code: Select all
importPackage(com.ebasetech.xi.api);
importPackage(com.ebasetech.xi.services);
importPackage(Packages.net.sf.jasperreports.engine);
importPackage(Packages.net.sf.jasperreports.view);
importPackage(java.sql);
importPackage(java.util);
var l_Rep = "Documentos Por Cobrar";
var cual_jr = "P:\\ebase_Xi\\450\\UfsServer\\tomcat\\webapps\\ufs\\jr\\"+l_Rep+".jasper";
//var jasperDesign = new JRXmlLoader.load("P:\\ebase_Xi\\450\\UfsServer\\tomcat\\webapps\\ufs\\jr\\VENDEDORES.jrxml");
//var jasperReport = new JasperCompileManager.compileReport(jasperDesign);
var connection = null;
var exception = new Packages.java.sql.SQLException();
try
{
java.lang.Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
var l_URL = "jdbc:sybase:Tds:localhost:2800?ServiceName=italven90&CHARSET=utf8";
connection = DriverManager.getConnection(l_URL,"DBA","SQL");
connection.setAutoCommit(false);
}
catch (e)
{
event.owner.addErrorMessage(e);
log (e);
}
var params = new HashMap();
params.put("p_NOMEMP", "PRUEBA C.A.");
params.put("p_NOMBRE_REPORTE", "Documentos x Cobrar");
params.put("p_RIFEMP", "J-11223344-5");
//params.put("p_FECHA", new Date());
params.put("p_CUALES_VDCOD", "");
var jasperPrint = new JasperFillManager.fillReport(cual_jr,
params , connection );
var l_dPdfs = "c:\\Pdfs";
if ( ! FileServices.existsFile(l_dPdfs) )
FileServices.createNewDirectory(l_dPdfs);
JasperExportManager.exportReportToPdfFile(jasperPrint, l_dPdfs+"\\"+l_Rep+".pdf");
Thank you all in advance.