cancel
Showing results for 
Search instead for 
Did you mean: 

Breaks with two or more datasets

Former Member
0 Kudos

I am using the .NET SDK in a C# .NET application and building new reports with the Report Wizard.  We have three datasets we would like to use in the report.  After they are selected in the Wizard I set the relationships between them and group two of the datasets on one of each datasets fields.

Dragging and dropping more than one field into the report from the Explorer results in no data in the preview.  So for testing purposes I have tried selecting in the Wizard all fields to display in the report.  This lists the data in the Details section but if I drag it into its appropriate group section no data is displayed  when I run the report in my application.  If I drag a field from the Explorer into the group section that breaks the preview and no data is shown.

The only way I can get any data to display on the reports that I run in my application is when I add only one dataset.  Then I can display any and all fields.  But if I add two or more datasets things start breaking.

Is anyone else seeing this problem?  I haven't found a workaround for it.

Here are the specifics of our environment:

  1. BOE Support Pack 17 (v.13.0.17.2096)
  2. Visual Studio 2010, .NET framework 4.0.
  3. Windows 7, 64 bit.

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Tom,

They are correct. I have already escalated to DEV using an internal case and for single support cases if it is a bug you get your money back anyways so logging another case does nothing. The link to this forum post is in the case so DEV can see the history.

We are pretty good at releasing on time, once a quarter so January would be the soonest to get an update.

CR for VS is the only SDK for Crystal Reports, there is no other option. There is a .NET SDK for BOE Products but it's a little behind the updates this one gets and requires a support contract and ownership of CRS or the full BOE Product.

Ido's suggestion will definitely work, once it's fixed then you can set location back to the DS's, as long as the Tables match exactly as the DS's then using the ReplaceConnection() API to update the reports to direct tables should work for you as a work around for now. Or Ido may have more specifics on his work aorund.

If it is a bug DEV introduced in recent patches you may be able to go back to SP 15 and see if it works there?

If I get time I'll test in earlier versions also.

DEV is busy this week with SP 18 release, should be out this week, and CR/BOE SP 9 so they can't look at it this week, there may be something in a registry key or possibly other work around to fix this but they need time to look into it first. Possibly next week we may have an update...

Don

Answers (1)

Answers (1)

0 Kudos

Moved to CR .NET forum.

Hi Thomas,

Why use multiple datasets? if you are using one it makes it much easier to manage.

Also, Datasets are very memory intense. They use a lot of memory, typically 3 times due to security in MS, you can't use the original so it makes a copy in memory.

Try exporting those DS's to XML and then use the XML files as the source, I've seen up to 100meg XML file use where as a DS you are limited to about 5k rows and not many columns.

Relatively easy to use the XML, same code just load the xml file in the .SetLocation().

private void SetToXML_Click(object sender, EventArgs e)

{

    DateTime dtStart;

    TimeSpan difference;

    DateTime TSTotal;

    TSTotal = DateTime.Now;

    // Access

    rptClientDoc = rpt.ReportClientDocument;

    //Create a new Database Table to replace the reports current table.

    CrystalDecisions.ReportAppServer.DataDefModel.Table boTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();

    CrystalDecisions.ReportAppServer.DataDefModel.Table subboTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();

    CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo newConnInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();

    CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo oldConnInfo;

    CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfos oldConnInfos;

    CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo boConnectionInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();

    //Get the Database Tables Collection for your report

    CrystalDecisions.ReportAppServer.DataDefModel.Tables boTables;

    boTables = rptClientDoc.DatabaseController.Database.Tables;

    // Get the old connection info

    oldConnInfos = rptClientDoc.DatabaseController.GetConnectionInfos(null);

    boTable.ConnectionInfo = boConnectionInfo;

    oldConnInfo = oldConnInfos[0];

    // RAS XML - need to use ReplaceConnection

    # region XML

    #region RASXMLReplaceconnection;

    if (chkUseRAS.CheckState == CheckState.Checked)

    {

        //rpt.Load("c:\\Don\\Test.rpt");

        rptClientDoc = rpt.ReportClientDocument;

        //Get the Database Tables Collection for your report

        boTables = rptClientDoc.DatabaseController.Database.Tables;

        // Get the old connection info

        oldConnInfos = rptClientDoc.DatabaseController.GetConnectionInfos(null);

        boTable.ConnectionInfo = boConnectionInfo;

        oldConnInfo = oldConnInfos[0];

            PropertyBag logonDetails = new PropertyBag();

            PropertyBag QeDetails = new PropertyBag();

            //boMainPropertyBag: These hold the attributes of the tables ConnectionInfo object

            PropertyBag boMainPropertyBag = new PropertyBag();

            //boInnerPropertyBag: These hold the attributes for the QE_LogonProperties

            //In the main property bag (boMainPropertyBag)

            PropertyBag boInnerPropertyBag = new PropertyBag();

            //Set the attributes for the boInnerPropertyBag

            boInnerPropertyBag.Add("File Path ", btrDataFile.Text + btrSearchPath.Text);

            boInnerPropertyBag.Add("Server Path", btrSearchPath.Text);

            boInnerPropertyBag.Add("Database Name", btrSearchPath.Text); // btrDataFile.Text

            boInnerPropertyBag.Add("Database Type", "ADO.NET (XML)");

            //Set the attributes for the boMainPropertyBag

            boMainPropertyBag.Add("Database DLL", "crdb_adoplus.dll");

            boMainPropertyBag.Add("QE_DatabaseName", btrDataFile.Text);

            boMainPropertyBag.Add("QE_DatabaseType", "ADO.NET (XML)");

            //Add the QE_LogonProperties we set in the boInnerPropertyBag Object

            boMainPropertyBag.Add("QE_LogonProperties", boInnerPropertyBag);

            boMainPropertyBag.Add("QE_ServerDescription", btrSearchPath.Text);

            boMainPropertyBag.Add("QE_SQLDB", "false");

            boMainPropertyBag.Add("SSO Enabled", "False");

            // ReplaceConnection method This works also

            for (int I = 0; I < oldConnInfos.Count; I++)

            {

                // CrystalDecisions.ReportAppServer.DataDefModel.Table tbl;

                for (int S = 0; S < boTables.Count; S++)

                {

                    oldConnInfo = oldConnInfos[I];

                    newConnInfo.Attributes = boMainPropertyBag;

                    newConnInfo.Kind = CrystalDecisions.ReportAppServer.DataDefModel.CrConnectionInfoKindEnum.crConnectionInfoKindDBFile;

                    try

                    {

                        rptClientDoc.DatabaseController.ReplaceConnection(oldConnInfo, newConnInfo, null, CrystalDecisions.ReportAppServer.DataDefModel.CrDBOptionsEnum.crDBOptionDoNotVerifyDB);

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show("ERROR: " + ex.Message); //  + " ;" + ex.InnerException.Message.ToString());

                    }

                }

            }

            // ReplaceConnection method This works also

            // check for subreports

            //loop through all the report objects to find all the subreports

            foreach (string crSubreportDocument1 in rptClientDoc.SubreportController.GetSubreportNames())

            {

                SubreportClientDocument SubRCD = rptClientDoc.SubreportController.GetSubreport(crSubreportDocument1);

                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo newSubConnInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();

                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo oldSubConnInfo;

                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfos oldSubConnInfos;

                PropertyBag SublogonDetails = new PropertyBag();

                PropertyBag SubQeDetails = new PropertyBag();

                oldSubConnInfos = rptClientDoc.DatabaseController.GetConnectionInfos(null);

                btnReportObjects.Text += "\nSubreport: " + crSubreportDocument1.ToString() + "\n";

                for (int I = 0; I < oldSubConnInfos.Count; I++)

                {

                    oldSubConnInfo = oldSubConnInfos[I];

                    newSubConnInfo.Attributes = boMainPropertyBag;

                    newSubConnInfo.Kind = CrystalDecisions.ReportAppServer.DataDefModel.CrConnectionInfoKindEnum.crConnectionInfoKindDBFile;

                    // this works also

                    for (int S = 0; S < boTables.Count; S++)

                    {

                        oldSubConnInfo = oldSubConnInfos[I];

                        newSubConnInfo.Attributes = boMainPropertyBag;

                        newSubConnInfo.Kind = CrystalDecisions.ReportAppServer.DataDefModel.CrConnectionInfoKindEnum.crConnectionInfoKindDBFile;

                        try

                        {

                            rptClientDoc.DatabaseController.ReplaceConnection(oldSubConnInfo, newSubConnInfo, null, CrystalDecisions.ReportAppServer.DataDefModel.CrDBOptionsEnum.crDBOptionDoNotVerifyDB);

                        }

                        catch (Exception ex)

                        {

                            MessageBox.Show("ERROR: " + ex.Message);

                        }

                    }

                }

                IsRpt = false;

            }

        }

    }

    #endregion RASXMLReplaceconnection;

    // now set the PC data to the xml file

    if (chkUseRAS.CheckState != CheckState.Checked)

    {

        if (oldConnInfo.Attributes["Database DLL"].ToString() == "crdb_adoplus.dll")

        {

    // Engine

    CrystalDecisions.CrystalReports.Engine.ReportObjects crReportObjects;

    CrystalDecisions.CrystalReports.Engine.SubreportObject crSubreportObject;

    CrystalDecisions.CrystalReports.Engine.ReportDocument crSubreportDocument;

    CrystalDecisions.CrystalReports.Engine.Database crDatabase;

    CrystalDecisions.CrystalReports.Engine.Tables crTables;

    CrystalDecisions.Shared.TableLogOnInfo tLogonInfo;

    btnSQLStatement.Text = "";

    try

    {

        foreach (CrystalDecisions.CrystalReports.Engine.Table rptTable in rpt.Database.Tables)

        {

            tLogonInfo = rptTable.LogOnInfo;

            tLogonInfo.ConnectionInfo.ServerName = btrDataFile.Text; // D:\Atest\Yuyang Wang

            tLogonInfo.ConnectionInfo.DatabaseName = btrSearchPath.Text; //  UNTPR01.xml

            tLogonInfo.ConnectionInfo.UserID = "";

            tLogonInfo.ConnectionInfo.Password = "";

            tLogonInfo.TableName = rptTable.Name;

            dtStart = DateTime.Now;

            try

            {

                rptTable.ApplyLogOnInfo(tLogonInfo);

                rptTable.Location = btrDataFile.Text + "\\" + btrSearchPath.Text;

            }

            catch (Exception ex)

            {

                MessageBox.Show("ERROR: " + ex.Message);

                //return;

            }

            difference = DateTime.Now.Subtract(dtStart);

            btnSQLStatement.Text += /*rptTable.Name.ToString() +*/ " Set in " + difference.Minutes.ToString() + ":" + difference.Seconds.ToString() + ":" + difference.Milliseconds.ToString() + "\n";

        }

    }

            catch (Exception ex)

            {

                MessageBox.Show("ERROR: " + ex.Message);

                //return;

            }

            #region XML Subreport

            // check for subreports

            //set the crSections object to the current report's sections

            CrystalDecisions.CrystalReports.Engine.Sections crSections = rpt.ReportDefinition.Sections;

            //loop through all the sections to find all the report objects

            foreach (CrystalDecisions.CrystalReports.Engine.Section crSection in crSections)

            {

                crReportObjects = crSection.ReportObjects;

                //loop through all the report objects to find all the subreports

                foreach (CrystalDecisions.CrystalReports.Engine.ReportObject crReportObject in crReportObjects)

                {

                    if (crReportObject.Kind == CrystalDecisions.Shared.ReportObjectKind.SubreportObject)

                    {

                        //you will need to typecast the reportobject to a subreport

                        //object once you find it

                        crSubreportObject = (CrystalDecisions.CrystalReports.Engine.SubreportObject)crReportObject;

                        //open the subreport object

                        crSubreportDocument = crSubreportObject.OpenSubreport(crSubreportObject.SubreportName);

                        CrystalDecisions.CrystalReports.Engine.Database crSubDatabase;

                        CrystalDecisions.CrystalReports.Engine.Tables crSubTables;

                        //set the database and tables objects to work with the subreport

                        crSubDatabase = crSubreportDocument.Database;

                        crSubTables = crSubDatabase.Tables;

                        //loop through all the tables in the subreport and

                        //set up the connection info and apply it to the tables

                        try

                        {

                            //foreach (CrystalDecisions.CrystalReports.Engine.Table rptTable in crTables)

                            foreach (CrystalDecisions.CrystalReports.Engine.Table subrptTable in crSubreportDocument.Database.Tables)

                            {

                                tLogonInfo = subrptTable.LogOnInfo;

                                //tLogonInfo.ConnectionInfo.DatabaseName = newDataFile;

                                //tLogonInfo.ConnectionInfo.ServerName = newDataFile;

                                tLogonInfo.TableName = subrptTable.Name;

                                tLogonInfo.ConnectionInfo.UserID = "";

                                tLogonInfo.ConnectionInfo.Password = "";

                                dtStart = DateTime.Now;

                                try

                                {

                                    subrptTable.ApplyLogOnInfo(tLogonInfo);

                                }

                                catch (Exception ex)

                                {

                                    MessageBox.Show("ERROR: " + ex.Message);

                                    //return;

                                }

                                difference = DateTime.Now.Subtract(dtStart);

                                btnSQLStatement.Text += "Subreport Table: " + subrptTable.Name.ToString() + " Set in " + difference.Minutes.ToString() + ":" + difference.Seconds.ToString() + ":" + difference.Milliseconds.ToString() + "\n";

                            }

                        }

                        catch (Exception ex)

                        {

                            MessageBox.Show("SubReport ERROR: " + ex.Message);

                            //return;

                        }

                    }

                }

            }

            #endregion XML Subreport

        }

    }

    # endregion XML

Don

Former Member
0 Kudos

Don,

My terminology may not have been precise enough.  We have one dataset with three tables in it.  After the tables are selected in the Wizard from the 'Available Data Sources' I set the relationship links between them and group two of the tables on one of each their fields.

It is a standard process supported by the wizard.  But for some reason with the v.13.0.17.2096 library data is not being displayed when I try to use more than one table.

We have reports using this dataset and tables build with various older 13.0.x libraries through almost the last eight years and work with their matching runtime libraries.  The old .rpt files no longer display data with the v.13.0.17.2096 library.  And I have been trying to recreate these old reports, unsuccessfully.

So this is a dataset and table model that has worked of years with previous CR designers, that I suddenly cannot get to work now.

0 Kudos

Ah, thanks for clarifying.

Any chance to get your dataset and report so I can test and see what is happening?

Zip it up and rename to *.txt and use advacned editor to attach the file.

Use dummy data of course.

Don

Former Member
0 Kudos

I’ve attached the xsd file I use as my connection data source, and an rpt file that is one example of the problem I am seeing.

Let me know if you need more information.

Thanks,

Tom Conlon

0 Kudos

Hi Thomas,

This works for me, simple 3 lines of code, all I'm doing is reading the XML file into a DS and previewing, no data of course, if I was reading the tables into a Dataset then you need the other parts but as long as the xsd is complete there should not be any issues:

System.Data.DataSet ds = new System.Data.DataSet();

//DataTable dt1 = new DataTable("RuntimeDatasetBase");

//DataTable dt2 = new DataTable("RuntimeRecipes");

//DataTable dt3 = new DataTable("RuntimeSamples");

ds.ReadXml(@"D:\Atest\Thomas Conlon\RuntimeDatasetBase.xsd");

//System.Data.DataSet ds = new System.Data.DataSet();

//ds.Tables.Add(dt1);

//ds.Tables[0].DefaultView.Sort = "RuntimeDatasetBase";

//ds.Tables.Add(dt2);

//ds.Tables[1].DefaultView.Sort = "RuntimeRecipes";

//ds.Tables.Add(dt3);

//ds.Tables[2].DefaultView.Sort = "RuntimeSamples";

rpt.SetDataSource(ds);

Don

PS - I'm now using SP 18 latest build but I don't believe they broke this in SP 17

0 Kudos

Oh, I am on windows 10, I'll see if I have Windows 7 image and try it there, not the first time we've see issues between different OS's.

Former Member
0 Kudos

Don,

Some additional system information for you.


I initially loaded the 64-Bit versions of the v.13.0.17.2096 Visual Studio and runtime libraries, where I first saw the problem.  Uninstalled both then installed the 32-Bit versions of the Visual Studio and runtime libraries, and still saw the same problem.

0 Kudos

Works fine for me in 64 bit mode also. Use Process Monitor and see what/where it is erroring on.

Uninstall the runtime on your DEV PC:

Please note: To integrate "SAP Crystal Reports, developer version for Microsoft Visual Studio" you must run the Install Executable. Running the MSI will not fully integrate Crystal Reports into VS. MSI files by definition are for runtime distribution only.

Former Member
0 Kudos

I always run the install executable (CRforVS_13_0_17.exe).  And I initially let it install the 64-bit runtime on my development system.

What exactly did you do that worked fine?

I take it you are suggesting I debug it with the Microsoft product:

https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx

0 Kudos

Ran it on Windows 7 and it works in both 32 and 64 bit modes:

I don't often attach my main test app but see if it works for you. Open it, unzip it then remove the .txt extension and then unzip ( RAR ) it again.

Create a folder ds.ReadXml(@"c:\Thomas Conlon\RuntimeDatasetBase.xsd"); and copy the xsd into it. I hard code the location.

Then run my app, cancel on the Outlook prompt, then open your report and click on the DataSet1 button, it should connect, then View Report.

If it doesn't work for you then you are missing depenfdencies, Framework 2.0 -> 3.5 is required and your app.config file must have the legacy mode included:

<startup useLegacyV2RuntimeActivationPolicy="true">

Don

Former Member
0 Kudos

I can confirm that we have been installing our applications with

<startup useLegacyV2RuntimeActivationPolicy="true">

in the app.config file for over five years.  And the current installations and testing have been run with that tag in the configuration file.

Tom

0 Kudos

And does my app work for you?

Former Member
0 Kudos

Don,

Thanks for checking on my progress with this.  I’ve been multi-tasking a bit more than usual today.

On my first try the application is not starting for me.  Let check with you that I am following your installation instructions correctly.


You said to:

Create a folder ds.ReadXml(@"c:\Thomas Conlon\RuntimeDatasetBase.xsd"); and copy the xsd into it. I hard code the location.


I have created a C:\Thomas Conlon folder and put the Unmanaged_RAS10_CSharp_Printers.exe and RuntimeDatasetBase.xsd.  Then tried both opening and 'Run as Administrator' and neither worked.


I'm not sure what  ds.ReadXml(@ refers to...

Thanks,

Tom Conlon

0 Kudos

Folder location of the xsd.

If my app doesn't work then you have missing dependencies Requires SP 17 at least.

Use Dependency Walker on my EXE and see what's missing.

Don

ido_millet
Active Contributor
0 Kudos

The description of the original problem seems to suggest you have a problem with the table joins. Make sure the columns you are joining on hold data that is truly the same.

Former Member
0 Kudos

Don,

We have a contractor who has been working on this project with me and run into the problem I described.  She has created a Windows Form Application that illustrates the problem. Because of your servers size limitations I have removed the binary portions of the project.  And because your server does not accept zip files I changed the extension to txt.  Let me know if posting the binaries would help you.

Her description of the project is below:

I created it with Visual Studio 2015 but it will also open in 2013.  It contains two Crystal Reports: DataDisplayed.rpt and DataMissing.rpt.  The only difference between them is that the missing report is trying to display channel data.  Once those fields are added all data for the report disappears.  Just look for “SWITCH DISPLAYED REPORT HEREin the code to switch which report is used.  Both reports show data when they are previewed in the designer but once they are used in the application the DataMissing report shows no data. 


Thanks,

Tom


0 Kudos

Thanks Tom,

You can attach up to 1 meg.

It won't compile, missing something:

Severity    Code    Description    Project    File    Line

Error        The "GenerateResource" task failed unexpectedly.

System.NullReferenceException: Object reference not set to an instance of an object.

   at Microsoft.Build.Tasks.ResGenDependencies.GetResXFileInfo(String resxFile)

   at Microsoft.Build.Tasks.GenerateResource.ShouldRebuildResgenOutputFile(String sourceFilePath, String outputFilePath)

   at Microsoft.Build.Tasks.GenerateResource.GetResourcesToProcess(List`1& inputsToProcess, List`1& outputsToProcess, List`1& cachedOutputFiles)

   at Microsoft.Build.Tasks.GenerateResource.Execute()

   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()    CrystalReportsApplication1

Former Member
0 Kudos

Don,

If you have 7zip here is a compressed version of the CrystalReportsApplication1\bin\Debug directory.  Windows compression couldn't get it under 1Meg.  This may let you run it in the debugger without rebuilding.

Tom

Former Member
0 Kudos

Don,

Here are the WindowsFormsApplication1 bin\Debug binaries in case you are having trouble with that as well.

Again, this is a 7-zip file.  Just download and change the txt extension to 7z.

Tom

0 Kudos

Thanks Tom,

Ah, we don't normally place our runtime into the debug folders, this can cause problems.

But likely because I'm using SP 18 ( beta )

Days over... I play some more tomorrow...

Don

0 Kudos

Not sure why but VS 2015 doesn't like this project. I tried to fix it but something is wrong. Anyways opened it up in VS 2013 and it runs.

So now that it's working what do I do now? I see a report with no data, how do I check the one with data?

Update: I lied, it's not working same errors, can't link the dataset because its in use by another app and the report viewer can't open the reports....

And again, I opened the one without data and tried to set it to the DS and the report says the data structure does not match the report.

Need more info now.

Don

Former Member
0 Kudos

Don,

Again, the contractor's explanation was to " Just look for “SWITCH DISPLAYED REPORT HEREin the code to switch which report is used.  Both reports show data when they are previewed in the designer but once they are used in the application the DataMissing report shows no data.  "


The main point is that we have gone to great lengths to demonstrate that we have a problem that we have reproduced in two different environments and in multiple applications.  Comparing the two report files will show you where we are seeing a problem.


If you have a SQL Server database to test with perhaps we could send you a data file.


Tom


0 Kudos

Hi Tom,

OK this is odd, the app is working now....

Anyways I changed the report and I see data but the problem is the data types seem to have changed...

I added this line to the Class1.cs file to get the xml file so I could set in CR Designer:

m_oRuntimeDataset.WriteXml(@"D:\Atest\Thomas Conlon\WindowsFormsApplication1\Datasets\don.xml", System.Data.XmlWriteMode.WriteSchema);

I then opened both reports and after setting location to my xml file I get the Mapping UI pop up:

Uncheck Map Type and then this field pops up:

Then Map button and then the second table:

And 3rd table:

Note there is no ChannelSize field.

So now I'm exporting the report to rpt format and opening those reports up and I see no data... And there is no line where the XML file exists....

Off to lunch... I'll keep working on this when I get back...

I'll figure this out by end of day hopefully...

What I'm suspecting is the field types are not matching up now for some reason, could be due to MS updating the XML reader or.... the field types have changed...

Don

0 Kudos

Hi Tom,

OK this is a bizarre one.... And sorry for all of the back and forth, your project answered the issues..... Odd why VS is working now but at least it works...

I figured it out, maybe.... It's not a CR issue( maybe - see below ). If you look at the XML file MS is creating for DateTime field types and they look like this, use the line of code I added to save the XML file:

<SampleTime>2016-09-20T11:26:32.2078032-07:00</SampleTime> ( it is standard XML format, using the UTC Offset )

Now use the attached report that has all of the data from all 3 tables and export it to XML format, not legacy. In CR Designer. Open that XML file up and you see the data for DateTime is formatted this way:

<Field Name="SampleTime1" FieldName="{RuntimeSamples.SampleTime}"><FormattedValue>20.09.2016  11:26:32</FormattedValue><Value>2016-09-20T11:26:32 ( When CR exports it's local so does not include the offset )

I ran into this 2 or 3 or so years ago and DEV said they will not support MS non-standard XML format.

The odd part is we are reading the XML file in CR Designer now but it does have issues with linking. Ido was right, it has something to do with linking.

I did find a recent fix DEV did for SP 16 - KBA 226322 to resolve a crash in CR Designer when using ADO.NET driver but I have to look into the code to see what they changed.

So possibly what is happening is the DS is using the same format as XML is and therefore the linking is not working correctly, which is why there is no data, because of the format of the DateTime field. Also explains why I get the Mapping UI pop up in CR Designer when using your XSD file, multiple field types have changed.

I'm not considering this closed yet, I need to talk to DEV and discuss with them what is happening and if there is anything we can do about this... things have changed in the last 2+ years.

Thanks again

Don

0 Kudos

Hi Tom,

DEV is going to look into this issue. I submitted a case:

332092 / 2016 Linking Dataset Tables together does not work


Don

Former Member
0 Kudos

Don,

Thanks for the help with this issue.

I'm not sure how to follow Development cases.  Can you point me to a web page where I can follow this case?

Tom

0 Kudos

Hi Tom,

You can't, I create internal cases for this Product, CR for VS only gets released in full builds and quarterly.

They may update the forum post if they find anything and/or will ping me also. I'll update the post with whatever info I get.

If you have a Support COntract you can log a case and I can escalate it then you'll get updates from them. Otherwise this BOSAP case is what we use....

If you do have a Contract and create a case let me know what the number is so we don't duplicate the tests.

Don

Former Member
0 Kudos

Don,

I have been in contact with Shirley Yip and Gabriel Schroedter, but they saying I should follow up with you on the forum.

Gabriel says that a single case support ticket doesn't apply to my situation.  And that: "Buying the single case support ticket isn’t what Don is advising. There is no expediting in CR for VS, it’s a free product and patches come out quarterly ONLY. No intermediate patches available period."

We are wondering how to proceed now.  We need something that will support our reports in Windows 10 and waiting 3-6 months – or possibly longer – for a fix won’t work for us.  I have looked through the Software Free Trials | SAP  link but I haven't found anything that seems to be an 'upgrade' to CR for VS.

Do you have another product you could recommend that supports Windows 10?  What do you have that we could replace CR for VS with, if anything? 

Let me know if you need more information on what our current implementation is.

Tom

ido_millet
Active Contributor
0 Kudos

Tom, if you need a short term solution, consider changing tactics.

One option (which I've used) is to automate the process of
a) exporting the single data sets to tables in a database.
b) running a report against those tables.