Private Sub cmdStart_Click()
'This is just an example program to show how to acknowledge a UN/EDIFACT EDI file
'in VB6 using the Framework EDI component
Dim oEdiDoc As Fredi.ediDocument
Dim oSegment As Fredi.ediDataSegment
Dim oSchemas As Fredi.ediSchemas
Dim oAck As Fredi.ediAcknowledgment
Dim sSefFile As String
Dim sEdiFile As String
Dim sAckfile As String
Dim sPath As String
cmdStart.Enabled = False
Me.MousePointer = vbHourglass
sPath = App.Path & "\"
sSefFile = "INVOIC_S93A.SEF"
sEdiFile = "INVOIC.TXT"
sAckfile = "Ack_CONTRL_" & sEdiFile
'instantiate edi document
Set oEdiDoc = New Fredi.ediDocument
'Set cursor type to forward only to save RAM memory
oEdiDoc.CursorType = Cursor_ForwardOnly
'Stops FREDI from using the internal standard reference
Set oSchemas = oEdiDoc.GetSchemas
oSchemas.EnableStandardReference = False
'Load all SEF files
oEdiDoc.ImportSchema sPath & "CONTRL.SEF", Schema_Standard_Exchange_Format
oEdiDoc.ImportSchema sPath & sSefFile, Schema_Standard_Exchange_Format
'By default, FREDI uses the universal coordinated time (UTC), however you can change it to local time
oEdiDoc.Option(OptDocument_UseLocalTime) = 1
'Enable acknowledgment
Set oAck = oEdiDoc.GetAcknowledgment
oAck.EnableFunctionalAcknowledgment = True
'Set start of interchange control number
oAck.Property(PropertyAck_StartInterchangeControlNum) = 100
'Define terminators
oEdiDoc.SegmentTerminator = "'" & vbCrLf
oEdiDoc.ElementTerminator = "+"
oEdiDoc.CompositeTerminator = ":"
oEdiDoc.ReleaseIndicator = "?"
'Load EDI file
oEdiDoc.LoadEdi sPath & sEdiFile
'Iterate thru all segments of EDI File
Set oSegment = oEdiDoc.FirstDataSegment
Do While Not oSegment Is Nothing
Set oSegment = oSegment.Next
Loop
'oAck object can also be modified
' 'modify acknowledgmet object
' Set oSegment = oAck.GetFirstContrlDataSegment
' 'modify UNB segment
' Set oSegment = oSegment.GetDataSegmentByPos("UNB\UNB")
' oSegment.DataElementValue(4) = "050322" ' Change date in UNB segment
' 'modify UNH segment
' Set oSegment = oSegment.GetDataSegmentByPos("UNH\UNH")
' oSegment.DataElementValue(5, 1) = "12345" 'Change message subset id
'Save the acknowledgment into a file
oAck.Save sPath & sAckfile
Me.MousePointer = vbNormal
MsgBox "Done. Output file = " & sPath & sAckfile
cmdStart.Enabled = True
End Sub