Problem in wm.b2b.edi. envelopeProcess service & looping over GroupHeader Transaction

Hi ! :cool:
To process inbound EDI documents , i’ve used the service : wm.b2b.edi.envelopeProcess to consume the entire EDI document
and convert all of its envelope header segments, including transaction set
header segments, into an IData object named Values.
The issue is after invoking the service , i’m getting only ISA records , and i couldn’t see any group segment (GS) and transaction set (ST) segments within ISA segment . I’m getting just ‘code’ field in ISA segments whereas rest of the data goes into unDefData element as follows:

ISA*00* *00* *01*001325851 *01*050357789M *000110*1425*U*00400*000000035*0*P*>GS*QM*001325851*050357789M*20000110*1425*767*X*004010ST*214*000000035B10*R6514545NA*00000064631M*SCACN1*SF*Big Fred and Little Al ABC CompanyN2*AKA Van Artsdalen MfgN3*800 Any StreetN4*Any Town*MN*55060-0000LX*1AT7*AF*NS***20000110*1341*LTMS1*Any Town*MNMS2*SCAC*0067291*TFL11*14781-55060*SIL11*1*QNAT8*G*L*16880*640*8*E*960SPO*202831 REPL*1022*PC*1008*L*40320SE*14*000000035GE*1*35IEA*1*000000035 

How could the document be suitably processed to get GS as well as ST segments under the ISA segment. :rolleyes:
Due to this problem, i couldn’t loop over ‘Values/ISA/GS’ as well as ‘Values/ISA/ST’ segments ( before using wm.b2b.edi.util.getEDIstring)
Please help.

A Dev Guy … :confused:

Hi Dev guy,

The problem would be propably with the data, try out with other data and check it out



This could be a delimiter issue in the data for ISA/GS/ST that is why rest of the data is showing in UndefData field…Please make sure with your source team or check using any edi tool like EDIFECS Specbuilder or ultra editor hex editor if the delimiters are messing up the envelope data for parsing successfully.



make sure you are not manipulating the edi data. You can probably run the schema directly with your input edi data. In case that is fine, then proceed on with your envelopeProcess.


Are your segment delimiters present in the data? They appear to be missing in the data you posted, though maybe that’s a problem with the posting mechanism. That would explain why the process can’t get beyond the ISA.


:rolleyes: I’ve run the schema and it’s running fine…( except for B10 element, for which i’m contacting tech support);
Still i’m facing the same issue as most of data is falling in ‘undefData’ . :frowning: Kindly let me know how segment delimiters can be set appropriately.
The data i’m using is same as i used earlier.
Everybody, plz let me know how delimiters are set while invoking envelopeProcess service!
I’m using ‘*’ as the only delimiter at present.

A Dev Guy!..

A Dev Guy,

The delimiters are determined by the envelopeProcess from the ISA segment. You don’t need to set them. You should see them in /Values/ISA/@delimiters as output from convertToValues.

Just make sure the GS/ST segments are using these delimiters.


the delimiters as output are seen as follows :
record *
field *
subfield M

i’ve not specified ‘M’ as delimiter , it came automatically ; and i think, it’s not a delimiter. it’s a part of some data element which got identified as delimiter…
The issue is that though ISA, GS, ST segments are being recognized and evident in output, the other sub-elements are falling in ‘undefData’ segment… probably, due to this delimiter issue.
could u plz eleborate to resolve this;
(The data is same as i posted earlier)…

A Dev Guy… !:rofl:

Dev Guy,

It looks like your ISA is incorrect. The subfield delimiter is ISA16 and there should be a record delimiter after that. I see the GS. Also, the ISA 16 fields are fixed length so you should verify that ISA01 = 2 pos., ISA02 = 10 pos., ISA03 = 2, etc. If any of these are incorrect, the delimiters will not be correctly determined.


You should fix the ISA errors and also delimiters to process Envelope compliance errors correctly in the elements as mentioned above.Did you get this sample from your trading partner or you created it manually? If you are trying to create use any tool like SpecBuilder and check for validity.