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
Steve RSubject: EDI delimeters when generating file, db lookups
Author: Steve R
Date: 03 Apr 2006 08:36 PM
I can successfully convert EDI to XML with the EDI adapter. However, when I attempt to save an XML file back to EDI using the adapter, it doesn't appear that I can set the element and segment delimeters.

For example, the ISA segment of EDI file in looks like this:
ISA*00* *00* *ZZ*3216549870 *01*321654987 *060202*1136*U*00400*000002097*0*P*>
TD1**38

The file out looks like this:
ISA+00+ +00+ +ZZ+3216549870 +01+321654987 +060202+1136+U+0400+000002097+0+P'
TD1++38'

-the element delimeter should be an '*' instead of '+'
-the segment terminator ' should not be generated
-the ISA segment should end with '>'

Also, what is the best method to lookup values from a database to place a lookup value in an element? For example, I have a part ID and I need to lookup and use the supplier's part code instead.

Thanks,
Steve

Postnext
Ivan PedruzziSubject: EDI delimeters when generating file, db lookups
Author: Ivan Pedruzzi
Date: 04 Apr 2006 01:27 AM

I would use XQuery (DataDirect XQuery processor) if I was you.
It let you aggregate EDI with the SQL Server data.

See the video tutorials
http://www.stylusstudio.com/xml_videos.html
XQuery
Integrate Relation and XML

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Tony LavinioSubject: EDI delimeters when generating file, db lookups
Author: Tony Lavinio
Date: 04 Apr 2006 08:23 AM
You can use PIs to change the separators.
To do what you want, the start of your XML should look like this:

<?xml version="1.0" encoding="utf-8"?>
<?edi_segment \r?>
<?edi_element *?>
<X12>
<ISA>
...

If instead of a CR you want an LF to be your segment terminator, use
\n for the edi_segment PI. And since you are using a CR or LF as the
terminator, you'll want to change the URL option from &eol=yes to
&eol=no, otherwise you'll get extra linefeeds between each segment.

As to ending the segment with '>', that's the component separator,
and is specified as the value of the X12/ISA/ISA16 element. You
could do it just by changing the ISA16 value like this: ISA16>></ISA16>

Postnext
G MoneySubject: EDI delimeters when generating file, db lookups
Author: G Money
Date: 08 Apr 2006 11:38 PM
I'm not finding this last suggestion to work entirely. I'm using SS Enterprise to generate EDI files from XML files and have a hard time getting the lines to end with only an LF character.

I've got a project whereby I'm passing the EDI files onto a mainframe and MUST end my lines (segments with a ~ and a LF). I've tried changing the parameter in the "adpater:" URL but I still get CRLF's. I tried adding \n and \r to the PI and both cause a "Pipe Broken" error when I run the XSLT transform which saves via EDI using the adapter... So maybe I'm just making some mistake or is it really not working.

The suggestion to use the PI's to change the element delimiter to * and the segment delimiter to ~ worked like a charm and you have no idea how happy I am about that b/c the solution to that evaded me for weeks!!! (I've been working around it by post-processing the files with another program)

Just for reference, I'm generating an X12 844 in this case but the linefeed problem exists for every EDI file I try to generate.

SS rocks and thanks in advance for your help!!! :-)

Postnext
Tony LavinioSubject: EDI delimeters when generating file, db lookups
Author: Tony Lavinio
Date: 10 Apr 2006 09:36 AM
If you need just a linefeed, change the \r in the example I gave
to \n, and you should be set.

Postnext
G MoneySubject: EDI delimeters when generating file, db lookups
Author: G Money
Date: 10 Apr 2006 09:53 AM
<i>If you need just a linefeed, change the \r in the example I gave
to \n, and you should be set.<i>

This is exactly what I did, and it gives me errors. :-( I put the \n in there and got a "Pipe Broken" error.

Postnext
Tony LavinioSubject: EDI delimeters when generating file, db lookups
Author: Tony Lavinio
Date: 10 Apr 2006 01:06 PM
I tried here with release 2, and it worked fine. Can you
post the first few lines of your XML file?

Also, how are you writing this? As output of XSLT or XQuery,
or just doing a File|Save As from the editor for testing?

Here's exactly what I used:
<?xml version="1.0" encoding="utf-8"?>
<?edi_segment \n?>
<?edi_element *?>
<X12>

As a side point, you may want to make sure that the encoding at
the next level knows the encoding of the EDI document; you might
want to set enc=ISO-8859-1 or even US-ASCII if that's what the
mainframe is expecting.

Postnext
G MoneySubject: EDI delimeters when generating file, db lookups
Author: G Money
Date: 10 Apr 2006 07:03 PM
Originally Posted: 10 Apr 2006 07:01 PM
I'm using build 501f at the moment and I see there's a newer version out there so I'l try to pull that down to see if it works. I'll also take a stab at different encodings. BTW, to answer your questions, I'm generating the XML as part of an XSLT transform scenario and the scenario is automatically saving to the EDI file using the EDI adapter. The scenerio is currently using the XalanJ 2.5.2 processor. The first couple of lines from the generated XML are: <?xml version='1.0' ?> <?edi_segment \n?> <?edi_element *?> I also generated: <?xml version='1.0' ?> <?edi_segment ~\n?> <?edi_element *?> Which was equally unsuccessful.... This works and is what I have in there currently but comes out with CRLF's at the end of segments (lines) instead of the desired LF only. <?xml version='1.0' ?> <?edi_segment ~?> <?edi_element *?> Thanks.. I'll write back again after trying to use Release 2 I suppose.

Posttop
G MoneySubject: EDI delimeters when generating file, db lookups
Author: G Money
Date: 10 Apr 2006 07:04 PM
I guess there's a problem with editing posts so I'm reposting hopefully with all of my carriage returns. :-)

I'm using build 501f at the moment and I see there's a newer version out there so I'l try to pull that down to see if it works. I'll also take a stab at different encodings.

BTW, to answer your questions, I'm generating the XML as part of an XSLT transform scenario and the scenario is automatically saving to the EDI file using the EDI adapter. The scenerio is currently using the XalanJ 2.5.2 processor. The first couple of lines from the generated XML are:


<?xml version='1.0' ?>
<?edi_segment \n?>
<?edi_element *?>

I also generated:
<?xml version='1.0' ?>
<?edi_segment ~\n?>
<?edi_element *?>

Which was equally unsuccessful....

This works and is what I have in there currently but comes out with CRLF's at the end of segments (lines) instead of the desired LF only.
<?xml version='1.0' ?>
<?edi_segment ~?>
<?edi_element *?>

Thanks.. I'll write back again after trying to use Release 2 I suppose.

 
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.