|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
I am a little bit confused about the use of Rolluplists and parameters. Perhaps you can help me to find my mistake.
First I created a Query with the following content: Everything worked fine. As desired I could filter the report by my report parameters.
<?xml version="1.0" encoding="utf-8" ?>
<root>
<list title="Savings" relativeSiteUrl="/savings/goldland" tableName="Savings" useDisplayName="true">
<fields></fields>
<query>
<Where>
<And>
<Eq>
<FieldRef Name="Customer"/>
<Value Type="Text">@DS_Par_Customer!</Value>
</Eq>
<And>
<Gt>
<FieldRef Name="Saving Date"/>
<Value Type="DateTime">@DS_Par_Date_From!</Value>
</Gt>
<Lt>
<FieldRef Name="Saving Date"/>
<Value Type="DateTime">@DS_Par_Date_Until!</Value>
</Lt>
</And>
</And>
</Where>
</query>
</list>
</root>
Now I made some changes, including a Rolluplist. My intention was to create a query in which I can use data from all lists named "Savings" in my site collection and I want to filter by my report parameters as before (see above). I created the following query:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<multiList title="Savings" relativeSiteUrl="/savings/" type="RollUpList" tableName="Savings" useDisplayName="true">
<fields>Title, Customer, Operating Company, Location, Duration, Saving Author, Responsible Employee, Project ID, Saving Date, Saving Status, Sum, Saving Category</fields>
<query>
<where>
<And>
<Eq>
<FieldRef Name="Customer"/>
<Value Type="Text">@DS_Par_Customer!</Value>
</Eq>
<And>
<Gt>
<FieldRef Name="Saving Date"/>
<Value Type="DateTime">@DS_Par_Date_From!</Value>
</Gt>
<Lt>
<FieldRef Name="Saving Date"/>
<Value Type="DateTime">@DS_Par_Date_Until!</Value>
</Lt>
</And>
</And>
</where>
</query>
</multiList>
<resultset>Savings</resultset>
</root>
But now by results will not filtered as desired.
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
You will have to put an upper case letter to “where” (e.g.: Where).
The part within the query keyword is Microsoft CAML syntax which uses an upper case first letter convention. This is different from the convention we use for the overall ERSDE Query syntax.
Also, resultset should be writtent resultSet.
You may be interested in using the schema file provided and build the queries in an xml file as explained in the documentation. It would highlight such syntax problems.
Hope this helps,
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
thanks for your reply. I deleted these mistakes in my query and used your xml schema file as has been described in your documentation.From xml-point-of-view there should be no syntax problems as nothing is highlighted in the xml-document.
But I have the following error: When having created the dataset Iam used to click on the "!"-button to get my data. But now I get the message "Microsoft.SharePoint.SoapServer.SoapServerException". And this happens since I am using the correct syntax with "Where" instead of the previous "where".
Here my code:
<?xml version="1.0" encoding="utf-8" ?>
<root xmlns="http://enesyssoftware.com/schemas">
<multiList title="Savings" relativeSiteUrl="/savings/" type="RollUpList" tableName="Savings" useDisplayName="true">
<fields>Title, Customer, Operating Company, Location, Duration, Category</fields>
<query>
<Where>
<And>
<Eq>
<FieldRef Name="Operating Company"/>
<Value Type="Text">@DS_Par_OpCo!</Value>
</Eq>
<And>
<Eq>
<FieldRef Name="Customer"/>
<Value Type="Text">@DS_Par_Customer!</Value>
</Eq>
<And>
<Gt>
<FieldRef Name="Saving Date"/>
<Value Type="DateTime">@DS_Par_Date_From!</Value>
</Gt>
<Lt>
<FieldRef Name="Saving Date"/>
<Value Type="DateTime">@DS_Par_Date_Until!</Value>
</Lt>
</And>
</And>
</And>
</Where>
</query>
</multiList>
<resultSet>Savings</resultSet>
</root>
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
Could you confirm it is working fine when using a list element rather than a multiList element?
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
yes I can confirm that it is working fine when using "list". You can see the code at the top of this thread...
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
That is most probably a bug when setting useDisplayName to true. We are investigating the problem. Would it be possible that you test your query without using display name ?
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
I can confirm this is a bug. This should work if you remove the namespace from the root element.
Can you confirm?
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
I deleted namesspace and display = true-Element, but I still get the same error message in the query generator...
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
My posts might have been confusing.
Remove the namespace but keep useDisplayName="true".
Alternatively, you could remove useDisplayName attribute but you will need to use SharePoint internal field names rather than display names in your query.
Let me know.
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
Unfortunately: still the same error message... To get sure, that I did the right thing, here again my updated query (without namespace and with useDisplayName="true") :
new query with error message:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<multiList title="Savings" relativeSiteUrl="/savings" type="RollUpList" tableName="Savings" useDisplayName="true">
<fields></fields>
<query>
<Where>
<Eq>
<FieldRef Name="Customer"/>
<Value Type="Text">@DS_Par_Customer!</Value>
</Eq>
</Where>
</query>
</multiList>
<resultSet>Savings</resultSet>
</root>
old query without error message and successful parameter filtering:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<list title="Savings" relativeSiteUrl="/savings/goldland" type="list" tableName="Savings" useDisplayName="true">
<fields></fields>
<query>
<Where>
<Eq>
<FieldRef Name="Customer"/>
<Value Type="Text">@DS_Par_Customer!</Value>
</Eq>
</Where>
</query>
</list>
</root>
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
Do all lists share common metadata?
Some tests you could do for the sake of narrowing down the problem:
1. Specify just one column in the fields element (eg: Customer or ID)
2. Start from "/savings/goldland" even if there is one list to roll up.
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
all our lists have common metadata.
The new test version that we got from you eliminated the error.
Rollup works fine now and parameters can be applied. Thanks.
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
That's good news.
Since then we have released an official 2.0.2 release. You may want to download it if you haven't done already so. There are still some limitations regarding Rolling up data for the current user as explained in the release history page.
Do not hesitate to contact us if you have further questions.
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi,
I have noticed the limitations for the current Rollup-feature and I have some questions about this topic, as we currently have some problems when using different user accounts with Rollup: "Error: [...]Query execution failed for dataset 'xyz'".
But: The report processing works fine, when using accounts with site collection admin permissions.
And: we installed the 2.0.2-Version that should fix the rollup-problem.
- on your release page you wrote that the user needs "Browse Directories" permissions (on sites? on lists?) for using the rollup feature. Is this an explicit SharePoint permission? We found a similarily named Sharepoint permission (on sites) and gave this permission to our users. But still the same problem as before: query execution failed.
- Do I need the "Browse Directories" permission on all sites? What may cause this error?
- You are talking about "several possible approaches to overcome the current limitation of rollup". What do you mean with this? Do you have some other workarounds to collect list informations?
- List collection - how does this work? Could this be used instead?
Greetings and many thanks in advance.
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
I have double cheked and it works as expected here.
I will post more thorough information on this subject later on this afternoon.
Also, it could help to get more detailed information about the error you are getting. You can find it in the reporting services log files. Alternatively, you can run the report within the report designer using the credentials which cause the error.
My first guess is that you have a user that do not have access to the list (specified in your query) in any of the descendant sites nor the root site specified.
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi, the reporting services log files show me the following error message: The permissions granted to user 'xyz' are insufficient for performing this operation.
Do I need both - the access to the list itself AND the access to (all?) descendant sites AND the root site? As I cannot give users full access to all sites, now I have to find out where the access permissions should start to be able to process the report.
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Are you sure you have installed the 2.0.2 version on the server from which you run the report? You can confirm this by running the "Version" sample report from the server.
If so and so that I can try to reproduce this exact error here could you tell me what are the permission of this user regarding your site hierarchy and the list you are retrieving items from:
Let's say you are rolling up the list "list X" starting from site "Starting Site".
Starting Site (user permissions)
|---list X (user permissions)
|
|----Child Site 1 (user permissions)
| |----list X (user permissions)
|
|----Child Site 2 (user permissions)
| |----list X (user permissions)
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi, we have checked that version 2.02 is installed on the server.
So here the permission of the sites:
Home (Contribute permission)
| |---list: Parent Corporation (Contribute)
|
|--------Starting Site: /savings/ (Contribute)
|----site: DE (Contribute)
| |-------list: "Saving" (Contribute)
| |-------list: "Customer" (Contribute)
|
|----site: NL (Contribute)
|------list: "Saving" (Contribute)
|------list: "Customer"(Contribute)
I'm rolling up Savings and Customers from the Starting Site "/savings". I get the error message: "error for DS_ParentCorporation, ... HTTP-Status 401: Unauthorized"
DS_ParentCorporation is needed to fill the report parameter "Parent Corporation".
|
|
|
|
 |  |
|
| Frédéric LATOUR |
 |
Joined: 5/31/2006
Posts: 629
|
|
|
Hi,
This is very confusing. Is the DS_ParentCorporation based on a multiList statement? Did you try to run the DS_ParentCorporation dataset in its very own report?
From your answer, your users seem to have contribute permissions both at the site and list level which is fine for rolling-up lists. I'm assuming that you have standard contribute permissions (or at least the browse directories permission has not been removed).
Regards,
Frederic LATOUR
ENESYS
|
|
|
|
 |  |
|
| stefhus |
 |
Joined: 9/25/2007
Posts: 32
|
|
|
Hi, yes your are right: our user concept was missing the Browse-permission at the starting site-level.So we added the permission and the rollup works fine.
Sorry for this incident: we have tested the user permissions several times without positive results, but just in yesterday's test we have found what we are missing and eliminated other errors. We suppose that after having added contribute permissions for testing purpose the report was not correctly updated in report designer and always showed the "old" error message.
|
|
|
|