<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/edireader/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/edireader/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/edireader/bugs/</id><updated>2014-11-18T10:42:30.650000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>Improper sequencing noted with segment L3</title><link href="https://sourceforge.net/p/edireader/bugs/6/" rel="alternate"/><published>2014-11-18T10:42:30.650000Z</published><updated>2014-11-18T10:42:30.650000Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.net1e991d8f9f7a3526578b076ed29a96c3ea262442</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I am trying to parse a X12 EDI file of 110 - 004060 . But when I tried to run the file it shows the &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ERROR:  'Improper sequencing noted with segment L3 at segment 556, field 1'&lt;/p&gt;
&lt;p&gt;Failure to transform: javax.xml.transform.TransformerException: com.berryworks.edireader.EDISyntaxException: Improper sequencing noted with segment L3 at segment 556, field 1&lt;br /&gt;
com.berryworks.edireader.EDISyntaxException: Improper sequencing noted with segment L3 at segment 556, field 1&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From the analysis, I found that, L3 tag is appending to the &amp;lt;loop Id="L1"&amp;gt;... &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;loop Id="LX"&amp;gt;&amp;lt;segment Id="LX"&amp;gt;&amp;lt;/segment&amp;gt;&amp;lt;loop Id="N1"&amp;gt;&amp;lt;/loop&amp;gt;&amp;lt;/loop&amp;gt;&amp;lt;loop Id="*"&amp;gt;&amp;lt;/loop&amp;gt;&amp;lt;loop Id="*"&amp;gt; .... &amp;lt;loop Id="L1"&amp;gt;....&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;basically it has to be outside the loop. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;LX&amp;gt;...&amp;lt;/LX&amp;gt;&amp;lt;LX&amp;gt;....&amp;lt;/LX&amp;gt;&amp;lt;L3&amp;gt;&amp;lt;L305&amp;gt;746.14&amp;lt;/L305&amp;gt;&amp;lt;/L3&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Please help me, what should I do now?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>UNB/recipient reference parsed incorrectly</title><link href="https://sourceforge.net/p/edireader/bugs/5/" rel="alternate"/><published>2007-09-21T09:16:03Z</published><updated>2007-09-21T09:16:03Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netf59d35a29abc3f3285901fab3dad2baa0de6f520</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;When parsing an EDIFACT interchange, in the UNB segment all data elements after 0020 (interchange control reference)are handled as simple.&lt;br /&gt;
However, S005 (recipient reference, password) is defined by the standard as a composite one, having an optional qualifyer.&lt;br /&gt;
So if I have the following input:&lt;/p&gt;
&lt;p&gt;UNB+UNOD:3+TANF2+TANF1+070920:0941+17+RECREF:122+INVOIC'&lt;/p&gt;
&lt;p&gt;the following XML is generated:&lt;/p&gt;
&lt;p&gt;&amp;lt;interchange Standard="EDIFACT" SyntaxId="UNOD" SyntaxVersion="3" Date="070920" Time="0941" Control="17" Priority="INVOIC" Decimal="."&amp;gt;&lt;br /&gt;
&amp;lt;sender&amp;gt;&amp;lt;address Id="TANF2" Qual=""/&amp;gt;&amp;lt;/sender&amp;gt;&lt;br /&gt;
&amp;lt;receiver&amp;gt;&amp;lt;address Id="TANF1" Qual=""/&amp;gt;&amp;lt;/receiver&amp;gt;&lt;/p&gt;
&lt;p&gt;Whereas INVOIC should go into the ApplRef attribute, and "RECREF:122" should appear somewhere.&lt;br /&gt;
Probably there should be a "ReceiverRef" and a "ReceiverRefQual" attribute in the interchange element.&lt;/p&gt;
&lt;p&gt;regards&lt;br /&gt;
Simon Laszlo&lt;br /&gt;
simi6934@t-online.hu&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>835 PLB segment - Improper sequencing</title><link href="https://sourceforge.net/p/edireader/bugs/4/" rel="alternate"/><published>2007-03-23T13:06:52Z</published><updated>2007-03-23T13:06:52Z</updated><author><name>Brian Kalbfus</name><uri>https://sourceforge.net/u/bkalbfus/</uri></author><id>https://sourceforge.nete6d1f8643ec271595997dca5f5a609ec82fa1cb8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;From the source I downloaded 3/20/07, I parsed an 835 with a PLB segment in it (appears in the footer right above the SE segment).  I get the error 'Improper sequencing noted with segment PLB at segment 22017, field 1.  From tracing through the code, I noticed that from loop level 2 you try to close three levels of loops (I guess to go to level zero).  When I take out the check in your code that is checking this condition, a IndexOutOfBounds exception occurs.  I worked around it by changing the LoopDescriptor assigned for the PLB segment to use loop level 1 like this:&lt;/p&gt;
&lt;p&gt;---------&lt;br /&gt;
public ANSI_835() {&lt;br /&gt;
super("835", "Health Care Claim Payment Advice");&lt;br /&gt;
loops = new LoopDescriptor[] { new LoopDescriptor("1000A", "N1"),&lt;br /&gt;
new LoopDescriptor("1000B", "N1", 1, "1000A"),&lt;br /&gt;
new LoopDescriptor("2000", "LX", 1),&lt;br /&gt;
new LoopDescriptor("2100", "CLP", 2),&lt;br /&gt;
new LoopDescriptor("2110", "SVC", 3),&lt;br /&gt;
new LoopDescriptor("", "PLB", 1), };&lt;br /&gt;
}&lt;br /&gt;
-----------&lt;/p&gt;
&lt;p&gt;This results in a complete parsing, but represents the PLB in a loop with Id="".&lt;/p&gt;
&lt;p&gt;I think the intent of the level 0 loop was to go back to the interpretation of segments you get when you start parsing a document before the loops start.&lt;/p&gt;
&lt;p&gt;Here is the last part of console debug log.  Please forgive me for not posting my x12 source as it contains patient data.  I don't think it would be hard to reproduce this error - just add a PLB segment:&lt;br /&gt;
...nextToken in the QTY&lt;br /&gt;
...nextToken in the QTY&lt;br /&gt;
parsing segment CLP within the 835 document&lt;br /&gt;
considering segment CLP while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment CLP&lt;br /&gt;
Number of descriptors found: 1&lt;br /&gt;
checking level context -1&lt;br /&gt;
checking loop context * with current loop stack /2000/2100&lt;br /&gt;
considering segment CLP using descriptor loop 2100 at nesting level 2: encountering segment CLP anytime&lt;br /&gt;
transitioning to level 2&lt;br /&gt;
closing 1 loops&lt;br /&gt;
popped LoopContext loopName:2100 position:0 repetitions:0 mandatory: off the stack&lt;br /&gt;
pushed 2100 onto the stack&lt;br /&gt;
closing 1 loops&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
...nextToken in the CLP&lt;br /&gt;
parsing segment CAS within the 835 document&lt;br /&gt;
considering segment CAS while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment CAS&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment CAS using descriptor null&lt;br /&gt;
...nextToken in the CAS&lt;br /&gt;
...nextToken in the CAS&lt;br /&gt;
...nextToken in the CAS&lt;br /&gt;
...nextToken in the CAS&lt;br /&gt;
parsing segment NM1 within the 835 document&lt;br /&gt;
considering segment NM1 while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment NM1&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment NM1 using descriptor null&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
parsing segment NM1 within the 835 document&lt;br /&gt;
considering segment NM1 while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment NM1&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment NM1 using descriptor null&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
...nextToken in the NM1&lt;br /&gt;
parsing segment REF within the 835 document&lt;br /&gt;
considering segment REF while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment REF&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment REF using descriptor null&lt;br /&gt;
...nextToken in the REF&lt;br /&gt;
...nextToken in the REF&lt;br /&gt;
parsing segment DTM within the 835 document&lt;br /&gt;
considering segment DTM while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment DTM&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment DTM using descriptor null&lt;br /&gt;
...nextToken in the DTM&lt;br /&gt;
...nextToken in the DTM&lt;br /&gt;
parsing segment DTM within the 835 document&lt;br /&gt;
considering segment DTM while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment DTM&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment DTM using descriptor null&lt;br /&gt;
...nextToken in the DTM&lt;br /&gt;
...nextToken in the DTM&lt;br /&gt;
parsing segment QTY within the 835 document&lt;br /&gt;
considering segment QTY while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment QTY&lt;br /&gt;
No descriptors found&lt;br /&gt;
considering segment QTY using descriptor null&lt;br /&gt;
...nextToken in the QTY&lt;br /&gt;
...nextToken in the QTY&lt;br /&gt;
parsing segment PLB within the 835 document&lt;br /&gt;
considering segment PLB while in loop 2100 with stack /2000/2100&lt;br /&gt;
plugin query for segment PLB&lt;br /&gt;
Number of descriptors found: 1&lt;br /&gt;
checking level context -1&lt;br /&gt;
checking loop context * with current loop stack /2000/2100&lt;br /&gt;
considering segment PLB using descriptor loop  at nesting level 0: encountering segment PLB anytime&lt;br /&gt;
transitioning to level 0&lt;br /&gt;
closing 3 loops&lt;br /&gt;
ERROR:  'Improper sequencing noted with segment PLB at segment 22017, field 1'&lt;/p&gt;
&lt;p&gt;Failure to transform: javax.xml.transform.TransformerException: com.berryworks.edireader.EDISyntaxException: Improper sequencing noted with segment PLB at segment 22017, field 1&lt;br /&gt;
com.berryworks.edireader.EDISyntaxException: Improper sequencing noted with segment PLB at segment 22017, field 1&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Multi-Thread issue</title><link href="https://sourceforge.net/p/edireader/bugs/3/" rel="alternate"/><published>2006-05-02T09:34:11Z</published><updated>2006-05-02T09:34:11Z</updated><author><name>sankgan</name><uri>https://sourceforge.net/u/sankgan/</uri></author><id>https://sourceforge.net74bed9d36824cba4d123c508762ef8eccc0515f1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;When lots of threads are submitted for big files, &lt;br /&gt;
EDIException for format errors are thrown. Single &lt;br /&gt;
thread working properly. Inspecting the code&lt;/p&gt;
&lt;p&gt;EDIReaderFactory.java&lt;br /&gt;
has&lt;br /&gt;
protected static EDITokenizer tokenizer;&lt;/p&gt;
&lt;p&gt;which is giving problems for many threads.&lt;br /&gt;
I have commented the static variable and changed&lt;br /&gt;
public static EDIReader createEDIReader(InputSource &lt;br /&gt;
source, boolean debug)&lt;br /&gt;
throws EDISyntaxException, &lt;br /&gt;
IOException {&lt;br /&gt;
EDIReader parser;&lt;br /&gt;
Reader inputReader = &lt;br /&gt;
EDIAbstractReader.createReader(source);&lt;br /&gt;
// NEW LOCAL VARIABLE Instead of static&lt;br /&gt;
EDITokenizer tokenizer=null;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Incorrect path to jar's in Inspect scripts</title><link href="https://sourceforge.net/p/edireader/bugs/2/" rel="alternate"/><published>2006-04-18T15:03:57Z</published><updated>2006-04-18T15:03:57Z</updated><author><name>Dana Rea</name><uri>https://sourceforge.net/u/userid-1204768/</uri></author><id>https://sourceforge.net4f49f09e1aadb6da8c9c524b75d67af2b0372cd2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;The inspect scripts will fail because they reference&lt;br /&gt;
version 3.6 of the jar files instead of 3.7&lt;/p&gt;
&lt;p&gt;i.e. The correct lines in Inspect.sh should be:&lt;br /&gt;
set CP=%EDIREADER_HOME%\edireader-3.7.jar&lt;br /&gt;
set CP=%CP%;%EDIREADER_HOME%\edireader-plugins-3.7.jar&lt;/p&gt;
&lt;p&gt;Instead of:&lt;br /&gt;
set CP=%EDIREADER_HOME%\edireader-3.6.jar&lt;br /&gt;
set CP=%CP%;%EDIREADER_HOME%\edireader-plugins-3.6.jar&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Invalid 997 generated</title><link href="https://sourceforge.net/p/edireader/bugs/1/" rel="alternate"/><published>2005-09-14T19:30:52Z</published><updated>2005-09-14T19:30:52Z</updated><author><name>Rick DeBay</name><uri>https://sourceforge.net/u/rdebay/</uri></author><id>https://sourceforge.net1bb6a9cc92f1617dcbc847d2edba8b7ec2626220</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;The 997 generated closes the AK1 (Functional Group)&lt;br /&gt;
Response Header with AK5 (Transaction Set Response&lt;br /&gt;
Trailer), when it should be closed with AK9 (Functional&lt;br /&gt;
Group Response Trailer). &lt;br /&gt;
There is also no way to send the following responses,&lt;br /&gt;
it always sends A (Accepted): &lt;/p&gt;
&lt;p&gt;E Accepted, But Errors Were Noted. &lt;br /&gt;
M Rejected, Message Authentication Code (MAC) Failed &lt;br /&gt;
P Partially Accepted, At Least One Transaction Set Was&lt;br /&gt;
Rejected &lt;br /&gt;
R Rejected &lt;br /&gt;
W Rejected, Assurance Failed Validity Tests &lt;br /&gt;
X Rejected, Content After Decryption Could Not Be Analyzed &lt;/p&gt;
&lt;p&gt;Also, you may want to use java.text.DateFormat instead&lt;br /&gt;
of formatting dates yourself.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>