XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Pete KeyesSubject: edi converter - java fails
Author: Pete Keyes
Date: 21 May 2010 01:06 PM
We have a 997 that generates an error when converted via the Java runtime converter, but succeeds from inside Stylus Studio.

Here is the error from the Stylus runtime JAR:
com.ddtek.xmlconverter.adapter.edi.EDIConverterException: [DDEF0009] FATAL ERROR Segment not supported in this position for this message (expected one of ISA,GS,GE)
Dialect: X12
Version: syntax=00401;table=004010
Segment: TA1 (line 2)
Native error: 7, in table: 720
com.ddtek.xmlconverter.adapter.edi.EDI.errorBuilder(EDI.java:1118)
com.ddtek.xmlconverter.adapter.edi.EDI.fatal(EDI.java:1001)
com.ddtek.xmlconverter.adapter.edi.EDI.fatal(EDI.java:989)
com.ddtek.xmlconverter.adapter.edi.Segment.position(Segment.java:1579)
com.ddtek.xmlconverter.adapter.edi.Segment.writeXML(Segment.java:2151)
com.ddtek.xmlconverter.adapter.edi.EDI.next(EDI.java:760)
com.ddtek.xmlconverter.adapter.AdapterBase.runToEnd(AdapterBase.java:221)
com.ddtek.xmlconverter.impl.Job.runConversionNow(Job.java:221)
com.ddtek.xmlconverter.impl.Job.RunToXml(Job.java:275)
com.ddtek.xmlconverter.impl.Job.<init>(Job.java:82)
com.ddtek.xmlconverter.impl.ConverterImpl.convert(ConverterImpl.java:175)
com.sbux.iconsole.common.ConverterBuddyWindow.convertWithUrl(ConverterBuddyWindow.java:117)

Here is the input 997 text:
ISA*00* *00* *08*9253070000 *ZZ*sbux_heb *100520*1042*U*00401*000000007*0*P*>~TA1*000365086*100520*0842*A*000~GS*FA*2102468507*sbux_heb*20100520*1042*1*T*004010UCS~ST*997*10001~AK1*GP*365086~AK2*880*558157~AK5*A~AK9*A*1*1*1~SE*6*10001~GE*1*1~IEA*1*000000007~

Here is the URL we're using for conversion:
converter:EDI:eol=no
We also tried "converter:EDI?" --- which is what Studio uses.

And, here's the base code that makes the Converter call:
ByteArrayInputStream input = new ByteArrayInputStream(
jtareaUrlContent.getText().getBytes(charset)
);
String url = "converter:EDI:eol=no";
ConverterFactory factory = new ConverterFactory();
Converter converter = factory.newConvertToXML(url);
OutputStream output = new ByteArrayOutputStream();
Source source = new StreamSource(input);
Result result = new StreamResult(output);
converter.convert(source, result);
output.close();

We are using version 3.2 of the Data Direct EDI/XML Converter JAR library.

Postnext
Tony LavinioSubject: edi converter - java fails
Author: Tony Lavinio
Date: 21 May 2010 01:15 PM
Which version of Stylus Studio are you using to test it with? (The build number will should be a 3- or 4-digit number followed by a letter)

Postnext
Pete KeyesSubject: edi converter - java fails
Author: Pete Keyes
Date: 21 May 2010 01:26 PM
Build 1540b of Stylus Studio

The older Java runtime is based on build 1147f

Postnext
Pete KeyesSubject: edi converter - java fails
Author: Pete Keyes
Date: 21 May 2010 02:15 PM
found a "temporary" license for the 1540b of the Java JAR files so I could run a test.

This version works with the "TA1" segment of the 997 we're dealing with...the older build simply won't work.

Getting license key updated by Sales.

Postnext
Tony LavinioSubject: edi converter - java fails
Author: Tony Lavinio
Date: 22 May 2010 10:31 AM
First, the ISA segment is supposed to be exactly 106 characters long; those elements at the beginning should be padded out to their appropriate lengths. We are actually being very generous in attempting to parse the segment even though the elements aren't in the positions they are supposed to be.

Second, since all of the elements in the ISA segment are fixed length (and it's the only segment that used all fixed-length elements), the time is defined as four digits, not six.

The error message is inappropriate; possibly the older version of the converter doesn't handle this condition as well as it should -- but there still is a problem there. The converter will properly truncate the time to HHMM in accordance with the standard.

The lengths of the elements in the ISA header are:

position element length description
ISA01 I01 2 Authorization Information Qualifier
ISA02 I02 10 Authorization Information
ISA03 I03 2 Security Information Qualifier
ISA04 I04 10 Security Information
ISA05 I05 2 Interchange ID Qualifier
ISA06 I06 15 Interchange Sender ID
ISA07 I05 2 Interchange ID Qualifier
ISA08 I07 15 Interchange Receiver ID
ISA09 I08 6 Interchange Date
ISA10 I09 4 Interchange Time
ISA11 I10 1 Interchange Control Standards
ISA12 I11 5 Interchange Control Version
ISA13 I12 9 Interchange Control Number
ISA14 I13 1 Acknowledgment Requested
ISA15 I14 1 Test Indicator
ISA16 I15 1 Subelement Separator

Then this is followed by the first segment terminator.

Postnext
Pete KeyesSubject: edi converter - java fails
Author: Pete Keyes
Date: 22 May 2010 12:16 PM
Thanx for the response...unfortunately the forum's cut/paste function must have ruined the 997. There are no errors in length or content with this X12 997. Checked a couple in a better editor and inside of Stylus Studio - all things check out just fine.

Thanx anyhow. There is a bug in the 3.2 version of data direct w/ this TA1 segment - or something. Worked with support directly in the background to get us up to the latest release.

In the end - all my fault for not being on a much more current release.

Postnext
Tony LavinioSubject: edi converter - java fails
Author: Tony Lavinio
Date: 22 May 2010 11:32 PM
The 3.2 version didn't support the TA1 segment, because it lived
outside of the envelope - it only supported segments inside of an
ISA/GS/ST...SE/GE/IEA set.

Postnext
Tony LavinioSubject: edi converter - java fails
Author: Tony Lavinio
Date: 22 May 2010 11:33 PM
I'm confused.

Posting may have ruined the 997, but there still must have been an error, otherwise how could there have been a 6-digit time in a space only 4 digits wide? That would have pushed all of the other elements off by two characters.

Postnext
Pete KeyesSubject: edi converter - java fails
Author: Pete Keyes
Date: 23 May 2010 02:16 AM
it doesn't matter - x12 is a disaster - but, if you look again you'll see that the time is 4 digits not 6.

Posttop
Pete KeyesSubject: edi converter - java fails
Author: Pete Keyes
Date: 23 May 2010 02:18 AM
ISA*00* *00* *08*9253070000 *ZZ*sbux_heb *100520*1042*

the time 10:42 ... right after the date of may-5, 2010

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.