Hi D.Bodel,
Yes, I did try ‘Verfify Database’. When doing so, the ADO.NET (XML) connection window pops up. At this point, I’m thinking they somehow used the .xml file as the input for the parameters? The reason I say that is this:
‘sp_xml_preparedocument’, while I don’t find it in any of the system or application database stored procedures, it is recognized by MSSQL. MSDN (Transact-SQL) definition: “Reads the XML text provided as input, parses the text by using the MSXML parser (Msxmlsql.dll), and provides the parsed document in a state ready for consumption”. So, it loads the data into memory, then ‘sp_xml_removedocuemt’ should be used to free up the memory used, once the XML has been parsed.
I was able to set the temporary table to a physical table and was able to capture the results, which were populated into the table when the report was run. The result set seems to be related to the one purchase order I had displayed in the application web console and for which I initiated the ‘Print PO’ report from:
http://imgur.com/wuvmI
In one of the stored procedures referenced, I found that the @fParameters that comes into the report under ‘Parameter Fields’ is listed in the stored procedure as:
@fParameters NTEXT = '<report><parameters></parameters></report>'
So, that’s when I started thinking I could possibly enter in a string into the ‘Enter Values’ parameter input window when prompted. First I tried just entering in the XML string above (into the parameters prompt window). While I did not receive the numerous Crystal pop-up errors I did before when entering in the wrong parameters, still the ADO.NET (XML) window popped up again and when saving the report and trying to run it, still the missing parameter values error on web application report display.
To go the extra mile necessary, I’m thinking that either:
A) A full, XML parsed, properly formed string (including tags and data), must be passed into the parameters prompt. For which case, I’ve been trying to somehow use ‘sp_xml_preparedocument’ to create that string, to no avail.
B) Somehow use ‘sp_xml_preparedocument’ (or other method), to get the proper string into an XML file, so that when the ADO.NET (XML) window pops up asking for that ‘orderform1.xml’ file, I could point to the one I created.
I’m no expert, but I don’t think they used a data set, because I’m under the impression that for those, they would be using a .xsd file, not .xml
I’ve gotten some responses on other Crystal forums which indicate that the embedded server is OEM, there are a lot of variables here, such as if they are adding the datasource at runtime and/or to a dataset. So, without access to the source code, it might be near impossible to reverse engineer. It was suggested that we contact a partner or someone, who could reveal how to add the desired fields. Otherwise, I’m afraid we would have to pony up the money for a customization. And for something like this, it’s only one vendor that has requested the address be added to our POs, so costs vs. benefits would have to be weighed. It would just be nice to add these abilities to our repertoire.
UPDATE: I did send an email to our support person and put in a support call asking for that type of help. Because in their documentation, it outlines how to add a stored procedure and update it using ‘verify database’, however there is no mention that the ADO.NET (XML) source would come into play (it was on as many of their canned reports as I’ve actually checked in designer). So we’ll see what they say about us doing our own customizations and getting them to work.
I’m taking the time to put all this information out in the forums, because you just never know how close you actually were to victory until you find the answer down the road. So, if I keep giving details to people who have experience with these dark corners of Crystal (with XML, stored procs and such), maybe we can crack it (so-to-speak) and the information might even help someone else down the road who might be struggling with it.
Again, I appreciate any and all help!
Mike
Edited by DBA_Mike - 26 Jan 2012 at 8:00am