Poor performance that change XML data source programically
The XML file get from database each time is different, so I have to specify the XML path dynamically.
I find the process of DataBaseController.replaceConnection(conn1,conn2) is very slow if the XML structure is more complex, in my case, the size of the XML is about 100K and tables(hierarchy) are more than 50.
I also try to use the setDatasource(IXMLSource,'','') and setTableLocation, the result are same and almost spend 3 seconds or more for this process.
Any suggestion to me or what's wrong about that case?
The XML for the documents are generated by the product code using BC4J XML generation. No concurrent program is involved in it.
As regards to including additional fields from Sourcing documents into the XML generated, you can use the BC4J extension fwk to extend the ViewObject that generates XML and modify the query to include any additional fields as needed.
All the above assumes knowledge of Oracle Application Framework and the customization fwk. There is a Metalink Note (dont know the exact id) which explains how to extend BC4J objects and deploy them.
Similar Messages
-
XML data source - Performance problem
Environment - Crystal Reports 2008 , crjava-runtime_12.2.200 jar files, Java 1.5 and XML data source
We are generating reports from our java application. .rpt file is designed using CR 2008 .
The problem we have is its taking longer time to generate a report. Atleast its taking 5-6 minutes. XML file size is around 300 KB. .rpt file size is 2000 KB.
Steps involved in report generation in Java program.
1. Creating ReportClientDocument.
2.Opening ReportClientDocument( reportClientDocument.Open())
3. constructing XML datasource IXMLDataSet(xml_ds). ( setting XML and XSD)
4. setting the datasource to database controller. -- reportClientDocument.getDatabaseController().setDataSource(xml_ds, "", "")
5. then exporting the report in pdf format.
I don't know what I am doing wrong. Please advise me to improve the performance of this function.
Thanks,
MakeshTed,
I figured out the cause of the problem. I am using JDeveloper as my IDE thats causing the delay. When I deployed the application and ran it, it took just 30 secs for the report using "Pushing" mechanism. Thats amazing. Thanks for your support.
I have another problem. I am not sure whether to post a separate thread for this problem. Anyway I explain the problem here. If you think it needs another thread, I will post a new one.
When I use my IDE or the following command JRC runs fine and generates the reports with graphs and all.
java -classpath C:\JDK\java1.5\bin\CERT.jar;C:\oracle\JDeveloper10.1.3\jdbc\lib\ojdbc14dms.jar;C:\oracle\JDeveloper10.1.3\jdbc\lib\orai18n.jar;C:\oracle\JDeveloper10.1.3\jdbc\lib\ocrs12.jar;C:\oracle\JDeveloper10.1.3\diagnostics\lib\ojdl.jar;C:\oracle\JDeveloper10.1.3\lib\dms.jar;C:\Apps\CERTLib\log4j-1.2.8.jar;C:\Apps\CERTLib\CRLib\com.azalea.ufl.barcode.1.0.jar;C:\Apps\CERTLib\CRLib\commons-collections-3.1.jar;C:\Apps\CERTLib\CRLib\commons-configuration-1.2.jar;C:\Apps\CERTLib\CRLib\commons-lang-2.1.jar;C:\Apps\CERTLib\CRLib\commons-logging.jar;C:\Apps\CERTLib\CRLib\CrystalCommon2.jar;C:\Apps\CERTLib\CRLib\CrystalReportsRuntime.jar;C:\Apps\CERTLib\CRLib\cvom.jar;C:\Apps\CERTLib\CRLib\DatabaseConnectors.jar;C:\Apps\CERTLib\CRLib\icu4j.jar;C:\Apps\CERTLib\CRLib\jai_imageio.jar;C:\Apps\CERTLib\CRLib\JDBInterface.jar;C:\Apps\CERTLib\CRLib\jrcerom.jar;C:\Apps\CERTLib\CRLib\keycodeDecoder.jar;C:\Apps\CERTLib\CRLib\log4j.jar;C:\Apps\CERTLib\CRLib\logging.jar;C:\Apps\CERTLib\CRLib\pfjgraphics.jar;C:\Apps\CERTLib\CRLib\QueryBuilder.jar;C:\Apps\CERTLib\CRLib\webreporting-jsf.jar;C:\Apps\CERTLib\CRLib\webreporting.jar;C:\Apps\CERTLib\CRLib\XMLConnector.jar;C:\Apps\CERTLib\CRLib\xpp3.jar;C:\Apps\CERTLib\iText-2.1.5.jar -Xms256m -Xmx512m com.cert.gui.CERTMainFrame
Note: CERT.jar has all the application classes and library classes.
But when I package all these jar files in to single jar file and run the below command, it generates reports with all the features except Graphs.
java -Xms256m -Xmx512m -jar CERT.jar (OR)
java -classpath C:\JDK\java1.5\bin\CERT.jar; -Xms256m -Xmx512m com.cert.gui.CERTMainFrame
Note: CERT.jar has all the application classes and library classes
I need the above command to run successfully as I am planning to use java web start for application deployment.
Please help me to solve this problem.
Thanks,
Makesh
Edited by: Makesh on May 28, 2009 12:07 AM
Edited by: Makesh on May 28, 2009 12:13 AM
Edited by: Makesh on May 28, 2009 1:32 AM -
XML Publisher: Need to change OKCTERMSDS Data Source
My client requires that the XML Publisher Sourcing Template and the Contract
Terms Template be customised to fit in with their coroprate look-and-feel.
Whilst I have no issue with being able to change the XSL to create a new
Template, the underlying XDO Data Sources for these two Templates do not
contain all of the fields that I require.
For example, my Customer requires the RFQ/RFI Description field on the final
output; this does not appear in the XML data file.
Normally the Short Name on a Data Source relates to a Concurrent Manager
Program Short Name, but I am unable to find any Programs relating to
PON_DATA_SOURCE or OKCTERMSDS.
My questions are:
1) How are these XML files generated?
2) Can the "programs" behind the XML generation be changed?The XML for the documents are generated by the product code using BC4J XML generation. No concurrent program is involved in it.
As regards to including additional fields from Sourcing documents into the XML generated, you can use the BC4J extension fwk to extend the ViewObject that generates XML and modify the query to include any additional fields as needed.
All the above assumes knowledge of Oracle Application Framework and the customization fwk. There is a Metalink Note (dont know the exact id) which explains how to extend BC4J objects and deploy them. -
Hi!
Does the JRC execute a report with an XML data source (URL XML Http and URL XSD Http) ?
If yes, does the JRC change programmatically the XML data source (URL XML Http and URL XSD Http) prior to execute the report?
There is an example to do this?
Best regards,
A.Hi,
I've follow the example [ftp://ftp.businessobjects.com/pub/incoming/XML_XSD_sample_reports_XI.zip]
and i've use the "JRC_Display_Connection_Info"on a xml to display all of the properties.
After i've make a program for change the datasource in the case of "xml http" database.
Changes the DataSource for a specific Table from XML
@param clientDoc The reportClientDocument representing the report being used
@param reportName "" for main report, name of subreport for subreport, null for all reports
@param tableName name of table to change. null for all tables.
@param username The DB logon user name
@param password The DB logon password
@param xmlURL The Http(s) XML URL
@param xsdURL The Http(s) Schema URL
@throws ReportSDKException
public void changeDataSourceXML(ReportClientDocument clientDoc,
String reportName, String tableName,
String username, String password,String xmlURL,String xsdURL) throws ReportSDKException {
PropertyBag propertyBag = null;
IConnectionInfo connectionInfo = null;
ITable origTable = null;
ITable newTable = null;
// Declare variables to hold ConnectionInfo values.
String SERVER_TYPE = "XML e servizi Web";
String CONVERT_MULTIVALUE_TO_TABLE="false";
String DATABASE_DLL = "crdb_xml.dll";
String HTTPS_SCHEMA_URL= xsdURL;
String HTTPS_XML_URL= xmlURL;
// Declare variables to hold database User Name and Password values
// I've see by "JRC_Display_Connection_Info" that USERID_HTTPS_SCHEMA
// and USERID_HTTPS_XML's value is equal to username value
String DB_PASSWORD = "";
String DB_USER_NAME = username;
String USERID_HTTPS_SCHEMA=username;
String USERID_HTTPS_XML=username;
// Obtain collection of tables from this database controller
if (reportName == null || reportName.equals("")) {
Tables tables = clientDoc.getDatabaseController().getDatabase().getTables();
for(int i = 0;i < tables.size();i++){
origTable = tables.getTable(i);
if (tableName == null || origTable.getName().equals(tableName)) {
newTable = (ITable)origTable.clone(true);
newTable.setQualifiedName(origTable.getAlias());
// Change connection information properties
connectionInfo = newTable.getConnectionInfo();
// Set new table connection property attributes
propertyBag = new PropertyBag();
// Overwrite any existing properties with updated values
propertyBag.put("Http(s) Schema URL", HTTPS_SCHEMA_URL);
propertyBag.put("Http(s) XML URL", HTTPS_XML_URL);
propertyBag.put("Server Type", SERVER_TYPE);
propertyBag.put("UserID Http(s) XML", USERID_HTTPS_XML);
propertyBag.put("Database DLL",DATABASE_DLL );
propertyBag.put("Convert Multivalue to Table", CONVERT_MULTIVALUE_TO_TABLE);
propertyBag.put("UserID Http(s) Schema", USERID_HTTPS_SCHEMA);
connectionInfo.setAttributes(propertyBag);
// Set database username and password
connectionInfo.setUserName(DB_USER_NAME);
connectionInfo.setPassword(DB_PASSWORD);
// Update the table information
clientDoc.getDatabaseController().setTableLocation(origTable, newTable);
But i don't know why if i call:
System.out.println(reportClientDoc.getDatabaseController().getDatabase().getTables().getTable(0).getConnectionInfo().getAttributes().toString());
on my
ReportClientDocument reportClientDoc = new ReportClientDocument();
reportClientDoc.open(ReportName, 0);
after changeDataSourceXML i've one more attribute than those defined by me called PreQEServerType that take the Server_Type value.
I think that is the cause of the output error of my program on the export method
ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
- com.crystaldecisions.reports.dataengine.be: Unexpected error of the database connector
- Failed to export report
com.crystaldecisions.reports.exportinterface.exceptions.ExportException: Unexpected error of the database connector
at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)
at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
at report.MKReport.main(MKReport.java:655)
Caused by: com.crystaldecisions.reports.formatter.formatter.c: Unexpected error of the database connector
at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.if(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.l.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.p.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.p.a(Unknown Source)
at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
... 13 more
Caused by: com.crystaldecisions.reports.dataengine.be: Unexpected error of the database connector
at com.crystaldecisions.reports.dataengine.m.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.m.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
... 19 more
Caused by: com.crystaldecisions.reports.reportdefinition.datainterface.n: Unexpected error of the database connector
at com.crystaldecisions.reports.reportdefinition.datainterface.g.a(Unknown Source)
... 22 more
Caused by: com.crystaldecisions.reports.queryengine.am: Unexpected error of the database connector
at com.crystaldecisions.reports.queryengine.driverImpl.a.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.ax.if(Unknown Source)
... 23 more
- JRCAgent1 detected an exception: An error occurred while exporting the report
at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
at report.MKReport.main(MKReport.java:657)
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: An error occurred while exporting the report.---- Error code:-2147467259 Error code name:failed
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
Thanks in advance for your help.
Andrea
Edited by: Andrea Bonf on Sep 24, 2008 5:56 PM -
Crystal ActiveX Runtime Lib: Change text data source path at run time.
We have some PCs running Crystal Reports 10 and some running CR 9 and 8.5. For each PC, we set up a System DSN ODBC data source (in Control Panel - Administrative Tools) for pulling data from text files to
generate reports.
Recently we wrote some routines (see the Visual Basic example at the
end of this message) to change the path of the data files at runtime.
According to the Crystal Reports Technical Reference Guide, we may use
the method LogOnServer() of an Application object or an DatabaseTable
object. However, we find that this does not work: the PrintOut()
method only pulls data from the default path as configured for the
System DSN, not from the path passed as the third parameter of
LogOnServer(). It does not return any error message.
We have also tried to use SetTableLocation() method, and it still does
not work.
Would any experts examine our code below and advise what we are missing? Thanks.
For the following VB example, we have:
System DSN Name: AP_WORKSHEET
Driver: Microsoft Text Driver
Database Directory: D:\0ood2 (i.e. the default path)
Crystal Report Document: D:\3g\run\Vision\apcyto\Reports\crBlockWS.rpt
(Which specifies that the data source text file name is BlockWS.txt)
Purpose : We would like to read the data source text file from
D:\0ood1 instead of the default path.
Following is the code of the VB macro:
Sub test()
Rem In this version of the subroutine, we call
Rem DatabaseTable.LogOnServer() and "Rem"ed out
Rem Application.LogOnServer() and SetTableLocation().
Rem We have un"Rem"ed each of them and "Rem"ed others and try to run.
Rem In all runs, data are pulled from the default file
Rem D:\0ood2\BlockWS.txt instead of D:\0ood1\BlockWE.txt.
Dim crxapp As CRAXDRT.Application
Dim crxRep As CRAXDRT.Report
Dim crxDB As CRAXDRT.Database
Dim crxTab As CRAXDRT.DatabaseTable
Dim crxConnPs As CRAXDRT.ConnectionProperties
Dim crxConnP As CRAXDRT.ConnectionProperty
Dim apropSubLoc As String
Dim apropConnBufStr As String
Set crxapp = CreateObject("CrystalRuntime.Application")
Rem
crxapp.LogOnServer "p2sodbc.dll", "AP_WORKSHEET", "<CRWDC>DBQ=D:\0ood1",
Set crxRep = crxapp.OpenReport
("D:\3g\run\Vision\apcyto\Reports\crBlockWS.rpt")
Set crxDB = crxRep.Database
Set crxTab = crxRep.Database.Tables(1)
apropConnBufStr = crxTab.ConnectBufferString
apropSubLoc = crxTab.SubLocation
crxDB.LogOnServer "p2sodbc.dll", "AP_WORKSHEET", "<CRWDC>DBQ=D:\0ood1",
Rem crxTab.SetTableLocation "D:\0ood1\BlockWS.txt", apropSubLoc, "DSN="
Rem Set crxConnPs = crxTab.ConnectionProperties
Rem Set crxConnP = crxConnPs.Item("DSN")
Rem crxConnP.Value = "AP_WORKSHEET"
Rem Set crxConnP = crxConnPs.Item("Database")
Rem crxConnP.Value = "D:\0ood1\BlockWS.txt"
Rem crxTab.Location = "BlockWS.txt"
crxRep.DiscardSavedData
crxRep.PrinterSetup (0)
crxRep.PrintOut
End Sub
For VB macros, the problem exists in all of CR 8.5, 9 and 10. However,
for another platform we are using, Unify Vision 4GL, it works for CR
8.5 while not working for CR 9 and 10.
Following is the source code in Unify Vision 4GL. This language may
not be popular, but I thin you are about to see how it calls the
Runtime Library methods LogOnServer(), OpenReport(), PrinterSetup() and
PrintOut().
%gfPrintCrystalReport
BOOL FUNCTION gfPrintCrystalReport($reportName)
BEGIN
if NOTMKNOWN(GF:$oSeagateId) then
create service of activex
class 'CrystalRuntime.Application'
object_ref into GF:$oSeagateId;
if MKNOWN(GF:$oSeagateId) then
begin
/* TD23013: Database directories are dynamic to
accommodate multiple user requirement of Citrix */
send message LogOnServer to GF:$oSeagateId
using
( 'PDSODBC.DLL', 'AP_WORKSHEET', '<CRWDC>DBQ='+GF:$WinTempDir,'','')
identified by $msgHandle;
if $msgHandle:MSG_STATE 'RESPONSE_PROCESSED'
then
begin
display 'Crystal Reports cannot connect
to the datasource ' for fyi_message wait;
return (FALSE)
end
send message OpenReport to GF:$oSeagateId using
($reportName, 1)
identified by $msgHandle returning
$oCrystalReport
if MKNOWN($oCrystalReport) then
begin
if (NOTMKNOWN(GF:$printerName)) then
set GF:$printerName to
$oCrystalReport->PrinterName;
if GF:$printerName $oCrystalReport-
PrinterName then
send message SelectPrinter to
$oCrystalReport
using
(GF:$driverName,GF:$printerName,GF:$portName)
identified by $msgHandle;
set $oCrystalReport-
DisplayProgressDialog to FALSE;
while TRUE
begin
DISPLAY NOTICE 'Print to : ' +
GF:$printerName
LABELS 'Ok'
DEFAULT, 'Cancel', 'Printer Setup'
RESULT INTO $userOption
switch ($userOption)
begin
case 0 :
send
message PrintOut to $oCrystalReport
using
(PROMPT_USER, NUMBER_OF_COPIES, COLLATED, START_PAGE, STOP_PAGE)
identified by $msgHandle;
set
$oCrystalReport to UNDEFINED
return
(TRUE);
case 1:
set
$oCrystalReport to UNDEFINED
return
(FALSE);
case 2:
send
message PrinterSetup to $oCrystalReport
using
(0)
identified by $msgHandle;
if
GF:$printerName $oCrystalReport->PrinterName then
begin
set GF:$printerName to $oCrystalReport->PrinterName;
set GF:$driverName to $oCrystalReport->DriverName;
set GF:$portName to $oCrystalReport->PortName;
end
break;
end
end
end
end
return
(FALSE);
ENDHi Sydney,
If you search the Developers help file you'll find info on using the method:
How to change the data source
This example demonstrates how to change the data source from native Access to an OLEDB (ADO) data source by using the ConnectionProperty Object, as well as how to change the table name by using the Location property of the DatabaseTable Object. CrystalReport1 is connected to the xtreme.mdb database found in the \Program Files\Crystal Decisions\Crystal Reports 10\Samples\En\Databases folder. The report is using the Customer table. A copy of the Customer table is added to the pubs database on Microsoft SQL Server.
' Create a new instance of the report.
Dim Report As New CrystalReport1
Private Sub Form_Load()
' Declare a ConnectionProperties collection.
Dim CPProperties As CRAXDRT.ConnectionProperties
' Declare a DatabaseTable object.
Dim DBTable As CRAXDRT.DatabaseTable
' Get the first table in the report.
Set DBTable = Report.Database.Tables(1)
' Get the collection of connection properties.
Set CPProperties = DBTable.ConnectionProperties
' Change the database DLL used by the report from
' native Access (crdb_dao.dll) to ADO/OLEDB (crdb_ado.dll).
DBTable.DllName = "crdb_ado.dll"
' The connection property bags contain the name and value
' pairs for the native Access DLL (crdb_dao.dll). So we need
' to clear them, and then add the name and value pairs that
' are required to connect to the OLEDB data source.
' Clear all the ConnectioProperty objects from the collection.
CPProperties.DeleteAll
' Add the name value pair for the provider.
CPProperties.Add "Provider", "SQLOLEDB"
' Add the name value pair for the data source (server).
CPProperties.Add "Data Source", "ServerA"
' Add the name value pair for the database.
CPProperties.Add "Initial Catalog", "pubs"
' Add the name value pair for the user name.
CPProperties.Add "User ID", "UserName"
' Add the name value pair for the password.
CPProperties.Add "Password", "password"
' Set the table name. ' for SQL types it would be "database.dbo.table"
DBTable.Location = "Customer"
Screen.MousePointer = vbHourglass
' Set the report source of the viewer and view the report.
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub -
Problem in filling jasper report with XML Data source
Hello!
I am trying to build a report uxing xml data source..Please verify following code:
String outFileName = "c:/Report1.pdf";
File xmlFileName = new File("C:/Program Files/JasperSoft/iReport-1.2.5/report.jrxml");
String recordPath = "/SiteDetails/Site";
JasperDesign jasperDesign = JRXmlLoader.load(xmlFileName);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JRXmlDataSource jrxmlds = new JRXmlDataSource(new File("c:/NewSite.xml"),recordPath);
HashMap hm = new HashMap();
try
JasperPrint print = JasperFillManager.fillReport(jasperReport,hm,jrxmlds);
JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,outFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);
exporter.exportReport();
catch (JRException jre)
jre.printStackTrace();
catch (Exception e)
e.printStackTrace();
My Xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<SiteDetails>
<Site>
<Name>Site1</Name>
<Addr>Bangalore</Addr>
<supersiteid>null</supersiteid>
</Site>
<Site>
<Name> Site2</Name>
<Addr> Madras</Addr>
<supersiteid>Site1</supersiteid>
</Site>
</SiteDetails>
I want to display details of Siteand Address..My program works fine but displays only 1 (first) record...What should i do to display the full file..do i need to navigate thru the file and give that as an input to fillReport ()method...Hi,
Have a look at below URL.
http://ireport.sourceforge.net/cap7.html#7.4
Regards
VInK -
HTTP XML Data Source authentication error
Morning All,
I have just started playing around with using XML as a data source for my CR4Ev2.0.1 reports.
I have managed to create the local inline reports and change their data source loacation with no current
issues.
I am now trying to create the HTTPXML reports using code from Ted's BLOG.
I manage to create a new report, and can open it in design, I can see the data source structure but as
soon as I try browse the data or preview my report I get the following error
Cannot Open file
Server returned HTTP response code: 407 for URL:
http://myserver/httpxml.xml
I had a quick look up the 407 error and it seems to be a Proxy authentication error, we do have a proxy
server setup which requires a username and password.
Before I go through what I have tried I want to confess that for this httpxml.xml file all I did was take my
inline.xml file and rename it and make it avaliable via a URL. So this might be the whole problem but I
am sure this is ok.
So I have tried turning off the proxy server as this URL is local so I dont need to go through the proxy.
If I go to the URL in my browser it works fine and I do not need to enter any proxy details.
Thats the problem with my HTTP XML attempt.
If I use the code as is, from Ted's BLOG, for
Crystal Reports off of HTTP XML data URL
and try use the following 2 URLs
propertyBag.put(
"Http(s) XML URL", "http://resources.businessobjects.com/support/downloads/samples/cr/customer_db/orders.xml");
propertyBag.put(
"Http(s) Schema URL", "http://resources.businessobjects.com/support/downloads/samples/cr/customer_db/orders.xsd");
propertyBag.put(
"Http(s) XML URL", "http://resources.businessobjects.com/support/downloads/samples/cr/customer_db/customer.xml");
propertyBag.put(
"Http(s) Schema URL", "http://resources.businessobjects.com/support/downloads/samples/cr/customer_db/customer.xsd");
But I get the following errors
Exception in thread "main" com.crystaldecisions.sdk.occa.report.lib.ReportSDKLogonException: Logon
Error: {0}---- Error code:-2147217393 Error code name:dbLogonFailed
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.DatabaseController.byte(Unknown
Source)
at com.crystaldecisions.sdk.occa.report.application.DatabaseController.addTable(Unknown
Source)
at com.businessobjects.samples.CreateHttpXML.main(CreateHttpXML.java:90)
Caused by: com.crystaldecisions.reports.common.LogonFailureException: Logon Error:{0}
at com.crystaldecisions.reports.queryengine.Connection.br(Unknown Source)
at com.crystaldecisions.reports.queryengine.Connection.bs(Unknown Source)
Any ideas as to what my issues are or what I am missing.
Thanks in advance.
Darren
Edited by: Darren Jackson on Apr 28, 2009 2:12 PM
Is there any documentation as to what entries I can use in the property bag.
Like is there a ("ProxySet", false) or something along those lines?
Edited by: Darren Jackson on Apr 28, 2009 5:28 PM
I have made a little more head way.
I saved the Orders.xml and Orders.xsd files onto my webserver and editied the code to only worry about
the Orders and ignore the Customer files.
I now create my reports, open them in Eclipse to design them, but when I try preview the data it is now
asking me for a username and password. I have tried all combinations that I can think of for our systems
but none work.
GrrrrrrrrrrrrrrrI have subsequently determined that my main problem was my "cached" proxy settings within Eclipse.
Even though I removed the proxy settings in Eclipse, it still required me to restart Eclipse after which it
all started working ok.
That was my main problem, but I am still interested in the Property Bag options that I mentioned before.
If proxy settings are needed, how would one go about setting these details?
Thanks
Darren -
Newbie XML data source questions
Post Author: tel
CA Forum: Data Connectivity and SQL
I'm trying to use the XML data source via http and i'm running into a couple of issues.
First, we have separate environments for development, QA, and production. Each environment will have a seperate URL to retrieve the XML for the report. I would like to use the same report design to access each environment. Is there a way to update the URL in the data source (or replace the data source with one that has the correct URL) without having to re-add the fields to the report design?
The second issue is similar. I can't seem to get Crystal to recognize changes in the XML format (new fields for example) without having to delete and recreate the data source (which automatically removes all the associated fields from the report). Is there a way around this, or again, a way of re-creating the data source without it removing the existing fields in the report?
Thanks,Post Author: rosariosanto
CA Forum: Data Connectivity and SQL
I have the same problem. Where can I find help about setting the data source when connecting to a web service. Since the hostname is hardcoded in the report, it is necessary to update it in the code. -
XML Data Source: does not seem to validate against XSD
I setup XML data source using the example "b-c.xml" and "b-c.xsd"; I changed the
root element of "b-c.xml" from "<db>" to "<Customers>"; but Liquid Data does not
seem to care or validate the instance document against the XSD.
Is this a known bug? It's something very basic and obvious!LD does indeed catch and report the mis-match at run-time as shown in the exception
below.
It does not valid the XML file against the schema at configuration time, only
at run-time. Hence Step 8 here - http://edocs/liquiddata/docs81/admin/xml.html#1035818
But beware - in some (most) cases LD does not do validation against the schema
for performance reasons. If the schema does not match you will simply get empty
results.
- Mike
java.rmi.RemoteException: Query Execution Error (Run Time) 1-2-3-24: Cannot process
XML file source XM-BB-C. (com.enosysmarkets.xqdm.translators.XqdmTranslatorException:
Invalid root element name: 'CUSTOMERS'. Expected: 'db')
"David Song" <[email protected]> wrote:
>
I setup XML data source using the example "b-c.xml" and "b-c.xsd"; I
changed the
root element of "b-c.xml" from "<db>" to "<Customers>"; but Liquid Data
does not
seem to care or validate the instance document against the XSD.
Is this a known bug? It's something very basic and obvious! -
Problem changing SQL data source at runtime with VB6 and CR XI
Hello All,
We have several VB6 programs using CR XI and are able to pass a DSN to change data source with Access DB that works just fine.
We are using similar code in another program to change the data source in an SQL DB and get an error... Failed to Open the Connection.
This is a sample of what works with Access but not SQL DB:
Dim crxApplication As New CRAXDRT.Application
Public Report As CRAXDRT.Report
Global DSN_STRING
DSN_STRING = "DSN = JC Crystal Reports"
Dim crxDatabaseTable As CRAXDRT.DatabaseTable
Set Report = crxApplication.OpenReport(App.Path & "\Test11.rpt", 1)
'change location of each table in report
For Each crxDatabaseTable In Report.Database.Tables
crxDatabaseTable.Location = DSN_STRING
Next crxDatabaseTable
FormCrystal.Show vbModal
We have tried other things from the web, still get error.
Any help would be greatly appreciated.
C ReidHi Carole,
When using SQL types you need more than just the DSN name. CR does keep the password in the report file and all SQL types are usually password protected.
Try this simple code:
First log onto the server:
rpt.database.LogOnServerEx("crdb_odbc.dll, pServerName, [pDatabaseName], [pUserID], [pPassword], [pServerType], [pConnectionString])
The ConnectionString is the complete line. Run in debug mode and display what the reprot is using and you can see the format it requires.
Once logged on now you can set the location for each table:
'report connection properties
With rpt.Database.Tables(1)
.ConnectionProperties("User ID").Value = "sa"
.ConnectionProperties("Password").Value = "YourPassword"
.ConnectionProperties("Data Source Name").Value = "Your DSN Name"
'.ConnectionProperties("Data Source Name").Value = "ServerName" ' can be used if specifying a new connection
.ConnectionProperties("Database").Value = "Northwind"
End With
Set rpt.Database.Tables(1).Location = "Northwind.dbo.CustOrderHist"
I'm only using one table so easy enough to create the loop or use for all...
Thank you
Don -
Hi
I've been having trouble finding information on this, but is there a limitation on the file size of the xml data produced by an apex report query?
If I download the xml data in the application builder, I'm finding once the expected xml data size goes over 32k, all I get is a file containing the xml tags but with no data.
32k seems pretty small. I was reaching this limit because I was using APEX_WEB_SERVICE.BLOB2CLOBBASE64 to send an image to my report. I would have thought even just a decent number of rows would reach this size also.
Am I missing something?
Apex 4.0.1.00.03
ScottLD does indeed catch and report the mis-match at run-time as shown in the exception
below.
It does not valid the XML file against the schema at configuration time, only
at run-time. Hence Step 8 here - http://edocs/liquiddata/docs81/admin/xml.html#1035818
But beware - in some (most) cases LD does not do validation against the schema
for performance reasons. If the schema does not match you will simply get empty
results.
- Mike
java.rmi.RemoteException: Query Execution Error (Run Time) 1-2-3-24: Cannot process
XML file source XM-BB-C. (com.enosysmarkets.xqdm.translators.XqdmTranslatorException:
Invalid root element name: 'CUSTOMERS'. Expected: 'db')
"David Song" <[email protected]> wrote:
>
I setup XML data source using the example "b-c.xml" and "b-c.xsd"; I
changed the
root element of "b-c.xml" from "<db>" to "<Customers>"; but Liquid Data
does not
seem to care or validate the instance document against the XSD.
Is this a known bug? It's something very basic and obvious! -
Problem with extracting Xml data source fields
Post Author: new_crystal
CA Forum: Crystal Reports
Hi,
I am creating a report which has a xml data source.
I have a field named fieldvalue in the xml, I need to present this fieldvalue in a column format based on the name of the column heading which is another field in the database called fielddata
here is what i want
fielddata1 fielddata2 fielddata3 .......
fieldvalue1 fieldvalue2 fieldvalue3......
i have dragged the fieldvalue 3 times in the report and applied different formula for each one of them
here is the eg. of the formula
if ( = "A" ) then
but it is not giving me the correct values pulled from the data source. for the first column it is pulling correctly but for the rest of the columns it is giving values as 0's.
Can anyone help me out in this? It is pretty urgent!
ThanksPost Author: tel
CA Forum: Crystal Reports
I have no idea how to format it in Crystal Reports (i'm new to it too), but if worse comes to worse, you can create an XSLT stylesheet to convert the XML into a format that is easier for Crystal to use.
In case you don't know XSLT is a programming language that is designed to convert one XML format into another. -
Using a SQL data source and XML data source in the same template
I am trying to develop a template for the Request for Quote report generated in Apps 11.5.10. I have loaded the data from the XML output into the template, but I am missing one field - I need the org_id from the po_headers table. Is it possible to use a sql data source (i.e., "select org_id from po_headers_all where po_header_id = [insert header_id from xml data]...") in addition to the xml data source to populate the template at runtime? When you use the Insert > SQL functionality is it static at the time the template is created, or does it call to the database at runtime? I've looked through all the docs I could find, but this isn't clear.
Thanks for any help or suggestions you may have.
RhondaHi Pablo
Thats a tough one ... if you go custom with a data template you will at least get support on the data template functionality ie you have a problem when you try and build one. You will not get support on the query inside the data template as you might have gotten with the Oracle Report, well you could at least log a bug against development for a bad query.
Eventually that Oracle Report will be converted by development anyway, theres an R12 project going on right now to switch the shipped OReports to data templates. AT this point you'll be fully supported again but:
1. You have to have R12 and
2. You'll need to wait for the patch
On reflection, if you are confident enough in the query then Oracle will support you on its implementation within a data template. Going forward you may be able to swap out your DT and out in the Oracle one without too much effort.
Regards, Tim -
How to create a report using XML data source from Crystal Report Designer
Hi,
Iu2019m having Crystal Report Designer XI R2 SP4. Iu2019m trying to create a report using XML data source stored on disk. This is a customer order report and the xml is structured in such a way that it has an order details header part (master) and then it has several order lines (detail). One order line can have several order line characteristics (detail-detail). So what I need to know is now I can design this layout from the designer. If this was done using views I can do it with sub-reports but using xml data this seems to be different. Can you help me to design this layout? I have included the xml and xsd as well.
Thank you in advance.
Regards,
Chanaka
XML
<?xml version="1.0" encoding="UTF-8"?>
<CUSTOMER_ORDER_CONF_REP_REQUEST xmlns:xsi="http://www.w3.org/2001/XMLSchema" xmlns="urn:ifsworld-com:customer_order_conf_rep">
<CUSTOMER_ORDER_CONF_REP>
<ORDER_NO>D555809</ORDER_NO>
<PRINTED_DATE>2009-03-26T08:52:54</PRINTED_DATE>
<AUTHORIZE_NAME>Chanaka</AUTHORIZE_NAME>
<CUSTOMER_NO>CU-1473-INV</CUSTOMER_NO>
<CUST_NAME>Mr.Johan Matts</CUST_NAME>
<SHIP_ADDR_1>93,Main Street</SHIP_ADDR_1>
<SHIP_ADDR_2>Negambo Road</SHIP_ADDR_2>
<SHIP_ADDR_3>Watthala</SHIP_ADDR_3>
<SHIP_ADDR_4>SRI LANKA</SHIP_ADDR_4>
<BILL_ADDR_1>93,Main Street</BILL_ADDR_1>
<BILL_ADDR_2>Negambo Road</BILL_ADDR_2>
<BILL_ADDR_3>Watthala</BILL_ADDR_3>
<BILL_ADDR_4>SRI LANKA</BILL_ADDR_4>
<CUSTOMER_PO_NO>112984638</CUSTOMER_PO_NO>
<CUSTOMER_FAX>112984639</CUSTOMER_FAX>
<CUSTOMER_EMAIL>abcbababab</CUSTOMER_EMAIL>
<ORDER_LINES>
<ORDER_LINE>
<LINE_NO>1</LINE_NO>
<CUSTOMER_PART_NO>NW-IP11</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>iPod</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>1200</SALE_UNIT_PRICE>
<PRICE_TOTAL>1200</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>1</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID xsi:nil="1"/>
<CHARACTERISTIC_VALUE xsi:nil="1"/>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>2</LINE_NO>
<CUSTOMER_PART_NO>NW-IP24</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>XGA Projector</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>500</SALE_UNIT_PRICE>
<PRICE_TOTAL>1500</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>3</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free Instalation</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>3</LINE_NO>
<CUSTOMER_PART_NO>NW-IP02</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>Sony DVD Player</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>1000</SALE_UNIT_PRICE>
<PRICE_TOTAL>1000</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>1</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free 5 DVDs</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>4</LINE_NO>
<CUSTOMER_PART_NO>NW-IP99</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>Flatscreen TV</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>1500</SALE_UNIT_PRICE>
<PRICE_TOTAL>1350</PRICE_TOTAL>
<DISCOUNT>10</DISCOUNT>
<PRICE_QTY>1</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free Delivery</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>2</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>1 year additional warranty</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>5</LINE_NO>
<CUSTOMER_PART_NO>NW-IP56</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>Sony MP3 Player</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>200</SALE_UNIT_PRICE>
<PRICE_TOTAL>400</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>2</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free carry belt</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>2</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free promotional 4GB memory bar</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>3</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>No warranty on memory bar</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
</ORDER_LINES>
</CUSTOMER_ORDER_CONF_REP>
</CUSTOMER_ORDER_CONF_REP_REQUEST>
XSD
<?xml version="1.0" encoding="UTF-8"?>
<?report module="ORDER" package="CUSTOMER_ORDER_CONF_REP" ?>
<xs:schema targetNamespace="urn:ifsworld-com:customer_order_conf_rep" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:ifsworld-com:customer_order_conf_rep" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="CUSTOMER_ORDER_CONF_REP_REQUEST">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="CUSTOMER_ORDER_CONF_REP">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="50">
<xs:element name="ORDER_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINTED_DATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="AUTHORIZE_NAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_PO_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUST_NAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_1" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_2" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_3" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_4" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_1" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_2" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_3" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_4" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_FAX" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_EMAIL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_LINES" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="ORDER_LINE">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="39">
<xs:element name="LINE_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SALE_UNIT_PRICE" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="PRICE_TOTAL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="DISCOUNT" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="PRICE_QTY" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="CUSTOMER_PART_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_PART_DESC" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_LINE_CHARACTERSTICS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="CHARACTERISTIC_ITEM">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="6">
<xs:element name="CHARACTERISTIC_ID" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CHARACTERISTIC_VALUE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>Hi Sourashree,
Thank you for the response and ideas you have given me so far. I can get the fetch the data from the data source without any problem. That is I do the following,
1. New Report
2. From Create New Connection-> XML
3. Provide the u201CLocal XML Fileu201D and have u201CSpecify Schema Fileu201D checked -> Next
4. Provide the u201CLocal Schema Fileu201D -> Finish
Then I can see the following under XML
+ CUSTOMER_ORDER_CONF_REP_REQUEST
CUSTOMER_ORDER_CONF_REP_REQUEST
CUSTOMER_ORDER_CONF_REP_REQUEST/CUSTOMER_ORDER_CONF_REP
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS/CHARACTERSTIC_ITEM
And from here if I add the following three I can get all the fields I need to the report
CUSTOMER_ORDER_CONF_REP_REQUEST/CUSTOMER_ORDER_CONF_REP
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS/CHARACTERSTIC_ITEM
Then I come to the Linking section. Here I canu2019t link anything. There is a common field called u201CInternal_IDu201D but I canu2019t link using it. So I get a message when I click Next. From here I add all the fields.
For this point onwards only I need help. How do I group, add fields and design the layout so I can get an report output as follows.
Date
Order number Authorized code
Customer No
Name
Phone
Fax email
Shipping address 1 Billing Address 1
Shipping address 2 Billing Address 2
Shipping address 3 Billing Address 3
Shipping address 4 Billing Address 4
Order Line 1 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026 LINE_NO CUSTOMER_PART_NO CUSTOMER_PART_DESC SALE_UNIT_PRICE PRICE_QTY DISCOUNT PRICE_TOTAL
Characteristic details belonging to Order line 1 CHARACTERISTIC_ID 1 CHARACTERISTIC_VALUE1
CHARACTERISTIC_ID 2 CHARACTERISTIC_VALUE2
CHARACTERISTIC_ID 3 CHARACTERISTIC_VALUE3
Order Line 2 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 2
Order Line 3 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 3
Order Line 4 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 4
Order Line 5 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 5
How can I achieve this kind of a layout using the give xml and xsd? Should I use grouping if so how should I do the grouping?
I have included the full xml and xsd in the first mail I posted but I canu2019t see it now. I can include that again if you want.
Regards,
Chanaka -
Increase performance in a multiple data source report
Post Author: ArturoFromPeru
CA Forum: General
Hi everybody.
I have a big problem, when i make a report that have multiple data sources the performance decrease considerably, i still don't know the reason. Is it true that using multiple data sources is too slow?.
I tell you a fact: I made the report connecting via "Field Definition File", and it take at least 2 minutes to show itself but it only have 170 records, and i'm very sure that the sql statements to each data source were executed very faster.
I even heard about index, but i think they only are useful when i connect directly to the database.
All my partner told me, that Cristal Report
Thanks you in advance
Regards.
ArturoPost Author: ArturoFromPeru
CA Forum: General
Thanks you, but I explain better what i was doing.
I've made a report called "Kardex de Producto" which show the behavior of the products according to its sales, purchases.
The end result which is showed by the report is correct. I used three data source in the report, so links between each table is correct. The only problem i have is the performance because i still don't know why is too slow. In fact the sql statement is very heavy, but i think it doesn't matter to the report because when it takes the data from the database (connecting via Field Definition File) even if the very heavy sql statement returns twenty record Cristal Report must show itself very quickly. I don't want to believe that Cristal Report is very slow when it works with multiple data sources.
Do you mind if i give you my report? if not please leave me your email address.
Email: [email protected] / [email protected]
Thank you in advance
Regards
Arturo
Maybe you are looking for
-
REBUILD INDEX vs DROP/CREATE INDEX
Hi there, Does anyone has already got some performance degradation after REBUILD INDEXes ? Would it be better to perform DROP/CREATE INDEX instead ? Thank you very much for anu reply. Best regards, Helena
-
Hyper-V on Win 8.1 Embedded Host
I believe I'm having permission issues when attempting to use Hyper-V on Windows Embedded 8.1 Industry Pro. Hyper-V seems to install cleanly, and from an admin account I can use the Hyper-V Manager without issue and connect to a running VM. However
-
Hello, this is my first post, and I hop that someone here can help me. I want to create ajp connection. server.xml: <Connector port="8010" protocol="AJP/1.3" redirectPort="8444" /> httpd.conf: LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so J
-
So, im on a macbook and when i open a page on safari and i scroll down, the page jumps back to the top. I have to continue scrolling down to the exact spot multiple times after it jumping back to the top before it will let me continue scrolling down
-
Unable to set RPAS_HOME in windowsXP
I want to install RPAS Configuration Tools on Windows xp. But I received the following error "The RPAS_HOME variable is not set..." "The RPAS_HOME is non matching version of RPAS" "The RPAS_HOME/applib and RPAS_HOME/lib not on the path" It seems, tha