KBA-01810: SOV Error: Data Set is Not OK

Problem:

I am getting the following message when I try to open the SOV workbook on one of my Pay Applications:

Data Set is NOT OK: wrong number of columns. Contact Spitfire for Assistance

Explanation:

This message means that the XML returned by the server is not valid.  The cause is usually a description with invalid or unprintable control characters.

When the SOV workbook opens, it communicates with the sfPMS web application using the original SOAP Web Service which in turn uses XML to transport the data.  XML is sensitive to unprintable characters as highlighted below:

XML Node with bad <description> value

Solution:

You need to find the data that is not XML-friendly and simplify it.   If the SOV is small, you might make the Items Grid visible for the SOV document and review the descriptions, but this can become a needle in a haystack approach.

The sure way to find the problem data is

  1. Create an empty file named C:\SPITFIRE\sfSOVBilling.Dev  (be sure the extension is .dev, not .dev.txt)
  2. Open the SOV workbook and proceed through the prompts.
  3. When you get the Data Set is NOT OK message, look for c:\spitfire\sfSOVLoadUp.xml
  4. Open c:\spitfire\sfSOVLoadUp.xml in an XML validation tool (for example Notepad++)
  5. The invalid node(s) are the cause of the issue.  You can use the sfPMS POKE tool (with the bad node’s RowGuid) or expose the document item grid to simplify the data for that row.
  6. Remember to remove the C:\SPITFIRE\sfSOVBilling.dev file!

Don’t have access to c:\spitfire?  Open SOV normally (skip step 1)  and at step 3 above look in the %temp% folder for the newest .XML file.  Copy this someplace and use your XML validation tool.