Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click 'This is just an example program to demonstrate how to generate an EDI X12 214 file using Framework EDI component in VB.NET Dim oEdiDoc As ediDocument Dim oSchema As ediSchema Dim oSchemas As ediSchemas Dim oInterchange As ediInterchange Dim oGroup As ediGroup Dim oTransactionset As ediTransactionSet Dim oSegment As ediDataSegment Dim sPath As String Dim sEdiFile As String Dim sSefFile As String btnGenerate.Enabled = False sPath = AppDomain.CurrentDomain.BaseDirectory sEdiFile = "214Output.X12" sSefFile = "214_004010.SEF" 'CREATES EDI DOCUMENT 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 'ENABLES FORWARD WRITE, AND INCREASES BUFFER I/O TO IMPROVE PERFORMANCE oEdiDoc.CursorType = DocumentCursorTypeConstants.Cursor_ForwardWrite oEdiDoc.Property(DocumentPropertyIDConstants.Property_DocumentBufferIO) = 200 'SET TERMINATORS oEdiDoc.SegmentTerminator = "~{13:10}" oEdiDoc.ElementTerminator = "*" oEdiDoc.CompositeTerminator = ">" 'LOADS THE SEF FILE ediSchema.Set(oSchema, oEdiDoc.ImportSchema(sPath & sSefFile, 0)) 'CREATES THE ISA SEGMENT ediInterchange.Set(oInterchange, oEdiDoc.CreateInterchange("X", "004010")) ediDataSegment.Set(oSegment, oInterchange.GetDataSegmentHeader) oSegment.DataElementValue(1) = "00" 'Authorization Information Qualifier oSegment.DataElementValue(2) = " " 'Authorization Information oSegment.DataElementValue(3) = "00" 'Security Information Qualifier oSegment.DataElementValue(4) = " " 'Security Information oSegment.DataElementValue(5) = "01" 'Interchange ID Qualifier oSegment.DataElementValue(6) = "001325851 " 'Interchange Sender ID oSegment.DataElementValue(7) = "01" 'Interchange ID Qualifier oSegment.DataElementValue(8) = "050357789M " 'Interchange Receiver ID oSegment.DataElementValue(9) = "000110" 'Interchange Date oSegment.DataElementValue(10) = "1425" 'Interchange Time oSegment.DataElementValue(11) = "U" 'Interchange Control Standards Identifier oSegment.DataElementValue(12) = "00401" 'Interchange Control Version Number oSegment.DataElementValue(13) = "000000035" 'Interchange Control Number oSegment.DataElementValue(14) = "0" 'Acknowledgment Requested oSegment.DataElementValue(15) = "P" 'Usage Indicator oSegment.DataElementValue(16) = ">" 'Component Element Separator 'CREATES THE GS SEGMENT ediGroup.Set(oGroup, oInterchange.CreateGroup("004010")) ediDataSegment.Set(oSegment, oGroup.GetDataSegmentHeader) oSegment.DataElementValue(1) = "QM" 'Functional Identifier Code oSegment.DataElementValue(2) = "001325851" 'Application Sender's Code oSegment.DataElementValue(3) = "050357789M" 'Application Receiver's Code oSegment.DataElementValue(4) = "20000110" 'Date oSegment.DataElementValue(5) = "1425" 'Time oSegment.DataElementValue(6) = "767" 'Group Control Number oSegment.DataElementValue(7) = "X" 'Responsible Agency Code oSegment.DataElementValue(8) = "004010" 'Version / Release / Industry Identifier Code 'CREATES THE ST SEGMENT ediTransactionSet.Set(oTransactionset, oGroup.CreateTransactionSet("214")) ediDataSegment.Set(oSegment, oTransactionset.GetDataSegmentHeader) oSegment.DataElementValue(1) = "214" 'Transaction Set Identifier Code oSegment.DataElementValue(2) = "000077" 'Transaction Set Control Number 'B10 - BEGINNING SEGMENT FOR TRANSPORTATION CARRIER SHIPMENT STATUS ME ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("B10")) oSegment.DataElementValue(1) = "R6514545NA" 'Reference Identification oSegment.DataElementValue(2) = "00000064631M" 'Shipment Identification Number oSegment.DataElementValue(3) = "SCAC" 'Standard Carrier Alpha Code 'N1 - NAME ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1\N1")) oSegment.DataElementValue(1) = "SF" 'Entity Identifier Code oSegment.DataElementValue(2) = "ABC SHIPFROM Company" 'Name 'N2 - ADDITIONAL NAME INFORMATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1\N2")) oSegment.DataElementValue(1) = "AKA SHIPFROM Mfg" 'Name 'N3 - ADDRESS INFORMATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1\N3")) oSegment.DataElementValue(1) = "800 Shipfrom Street" 'Address Information 'N4 - GEOGRAPHIC LOCATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1\N4")) oSegment.DataElementValue(1) = "FromCity" 'City Name oSegment.DataElementValue(2) = "MN" 'State or Province Code oSegment.DataElementValue(3) = "555500000" 'Postal Code 'N1 - NAME ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1(2)\N1")) oSegment.DataElementValue(1) = "ST" 'Entity Identifier Code oSegment.DataElementValue(2) = "DEF SHIPTO Company" 'Name 'N2 - ADDITIONAL NAME INFORMATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1(2)\N2")) oSegment.DataElementValue(1) = "AKA SHIPTO Mfg" 'Name 'N3 - ADDRESS INFORMATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1(2)\N3")) oSegment.DataElementValue(1) = "222 Shipto Drive" 'Address Information 'N4 - GEOGRAPHIC LOCATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("N1(2)\N4")) oSegment.DataElementValue(1) = "ToTown" 'City Name oSegment.DataElementValue(2) = "CA" 'State or Province Code oSegment.DataElementValue(3) = "999900000" 'Postal Code 'LX - ASSIGNED NUMBER ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\LX")) oSegment.DataElementValue(1) = "1" 'Assigned Number 'AT7 - SHIPMENT STATUS DETAILS ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\AT7\AT7")) oSegment.DataElementValue(1) = "AF" 'Shipment Status Code oSegment.DataElementValue(2) = "NS" 'Shipment Status or Appointment Reason Code oSegment.DataElementValue(5) = "20060519" 'Date oSegment.DataElementValue(6) = "1341" 'Time oSegment.DataElementValue(7) = "LT" 'Time Code 'MS1 - EQUIPMENT, SHIPMENT, OR REAL PROPERTY LOCATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\AT7\MS1")) oSegment.DataElementValue(1) = "ToonCity" 'City Name oSegment.DataElementValue(2) = "CA" 'State or Province Code 'MS2 - EQUIPMENT OR CONTAINER OWNER AND TYPE ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\AT7\MS2")) oSegment.DataElementValue(1) = "SCAC" 'Standard Carrier Alpha Code oSegment.DataElementValue(2) = "0067291" 'Equipment Number oSegment.DataElementValue(3) = "TF" 'Equipment Description Code 'L11 - BUSINESS INSTRUCTIONS AND REFERENCE NUMBER ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\L11")) oSegment.DataElementValue(1) = "14781-55060" 'Reference Identification oSegment.DataElementValue(2) = "SI" 'Reference Identification Qualifier 'L11 - BUSINESS INSTRUCTIONS AND REFERENCE NUMBER ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\L11(2)")) oSegment.DataElementValue(1) = "1" 'Reference Identification oSegment.DataElementValue(2) = "QN" 'Reference Identification Qualifier 'AT8 - SHIPMENT WEIGHT, PACKAGING AND QUANTITY DATA ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\AT8")) oSegment.DataElementValue(1) = "G" 'Weight Qualifier oSegment.DataElementValue(2) = "L" 'Weight Unit Code oSegment.DataElementValue(3) = "16880" 'Weight oSegment.DataElementValue(4) = "640" 'Lading Quantity oSegment.DataElementValue(5) = "8" 'Lading Quantity oSegment.DataElementValue(6) = "E" 'Volume Unit Qualifier oSegment.DataElementValue(7) = "960" 'Volume 'SPO - SHIPMENT PURCHASE ORDER DETAIL ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX\SPO\SPO")) oSegment.DataElementValue(1) = "202831 REPL" 'Purchase Order Number oSegment.DataElementValue(2) = "1022" 'Reference Identification oSegment.DataElementValue(3) = "PC" 'Unit or Basis for Measurement Code oSegment.DataElementValue(4) = "1008" 'Quantity oSegment.DataElementValue(5) = "L" 'Weight Unit Code oSegment.DataElementValue(6) = "40320" 'Weight 'LX - ASSIGNED NUMBER ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\LX")) oSegment.DataElementValue(1) = "2" 'Assigned Number 'AT7 - SHIPMENT STATUS DETAILS ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\AT7\AT7")) oSegment.DataElementValue(1) = "AF" 'Shipment Status Code oSegment.DataElementValue(2) = "NS" 'Shipment Status or Appointment Reason Code oSegment.DataElementValue(5) = "20081028" 'Date oSegment.DataElementValue(6) = "1341" 'Time oSegment.DataElementValue(7) = "LT" 'Time Code 'MS1 - EQUIPMENT, SHIPMENT, OR REAL PROPERTY LOCATION ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\AT7\MS1")) oSegment.DataElementValue(1) = "Carson" 'City Name oSegment.DataElementValue(2) = "CA" 'State or Province Code 'MS2 - EQUIPMENT OR CONTAINER OWNER AND TYPE ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\AT7\MS2")) oSegment.DataElementValue(1) = "SCAC" 'Standard Carrier Alpha Code oSegment.DataElementValue(2) = "0067291" 'Equipment Number oSegment.DataElementValue(3) = "TF" 'Equipment Description Code 'L11 - BUSINESS INSTRUCTIONS AND REFERENCE NUMBER ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\L11")) oSegment.DataElementValue(1) = "12345-asdfgh" 'Reference Identification oSegment.DataElementValue(2) = "SI" 'Reference Identification Qualifier 'L11 - BUSINESS INSTRUCTIONS AND REFERENCE NUMBER ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\L11(2)")) oSegment.DataElementValue(1) = "1" 'Reference Identification oSegment.DataElementValue(2) = "QN" 'Reference Identification Qualifier 'AT8 - SHIPMENT WEIGHT, PACKAGING AND QUANTITY DATA ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\AT8")) oSegment.DataElementValue(1) = "G" 'Weight Qualifier oSegment.DataElementValue(2) = "L" 'Weight Unit Code oSegment.DataElementValue(3) = "7890" 'Weight oSegment.DataElementValue(4) = "640" 'Lading Quantity oSegment.DataElementValue(5) = "8" 'Lading Quantity oSegment.DataElementValue(6) = "E" 'Volume Unit Qualifier oSegment.DataElementValue(7) = "960" 'Volume 'SPO - SHIPMENT PURCHASE ORDER DETAIL ediDataSegment.Set(oSegment, oTransactionset.CreateDataSegment("LX(2)\SPO\SPO")) oSegment.DataElementValue(1) = "202831 REPL" 'Purchase Order Number oSegment.DataElementValue(2) = "1022" 'Reference Identification oSegment.DataElementValue(3) = "PC" 'Unit or Basis for Measurement Code oSegment.DataElementValue(4) = "1008" 'Quantity oSegment.DataElementValue(5) = "L" 'Weight Unit Code oSegment.DataElementValue(6) = "40320" 'Weight 'TRAILING SEGMENTS ARE AUTOMATICALLY CREATED 'DISPLAY EDI STRING MessageBox.Show(oEdiDoc.GetEdiString, "EDI String") 'SAVE EDI DOCUMENT OBJECT INTO AN EDI FILE. oEdiDoc.Save(sPath & sEdiFile) MessageBox.Show(sPath & sEdiFile, "EDI Ouput") 'DESTROYS OBJECTS oSegment.Dispose() oTransactionset.Dispose() oGroup.Dispose() oInterchange.Dispose() oSchema.Dispose() oSchemas.Dispose() oEdiDoc.Dispose() End Sub