Relational Datasets
If I have two datasets that are related in the same way as
their corresponding tables in the database, how can I replace the
foreign key with the actual value?
For instance, if I have a Employee which has a Company, how
can I represent that data in a repeat region given two datasets
dsEmployees and dsCompanies?
I understand that I could just initially have the backend
simply create a single nested dataset, but I was wondering if I
could do this approach first. It seems like I would, I'm just not
sure how.
Ok, I tried what you suggested but get the following error:
Failed to retrieve data set (dsTeachersdsChurches) for
spry:repeat
Here is the code for that section:
<div spry:region="dsTeachers dsChurches">
<table id="teacherList">
<tr>
<th class="name" align="left">Name</th>
<th class="church" align="left">Church</th>
</tr>
<tr spry:repeat="dsTeachers dsChurches" Spry:If="
'dsTeachers::church' == 'dsChurches::id' ">
<td class="teacher"><a
href="TeacherForm.php?id={id}">{firstName}
{lastName}</a></td>
<td class="church"><a
href="ChurchForm.php?id={church}">{dsChurches::name}</a></td>
</tr>
</table>
</div>
I'm not quite sure what I am doing wrong. dsTeachers::church
refers to the church FK in the Teachers table, and dsChurches::id
is the PK in the churches table.
Similar Messages
-
Hi there,
I am pretty much brandnew to Spry and have the following question.
I am loading 2 simple XML datasets (designs/products) into my page.
The datasets are
-> designs_query.php (exported to XML via the ADDT server behaviour 'Export Recordset to XML)
-> products_query.php (exported to XML via the ADDT server behaviour 'Export Recordset to XML)
it kind of looks like this:
<head>
<script>
var ds_designs = new Spry.Data.XMLDataSet("designs_query.php", "designs/design", {sortOnLoad: "id_ctg", sortOrderOnLoad: "ascending"});
ds_designs.setColumnType("id_ctg", "number");
var ds_products = new Spry.Data.XMLDataSet("products_query.php", "products/product");
ds_products.setColumnType("id_prd", "number");
ds_products.setColumnType("idctg_prd", "number");
</script>
</head>
<body>
<div id="product_thumbnail_wrapper" spry:region="ds_products">
<img src="/uploads/{ds_products::PNG_M_prd}" border="0" spry:if="{ds_products::idctg_prd} == {ds_designs::id_ctg}" />
</div>
<div class="design_thumbnail_wrapper" spry:repeat="ds_designs">
<img src="/uploads/{S_PNG_72_ctg}" border="0" spry:setrow="ds_designs" />
</div>
</body>
(the above is a simplified version)
Now I am getting the following error message when the page loads:
getValueFromDataSet: Failed to get ds_designs context for the product_thumbnail_wrapper region.
Caught exception in Spry.Data.Region.prototype.evaluateExpression() while evaluating: {ds_products::idctg_prd} == {ds_designs::id_ctg} Exception:SyntaxError: syntax error
What am I doing wrong - or better: how do I make the products depended on the designs via an id column (read: relational)?
Thanks,
FrankHi Ben,
By the greeting I assume u r aussie as well?! aweome!
Yeah - ADDT - read interakt (our friends from romania) - was in fact some of the coolest!
What a shame, but then I can see the whole AJAX thing moving, so yeah - I'm cool - just trying to wrap my head around migration.
I have the entire page working solely based on ADDT (but this of course requires page refreshes - which would be cool to circumnavigate - the spry stuff so far accommodates even for the iphone - which is a hugely nice benefit!
I used interakt since 2005 - that 'Recordset To XML" feature however was implemented by adobe (and I also believe for migration purposes - however full of bugs/missing features, eg selected attributes instead of full nodes/attributes selection)
See - this is the problem:
I have the following thing I would try to achieve:
i got a thing called designs (or categories if you so remember from MXKart):
id_ctg1 - design one
id_ctg2 - design two
etc
and i have a thing called products (or eg t-shirts)
1 - shirt one - idctg_prd (eg 1)
2 - shirt two - idctg_prd (eg 1)
3 - shirt three - idctg_prd (eg 2)
Then - on the actual page I have a thumbnail representation of all designs - here actually used with a cool spry sliding panel.
I click on one of the tumbs and i get an enlargened version presented in bigger to the left of the page.
The idea here is to switch between PINK and BLUE thumbs according to whether {id_RowID %2 ==0} via spry:if (or vice versa)
this is awesome and works!
However - now i have a table called products - which contains a columns called idctg_prd - this one lists ALL products (shirts) - ALL of them!
Now my thing is:
if i click on the region set by eg. ds_designs -> this should (and does) give me an update of a larger version of a thumb (from the designs table) to the left (detailregion) - so i can see it sort of blown up
on the top right I in fact would like to have it list (eg. just 3 for now - but thats a paging thingy) all the images of shirts that incorporate this very logo (from designs, read categories) - i might have only 1 - sometimes 3 sometimes more - who knows!) --- the logic is that idctg_prd EQUALS id_ctg
I have even tried the relational data query where all idctg_prd's equal id_ctg's - resulting in a flat dataset and the design thumbs to be repeated as often as there is a new shirt having this print - which was undesirable (i just need ONE design that determines all the products from that particular mysql table) - and didnt work correctly for the products either.
I am having like 20 variations of codes - if you are willing to help i can post this to a server and supply the actual code for it.
There is a static example (just a jpeg in fact) on http://www.secretagent69.com.au (the intro is still in flash - but i am rather confident this is the easiest to transform to a spry effect - i keep that as last for now)
but just FYI - here is the entire code sans the CSS:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry"><!-- InstanceBegin template="/Templates/template_dec_09.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Secret Agent 69 // fasion label australia</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
<script type="text/javascript" src="/js/SprySlidingPanels.js"></script>
<script type="text/javascript" src="js/mootools.js"></script>
<script src="SpryAssets/xpath.js" type="text/javascript"></script>
<script src="SpryAssets/SpryData.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="transitions.css" media="screen, projection" />
<link href="/css/SprySlidingPanels.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
#_home_main_content_bGround {
background-image: url(images/_home_main_content_bGround.png);
position: relative;
height: 374px;
width: 999px;
#_prdct_buttonFwd {
position: absolute;
left: 957px;
top: 125px;
z-index: 20;
#_prdct_buttonBack {
position: absolute;
left: 314px;
top: 125px;
z-index: 20;
#_qckPrdct_buttonFwd {
position: absolute;
left: 925px;
top: 261px;
z-index: 20;
#_qckPrdct_buttonBack {
position: absolute;
left: 300px;
top: 261px;
z-index: 20;
#master_thumb_wrapper {
position: absolute;
left: 29px;
top: 14px;
border: 0;
width: 278px;
height:345px;
text-align:center;
#master_thumb_wrapper img {
position: absolute;
bottom:0;
top:0;
left:0;
right:0;
margin:auto;
#product_thumbnail_wrapper {
position: absolute;
left: 328px;
top: 16px;
z-index: 10;
#design_thumbnail_positioner {
position: absolute;
left: 331px;
top: 290px;
height: 100;
width: 636px;
#design_thumbnail_wrapper {
border: 0;
z-index: 10;
#design_seperator {
position: absolute;
z-index: 10;
left: 470px;
top: 291px;
#designSlider {
position: relative;
.SlidingPanels {
position: relative;
width:640px; /* width of the box */
height: 78px; /* height of the box */
#designSlider .SlidingPanelsContentGroup {
float: left;
width: 500000px;
.p {
float: left;
.p img {
vertical-align: middle;
#fwdRwd {
position: relative;
clear: left;
top:7px;
left:0px;
.evenClass{ }
.evenClass{ }
-->
</style>
<script type="text/javascript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
var ds_designs = new Spry.Data.XMLDataSet("designs_query.php", "designs/design", {sortOnLoad: "id_ctg", sortOrderOnLoad: "ascending"});
ds_designs.setColumnType("id_ctg", "number");
ds_designs.setColumnType("idctg_ctg", "number");
var ds_products = new Spry.Data.XMLDataSet("products_query.php", "products/product");
ds_products.setColumnType("id_prd", "number");
ds_products.setColumnType("idctg_prd", "number");
ds_products.setColumnType("offer_prd", "number");
ds_products.setColumnType("visible_prd", "number");
ds_products.setColumnType("isFeatured_prd", "number");
ds_products.setColumnType("reviewMediaid_prd", "number");
ds_products.setColumnType("tagid_prd", "number");
ds_products.setColumnType("swingTagid_prd", "number");
ds_products.setColumnType("vendorsid_prd", "number");
//-->
</script>
<!-- InstanceEndEditable -->
<link href="css/template_dec_09.css" rel="stylesheet" type="text/css" />
</head>
<body onload="MM_preloadImages('images/_home_main_content_button_prdctBack-over.png','images/_h ome_main_content_button_prdctFwd-over.png','images/_home_main_content_button_qckPrdctFwd-o ver.png','images/_home_main_content_button_qckPrdctBack-over.png')">
<div id="container">
<div id="_top_logo"><img src="images/_top_logo.png" alt="top_logo" width="686" height="99" border="0" /></div>
<div id="_top_header_right">
<div id="_top_header_right_menu"><a href="secret_agent_69_home.php">HOME</a> | <a href="terms_and_conditions.php">TERMS & CONDITIONS</a> | <a href="privacy.php">PRIVACY</a> | <a href="contact.php">CONTACT</a></div>
<div id="top_header_right_social_network_links"><img src="images/widget_jan_2010_social_network_links.png" alt="Social Networking Links" name="sn_links" width="91" height="27" border="0" usemap="#snl" id="sn_links" />
<map name="snl" id="snl"><area shape="rect" coords="65,2,86,23" href="http://www.facebook.com/profile.php?v=info&id=1045362568" target="_blank" alt="twitter" />
<area shape="rect" coords="35,2,56,23" href="http://www.myspace.com/ginovalentino0069" target="_blank" alt="twitter" />
</map>
</div>
</div>
<div class="clearAll"></div>
<div id="_top_menu"><img src="images/_top_menu.png" alt="menu" width="999" height="54" border="0" usemap="#main_menu_map" />
<map name="main_menu_map" id="main_menu_map"><area shape="rect" coords="396,13,719,40" href="shop_online.php" alt="shop online" />
<area shape="rect" coords="791,14,972,39" href="stores.php" alt="stores" />
<area shape="rect" coords="29,13,324,40" href="collection.php" alt="collection" />
</map>
</div>
<div id="_main_content"><!-- InstanceBeginEditable name="main_content" -->
<div id="_home_main_content_bGround">
<div>
<div id="_prdct_buttonBack">
<a href="#"><img src="images/_home_main_content_button_prdctBack.png" alt="product navigation back" name="prdctBack" width="29" height="26" border="0" id="prdctBack" onmouseover="MM_swapImage('prdctBack','','images/_home_main_content_button_prdctBack-over .png',1)" onmouseout="MM_swapImgRestore()" /></a>
</div>
<div id="_prdct_buttonFwd">
<a href="#"><img src="images/_home_main_content_button_prdctFwd.png" alt="product navigation forward" name="prdctFwd" width="29" height="26" border="0" id="prdctFwd" onmouseover="MM_swapImage('prdctFwd','','images/_home_main_content_button_prdctFwd-over.p ng',1)" onmouseout="MM_swapImgRestore()" /></a>
</div>
<div id="_qckPrdct_buttonFwd">
<a href="#" onclick="sp1.showNextPanel(); return false;">
<img src="images/_home_main_content_button_qckPrdctFwd.png" alt="design navigation forward" name="qckProductFwd" width="81" height="114" border="0" id="qckProductFwd" onmouseover="MM_swapImage('qckProductFwd','','images/_home_main_content_button_qckPrdctFw d-over.png',1)" onmouseout="MM_swapImgRestore()" />
</a>
</div>
<div id="_qckPrdct_buttonBack">
<a href="#" onclick="sp1.showPreviousPanel(); return false;">
<img src="images/_home_main_content_button_qckPrdctBack.png" alt="design navigation back" name="qckProductBack" width="81" height="114" border="0" id="qckProductBack" onmouseover="MM_swapImage('qckProductBack','','images/_home_main_content_button_qckPrdctB ack-over.png',1)" onmouseout="MM_swapImgRestore()" /></a>
</div>
<div id="master_thumb_wrapper" spry:detailregion="ds_designs">
<img alt="" src="/uploads/{M_PNG_72_pink_ctg}" spry:if="{ds_designs::ds_RowID} % 2 == 0">
<img alt="" src="/uploads/{M_PNG_72_blue_ctg}" spry:if="{ds_designs::ds_RowID} % 2 != 0">
<!--<img alt="" src="/uploads/{M_PNG_72_blue}">-->
</div>
</div>
<div id="product_thumbnail_wrapper" spry:repeat="ds_products" spry:region="ds_products" spry:detailregion="ds_designs">
<div> XXX: {xxx}, XXX: {xxx}, XXX: {xxx}<br /></div>
<img src="/uploads/{ds_products::PNG_M_prd}" border="0" spry:if="{ds_products::idctg_prd} == {ds_designs::id_ctg}" />
</div>
<div id="design_thumbnail_positioner">
<!-- SLIDING PANEL START-->
<div id="designSlider" class="SlidingPanels" spry:region="ds_designs">
<div class="SlidingPanelsContentGroup">
<div class="p" spry:repeat="ds_designs">
<div spry:if="{ds_RowID} % 2 ==0">
{ds_RowID}
<img src="/uploads/{S_PNG_72_pink_ctg}" border="0" spry:setrow="ds_designs" />
<img src="images/horizSpacer_designThumbs_home.png" width="20" height="50" /><img src="images/_home_dynamic_content_design_seps.png" alt="design tumbnail seperator line" width="18" height="57" border="0" /><img src="images/horizSpacer_designThumbs_home.png" width="20" height="50" />
</div>
<div spry:if="{ds_RowID} % 2 !=0">
{ds_RowID}
<img src="/uploads/{S_PNG_72_blue_ctg}" border="0" spry:setrow="ds_designs" />
<img src="images/horizSpacer_designThumbs_home.png" width="20" height="50" /><img src="images/_home_dynamic_content_design_seps.png" alt="design tumbnail seperator line" width="18" height="57" border="0" /><img src="images/horizSpacer_designThumbs_home.png" width="20" height="50" />
</div>
</div>
<div class"p">
<img src="images/slidingPanel-tailEnd.png" width="599" height="68" alt="TAIL END" />
</div>
</div>
</div>
<!--<div class="p">
<img src="images/slidingPanel-tailEnd.png" width="599" height="68" alt="TAIL END" /></div>
</div>-->
<script>
var sp1 = new Spry.Widget.SlidingPanels("designSlider");
</script>
<!-- SLIDING PANEL STOP -->
</div>
</div>
<!-- InstanceEndEditable --></div>
<div id="_bottom_left_text">© 2009 Secret Agent 69<br />
Designed & Developed By FrankEEE for <a href="http://crushdesigngroup.com.au">Crush Design Group</a> / Australia</div>
<div id="_language_temp"><img src="images/_home_main_content_languageSelect_temp.png" width="106" height="38" alt="language selector inactive" /></div>
<div id="_bottom_right_LXIX"><img src="images/_bottom_LXIX.png" width="98" height="44" alt="LXIX label" /></div>
<div class="clearAll"></div>
</div>
</body>
<!-- InstanceEnd --></html>
Well - there is some external CSS as well - it's just a bit all over the place - did I say I am really a musician who has been trying to make it for years? Just kidding-ish!
Catch Ben - and hope u'll stick around,
Franky
G'day Frank,
This problem has nothing to do with ADDT, ADDT is the best and it is a pity that Adobe does not support it anymore. ADDT was the last remnant left from InterAkt and they are killing this off as well. Thank you Adobe.
Having said that, Spry is tops and with a bit of luck, Adobe will continue to support this framework. Even this seems to be in limbo, not having had any updates since December 2008, more than one year ago.
Oh yes, your problem. Looking at the following code:
<div id="product_thumbnail_wrapper" spry:region="ds_products">
<img src="/uploads/{ds_products::PNG_M_prd}" border="0"spry:if="{ds_products::idctg_prd} == {ds_designs::id_ctg}" />
</div>
the error message comes from the Spry region only calling for ds_products and therefore it knows nothing about ds_designs. The code should read spry:region="ds_products ds_designs" for both the datasets to be recognized. Even then I do not think that it will work because there is no relationship between the two datasets.
It would help if you had an online code for us to see.
Also, check with the Adobe samples pages.
I hope this helps my ADDT-mate,
Ben -
How to Uninstall Crystal Reports installed via .msi file
Post Author: epowers0213
CA Forum: General
Hello,
We are installing crystal reports on some clustered servers using the CRRedist2005_x86.msi so that a web application which uses Crystal Reports will run properly. (Visual Studio is not installed on these servers.)
If there is any problem caused by running the CRRedist2005_x86.msi program, how could we back out the installation/uninstall this version of Crystal Reports? Our server administration group wants me to provide an "uninstall program" just in case running the .msi file causes problems for any of the other applications on the server. However, I have not been able to find any information on this on the Business Objects web site (apart from some manual uninstall directions).
Can anyone help?
Thank you in advance!XMI is XML with a specified format.
Looking at the XMI format definition for the XML, it doesn't appear if it will automatically be consumed by Crystal.
Crystal expects relational, rather than hierarchial, data - so you'd need to find a way of exposing the data within XMI as a relational dataset.
Sincerely,
Ted Ueda -
CRMM_ACCOUNT - Create BP Not Working, Modify BP Works
Hi,
I have been working on the CRMM_ACCOUNT Application. The Account Modification functionality works fine, but when I try and create a Business Partner, it does not create it in the CRM System.
I tried to set an External Break Point in the CRM_BSP_ACC_ACCMOD class, but it does not get triggered. Actually, the request comes back very quickly and there are no Status Messages.
Is there something I need to check somewhere. I had a similar problem after I modified a Field Group, and I had to delete the BSP State to make it work again. Is there something similar here?
Thanks,
RanjanHi
Ranjan
previously i had face this problem..
there might be a problem in your bp role (tran BUSD)..
check wether u r assigned all the related datasets or not
chek out your assigened all calling applications uder your BP role..
Second thing use transaction BUSP and generate a subscreen container..
Regards
Vibhas -
Hi all,
The abstract of my problem is as follows.
I have to use both the AT POSITION and FILTER Optinns in Open dataset statement.
e.g Open dataset <dsn> in <Mode>
AT POSITION <pos>
FILTER <command>
But when i execute this, i get a syntax error at this line stating that i can only use filter and at poition at one place even though i put then one after the other.
Is there any way i can use both the additions?
If yes,How? and If no.. are there any alternatives?
Thanks in advance..
SravanHi sravan,
1. As mentioned, use two statement.
One shot statement cannot work.
2. try this code(just copy paste)
it will do what u want.
Try with commenting / uncommenting the line
of SET DATASET
and u will know the difference.
[mention proper filename in the code]
3. REPORT abc.
DATA : fname(100) TYPE c.
DATA : lin(100) TYPE c.
fname = '/tmp/arv'.
OPEN DATASET fname FOR INPUT IN TEXT MODE ENCODING DEFAULT.
comment/uncomment
*SET DATASET fname POSITION 10.
READ DATASET fname INTO lin.
WRITE lin.
regards,
amit m.
Message was edited by: Amit Mittal -
"Failed to open the connection" problem related to multiple tables in the report?
Post Author: Gadow
CA Forum: Data Connectivity and SQL
System specifics:
Web environment using ASP.Net 2.0 (from Visual Studio 2005 Professional)
Crystal Reports 2008, v. 12.0.0.549, Full
We have set up the following method for displaying reports via our website:
User is sent to a report-specific page. The user is given some filtering options specific to the report that will be viewed. When the user has specified the data filters, the user clicks a button.
The page wraps up the report parameters -- selection query, formula values, report location, the name to be displayed, etc. -- into a class which gets put into the Session object.
The page redirects to DisplayReport.aspx. ALL reports redirect to this page.
DisplayReport.aspx retrieves the report parameters from Session. A ReportDocument object is created and loaded, then set with the data from the parameters class.
A ConnectionInfo object is created and set with the relevant log on credentials. All of the reports draw from the same database, so the connection information is hard-coded as the same for all reports. The page then iterates through all of the tables in the Database.Tables collection of the ReportDocument and calls ApplyLogOnInfo to each table using the ConnectionInfo object.
The page is rendered and the user gets the filtered report.
We currently have seven reports. Five reports work fine and display the correctly filtered data with no error messages. Two reports generate a Failed to open the connection error and do not display. I have verified that the queries being sent to DisplayReport.aspx are valid, and as I said the connection information itself is hard-coded in the one page that displays the reports and this is identical to all reports.
The five reports that do work all have a single data table, either an actual database table or a single view. The two reports that do not work all have multiple tables. As far as I can tell, this is the only difference between the sets; all seven reports are based on the same DSN and I have verified the database on all of the reports. All of the reports were written using Crystal Reports 8, and all of the reports display fine in a Windows app I wrote some years ago using Crystal Reports 8. Again, the only difference between those reports that do work and those that do not is the number of tables used in the report: one table or view in the reports that display, more than one table (tables only, none use views) in the reports that do not display.
As for the code I am using, below are the relevant methods. The function MakeConnectionInfo simply parses out the components of a standard SQL connection string into a ConnectionInfo object. DisplayedReport is the ID of the CrystalReportViewer on the page.Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
Dim o As Object = Session("ReportParams")
Dim ReportURL As String = ""
'Verify that there is a ReportParameters object
If o Is Nothing OrElse o.GetType IsNot GetType(ReportParameters) Then 'Redirect to the error page
Response.Redirect("/errors/MissingReport.aspx")
End If
ReportParams = CType(o, ReportParameters)
'Verify that the report exists
ReportURL = "/Reports/ReportFiles/" + ReportParams.ReportName
ReportPath = Server.MapPath(ReportURL)
If Not File.Exists(ReportPath) Then
Response.Redirect("/errors/MissingReport.aspx?Report=" + ReportParams.ReportTitle)
End If
InitializeReport()
End Sub
Protected Sub InitializeReport()
Dim RD As New ReportDocument
Dim CI As ConnectionInfo = MakeConnectionInfo(DB_Bonus)
Dim RPF As CrystalDecisions.Shared.ParameterField = Nothing
RD.Load(ReportPath)
If ReportParams.SelectString <> "" Then
Dim Adapt As New SqlDataAdapter(ReportParams.SelectString, DB_Bonus)
Dim DS As New Data.DataSet
Adapt.Fill(DS)
RD.SetDataSource(DS.Tables(0))
End If
For Each kvp As KeyValuePair(Of String, String) In ReportParams.Formulas
Dim FFD As FormulaFieldDefinition = Nothing
Try
FFD = RD.DataDefinition.FormulaFields(kvp.Key)
Catch ex As Exception
'Do nothing
End Try
If FFD IsNot Nothing Then
Select Case FFD.ValueType
Case FieldValueType.DateField, FieldValueType.DateTimeField
If IsDate(kvp.Value) Then
FFD.Text = String.Format("Date()", Convert.ToDateTime(kvp.Value).ToString("yyyy, MM, dd"))
Else
FFD.Text = "Date(1960, 01, 01)"
End If
Case FieldValueType.StringField
FFD.Text = String.Format("""""", kvp.Value)
Case Else
'For now, treat these as if they were strings. If things blow up here,
'we will need to add the appropriate formatting for the field type.
FFD.Text = String.Format("""""", kvp.Value)
End Select
End If
Next
For Each T As CrystalDecisions.CrystalReports.Engine.Table In RD.Database.Tables
Dim TLI As TableLogOnInfo = T.LogOnInfo
TLI.ConnectionInfo = CI
T.ApplyLogOnInfo(TLI)
Next
DisplayedReport.ReportSource = RD
End Sub
Does this approach not work with reports containing multiple tables, or is there something I'm missing? Any meaningful suggestions would be much appreciated.Dear Dixit,
Please refer to the Crystal report landing page to get the details
information about the support for crystal report issues.
Please use the following thread to post your questions related to
crystal report.
SAP Business One and Crystal Reports
Regards,
Rakesh Pati
SAP Business One Forum Team. -
Reporting Services - All Datasets Broken
Hello there.
We’re having some problems with Reporting Services on a prod site and I was hoping someone might be able to offer a suggestion.
Here are the facts :
We have a SP Server 2010 (not foundation) farm which uses Reporting Services. There is 1 web / application server and 1 SQL server. Reporting Services 2008 R2 is installed on the SQL box.
Sometime in the last 2 weeks the reports all stopped working (last known report run 2 weeks ago). This was picked up yesterday. I'm not aware of anything being manually changed in the farm to cause this.
The reports report directly on SP lists using datasets with SharePoint data connections. There is one dataset per list.
The SQL / Reporting Services box has previously had SP installed on it (Ouch! Inherited system – not sure why SP was installed on SQL box).
A few weeks ago we stopped all SP services on the SQL box but did not uninstall SP from it. This did not affect reporting at the time.
When a report fails, we see this message in the UI :
Looking in the reporting services log messages are like the following, one per dataset :
Query execution failed for dataset 'DataSet1'. ---> System.ArgumentException: Feature '22d91f57-00d1-4e0b-9c04-863a82deaa07' for list template '10001' is not installed in this farm.
The operation could not be completed.
This happens for all datasets for all reports. All datasets are complaining that the feature for the list the data set uses is missing. These are features with list definitions / instances for the lists used in the reports.
The initial thought was that someone had renamed a field or similar, but this would only impact that one dataset. What we are seeing is that
all datasets simultaneously broke.
The features Reporting Services are complaining about are indeed activated in SP in the relevant webs.
On the SQL box the folders for the features Reporting Services are complaining about are not present in the 14 hive at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES, but then as far as I know they never were. On
our dev environment we deleted these feature folders but this didn't reproduce the same error.
We modified an unrelated SP list view yesterday via the SP UI. It’s unlikely but I wonder if there is some kind of list definition XML / voodoo behind the scenes that was interrupted by this.
If you open the broken report in Report Builder directly from SP (via the list context menu), you can run the datasets OK, and do a test connection for the data source - but if you run the report itself you get the usual error. If I use Report Builder on
my local machine to try to save to the web where the reports are stored, I get one of the “feature…is not installed in this farm” errors. I can’t even browse to that web in Report Builder without getting the error.
Things I've tried so far (my infrastructure experience amounts to restart things until they work):
App pool recycle web server.
IISReset web server.
Restart reporting service on SQL box.
Delete the view I thought might have been somehow related.
In summary I have no idea what the root cause is here or what has changed recently. I’m a
programmer and someone else who is no longer available set up this environment so I’m a bit stuck!
Thanks for reading.
LeeWe've resolved this.
It turns out the features it was complaining about really were missing on the Reporting Services box and needed to be present. I wrongly concluded this wasn't the problem initially when we deleted these features on a dev box, restarted a few things and reports
didn't break. I guess something was still being cached somewhere.
Best guess as to why the features went away is that when we disabled all of the SP services on the reporting services box via Central Admin, one of these (probably SharePoint Foundation Web Application), all custom features / solutions were removed
from the box.
Moral of the story I think is make sure your reporting services box is a valid part of the SP farm and has all required features present.
Cheers
Lee -
Crystal Report Many to One Query Config error when using DataSet.ReadXML me
When I build a dataset with this method numerous relations are automatically created. I then map these fields onto crystal reports with ADO.net data connection. However when I run the report the following error occurs:
CrystalDecisions.CrystalReports.Engine.InternalException: Cannot determine the queries necessary to get data for this report.Details:
This query cannot be performed. The link order requires many to one query configuration, which is not supported. Please rearrange the links.
If I remove the links (relations) i get duplicate data on the report. Is there any way to resolve this or a patch for the error?Hello, Mervin;
Since you are using ADO.NET dataset, is it possible to get all of the fields you need in one SQL Query outside of Crystal Reports?
If that is possible, you can use that dataset to create an XML or XSD file to use as the structure for your report.
VB
'Using the full path to the .xml file, include the schema
dataSet.WriteXml("C:\temp\test.xml", XmlWriteMode.WriteSchema)
or
dataSet.WriteXmlSchema("c:\temp\testXML.xsd")
Now create a new report with the ADO.NET(XML) connection and point to either the XML or XSD you created. XML is useful because you can view data in the report designer for final formatting of the report.
Now there is only one datasource and no linking is required in Crystal Reports. That should resolve the one to many issue.
Another useful tool is to group on the many and place all the fields normally in the detail section into that group header. Suppress the Detail and Group footer sections. The Group Header will now look like a Detail section and each distinct value will only appear once. You can group on one field or a combination (using a formula field) to get the results you need. Test this to be sure you do not miss anything you want to see.
Elaine -
Problem with if-then-else using BI Answers dataset
Hi, I'm having issues using the if-then-else logic with a BI Answers dataset. I'm running two versions of a report - one that access the SH schema tables directly, and one that uses a BI Answers dataset based on the SH schema.
My problem is with the if-then-else operator. It works fine against the relational tables when I use the following syntax:
<?xdofx:if CUST_GENDER = 'M' then 'Mr.' else 'Ms.' end if?>
However, when I go against a BI Answers report, the name of the field changes from CUST_GENDER to Customers._Cust_Gender_. If I make an exact find and replace on the if-then-else code, it doesn't work (nothing at all displays)
<?xdofx:if Customers._Cust_Gender_ = 'M' then 'Mr.' else 'Ms.' end if?>
Can anyone help?
Thanks,
ScottIs it possible that any of the fields have null values? If so, see my blog post about null handling in Crystal for more information: What is Null and Why is it Important for Crystal Reports | SAP BI BLOG
-Dell -
How to add two datasets inside a same tablix?
Hi Everyone,
I want to create a report as using project server datas with two datasets in the same tablix.my report has three grouping by Months,Resources, and Resource Role.my dataset has resource name parameter.when i selected a few resource as filter,LookupSet function
gives me an array.But it is taking first value of array for each resource.Actually it must get related value for resource in the array.Hi Visakh,
i tried to merge them at backend.but it gave me the wrong results.because resource has 168 hours capacity at selected date range.
For example:
i selected dates between 01.11.2013 and 30.11.2013.there are 3 project at this date range for this Resource.but it gave me less result for capacity.i think that it is bringing the capacity according to the results in Epm_AssignmentByDay_Userview table matching.but
it must bring the result according to selected date range.
My SP:
USE [ProjectServer_Reporting_Canli]
GO
/****** Object: StoredProcedure [dbo].[CSP_ResourceCapacityControl] Script Date: 01/26/2014 04:31:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[CSP_ResourceCapacityControl]
@Resources VARCHAR(4000),
@ResourceRole VARCHAR(4000),
@DateStart DATETIME,
@DateEnd DATETIME,
@Programme VARCHAR(4000)
AS
BEGIN
SELECT
TimeByDay,
ResourceUID,
ResourceName,
Capacity,
ProjectUID,
ProjectName,
[Project Type.Proje Türü],
[Function.Fonksiyon],
[Proje Durum],
ProjectStartDate,
ProjectFinishDate,
[Role.Rol],
[Speciality.Uzmanlık],
Rol_KaynakAnalizi,
[OutSource Company.Dış Kaynak Firma],
[Source.Kaynak],
[programme.program],
SUM(BaselineAssignmentWork) AS BaselineWork,
SUM(AssignmentActualWork) AS ActualWork,
SUM(AssignmentWork) AS AssignmentWork,
SUM(AssignmenRPlanWork) AS AssginmenRPlanWork
FROM
(SELECT
ABD.TimeByDay,
RUV.ResourceName,
PUV.ProjectUID,
PUV.ProjectName,
PUV.[Project Type.Proje Türü],
PUV.[Function.Fonksiyon],
PUV.[Proje Durum],
PUV.ProjectStartDate,
PUV.ProjectFinishDate,
RUV.ResourceUID,
RUV.[Role.Rol],
RUV.[Speciality.Uzmanlık],
RUV.Rol_KaynakAnalizi,
RUV.[OutSource Company.Dış Kaynak Firma],
RUV.[Source.Kaynak],
PUV.[programme.program],
RDB.Capacity,
SUM(ABD.AssignmentBaseline0Work)AS BaselineAssignmentWork,
SUM(ABD.AssignmentWork) AS AssignmentWork,
SUM(ABD.AssignmentActualWork) AS AssignmentActualWork,
SUM(ABD.AssignmentResourcePlanWork) AS AssignmenRPlanWork
FROM
dbo.MSP_EpmAssignmentByDay_UserView AS ABD
INNER JOIN
dbo.MSP_EpmAssignment_UserView AS AUV
ON
ABD.AssignmentUID = AUV.AssignmentUID
INNER JOIN
dbo.MSP_EpmProject_UserView AS PUV
ON
PUV.ProjectUID = AUV.ProjectUID
INNER JOIN
dbo.MSP_EpmResourceByDay_UserView RDB
ON
RDB.ResourceUID=AUV.ResourceUID and RDB.TimeByDay=ABD.TimeByDay
INNER JOIN
dbo.MSP_EpmResource_UserView AS RUV
ON
RUV.ResourceUID = AUV.ResourceUID
INNER JOIN
(SELECT ObjectUID
FROM dbo.CF_SQLParameterINOperatorInStoreProcedure(@Resources)) As ParamResourceUIDs
ON
RUV.ResourceUID = ParamResourceUIDs.ObjectUID
INNER JOIN
(SELECT ObjectUID
FROM dbo.CF_SQLParameterINOperatorInStoreProcedure(@ResourceRole)) As ParamResourceRoleID
ON
RUV.Rol_KaynakAnalizi = ParamResourceRoleID.ObjectUID
INNER JOIN
(SELECT ObjectUID
FROM dbo.CF_SQLParameterINOperatorInStoreProcedure(@Programme)) As ParamProgramme
ON
PUV.[programme.program]=ParamProgramme.ObjectUID
WHERE
(RDB.TimeByDay BETWEEN (@DateStart) and (@DateEnd))
--AND
--ABD.AssignmentActualWork <> 0
GROUP BY
ABD.TimeByDay,
PUV.ProjectName,
PUV.[Project Type.Proje Türü],
PUV.[Function.Fonksiyon],
PUV.[Proje Durum],
PUV.ProjectStartDate,
PUV.ProjectFinishDate,
RUV.ResourceUID,
PUV.ProjectUID,
RUV.[Role.Rol],
RUV.[Speciality.Uzmanlık],
RUV.Rol_KaynakAnalizi,
RUV.[OutSource Company.Dış Kaynak Firma],
RUV.[Source.Kaynak],
PUV.[programme.program],
RDB.Capacity,
RUV.ResourceName) AS Temp
--INNER JOIN
-- (SELECT ResourceRoleID
-- FROM
-- dbo.CF_SQLParameterINOperatorResourceBolum(@ResourceRole)) As ParamResourceRole
-- ON
-- (RUV.Role_KaynakAnalizi = ParamResourceRole.ResourceRoleID)
GROUP BY
TimeByDay,
ResourceName,
ResourceUID,
ProjectName,
[Project Type.Proje Türü],
[Function.Fonksiyon],
[Proje Durum],
ProjectStartDate,
ProjectFinishDate,
ProjectUID,
[Role.Rol],
[Speciality.Uzmanlık],
Rol_KaynakAnalizi,
[OutSource Company.Dış Kaynak Firma],
[Source.Kaynak],
Capacity,
[programme.program]
END
RETURN 0 -
How to convert Report Model to Report Designer DataSet
To all,
I have a two part question. One is I am experiencing the error at the end of this question when migrating SQL Server 2005 SSRS Native Reports, the report uses a Report Model, to SQL Server 2008 SSRS Native. I bring the Report and Report Model to SQL Server 2008 SSRS and get the error at the end of the question below. Background and the 2nd question are below.
I have a bunch of Report Builder based Reports. I need to convert them to VS BIDS based Report Designer Reports with Shared Datasources and MDX based DataSets.
How can I grab the MDX from the Report Builder Report Model so I can put it into the Report Designer DataSet Query Definition?
What is the easiest way to make this migration between these Report development environments.
I am able to open the Report.RDL file in VS BIDS and can see the entire UI layer. The DataSet I see here is the one that is related to the error at the end of the question. The RD/DataSet holds:
<SemanticQuery xmlns="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rb="http://schemas.microsoft.com/sqlserver/2004/11/reportbuilder" xmlns:qd="http://schemas.microsoft.com/sqlserver/2004/11/semanticquerydesign">
<Hierarchies>
<Hierarchy>
<BaseEntity>
<!--Fact Messages-->
<EntityID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Entity_MeasureGroup_DW_Text_Fact_Messages</EntityID>
</BaseEntity>
<Groupings>
<Grouping Name="Date">
<Expression Name="Date">
<Path>
<RolePathItem>
<!--Dim Date-->
<RoleID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Role_MeasureGroupDimension_Entity_MeasureGroup_DW_Text_Fact_Messages_Entity_Dimension_Dim_Date_Entity_Dimension_DW_Text_Dim_Date</RoleID>
</RolePathItem>
</Path>
<AttributeRef>
<!--Full Date-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Hierarchy_Dim_Date.Full_Date</AttributeID>
</AttributeRef>
</Expression>
</Grouping>
<Grouping Name="Hour">
<Expression Name="Hour">
<Path>
<RolePathItem>
<!--Dim Time-->
<RoleID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Role_MeasureGroupDimension_Entity_MeasureGroup_DW_Text_Fact_Messages_Entity_Dimension_Dim_Time_Entity_Dimension_DW_Text_Dim_Time</RoleID>
</RolePathItem>
</Path>
<AttributeRef>
<!--Hour24-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Hierarchy_Dim_Time.Hour24</AttributeID>
</AttributeRef>
</Expression>
</Grouping>
<Grouping Name="Year">
<Expression Name="Year">
<Path>
<RolePathItem>
<!--Dim Date-->
<RoleID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Role_MeasureGroupDimension_Entity_MeasureGroup_DW_Text_Fact_Messages_Entity_Dimension_Dim_Date_Entity_Dimension_DW_Text_Dim_Date</RoleID>
</RolePathItem>
</Path>
<AttributeRef>
<!--Year-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Hierarchy_Dim_Date.Year</AttributeID>
</AttributeRef>
</Expression>
</Grouping>
</Groupings>
<Filter>
<Expression Name="expr1">
<Function>
<FunctionName>And</FunctionName>
<Arguments>
<Expression>
<Function>
<FunctionName>And</FunctionName>
<Arguments>
<Expression>
<Function>
<FunctionName>GreaterThanOrEquals</FunctionName>
<Arguments>
<Expression>
<Path>
<RolePathItem>
<!--Dim Date-->
<RoleID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Role_MeasureGroupDimension_Entity_MeasureGroup_DW_Text_Fact_Messages_Entity_Dimension_Dim_Date_Entity_Dimension_DW_Text_Dim_Date</RoleID>
</RolePathItem>
</Path>
<AttributeRef>
<!--Date-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Hierarchy_Dim_Date.Date</AttributeID>
</AttributeRef>
</Expression>
<Expression>
<Function>
<FunctionName>DateAdd</FunctionName>
<Arguments>
<Expression>
<Literal>
<DataType>String</DataType>
<Value>Day</Value>
</Literal>
</Expression>
<Expression>
<Function>
<FunctionName>Negate</FunctionName>
<Arguments>
<Expression>
<ParameterRef>
<ParameterName>Date in last (n) days</ParameterName>
</ParameterRef>
</Expression>
</Arguments>
</Function>
</Expression>
<Expression>
<Function>
<FunctionName>Today</FunctionName>
</Function>
</Expression>
</Arguments>
</Function>
</Expression>
</Arguments>
</Function>
</Expression>
<Expression>
<Function>
<FunctionName>LessThan</FunctionName>
<Arguments>
<Expression>
<Path>
<RolePathItem>
<!--Dim Date-->
<RoleID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Role_MeasureGroupDimension_Entity_MeasureGroup_DW_Text_Fact_Messages_Entity_Dimension_Dim_Date_Entity_Dimension_DW_Text_Dim_Date</RoleID>
</RolePathItem>
</Path>
<AttributeRef>
<!--Date-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Hierarchy_Dim_Date.Date</AttributeID>
</AttributeRef>
</Expression>
<Expression>
<Function>
<FunctionName>Today</FunctionName>
</Function>
</Expression>
</Arguments>
</Function>
</Expression>
</Arguments>
</Function>
<CustomProperties>
<CustomProperty Name="qd:FilterCondition" />
</CustomProperties>
</Expression>
<Expression>
<Function>
<FunctionName>Equals</FunctionName>
<Arguments>
<Expression>
<Path>
<RolePathItem>
<!--Dim Volume-->
<RoleID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Role_MeasureGroupDimension_Entity_MeasureGroup_DW_Text_Fact_Messages_Entity_Dimension_Dim_Volume_Entity_Dimension_DW_Text_Dim_Volume</RoleID>
</RolePathItem>
</Path>
<AttributeRef>
<!--Description-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Hierarchy_Dim_Volume.Description</AttributeID>
</AttributeRef>
</Expression>
<Expression>
<Literal>
<DataType>String</DataType>
<Value>Volume</Value>
</Literal>
</Expression>
</Arguments>
</Function>
<CustomProperties>
<CustomProperty Name="qd:FilterCondition" />
</CustomProperties>
</Expression>
</Arguments>
</Function>
<CustomProperties>
<CustomProperty Name="qd:Filter" />
<CustomProperty Name="qd:ContextEntityID">
<Value xsi:type="xsd:string">http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling:Entity_MeasureGroup_DW_Text_Fact_Messages</Value>
</CustomProperty>
<CustomProperty Name="qd:AutoChangeBaseEntity" />
<CustomProperty Name="qd:Design">
<Value xsi:type="xsd:string">expr2</Value>
</CustomProperty>
</CustomProperties>
</Expression>
</Filter>
</Hierarchy>
</Hierarchies>
<MeasureGroups>
<MeasureGroup>
<BaseEntity>
<!--Fact Messages-->
<EntityID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Entity_MeasureGroup_DW_Text_Fact_Messages</EntityID>
</BaseEntity>
<Measures>
<Expression Name="Volume">
<AttributeRef>
<!--Volume-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Volume</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Auto %">
<AttributeRef>
<!--Automated_Pct-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Automated_Pct</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Send Now %">
<AttributeRef>
<!--Send_Now_Pct-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Send_Now_Pct</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Use %">
<AttributeRef>
<!--Use_Pct-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Use_Pct</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Stock Ans %">
<AttributeRef>
<!--StockAns_Pct-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_StockAns_Pct</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Charged">
<AttributeRef>
<!--Charged_Pct-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Charged_Pct</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Billed">
<AttributeRef>
<!--Billed_Pct-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Billed_Pct</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Avg TTA (s)">
<AttributeRef>
<!--Avg_TT_Answer-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Avg_TT_Answer</AttributeID>
</AttributeRef>
</Expression>
<Expression Name="Avg TTC (s)">
<AttributeRef>
<!--Avg_Time_To_Customer-->
<AttributeID xmlns:np="http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling">np:Attribute_Measure_DW_Text_Avg_Time_To_Customer</AttributeID>
</AttributeRef>
</Expression>
</Measures>
<SubtotalSets>
<SubtotalSet>
<SubtotalGroupings>
<GroupingName>Year</GroupingName>
</SubtotalGroupings>
<SubtotalMeasures>
<MeasureName>Volume</MeasureName>
<MeasureName>Auto %</MeasureName>
<MeasureName>Send Now %</MeasureName>
<MeasureName>Use %</MeasureName>
<MeasureName>Stock Ans %</MeasureName>
<MeasureName>Charged</MeasureName>
<MeasureName>Billed</MeasureName>
<MeasureName>Avg TTA (s)</MeasureName>
<MeasureName>Avg TTC (s)</MeasureName>
</SubtotalMeasures>
</SubtotalSet>
<SubtotalSet>
<SubtotalGroupings>
<GroupingName>Date</GroupingName>
<GroupingName>Year</GroupingName>
</SubtotalGroupings>
<SubtotalMeasures>
<MeasureName>Volume</MeasureName>
<MeasureName>Auto %</MeasureName>
<MeasureName>Send Now %</MeasureName>
<MeasureName>Use %</MeasureName>
<MeasureName>Stock Ans %</MeasureName>
<MeasureName>Charged</MeasureName>
<MeasureName>Billed</MeasureName>
<MeasureName>Avg TTA (s)</MeasureName>
<MeasureName>Avg TTC (s)</MeasureName>
</SubtotalMeasures>
</SubtotalSet>
</SubtotalSets>
</MeasureGroup>
</MeasureGroups>
<Parameters>
<Parameter Name="Date in last (n) days">
<DataType>Integer</DataType>
<Expression>
<Literal>
<DataType>Integer</DataType>
<Value>14</Value>
</Literal>
</Expression>
</Parameter>
</Parameters>
<CustomProperties>
<CustomProperty Name="qd:PerspectiveID">
<Value xsi:type="xsd:string">http://schemas.microsoft.com/sqlserver/2004/10/semanticmodeling/udmmodeling:Perspective_Cube_DW_Text</Value>
</CustomProperty>
</CustomProperties>
</SemanticQuery>
I have created a Shared Datasource that points the the correct Analysis Services cubes that the original Report Model pointed at.
However, I get this error when running the report:
An error occurred during client rendering.
An error has occurred during report processing.
Semantic query compilation failed: e EmptySemanticQuery The SemanticQuery does not contain any Groupings or MeasureGroups. SemanticQuery must contain at least one of these elements. (SemanticQuery '').Actually the error above is from running the report on SSRS 2008 Native. Does anyone know why I get this error and how it may be resolved.
Then I try to bring the report into BIDS RD and create a SDS and DataSet. The Semantic Query above is from the RD DataSet Query window.
I get the following error when running the report in BIDS RD:
An error occured during local processing.
An error has occured during report processing.
Query execution failed for dataset 'dataSet'.
The SemanticQuery element at line 7, column 351 (namespace http://schema.microsoft.com/sqlserver/2004/10semanticmodeling) cannot appear under Envelope/Body/Execute/Command.
So I have two errors with two scenarios. I'd like to know how to resolve one of them.
I'd also like to know how to get the MDX from the RB/RM report so I can put it into the VS BIDS Version and get that to work properly.
Thanks,
Eric -
Getting a Sequence back from an S-P with typed DataSet problem
Hi,
I know there are loads of topics about sequences on this forum, but I can't seem to find this exact issue amongst them.
As a learning exercise, I've created a typed dataset based on the HR sample database tables Departments and Employees (through the use of the hack to get an OracleDataAdapter to generate typed datasets).
I currently have a problem with retrieving the new sequence value from the 'Insert_Department' stored procedure I've written, and the best thing I can figure is that there is a clash occurring between the type and size of the sequence and the size of the department_id column (number(4) - which maps in .Net to an int16).
The exception I get on running the dataAdapter.Update() method is:
Unable to cast object of type 'Oracle.DataAccess.Types.OracleDecimal' to type 'System.IConvertible'. Couldn't store <330> in DEPARTMENT_ID Column. Expected type is Int16
The record does get inserted into the database ok - therefore I infer that this is a problem with the handling of the return value back to the DepartmentsDataSet column.
My stored procedure is as follows:
PROCEDURE "INSERT_DEPARTMENT" (
"NEW_DEPARTMENT_ID" OUT DEPARTMENTS.DEPARTMENT_ID%TYPE,
"NEW_DEPARTMENT_NAME" IN VARCHAR2,
"NEW_MANAGER_ID" IN NUMBER,
"NEW_LOCATION_ID" IN NUMBER) IS
BEGIN
INSERT INTO DEPARTMENTS(DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
VALUES (DEPARTMENTS_SEQ.NEXTVAL, NEW_DEPARTMENT_NAME, NEW_MANAGER_ID, NEW_LOCATION_ID);
SELECT DEPARTMENTS_SEQ.CURRVAL INTO NEW_DEPARTMENT_ID
FROM DUAL;
END "INSERT_DEPARTMENT";
I've tried lots of different things here; I started declaring the parameter as a NUMBER, now it's set to a %TYPE on the column as you can see... and I've also tried assigning the NEXTVAL to a NUMBER(4) local variable before assigning it to the OUT parameter.
Here's the C# that configures the insert command:
// Insert - note that department_id param is an output param
OracleCommand insert = new OracleCommand("odp_hr_dal.insert_department", connection);
insert.CommandType = CommandType.StoredProcedure;
insert.Parameters.Add(new OracleParameter("new_department_id", OracleDbType.Int16, 2, "department_id"));
insert.Parameters["new_department_id"].Direction = ParameterDirection.Output;
insert.Parameters.Add(new OracleParameter("new_department_name", OracleDbType.Varchar2, 30, "department_name"));
insert.Parameters.Add(new OracleParameter("new_manager_id", OracleDbType.Int32, 4, "manager_id"));
insert.Parameters.Add(new OracleParameter("new_location_id", OracleDbType.Int32, 4, "location_id"));
deptDataAdapter.InsertCommand = insert;
The key line is the adding of the "new_department_id" line where I have tried many different types in the vain hope that I can somehow override the conversion process to not think it needs to go as large as a Decimal type.
I wonder if anyone could help point me towards the (probably obvious) thing that I am missing? I've run out of ideas on things to try!
With Best Regards,
NijThank you muylaerk,
That did work.
However, this and the related link you posted raise a question: Given that (in the case of Decimal types) whichever of the DbType or OracleDbType property you set, the other value is set to Decimal also... what setting in the OracleParameter records which was the 'set' property, and therefore, which type will the Value be set to?
In other words, does anything visibly change in the debugger view of the OracleParameter type to see this?
Nij -
Server Error in '/' Application.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846887
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +4860189
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +90
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +342
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.SqlClient.SqlConnection.Open() +122
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +31
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +112
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +287
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1297
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +19
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +72
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +44
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082On what website/link did you received this error message ??
-
Problem in Extracting Dataset from Z FM for Zdatasource
hi,
I have created a Z fm of extracting data in Z datasource and i ahve written code for it.
But everytime it returns me
0 dataset extracted...
i debugged it....and found data in E_T_DTFIAR_1
and till dat it is working fine ( wat i m assuming),
after dat it is going to some other forms(like data transfer ) and some events.
and finally throwing 0 data record found.
here is the code..........can anyone tell me wat i m missing in this code...
FUNCTION ZFIE*.
""Local interface:
*" IMPORTING
*" VALUE(I_DSOURCE) TYPE SBIWA_S_INTERFACE-ISOURCE
*" VALUE(I_REQUNR) TYPE SBIWA_S_INTERFACE-REQUNR OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SBIWA_S_INTERFACE-INITFLAG OPTIONAL
*" VALUE(I_UPDMODE) TYPE SBIWA_S_INTERFACE-UPDMODE OPTIONAL
*" VALUE(I_DATAPAKID) TYPE SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SBIWA_T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SBIWA_T_FIELDS OPTIONAL
*" E_T_DTFIAR_1 STRUCTURE ZFIE_ (extractor structure) OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
TABLES: VBREVE, ZFIE_EXT_REV, VBAK, VBRP, VBPA, KNA1..
*....... steering flags
STATICS: L_CURSOR TYPE CURSOR,
L_OPEN_CURSOR_FLAG LIKE C_OFF,
L_LAST_DATA_FLAG LIKE C_OFF.
*....... PACKAGE-SIZE for SELECT-Statement
STATICS: L_PACKAGE_SIZE LIKE SY-TABIX.
first call - initialization **********************
IF NOT ( I_INITFLAG IS INITIAL ).
IF NOT ( G_FLAG_INTERFACE_INITIALIZED IS INITIAL ).
**.... Invalid second initialization call -> error exit
IF 1 = 2. MESSAGE E008(R3). ENDIF. "only for Where-used list
LOG_WRITE 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDIF.
*.. check DataSource validity
CASE I_DSOURCE.
WHEN C_ISOURCE_DTFIAR_1.
WHEN OTHERS.
IF 1 = 2.
MESSAGE E009(R3) WITH I_DSOURCE. "only for Where-used list
ENDIF.
LOG_WRITE 'E' "message type
'R3' "message class
'009' "message number
I_DSOURCE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
*.. Check for supported update mode
CASE I_UPDMODE.
WHEN 'F'.
WHEN OTHERS.
IF 1 = 2.
MESSAGE E011(R3) WITH I_UPDMODE. "only for Where-used list
ENDIF.
LOG_WRITE 'E' "message type
'R3' "message class
'011' "message number
I_UPDMODE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
APPEND LINES OF I_T_SELECT TO G_T_SELECT.
*.. Fill parameter buffer for data extraction calls
G_S_INTERFACE-REQUNR = I_REQUNR.
G_S_INTERFACE-ISOURCE = I_DSOURCE.
G_S_INTERFACE-MAXSIZE = I_MAXSIZE.
G_S_INTERFACE-INITFLAG = I_INITFLAG.
G_S_INTERFACE-UPDMODE = I_UPDMODE.
G_S_INTERFACE-DATAPAKID = I_DATAPAKID.
G_FLAG_INTERFACE_INITIALIZED = SBIWA_C_FLAG_ON.
Fill field list table for an optimized select statement
(in case that there is no 1:1 relation between InfoSource fields
and database table fields this may be far from beeing trivial)
APPEND LINES OF I_T_FIELDS TO G_T_FIELDS.
*.. calculate PACKAGE-SIZE for SELECT-Statement (approximate)
L_PACKAGE_SIZE = G_S_INTERFACE-MAXSIZE / 12.
*.. fill selection criterias to global ranges
second and further calls - data selection *************
ELSE.
*.. clear table for export data
CLEAR: E_T_DTFIAR_1.
REFRESH: E_T_DTFIAR_1.
IF L_OPEN_CURSOR_FLAG IS INITIAL.
*.... open cursor
OPEN CURSOR WITH HOLD L_CURSOR FOR
SELECT
REFERENCE_DOC REF_DOC_ITM GL_ACCOUNT YEAR_PERIOD AMOUNT_DOC_CURR
CURRENCY PROFIT_CENTER GL_OFFSET BUSINESS_AREA COMPANY_CODE
REVENUE_STATUS SOLD_TO FISCAL_YEAR PERIOD DOCUMENT_TYPE
AMOUNT_COMPANY AMOUNT_PROFT_CTR BILLING_DATE PLANT SALES_OFFICE
SALES_GROUP SALES_DISTRICT END_USER_COUNTRY PROD_HIERARCHY
MATERIAL MATERIAL_COST SALES_ORG DISTR_CHANNEL NUMBER_OF_NODES
ORDER_DATE MATERIAL_GROUP AAG CONTRACT QUANTITY DAF_NUMBER
BILLING_DATE
FROM ZFIE_EXT_REV
WHERE
RECORD_TYPE ='DEF'.
SELECT SINGLE VBELN FROM VBREVE INTO ITAB_REVENUE-REFDOCNR.
L_OPEN_CURSOR_FLAG = C_ON.
ENDIF. "L_OPEN_CURSOR_FLAG = C_OFF
IF L_PACKAGE_SIZE <> 0.
*.... fetch next package
FETCH NEXT CURSOR L_CURSOR
APPENDING CORRESPONDING FIELDS OF TABLE LT_DEF_REV
PACKAGE SIZE L_PACKAGE_SIZE.
*.... process selected data
PERFORM PROCESS_SEL_DATA_AR1 TABLES LT_DEF_REV E_T_DTFIAR_1.
*.... check, if cursor has to be closed
DESCRIBE TABLE LT_DEF_REV LINES SY-TFILL.
IF SY-TFILL LT L_PACKAGE_SIZE.
CLOSE CURSOR L_CURSOR.
L_LAST_DATA_FLAG = 'X'.
ENDIF.
ENDIF.
ENDIF.
ENDFUNCTION.
FORM PROCESS_SEL_DATA_AR1 *
FORM PROCESS_SEL_DATA_AR1 TABLES SEL_DATA STRUCTURE LT_DEF_REV
EXP_DATA STRUCTURE ZFIE_BIW_DEF_HIS.
*....... local data declarations
if not SEL_DATA[] is initial.
move sel_data[] to exp_data[].
SELECT POPUPO VBELN_N POSNR_N RVAMT ACCPD PAOBJNR SAKUR SAMMG
REFFLD ERDAT ERZET BUDAT REVFIX
APPENDING CORRESPONDING FIELDS OF TABLE it_vbreve
FROM VBREVE
WHERE VBELN = ITAB_REVENUE-REFDOCNR
AND POSNR = SEL_DATA-REF_DOC_ITM
AND BUKRS = SEL_DATA-COMPANY_CODE
AND BDJPOPER = SEL_DATA-YEAR_PERIOD.
*move it_vbreve[] to exp_data[].
*move exp_data to e_t_data.
ENDif.
ENDFORM.
any help! plz..
rdgs,
San!Hi San,
I cannot see the source of your error, but I would suggest you look at the FM RSVD_BW_GET_DATA, and merge you logic with the code from there.
I would then test this with RSA3 to make sure you everything working correctly. Cheers! Bill -
Access Child Node of a dataset
I'm pointing to "root/data" in the XMLdataSet as var mdoReg
I'm using spry:region and spry:detailregion
Of course I can easily retrieve the node values of {name},
{usr}, {key} and so on.
-- but how do I access the children under <contacts>
and <links>
is there something like this {contacts/contact} that could
traverse in?
I have something like this for an XML structure;
<root>
<data>
<name>name</name>
<usr>usrname</usr>
<key>value</key>
<desc>description</desc>
<contacts>
<contact>contact-name</contact>
<contact>contact-name</contact>
<contact>contact-name</contact>
ect...
</contacts>
<links>
<link>link-value</link>
<link>link-value</link>
<link>link-value</link>
</links>
</data>
</root>
thanks
ScottHi Scott,
There is currently there is a limitation of Spry that doesn't
allow you do display nested data like this:
loop through /data
display 'name'
loop through contacts/contact for 'name'
display 'contact'
end loop
end loop
However, you can build a master-detail just like in the
products demo
You'll display the 'name', 'usrname', etc and when the user
click on one of the records you'll be able to display (in a
separate spry:region) the related links and contacts for that
'name'
In order to accomplish this you have to create those two
dataset to be dependent on the first one like this:
ds1 - selects "/root/data"
ds2 - selects "/root/data[name =
'{ds1::name}']/contacts/contact"
ds3 - same as 2
Regards,
Dragos
Maybe you are looking for
-
Multiple iPod's/Multiple Apple ID's
I have multiple iPod touch. I have given one to my 10 year old son. Is it possible to have multiple accounts to manage for my 10 year old. Can i create his Apple ID within my own to monitor?
-
Is it possible to use the OWB in a cloud environment?
We are examining the possibility to move a DW into a cloud environment. We are using OWB for our ETL process. Is there anyone who has experience of running a data warehouse in a cloud environment?
-
Ti identify discrepancies in internal table data
Hi all, I do have data in internal table like this... PODTD Instl Instl.type Premise ContractAccount 100 I1 ELED P1 C1 100 I2 ELES P1 C1 101 I3 ELED P2 C2 102 I4
-
Hi, i have the error ORA-30135 when run a multithread process using ORACLE OCI. The OCI function "indicted" is OCIThreadCreate.... The environments are like these: OS: Sun 5.9 DB: ORACLE 9.2 Language: C++ compiled with Gcc. Help me please..... Thank
-
I am disappointed apple assistance in Italy, kindly can you help?
I am disappointed apple assistance in italy, kindly can you help me?