Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'This is just an example program to show how to translate a UN/EDIFACT ORDERS file in VB.NET 'using the Framework EDI .NET component Dim oEdiDoc As ediDocument Dim oSchema As ediSchema Dim oSchemas As ediSchemas Dim oSegment As ediDataSegment Dim sSegmentID As String Dim sLoopSection As String Dim nArea As Integer Dim sValue As String Dim sNadQlfr As String Dim sPatQlfr As String Dim sTaxQlfr As String Dim sPath As String = AppDomain.CurrentDomain.BaseDirectory Dim sEdiFile As String = "ORDERS.TXT" Dim sSefFile As String = "ORDERS_S93A.SEF" 'CREATES EDIDOC OBJECT ediDocument.Set(oEdiDoc, New ediDocument) 'THIS MAKES CERTAIN THAT FREDI ONLY USES THE SEF FILE PROVIDED, AND THAT IT DOES 'NOT USE ITS BUILT-IN STANDARD REFERENCE TABLE TO GENERATE THE EDI FILE. ediSchemas.Set(oSchemas, oEdiDoc.GetSchemas) oSchemas.EnableStandardReference = False 'THIS OPTIONS STOPS FREDI FROM KEEPING ALL THE SEGMENTS IN MEMORY oEdiDoc.CursorType = DocumentCursorTypeConstants.Cursor_ForwardOnly 'if edi file does not have a UNA segment, the following terminators are used oEdiDoc.SegmentTerminator = "'" oEdiDoc.ElementTerminator = "+" oEdiDoc.CompositeTerminator = ":" oEdiDoc.ReleaseIndicator = "?" 'LOADS THE SEF FILE ediSchema.Set(oSchema, oEdiDoc.LoadSchema(sPath & sSefFile, 0)) 'LOADS THE EDI FILE oEdiDoc.LoadEdi(sPath & sEdiFile) 'GETS THE FIRST DATA SEGMENT ediDataSegment.Set(oSegment, oEdiDoc.FirstDataSegment) 'LOOP THAT WILL TRAVERSE THRU EDI FILE FROM TOP TO BOTTOM Do While Not oSegment Is Nothing 'DATA SEGMENTS ARE IDENTIFIED BY THEIR ID, THE LOOP SECTION AND AREA '(OR TABLE) NUMBER THAT THEY ARE IN. sSegmentID = oSegment.ID sLoopSection = oSegment.LoopSection nArea = oSegment.Area If nArea = 0 Then If sLoopSection = "" Then If sSegmentID = "UNB" Then sValue = oSegment.DataElementValue(1, 1) 'Syntax identifier sValue = oSegment.DataElementValue(1, 2) 'Syntax version number sValue = oSegment.DataElementValue(1, 3) 'Service code list directory version number sValue = oSegment.DataElementValue(1, 4) 'Character encoding, coded sValue = oSegment.DataElementValue(2, 1) 'Interchange sender identification sValue = oSegment.DataElementValue(2, 2) 'Partner identification code qualifier sValue = oSegment.DataElementValue(2, 3) 'Interchange sender internal identification sValue = oSegment.DataElementValue(2, 4) 'Interchange sender internal sub-identification sValue = oSegment.DataElementValue(3, 1) 'Recipient identification sValue = oSegment.DataElementValue(3, 2) 'Partner identification code qualifier sValue = oSegment.DataElementValue(3, 3) 'Routing address sValue = oSegment.DataElementValue(3, 4) 'Interchange Recipient Internal Sub-Identification sValue = oSegment.DataElementValue(4, 1) 'Date sValue = oSegment.DataElementValue(4, 2) 'Time ListBox1.Items.Add(oSegment.DataElement(5).Description + " = " + oSegment.DataElementValue(5)) 'Interchange control reference sValue = oSegment.DataElementValue(6, 1) 'Recipient reference/password sValue = oSegment.DataElementValue(6, 2) 'Recipient's reference/password qualifier sValue = oSegment.DataElementValue(7) 'Application reference sValue = oSegment.DataElementValue(8) 'Processing priority code sValue = oSegment.DataElementValue(9) 'Acknowledgement request sValue = oSegment.DataElementValue(10) 'Interchange Agreement Identifier sValue = oSegment.DataElementValue(11) 'Test indicator End If 'sSegmentID End If 'sLoopSection ElseIf nArea = 1 Then If sLoopSection = "" Then If sSegmentID = "UNH" Then ListBox1.Items.Add(oSegment.DataElement(1).Description + " = " + oSegment.DataElementValue(1)) 'Message reference number sValue = oSegment.DataElementValue(2, 1) 'Message type identifier sValue = oSegment.DataElementValue(2, 2) 'Message version number sValue = oSegment.DataElementValue(2, 3) 'Message release number sValue = oSegment.DataElementValue(2, 4) 'Controlling agency sValue = oSegment.DataElementValue(2, 5) 'Association assigned code ElseIf sSegmentID = "BGM" Then sValue = oSegment.DataElementValue(1, 1) 'Document/message name, coded sValue = oSegment.DataElementValue(1, 2) 'Code list qualifier sValue = oSegment.DataElementValue(1, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(1, 4) 'Document/message name ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2)) 'Document/message name sValue = oSegment.DataElementValue(3) 'Document/message name ElseIf sSegmentID = "DTM" Then sValue = oSegment.DataElementValue(1, 1) 'Date/time/period qualifier ListBox1.Items.Add(oSegment.DataElement(1).Description + " = " + oSegment.DataElementValue(1, 2)) 'Date/time/period sValue = oSegment.DataElementValue(1, 3) 'Date/time/period format qualifier ElseIf sSegmentID = "FTX" Then sValue = oSegment.DataElementValue(1) 'Date/time/period format qualifier sValue = oSegment.DataElementValue(2) 'Date/time/period format qualifier sValue = oSegment.DataElementValue(3, 1) 'Free text identification sValue = oSegment.DataElementValue(3, 2) 'Code list qualifier sValue = oSegment.DataElementValue(3, 3) 'Code list responsible agency, coded ListBox1.Items.Add(oSegment.DataElement(4).Description + " = " + oSegment.DataElementValue(4, 1)) 'Free text sValue = oSegment.DataElementValue(4, 2) 'Free text sValue = oSegment.DataElementValue(4, 3) 'Free text sValue = oSegment.DataElementValue(4, 4) 'Free text sValue = oSegment.DataElementValue(4, 5) 'Free text End If 'SegmentID ElseIf sLoopSection = "RFF" Then If sSegmentID = "RFF" Then If oSegment.DataElementValue(1, 1) = "CT" Then 'Contract Number sValue = oSegment.DataElementValue(1, 1) 'Reference qualifier ListBox1.Items.Add(oSegment.DataElement(1).Description + " = " + oSegment.DataElementValue(1, 2)) 'Reference number sValue = oSegment.DataElementValue(1, 3) 'Line number ElseIf oSegment.DataElementValue(1, 1) = "CR" Then 'Customer Reference Number sValue = oSegment.DataElementValue(1, 1) 'Reference qualifier ListBox1.Items.Add(oSegment.DataElement(1).Description + " = " + oSegment.DataElementValue(1, 2)) 'Reference number sValue = oSegment.DataElementValue(1, 3) 'Line number End If End If 'SegmentID ElseIf sLoopSection = "NAD" Then 'check the group qualifier to identify the group instance If sSegmentID = "NAD" Then sNadQlfr = oSegment.DataElementValue(1) 'Party qualifier End If If sNadQlfr = "SE" Then If sSegmentID = "NAD" Then ' Name and address sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 1)) ' Party identification (3039) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 1) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 2) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 3) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 4) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 5) ' Name and address line (3124) ListBox1.Items.Add(oSegment.DataElement(4).Description + " = " + oSegment.DataElementValue(4, 1)) ' Party name (3036) sValue = oSegment.DataElementValue(4, 2) ' Party name (3036) sValue = oSegment.DataElementValue(4, 3) ' Party name (3036) sValue = oSegment.DataElementValue(5, 1) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 2) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 3) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(6) ' City name (3164) sValue = oSegment.DataElementValue(7) ' Country sub-entity identification (3229) sValue = oSegment.DataElementValue(8) ' Postcode identification (3251) sValue = oSegment.DataElementValue(9) ' Country, coded (3207) ElseIf sSegmentID = "LOC" Then ' Place/location identification sValue = oSegment.DataElementValue(1) ' Place/location qualifier (3227) sValue = oSegment.DataElementValue(2, 1) ' Place/location identification (3225) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(2, 4) ' Place/location (3224) sValue = oSegment.DataElementValue(3, 1) ' Related place/location one identification (3223) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Related place/location one (3222) sValue = oSegment.DataElementValue(4, 1) ' Related place/location two identification (3233) sValue = oSegment.DataElementValue(4, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(4, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(4, 4) ' Related place/location two (3232) sValue = oSegment.DataElementValue(5) ' Relation, coded (5479) ElseIf sSegmentID = "FII" Then ' Financial institution information sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) sValue = oSegment.DataElementValue(2, 1) ' Account holder number (3194) sValue = oSegment.DataElementValue(2, 2) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 3) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 4) ' Currency, coded (6345) sValue = oSegment.DataElementValue(3, 1) ' Institution name identification (3433) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Institution branch number (3434) sValue = oSegment.DataElementValue(3, 5) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 6) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 7) ' Institution name (3432) sValue = oSegment.DataElementValue(3, 8) ' Institution branch place (3436) sValue = oSegment.DataElementValue(4) ' Country, coded (3207) End If 'sSegmentID ElseIf sNadQlfr = "BT" Then If sSegmentID = "NAD" Then ' Name and address sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 1)) ' Party identification (3039) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 1) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 2) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 3) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 4) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 5) ' Name and address line (3124) ListBox1.Items.Add(oSegment.DataElement(4).Description + " = " + oSegment.DataElementValue(4, 1)) ' Party name (3036) sValue = oSegment.DataElementValue(4, 2) ' Party name (3036) sValue = oSegment.DataElementValue(4, 3) ' Party name (3036) sValue = oSegment.DataElementValue(5, 1) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 2) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 3) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(6) ' City name (3164) sValue = oSegment.DataElementValue(7) ' Country sub-entity identification (3229) sValue = oSegment.DataElementValue(8) ' Postcode identification (3251) sValue = oSegment.DataElementValue(9) ' Country, coded (3207) ElseIf sSegmentID = "LOC" Then ' Place/location identification sValue = oSegment.DataElementValue(1) ' Place/location qualifier (3227) sValue = oSegment.DataElementValue(2, 1) ' Place/location identification (3225) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(2, 4) ' Place/location (3224) sValue = oSegment.DataElementValue(3, 1) ' Related place/location one identification (3223) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Related place/location one (3222) sValue = oSegment.DataElementValue(4, 1) ' Related place/location two identification (3233) sValue = oSegment.DataElementValue(4, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(4, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(4, 4) ' Related place/location two (3232) sValue = oSegment.DataElementValue(5) ' Relation, coded (5479) ElseIf sSegmentID = "FII" Then ' Financial institution information sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) sValue = oSegment.DataElementValue(2, 1) ' Account holder number (3194) sValue = oSegment.DataElementValue(2, 2) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 3) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 4) ' Currency, coded (6345) sValue = oSegment.DataElementValue(3, 1) ' Institution name identification (3433) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Institution branch number (3434) sValue = oSegment.DataElementValue(3, 5) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 6) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 7) ' Institution name (3432) sValue = oSegment.DataElementValue(3, 8) ' Institution branch place (3436) sValue = oSegment.DataElementValue(4) ' Country, coded (3207) End If ElseIf sNadQlfr = "BY" Then If sSegmentID = "NAD" Then ' Name and address sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 1)) ' Party identification (3039) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 1) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 2) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 3) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 4) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 5) ' Name and address line (3124) ListBox1.Items.Add(oSegment.DataElement(4).Description + " = " + oSegment.DataElementValue(4, 1)) ' Party name (3036) sValue = oSegment.DataElementValue(4, 2) ' Party name (3036) sValue = oSegment.DataElementValue(4, 3) ' Party name (3036) sValue = oSegment.DataElementValue(5, 1) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 2) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 3) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(6) ' City name (3164) sValue = oSegment.DataElementValue(7) ' Country sub-entity identification (3229) sValue = oSegment.DataElementValue(8) ' Postcode identification (3251) sValue = oSegment.DataElementValue(9) ' Country, coded (3207) ElseIf sSegmentID = "LOC" Then ' Place/location identification sValue = oSegment.DataElementValue(1) ' Place/location qualifier (3227) sValue = oSegment.DataElementValue(2, 1) ' Place/location identification (3225) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(2, 4) ' Place/location (3224) sValue = oSegment.DataElementValue(3, 1) ' Related place/location one identification (3223) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Related place/location one (3222) sValue = oSegment.DataElementValue(4, 1) ' Related place/location two identification (3233) sValue = oSegment.DataElementValue(4, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(4, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(4, 4) ' Related place/location two (3232) sValue = oSegment.DataElementValue(5) ' Relation, coded (5479) ElseIf sSegmentID = "FII" Then ' Financial institution information sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) sValue = oSegment.DataElementValue(2, 1) ' Account holder number (3194) sValue = oSegment.DataElementValue(2, 2) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 3) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 4) ' Currency, coded (6345) sValue = oSegment.DataElementValue(3, 1) ' Institution name identification (3433) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Institution branch number (3434) sValue = oSegment.DataElementValue(3, 5) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 6) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 7) ' Institution name (3432) sValue = oSegment.DataElementValue(3, 8) ' Institution branch place (3436) sValue = oSegment.DataElementValue(4) ' Country, coded (3207) End If 'sSegmentID ElseIf sNadQlfr = "ST" Then If sSegmentID = "NAD" Then ' Name and address sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 1)) ' Party identification (3039) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 1) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 2) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 3) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 4) ' Name and address line (3124) sValue = oSegment.DataElementValue(3, 5) ' Name and address line (3124) ListBox1.Items.Add(oSegment.DataElement(4).Description + " = " + oSegment.DataElementValue(4, 1)) ' Party name (3036) sValue = oSegment.DataElementValue(4, 2) ' Party name (3036) sValue = oSegment.DataElementValue(4, 3) ' Party name (3036) sValue = oSegment.DataElementValue(5, 1) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 2) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(5, 3) ' Street and number/p.o. box (3042) sValue = oSegment.DataElementValue(6) ' City name (3164) sValue = oSegment.DataElementValue(7) ' Country sub-entity identification (3229) sValue = oSegment.DataElementValue(8) ' Postcode identification (3251) sValue = oSegment.DataElementValue(9) ' Country, coded (3207) ElseIf sSegmentID = "LOC" Then ' Place/location identification sValue = oSegment.DataElementValue(1) ' Place/location qualifier (3227) sValue = oSegment.DataElementValue(2, 1) ' Place/location identification (3225) sValue = oSegment.DataElementValue(2, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(2, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(2, 4) ' Place/location (3224) sValue = oSegment.DataElementValue(3, 1) ' Related place/location one identification (3223) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Related place/location one (3222) sValue = oSegment.DataElementValue(4, 1) ' Related place/location two identification (3233) sValue = oSegment.DataElementValue(4, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(4, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(4, 4) ' Related place/location two (3232) sValue = oSegment.DataElementValue(5) ' Relation, coded (5479) ElseIf sSegmentID = "FII" Then ' Financial institution information sValue = oSegment.DataElementValue(1) ' Party qualifier (3035) sValue = oSegment.DataElementValue(2, 1) ' Account holder number (3194) sValue = oSegment.DataElementValue(2, 2) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 3) ' Account holder name (3192) sValue = oSegment.DataElementValue(2, 4) ' Currency, coded (6345) sValue = oSegment.DataElementValue(3, 1) ' Institution name identification (3433) sValue = oSegment.DataElementValue(3, 2) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 3) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 4) ' Institution branch number (3434) sValue = oSegment.DataElementValue(3, 5) ' Code list qualifier (1131) sValue = oSegment.DataElementValue(3, 6) ' Code list responsible agency, coded (3055) sValue = oSegment.DataElementValue(3, 7) ' Institution name (3432) sValue = oSegment.DataElementValue(3, 8) ' Institution branch place (3436) sValue = oSegment.DataElementValue(4) ' Country, coded (3207) End If 'sSegmentID End If 'sNadQlfr ElseIf sLoopSection = "NAD;CTA" Then If sNadQlfr = "SE" Then If sSegmentID = "CTA" Then ' Contact information sValue = oSegment.DataElementValue(1) ' Contact function, coded (3139) sValue = oSegment.DataElementValue(2, 1) ' Department or employee identification (3413) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 2)) ' Department or employee (3412) ElseIf sSegmentID = "COM" Then ' Communication contact sValue = oSegment.DataElementValue(1, 1) ' Communication number (3148) sValue = oSegment.DataElementValue(1, 2) ' Communication channel qualifier (3155) End If ' sSegmentID = "COM" ElseIf sNadQlfr = "BT" Then If sSegmentID = "CTA" Then ' Contact information sValue = oSegment.DataElementValue(1) ' Contact function, coded (3139) sValue = oSegment.DataElementValue(2, 1) ' Department or employee identification (3413) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 2)) ' Department or employee (3412) ElseIf sSegmentID = "COM" Then ' Communication contact sValue = oSegment.DataElementValue(1, 1) ' Communication number (3148) sValue = oSegment.DataElementValue(1, 2) ' Communication channel qualifier (3155) End If ' sSegmentID = "COM" ElseIf sNadQlfr = "BY" Then If sSegmentID = "CTA" Then ' Contact information sValue = oSegment.DataElementValue(1) ' Contact function, coded (3139) sValue = oSegment.DataElementValue(2, 1) ' Department or employee identification (3413) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 2)) ' Department or employee (3412) ElseIf sSegmentID = "COM" Then ' Communication contact sValue = oSegment.DataElementValue(1, 1) ' Communication number (3148) sValue = oSegment.DataElementValue(1, 2) ' Communication channel qualifier (3155) End If ' sSegmentID = "COM" ElseIf sNadQlfr = "ST" Then If sSegmentID = "CTA" Then ' Contact information sValue = oSegment.DataElementValue(1) ' Contact function, coded (3139) sValue = oSegment.DataElementValue(2, 1) ' Department or employee identification (3413) ListBox1.Items.Add(oSegment.DataElement(2).Description + " = " + oSegment.DataElementValue(2, 2)) ' Department or employee (3412) ElseIf sSegmentID = "COM" Then ' Communication contact sValue = oSegment.DataElementValue(1, 1) ' Communication number (3148) sValue = oSegment.DataElementValue(1, 2) ' Communication channel qualifier (3155) End If ' sSegmentID = "COM" End If 'sNadQlfr ElseIf sLoopSection = "TAX" Then If sSegmentID = "TAX" Then sValue = oSegment.DataElementValue(1) 'Duty/tax/fee function qualifier sValue = oSegment.DataElementValue(2, 1) 'Duty/tax/fee type, coded sValue = oSegment.DataElementValue(2, 2) 'Code list qualifier sValue = oSegment.DataElementValue(2, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2, 4) 'Duty/tax/fee type sValue = oSegment.DataElementValue(3, 1) 'Duty/tax/fee account identification sValue = oSegment.DataElementValue(3, 2) 'Code list qualifier sValue = oSegment.DataElementValue(3, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(4) 'Duty/tax/fee assessment basis sValue = oSegment.DataElementValue(5, 1) 'Duty/tax/fee rate identification sValue = oSegment.DataElementValue(5, 2) 'Code list qualifier sValue = oSegment.DataElementValue(5, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(5, 4) 'Duty/tax/fee rate sValue = oSegment.DataElementValue(5, 5) 'Duty/tax/fee rate basis identification sValue = oSegment.DataElementValue(5, 6) 'Code list qualifier sValue = oSegment.DataElementValue(5, 7) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(6) 'Duty/tax/fee category, coded ListBox1.Items.Add(oSegment.DataElement(7).Description + " = " + oSegment.DataElementValue(7)) 'Party tax identification number End If 'SegmentID ElseIf sLoopSection = "CUX" Then If sSegmentID = "CUX" Then sValue = oSegment.DataElementValue(1, 1) 'Currency details qualifier sValue = oSegment.DataElementValue(1, 2) 'Currency, coded sValue = oSegment.DataElementValue(1, 3) 'Currency qualifier sValue = oSegment.DataElementValue(1, 4) 'Currency rate base End If 'SegmentID ElseIf sLoopSection = "PAT" Then If sSegmentID = "PAT" Then sPatQlfr = oSegment.DataElementValue(1) End If If sPatQlfr = "1" Then 'Basic If sSegmentID = "PAT" Then sValue = oSegment.DataElementValue(1) 'Payment terms type qualifier sValue = oSegment.DataElementValue(2, 1) 'Terms of payment identification sValue = oSegment.DataElementValue(2, 2) 'Code list qualifier sValue = oSegment.DataElementValue(2, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2, 4) 'Terms of payment sValue = oSegment.DataElementValue(2, 5) 'Terms of payment sValue = oSegment.DataElementValue(3, 1) 'Payment time reference, coded sValue = oSegment.DataElementValue(3, 2) 'Time relation, coded sValue = oSegment.DataElementValue(3, 3) 'Type of period, coded ListBox1.Items.Add(oSegment.DataElement(3).Description + " basic = " + oSegment.DataElementValue(3, 4)) 'Number of periods ElseIf sSegmentID = "PCD" Then sValue = oSegment.DataElementValue(1, 1) 'Percentage qualifier sValue = oSegment.DataElementValue(1, 2) 'Percentage sValue = oSegment.DataElementValue(1, 3) 'Percentage basis, coded sValue = oSegment.DataElementValue(1, 4) 'Code list qualifier sValue = oSegment.DataElementValue(1, 5) 'Code list responsible agency, coded End If 'SegmentID ElseIf sPatQlfr = "22" Then 'Discount If sSegmentID = "PAT" Then sValue = oSegment.DataElementValue(1) 'Payment terms type qualifier sValue = oSegment.DataElementValue(2, 1) 'Terms of payment identification sValue = oSegment.DataElementValue(2, 2) 'Code list qualifier sValue = oSegment.DataElementValue(2, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2, 4) 'Terms of payment sValue = oSegment.DataElementValue(2, 5) 'Terms of payment sValue = oSegment.DataElementValue(3, 1) 'Payment time reference, coded sValue = oSegment.DataElementValue(3, 2) 'Time relation, coded sValue = oSegment.DataElementValue(3, 3) 'Type of period, coded ListBox1.Items.Add(oSegment.DataElement(3).Description + " discount = " + oSegment.DataElementValue(3, 4)) 'Number of periods ElseIf sSegmentID = "PCD" Then sValue = oSegment.DataElementValue(1, 1) 'Percentage qualifier sValue = oSegment.DataElementValue(1, 2) 'Percentage sValue = oSegment.DataElementValue(1, 3) 'Percentage basis, coded sValue = oSegment.DataElementValue(1, 4) 'Code list qualifier sValue = oSegment.DataElementValue(1, 5) 'Code list responsible agency, coded End If 'SegmentID End If ElseIf sLoopSection = "TDT" Then If sSegmentID = "TDT" Then sValue = oSegment.DataElementValue(1) 'Transport stage qualifier sValue = oSegment.DataElementValue(2) 'Conveyance reference number sValue = oSegment.DataElementValue(3, 1) 'Mode of transport, coded sValue = oSegment.DataElementValue(3, 2) 'Mode of transport sValue = oSegment.DataElementValue(4, 1) 'Type of means of transport identification sValue = oSegment.DataElementValue(4, 2) 'Type of means of transport sValue = oSegment.DataElementValue(5, 1) 'Carrier identification sValue = oSegment.DataElementValue(5, 2) 'Code list qualifier sValue = oSegment.DataElementValue(5, 3) 'Code list responsible agency, coded ListBox1.Items.Add(oSegment.DataElement(5).Description + " discount = " + oSegment.DataElementValue(5, 4)) 'Carrier name End If 'SegmentID ElseIf sLoopSection = "TDT;LOC" Then If sSegmentID = "LOC" Then sValue = oSegment.DataElementValue(1) 'Place/location qualifier sValue = oSegment.DataElementValue(2, 1) 'Place/location identification sValue = oSegment.DataElementValue(2, 2) 'Code list qualifier sValue = oSegment.DataElementValue(2, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2, 4) 'Place/location End If 'SegmentID ElseIf sLoopSection = "TOD" Then If sSegmentID = "TOD" Then sValue = oSegment.DataElementValue(1) 'Terms of delivery or transport function, coded sValue = oSegment.DataElementValue(2) 'Transport charges method of payment, coded sValue = oSegment.DataElementValue(3, 1) 'Terms of delivery or transport, coded sValue = oSegment.DataElementValue(3, 2) 'Code list qualifier sValue = oSegment.DataElementValue(3, 3) 'Code list responsible agency, coded ListBox1.Items.Add(oSegment.DataElement(3).Description + " discount = " + oSegment.DataElementValue(3, 4)) 'Terms of delivery or transport sValue = oSegment.DataElementValue(3, 5) 'Terms of delivery or transport End If 'sSegmentID End If 'sLoopSection ElseIf nArea = 2 Then If sLoopSection = "LIN" Then If sSegmentID = "LIN" Then sValue = oSegment.DataElementValue(1) 'Line item number sValue = oSegment.DataElementValue(2) 'Action request/notification, coded ListBox1.Items.Add(oSegment.DataElement(3).Description + " discount = " + oSegment.DataElementValue(3, 1)) 'Item number sValue = oSegment.DataElementValue(3, 2) 'Item number type, coded sValue = oSegment.DataElementValue(3, 3) 'Code list qualifier sValue = oSegment.DataElementValue(3, 4) 'Code list responsible agency, coded ElseIf sSegmentID = "PIA" Then sValue = oSegment.DataElementValue(1) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2, 1) 'Item number sValue = oSegment.DataElementValue(2, 2) 'Item number type, coded sValue = oSegment.DataElementValue(2, 3) 'Code list qualifier sValue = oSegment.DataElementValue(2, 4) 'Code list responsible agency, coded ListBox1.Items.Add(oSegment.DataElement(3).Description + " discount = " + oSegment.DataElementValue(3, 1)) 'Item number sValue = oSegment.DataElementValue(3, 2) 'Item number type, coded sValue = oSegment.DataElementValue(3, 3) 'Code list qualifier sValue = oSegment.DataElementValue(3, 4) 'Code list responsible agency, coded ElseIf sSegmentID = "IMD" Then sValue = oSegment.DataElementValue(1) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(3, 1) 'Code list qualifier sValue = oSegment.DataElementValue(3, 2) 'Code list responsible agency, coded ListBox1.Items.Add(oSegment.DataElement(3).Description + " discount = " + oSegment.DataElementValue(3, 3)) 'Item description sValue = oSegment.DataElementValue(3, 4) 'Item description ElseIf sSegmentID = "QTY" Then sValue = oSegment.DataElementValue(1, 1) 'Quantity qualifier ListBox1.Items.Add(oSegment.DataElement(1).Description + " discount = " + oSegment.DataElementValue(1, 2)) 'Quantity sValue = oSegment.DataElementValue(1, 3) 'Measure unit qualifier ElseIf sSegmentID = "DTM" Then sValue = oSegment.DataElementValue(1, 1) 'Date/time/period qualifier ListBox1.Items.Add(oSegment.DataElement(1).Description + " discount = " + oSegment.DataElementValue(1, 2)) 'Date/time/period sValue = oSegment.DataElementValue(1, 3) 'Date/time/period format qualifier ElseIf sSegmentID = "FTX" Then sValue = oSegment.DataElementValue(1) 'Date/time/period format qualifier sValue = oSegment.DataElementValue(2) 'Date/time/period format qualifier sValue = oSegment.DataElementValue(3, 1) 'Free text identification sValue = oSegment.DataElementValue(3, 2) 'Code list qualifier sValue = oSegment.DataElementValue(3, 3) 'Code list responsible agency, coded ListBox1.Items.Add(oSegment.DataElement(4).Description + " discount = " + oSegment.DataElementValue(4, 1)) 'Free text sValue = oSegment.DataElementValue(4, 2) 'Free text sValue = oSegment.DataElementValue(4, 3) 'Free text sValue = oSegment.DataElementValue(4, 4) 'Free text sValue = oSegment.DataElementValue(4, 5) 'Free text End If 'SegmentID ElseIf sLoopSection = "LIN;PRI" Then If sSegmentID = "PRI" Then sValue = oSegment.DataElementValue(1, 1) 'Price qualifier sValue = oSegment.DataElementValue(1, 2) 'Price sValue = oSegment.DataElementValue(1, 3) 'Price type, coded sValue = oSegment.DataElementValue(1, 4) 'Price type qualifier sValue = oSegment.DataElementValue(1, 5) 'Unit price basis sValue = oSegment.DataElementValue(1, 6) 'Measure unit qualifier End If 'SegmentID ElseIf sLoopSection = "LIN;TAX" Then If sSegmentID = "TAX" Then sTaxQlfr = oSegment.DataElementValue(1) End If If sTaxQlfr = "7" Then 'Tax If sSegmentID = "TAX" Then sValue = oSegment.DataElementValue(1) 'Duty/tax/fee function qualifier sValue = oSegment.DataElementValue(2, 1) 'Duty/tax/fee type, coded sValue = oSegment.DataElementValue(2, 2) 'Code list qualifier sValue = oSegment.DataElementValue(2, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(2, 4) 'Duty/tax/fee type sValue = oSegment.DataElementValue(3, 1) 'Duty/tax/fee account identification sValue = oSegment.DataElementValue(3, 2) 'Code list qualifier sValue = oSegment.DataElementValue(3, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(4) 'Duty/tax/fee assessment basis sValue = oSegment.DataElementValue(5, 1) 'Duty/tax/fee rate identification sValue = oSegment.DataElementValue(5, 2) 'Code list qualifier sValue = oSegment.DataElementValue(5, 3) 'Code list responsible agency, coded sValue = oSegment.DataElementValue(5, 4) 'Duty/tax/fee rate sValue = oSegment.DataElementValue(5, 5) 'Duty/tax/fee rate basis identification sValue = oSegment.DataElementValue(5, 6) 'Code list qualifier sValue = oSegment.DataElementValue(5, 7) 'Code list responsible agency, coded ElseIf sSegmentID = "MOA" Then sValue = oSegment.DataElementValue(1, 1) 'Monetary amount type qualifier ListBox1.Items.Add(oSegment.DataElement(1).Description + " tax = " + oSegment.DataElementValue(1, 2)) 'Monetary amount sValue = oSegment.DataElementValue(1, 3) 'Currency, coded sValue = oSegment.DataElementValue(1, 4) 'Currency qualifier sValue = oSegment.DataElementValue(1, 5) 'Status, coded End If 'sSegmentID End If End If 'sLoopSection ElseIf nArea = 3 Then If sLoopSection = "" Then If sSegmentID = "UNS" Then sValue = oSegment.DataElementValue(1) 'Section identification End If 'sSegmentID End If 'sLoopSection End If 'nArea 'GETS THE NEXT DATA SEGMENT ediDataSegment.Set(oSegment, oSegment.Next) Loop 'DESTROY OBJECTS oSchema.Dispose() oSchemas.Dispose() oEdiDoc.Dispose() End Sub