I'm using practically the same setup!! We have had great success integrating the products using Recrystalize. It can create an htm or asp calling script.
Not to worry, the code is created for you by a wizard and you can simply modify the calling templates. I'm using a report today through the web report with 5 subreports, 15 tables, a number of variables etc with no problem in calling it.
It writes script and ASP files that would take me days to do in seconds.
Contact
Here's an example of what it creates...
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="ReCrystallize Web Publishing Wizard for Seagate Crystal Reports 3.0.3">
<title>Please make your selections for the report</title>
<SCRIPT>
function writemonthselect( prev_or_cur, parmname ) {
today = new Date()
thismonth = today.getMonth() + 1
if (prev_or_cur == 'prev') {
if (thismonth == 1) {
var monthtoselect = 12
} else {
var monthtoselect = thismonth -1
}
} else {
var monthtoselect = thismonth
}
var selstr = "<select NAME=\"" + parmname + "\" SIZE=\"1\">"
selstr += "<OPTION VALUE=\"01\""
if (monthtoselect == 1) {
selstr += " SELECTED"
}
selstr += ">January"
selstr += "<OPTION VALUE=\"02\""
if (monthtoselect == 2) {
selstr += " SELECTED"
}
selstr += ">February"
selstr += "<OPTION VALUE=\"03\""
if (monthtoselect == 3) {
selstr += " SELECTED"
}
selstr += ">March"
selstr += "<OPTION VALUE=\"04\""
if (monthtoselect == 4) {
selstr += " SELECTED"
}
selstr += ">April"
selstr += "<OPTION VALUE=\"05\""
if (monthtoselect == 5) {
selstr += " SELECTED"
}
selstr += ">May"
selstr += "<OPTION VALUE=\"06\""
if (monthtoselect == 6) {
selstr += " SELECTED"
}
selstr += ">June"
selstr += "<OPTION VALUE=\"07\""
if (monthtoselect == 7) {
selstr += " SELECTED"
}
selstr += ">July"
selstr += "<OPTION VALUE=\"08\""
if (monthtoselect == 8) {
selstr += " SELECTED"
}
selstr += ">August"
selstr += "<OPTION VALUE=\"09\""
if (monthtoselect == 9) {
selstr += " SELECTED"
}
selstr += ">September"
selstr += "<OPTION VALUE=\"10\""
if (monthtoselect == 10) {
selstr += " SELECTED"
}
selstr += ">October"
selstr += "<OPTION VALUE=\"11\""
if (monthtoselect == 11) {
selstr += " SELECTED"
}
selstr += ">November"
selstr += "<OPTION VALUE=\"12\""
if (monthtoselect == 12) {
selstr += " SELECTED"
}
selstr += ">December"
selstr +="</select>"
return selstr
}
function writedateselect( prev_or_cur, parmname ) {
today = new Date()
thisdate = today.getDate()
if (prev_or_cur == 'prev') {
if (thisdate == 1) {
var datetoselect = 31
} else {
var datetoselect = thisdate -1
}
} else {
var datetoselect = thisdate
}
var selstr = "<select NAME=\"" + parmname + "\" SIZE=\"1\">"
for (var d = 1; d <= 31; d++) {
selstr += "<OPTION VALUE=\"" + d + "\""
if (datetoselect == d) {
selstr += " SELECTED"
}
selstr += ">" + d
}
selstr +="</select>"
return selstr
}
function writeyearselect( prev_or_cur, parmname ) {
today = new Date()
thisyear = today.getFullYear()
if (prev_or_cur == 'prev') {
var yeartoselect = thisyear -1
} else {
var yeartoselect = thisyear
}
var selstr = "<select NAME=\"" + parmname + "\" SIZE=\"1\">"
for (var y = 1987; y <= thisyear; y++) {
selstr += "<OPTION VALUE=\"" + y + "\""
if (yeartoselect == y) {
selstr += " SELECTED"
}
selstr += ">" + y
}
selstr +="</select>"
return selstr
}
function writedate( style, prev_or_cur, parmnum) {
// style is mdy | my | y
// prev_or cur is prev | cur for the previous or current period
// parmnum is an integer for the parameter number
initdate = new Date()
if ( style == 'y' ) {
allsel = writeyearselect( prev_or_cur, 'P' + parmnum + 'Y' )
}
if ( style == 'my' ) {
allsel = writemonthselect( prev_or_cur, 'P' + parmnum + 'M' )
if (( prev_or_cur == 'prev' ) && ( initdate.getMonth() + 1 == 1 )) {
allsel += writeyearselect( 'prev', 'P' + parmnum + 'Y' )
} else {
allsel += writeyearselect( 'cur', 'P' + parmnum + 'Y' )
}
}
if ( style == 'mdy' ) {
dcp = 'cur'
mcp = 'cur'
ycp = 'cur'
if ( prev_or_cur == 'prev' ) {
dcp = 'prev'
if ( initdate.getDate() == 1 ) {
mcp = 'prev'
if ( (initdate.getMonth() + 1) == 1 ) {
ycp = 'prev'
}
}
}
allsel = writemonthselect( mcp, 'P' + parmnum + 'M' ) + writedateselect( dcp, 'P' + parmnum + 'D' ) + writeyearselect( ycp, 'P' + parmnum + 'Y' )
}
return allsel
}
function validateandsubmit( f ) {
tmpy = document.parmform.P0Y.options[document.parmform.P0Y.options.selectedIndex].value
tmpm = document.parmform.P0M.options[document.parmform.P0M.options.selectedIndex].value
tmpd = document.parmform.P0D.options[document.parmform.P0D.options.selectedIndex].value
tdate = new Date( tmpy, tmpm - 1, tmpd )
nty = tdate.getFullYear()
ntm = tdate.getMonth() + 1
ntd = tdate.getDate()
document.parmform.prompt0.value = 'Date(' + nty + ', ' + ntm + ', ' + ntd + ')'
tmpy = document.parmform.P1Y.options[document.parmform.P1Y.options.selectedIndex].value
tmpm = document.parmform.P1M.options[document.parmform.P1M.options.selectedIndex].value
tmpd = document.parmform.P1D.options[document.parmform.P1D.options.selectedIndex].value
tdate = new Date( tmpy, tmpm - 1, tmpd )
nty = tdate.getFullYear()
ntm = tdate.getMonth() + 1
ntd = tdate.getDate()
document.parmform.prompt1.value = 'Date(' + nty + ', ' + ntm + ', ' + ntd + ')'
document.parmform.submit()
}
</SCRIPT>
</head>
<body bgcolor="#FFFFFF">
<p><font size="5"><strong>Data list</strong></font></p>
<form action="mainreport.rpt" method="POST" name="parmform">
<input type=hidden name="init" value="actx">
<input type=hidden name="promptOnRefresh" value=1>
<table border="1">
<tr>
<td>Begin date</td><td>
<SCRIPT>
document.write( writedate( 'mdy', 'prev', '0' ) )
</SCRIPT>
<input name="prompt0" type="hidden" value= "">
</td>
</tr>
<tr>
<td>Begin date</td><td>
<SCRIPT>
document.write( writedate( 'mdy', 'prev', '1' ) )
</SCRIPT>
<input name="prompt1" type="hidden" value= "">
</td>
</tr>
<tr>
<td>Choices</td><td>
<input type="text" size="10" maxlength="10" name="prompt3"></td>
</td>
</tr>
<tr><td colspan="2"><p align="center">
<INPUT TYPE="BUTTON" VALUE="View Report" onClick="validateandsubmit(this.form)">
</td>
</tr>
</table>
</form>
</body>
</html>