Can someone tell me what this means?

So I am getting this error in engineering workbench lately (this past week or so). I think it has to do with a description in a part somewhere. It happens when I go to assign the related op in the material list in the engineering workbench, not every time. The weird thing about it is, if I refresh after I get the error, I can continue and finish what I’m doing. Any help in tracing it down would be helpful. FWIW, it only seems to be happening to me. The other person who does methods isn’t getting this error.

Here is the copy paste of the wonderful epicor errors.

Application Error

Exception caught in: System.Xml

Error Detail

Message: ‘’, hexadecimal value 0x1E, is an invalid character.
Program: System.Xml.dll
Method: InvalidXmlChar

Client Stack Trace

at System.Xml.XmlUtf8RawTextWriter.InvalidXmlChar(Int32 ch, Byte* pDst, Boolean entitize)
at System.Xml.XmlUtf8RawTextWriter.WriteElementTextBlock(Char* pSrc, Char* pSrcEnd)
at System.Xml.XmlUtf8RawTextWriter.WriteString(String text)
at System.Xml.XmlUtf8RawTextWriterIndent.WriteString(String text)
at System.Xml.XmlWellFormedWriter.WriteString(String text)
at System.Data.DataTextWriter.WriteString(String text)
at System.Data.XmlDataTreeWriter.XmlDataRowWriter(DataRow row, String encodedTableName)
at System.Data.XmlDataTreeWriter.Save(XmlWriter xw, Boolean writeSchema)
at System.Data.DataSet.WriteXml(XmlWriter writer, XmlWriteMode mode)
at Ice.Diagnostics.TracePacketWriter.WriteDataSetParameter(TracePacketElement parameter, DataSet dataSet)
at Ice.Diagnostics.TracePacketWriter.WriteParameter(TracePacketElement parameter)
at Ice.Diagnostics.TracePacketWriter.WriteParameters(IList1 parameterValues) at Ice.Diagnostics.TracePacketWriter.WritePacket() at Ice.Diagnostics.DataTracer.<>c__DisplayClass8.<WritePacket>b__6(XmlWriter writer) at Ice.Diagnostics.DataTracer.DoWithXmlWriter(Action1 action)
at Ice.Diagnostics.DataTracer.WritePacket(TracePacket packet)
at Epicor.ServiceModel.Channels.ImplBase`1.HandleContractFinally(String methodName, String returnTypeStr)
at Erp.Proxy.BO.EngWorkBenchImpl.Update(EngWorkBenchDataSet ds)
at Erp.Adapters.EngWorkBenchAdapter.OnUpdate()
at Ice.Lib.Framework.EpiBaseAdapter.Update()
at Erp.UI.App.EngWorkBenchEntry.Transaction.Update()

Is Tracing enabled in your client app? try to disable it.

2 Likes

Good call. I disabled it. I’ll see if I keep getting the error. Thanks for the help!!

If you’re copy/pasting from Excel, you may be getting a non-printable character in your descriptions. 0X1E is an ASCII control character (RS). This is not valid XML, so it’s blowing up your load. However, now that you’ve disabled tracing, you may have some characters in your PartDescription that may cause trouble later.

Mark W.

2 Likes

The BOM’s are being brought in via service connect, but would probably act the same way as copy paste from excel?? Do you know how I can find that character to get rid of it? Or what would be causing it? I have access to the xml files that are importing the data so could I find it in there?

Try NotePad++. It’s free.

https://notepad-plus-plus.org/

Mark W.

2 Likes

For those that feel comfortable in SSMS and have an idea of which table and field has the rogue control character you can do something like:

select [column],* from [schema].[table]
where [column] like ‘%’ + CHAR(0x1e) + ‘%’

The most common fields for these control characters tend to be partdescription and comments. If you copy the value from the column into a text editor that can show all characters (like Notepad++), you can see where the issue is.

NOTE: Make the corrections in the actual application please and thank you.

3 Likes

I’m assuming that won’t work with common BAQ since it’s in the system? Or should I give that a try. Unfortunately I am not able (at this point anyways) to get into the back end of the database, I just haven’t learned that skill yet. It makes sense though and maybe my IT guy and myself can get there to find it. Like you said, I believe it’s in the part table descriptions somewhere.

Thanks for the direction, I have an idea where to start now.

You absolutely can (I’m stronger in TSQL than BAQs…shh… don’t tell any of my coworkers).

Just need a table criteria.

RESULTS:

Perfect!!

And there they are!!

It’s likely an ASCII Character 0x0E which maps to a SO (Shift Out) or a Control-N

Scott Thompson
IT Manager/Webmaster

Advanced Wireless Communications

So all of the parts are purchased parts which are created manually when the engineers start using them. The description is generated in Excel via a bunch of formulas that aggregate the options they are looking for and then copied in. The weird thing is, the description that is in the parts book is not the same as the description in the system, and where the funky character is located is where someone (likely the purchaser because he added something more useful to him) modified the description. Could this be something from an old version that came in? We went live a year ago and imported our parts from vantage 8.0.3, which I think was in progress (I think, I don’t really know what that means either than, not SQL :slight_smile:)

We have this kind of error from time to time, and it is always with the same control character (Unit separator - US). When people want to use an underscore character, sometimes they just mistakenly use the ctrl-minus combination instead of shift-minus keys, and that generates the control character.

Thanks to notepad++, it is easy to spot ! :+1:

I wonder if that was fixed in 10.0. I can’t get that character into the description field using normal methods. I can only create in in word, (it doesn’t do anything in excel) and then when I paste it into E-10 that character shows up as something you can see. Odd. I’m going to chalk it up to a migration error. We’ll see if it pops up later.