Electronic Data Interchange | |
The Interchange Trailer (UN/EDIFACT) |
The Interchange Trailer ends transmission of an interchange. It contains:
This topic covers:
Interchange Trailer in a document
In the document the interchange trailer is identifier by it segment identifier "UNZ" followed by the data element separator.
The interchange trailer data stream fit into the implementation guideline defined for the interchange trailer as follows:
REF ELE NAME REQ TYPE MIN/MAX VALUE COMMENT 01 0036 Interchange Control Count M N 1/6 1 This value indicates the number of messages that are enveloped by the interchange at the time that it was prepared. 02 0020 Interchange Control Reference M AN 1/14 1 This is the control number that associates the interchange trailer with its interchange header pair that has a matching control number.
Programmatically Reading the Interchange Trailer
The following steps demonstrates how to read the interchange trailer.
Dim oEdiDoc As Fredi.ediDocument
Set oEdiDoc = New Fredi.ediDocument
Dim oSchemas As Fredi.ediSchemas
Dim oSchema As Fredi.ediSchema
' Disable standard reference library.
Set oSchemas = oEdiDoc.GetSchemas
oSchemas.EnableStandardReference = False
Set oSchema = oEdiDoc.LoadSchema(App.Path & "\EDIFACT_INVOIC.SEF", Schema_Standard_Exchange_Format)
' Load EDI document normally.
oEdiDoc.LoadEdi App.Path & "\SampleEdifactDoc.X12"
Dim oInterchange As Fredi.ediInterchange
' Get first interchange.
Set oInterchange = oEdiDoc.FirstInterchange
' Get interchange header.
Dim oTrailer As Fredi.ediDataSegment
Dim oElements As Fredi.ediDataElements
Dim oElement As Fredi.ediDataElement
Dim sResult As String
Dim i As Integer
Set oTrailer = oInterchange.GetDataSegmentTrailer
' Get elements collection.
Set oElements = oTrailer.DataElements
sResult = ""
For Each oElement In oElements
Dim oSubElements As Fredi.ediDataElementsNext
Dim oSubElement As Fredi.ediDataElement
Set oSubElements = oElement.DataElements
If oSubElements.Count > 0 Then' Read component elements.Else
sResult = sResult & vbTab & oElement.ID & vbCrLf
For Each oSubElement In oSubElementssResult = sResult & vbTab & vbTab & oSubElement.ID & " = " & oSubElement.Value & vbCrLfNext
sResult = sResult & vbTab & oElement.ID & " = " & oElement.Value & vbCrLfEnd If
Programmatically Generating the Interchange Trailer
The following steps demonstrates how to generate the interchange header.
Dim oEdiDoc As Fredi.ediDocument
Set oEdiDoc = New Fredi.ediDocument
Dim oSchemas As Fredi.ediSchemas
Dim oSchema As Fredi.ediSchema
' Disable standard reference library.
Set oSchemas = oEdiDoc.GetSchemas
oSchemas.EnableStandardReference = False
Set oSchema = oEdiDoc.LoadSchema(App.Path & "\EDIFACT_INVOIC.SEF", Schema_Standard_Exchange_Format)
' Specify the terminators to use on the document.
oEdiDoc.SegmentTerminator = "'" & vbCrLf
oEdiDoc.ElementTerminator = "+"
oEdiDoc.CompositeTerminator = ":"
oEdiDoc.ReleaseIndicator = "?"
Dim oInterchange As Fredi.ediInterchange
' Create the Interchange envelope.
Set oInterchange = oEdiDoc.CreateInterchange("UN", "D96A")
Dim oTrailer As Fredi.ediDataSegment
' Get the interchange header.
Set oTrailer = oInterchange.GetDataSegmentTrailer
' Set the values of the elements.