Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

database schema for InfoObjects ?

Status
Not open for further replies.

bluecjh

Programmer
Mar 12, 2003
385
where can i obtain a schema for the
Crystal Enterprise Back end
in particular for %InfoObjects% table

thanks
 
Much of the information is stored as an object.

Read about the CE API for reading it, or use the supplied Query Builder for reading the data.

So I guess the answer to your question is lots of places.

Consider posting specific requirements.

-k
 
I am investigating the same thing. This information is stored on the APS server in an Object database format. I found the Object Model in this file ce_sdk.chm. Sorry, I don't remember the download name from the Crystal site, but maybe do a search on the file name.

The objects can be referenced through this library CrystalInfoStoreLib, which I added as a reference in an Access program so that I could go through each object.

If you look through the ce_sdk.chm file, you will see a lot of examples of the proprietary SQL like language that is used to access the database. You can also see examples of this language by going to the Query Builder on the User Launchpad.

 
I say, this sight has a lot of bugs in it at the moment
my last entry on this thread didn't get submitted.
my threads have been appearing as multiple entries
in 'my threads' and one thread I submitted didn't get attributed to me?

That aside (a nice site) I have solved this problem
referring to the com and ce sdk files that I found
on the ce installation disk

so i can query via asp, but I havn't worked out how to
query direct from SQL Server i.e. from a stored procedure.

many thanks everyone
 
bluecjh,

I don't think you will be able to find a way to query directly from SQL --- It uses almost the same sytax, but they are independent from each other.

If you do happen to find a way, I'm sure we ALL would love to know how to do that.

Good luck.
 
Hi,
You can query the infoobjects once you have created an IStore object..( The interface to the CMS)..You can submit
a query using ( pass it a Report ID in this case):
Code:
Query = "Select SI_NAME, SI_ID, SI_DESCRIPTION, SI_UPDATE_TS From CI_INFOOBJECTS Where " +
	"SI_PROGID='CrystalEnterprise.Report' And SI_INSTANCE=0 AND SI_PARENT_FOLDER=" + ParentID +
	"ORDER BY SI_DESCRIPTION";
Result = IStore.Query(Query) ;

Result ( in this case) is a collection of those queried properties for that report ID. We use this to build a dynamic list of Reports for use on our user interface pages, using this this:
Code:
if (Result.Count > 0) {
		//Set up the table header.
		HTMLTable="<TABLE width = \"800\" >" +
		"<TR><TH align='left'><B></B></TH>" +
		"<TH align='left'><B></B></TH></TR>"; 
				
		for (k=1;k<=Result.Count;k++)
		//Add the report name and details to the table.	
		{ 
		         if (Result.Item(k).Description == "") {
			var desc1 = Result.Item(k).Title;
			}
			else {
			var desc1 = Result.Item(k).Description;
			}
			var desc = Result.Item(k).Description
			//var descSize = desc.length - 1;
			//var descDisplay = desc.substr(3,descSize);
			HTMLTable=HTMLTable +
				"<TR  valign=top><TD>" + 
				"<A   class='tableLink' title='Report Name: " + Result.Item(k).Title + "' HRef='#' onClick=\"navReport('" + Result.Item(k).ID +"')\">" +
				Server.HTMLEncode(desc1) + "</A></TD>" ;
		} 
		HTMLTable=HTMLTable+"</TABLE>";
	}


The above is inn a JavaScript function ( but VBscript can also be used)..
Once you know the SDK information about the CE objects and have a authorized IStore connection, you can query with standard ( mostly) sql statements.

[profile]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top