Private Sub Proc_Translate_810_To_SqlDb(ByRef oEdiDoc As ediDocument, ByRef sAppPath As String)
Dim sSegmentID As String
Dim sLoopSection As String
Dim nArea As Integer
Dim sSql As String = ""
Dim sN1Entity As String = ""
Dim sQlfr As String = ""
Dim sValue As String = ""
Dim sEdiFileName As String = txtEdiFile.Text.Trim()
' Specify EDI document to read.
oEdiDoc.LoadEdi(sEdiFileName)
'Open connection to SQL database
oConnection = New SqlConnection(sConnection)
oConnection.Open()
' Gets the first data segment in the EDI document.
Dim oSegment As ediDataSegment = oEdiDoc.FirstDataSegment
' Loop that will traverse through the EDI document from top to bottom. This
' is required for FORWARD-ONLY cursor.
Do While Not oSegment Is Nothing
' Data segments are uniquely identified by their segment Identifier (ID).
' The loop section and the area (or table) properties of the data segment
' are read for each iteration of the loop.
sSegmentID = oSegment.ID
sLoopSection = oSegment.LoopSection
nArea = oSegment.Area
If nArea = 0 Then
' Data segments that are not designated an area (i.e. area = 0) are control
' segments that are part of the Interchange or Functional Group envelopes,
' and are not part of the Transaction Set.
If sSegmentID = "ISA" Then
'insert a record into interchange table
sSql = "INSERT INTO [Interchange] (ISA01_AuthorizationInformationQualifier, ISA02_AuthorizationInformation, " _
& "ISA03_SecurityInformationQualifier, ISA04_SecurityInformation, ISA05_InterchangeIdQualifier, " _
& "ISA06_InterchangeSenderId, ISA07_InterchangeIdQualifier, ISA08_InterchangeReceiverId, ISA09_InterchangeDate, " _
& "ISA10_InterchangeTime, ISA11_InterchangeControlStandardsIdentifier, ISA12_InterchangeControlVersionNumber, " _
& "ISA13_InterchangeControlNumber, ISA14_AcknowledgmentRequested, ISA15_UsageIndicator, " _
& "ISA16_ComponentElementSeparator) " _
& "values " _
& "(@ISA01_AuthorizationInformationQualifier, @ISA02_AuthorizationInformation, " _
& "@ISA03_SecurityInformationQualifier, @ISA04_SecurityInformation, @ISA05_InterchangeIdQualifier, " _
& "@ISA06_InterchangeSenderId, @ISA07_InterchangeIdQualifier, @ISA08_InterchangeReceiverId, @ISA09_InterchangeDate, " _
& "@ISA10_InterchangeTime, @ISA11_InterchangeControlStandardsIdentifier, @ISA12_InterchangeControlVersionNumber, " _
& "@ISA13_InterchangeControlNumber, @ISA14_AcknowledgmentRequested, @ISA15_UsageIndicator, " _
& "@ISA16_ComponentElementSeparator); " _
& "SELECT scope_identity()"
oDaInterchange.InsertCommand = New SqlCommand(sSql, oConnection)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA01_AuthorizationInformationQualifier", oSegment.DataElementValue(1, 0)) ' Authorization Information Qualifier (I01)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA02_AuthorizationInformation", oSegment.DataElementValue(2, 0)) ' Authorization Information (I02)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA03_SecurityInformationQualifier", oSegment.DataElementValue(3, 0)) ' Security Information Qualifier (I03)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA04_SecurityInformation", oSegment.DataElementValue(4, 0)) ' Security Information (I04)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA05_InterchangeIdQualifier", oSegment.DataElementValue(5, 0)) ' Interchange ID Qualifier (I05)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA06_InterchangeSenderId", oSegment.DataElementValue(6, 0)) ' Interchange Sender ID (I06)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA07_InterchangeIdQualifier", oSegment.DataElementValue(7, 0)) ' Interchange ID Qualifier (I05)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA08_InterchangeReceiverId", oSegment.DataElementValue(8, 0)) ' Interchange Receiver ID (I07)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA09_InterchangeDate", oSegment.DataElementValue(9, 0)) ' Interchange Date (I08)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA10_InterchangeTime", oSegment.DataElementValue(10, 0)) ' Interchange Time (I09)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA11_InterchangeControlStandardsIdentifier", oSegment.DataElementValue(11, 0)) ' Interchange Control Standards Identifier (I10)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA12_InterchangeControlVersionNumber", oSegment.DataElementValue(12, 0)) ' Interchange Control Version Number (I11)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA13_InterchangeControlNumber", oSegment.DataElementValue(13, 0)) ' Interchange Control Number (I12)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA14_AcknowledgmentRequested", oSegment.DataElementValue(14, 0)) ' Acknowledgment Requested (I13)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA15_UsageIndicator", oSegment.DataElementValue(15, 0)) ' Usage Indicator (I14)
oDaInterchange.InsertCommand.Parameters.AddWithValue("@ISA16_ComponentElementSeparator", oSegment.DataElementValue(16, 0)) ' Component Element Separator (I15)
nInterchangeKey = oDaInterchange.InsertCommand.ExecuteScalar()
ElseIf sSegmentID = "IEA" Then
sValue = oSegment.DataElementValue(1) ' Number of Included Functional Groups (I16)
sValue = oSegment.DataElementValue(2) ' Interchange Control Number (I12)
ElseIf sSegmentID = "GS" Then
'insert a record into FunctionGrop table
sSql = "INSERT INTO [FunctionalGroup] ( InterchangeKey, GS01_FunctionalIdentifierCode, GS02_ApplicationSendersCode, " _
& "GS03_ApplicationReceiversCode, GS04_Date, GS05_Time, GS06_GroupControlNumber, GS07_ResponsibleAgencyCode, " _
& "GS08_VersionReleaseIndustryIdentifierCode) " _
& "values " _
& "(@InterchangeKey, @GS01_FunctionalIdentifierCode, @GS02_ApplicationSendersCode, " _
& "@GS03_ApplicationReceiversCode, @GS04_Date, @GS05_Time, @GS06_GroupControlNumber, @GS07_ResponsibleAgencyCode, " _
& "@GS08_VersionReleaseIndustryIdentifierCode); " _
& "SELECT scope_identity()"
oDaFuncGroup.InsertCommand = New SqlCommand(sSql, oConnection)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@InterchangeKey", nInterchangeKey)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS01_FunctionalIdentifierCode", oSegment.DataElementValue(1, 0)) ' Functional Identifier Code (479)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS02_ApplicationSendersCode", oSegment.DataElementValue(2, 0)) ' Application Sender's Code (142)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS03_ApplicationReceiversCode", oSegment.DataElementValue(3, 0)) ' Application Receiver's Code (124)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS04_Date", oSegment.DataElementValue(4, 0)) ' Date (373)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS05_Time", oSegment.DataElementValue(5, 0)) ' Time (337)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS06_GroupControlNumber", oSegment.DataElementValue(6, 0)) ' Group Control Number (28)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS07_ResponsibleAgencyCode", oSegment.DataElementValue(7, 0)) ' Responsible Agency Code (455)
oDaFuncGroup.InsertCommand.Parameters.AddWithValue("@GS08_VersionReleaseIndustryIdentifierCode", oSegment.DataElementValue(8, 0)) ' Version / Release / Industry Identifier Code (480)
nGroupKey = oDaFuncGroup.InsertCommand.ExecuteScalar()
ElseIf sSegmentID = "GE" Then
sValue = oSegment.DataElementValue(1) ' Number of Transaction Sets Included (97)
sValue = oSegment.DataElementValue(2) ' Group Control Number (28)
End If ' sSegmentID = "GE"
ElseIf nArea = 1 Then
' Data segments in area 1 are processed here.
If sLoopSection = "" Then
If sSegmentID = "ST" Then ' Transaction Set Header
sSql = "INSERT INTO [TS810_Header] (GroupKey, ST01_TransactionSetIdentifierCode, ST02_TransactionSetControlNumber, " _
& "BIG01_InvoiceDate, BIG02_InvoiceNumber, BIG03_PurchaseOrderDate, BIG04_PurchaseOrderNumber, BIG07_TransactionTypeCode, " _
& "N102_BillToName, N104_BillToIdentificationCode, N301_BillToAddressInformation, N401_BillToCityName, N402_BillToStateOrProvinceCode, N403_BillToPostalCode, " _
& "N102_RemitToName, N104_RemitToIdentificationCode, N301_RemitToAddressInformation, N401_RemitToCityName, N402_RemitToStateOrProvinceCode, N403_RemitToPostalCode, " _
& "N102_ShipToName, N104_ShipToIdentificationCode, N301_ShipToAddressInformation, N401_ShipToCityName, N402_ShipToStateOrProvinceCode, N403_ShipToPostalCode, " _
& "N102_ShipFromName, N104_ShipFromIdentificationCode, N301_ShipFromAddressInformation, N401_ShipFromCityName, N402_ShipFromStateOrProvinceCode, N403_ShipFromPostalCode, " _
& "N102_VendorName, N104_VendorIdentificationCode, N301_VendorAddressInformation, N401_VendorCityName, N402_VendorStateOrProvinceCode, N403_VendorPostalCode, " _
& "REF02_StoreNumber, REF02_VendorOrderNumber, " _
& "ITD01_TermsTypeCode, ITD02_TermsBasisDateCode, ITD03_TermsDiscountPercent, ITD05_TermsDiscountDaysDue, ITD07_TermsNetDays, ITD12_Description, " _
& "DTM02_ShippedDate, FOB01_ShipmentMethodOfPayment, TDS01_TotalAmount, CAD05_CarrierRouting, " _
& "SAC01_AllowanceOrChargeIndicator, SAC02_ServicePromotionAllowanceOrChargeCode, SAC05_Amount, SAC12_AllowanceOrChargeMethodOfHandlingCode, SAC15_Description, " _
& "ISS01_NumberOfUnitsShipped, ISS02_UnitOrBasisForMeasurementCode) " _
& "values " _
& "(@GroupKey, @ST01_TransactionSetIdentifierCode, @ST02_TransactionSetControlNumber, " _
& "@BIG01_InvoiceDate, @BIG02_InvoiceNumber, @BIG03_PurchaseOrderDate, @BIG04_PurchaseOrderNumber, @BIG07_TransactionTypeCode, " _
& "@N102_BillToName, @N104_BillToIdentificationCode, @N301_BillToAddressInformation, @N401_BillToCityName, @N402_BillToStateOrProvinceCode, @N403_BillToPostalCode, " _
& "@N102_RemitToName, @N104_RemitToIdentificationCode, @N301_RemitToAddressInformation, @N401_RemitToCityName, @N402_RemitToStateOrProvinceCode, @N403_RemitToPostalCode, " _
& "@N102_ShipToName, @N104_ShipToIdentificationCode, @N301_ShipToAddressInformation, @N401_ShipToCityName, @N402_ShipToStateOrProvinceCode, @N403_ShipToPostalCode, " _
& "@N102_ShipFromName, @N104_ShipFromIdentificationCode, @N301_ShipFromAddressInformation, @N401_ShipFromCityName, @N402_ShipFromStateOrProvinceCode, @N403_ShipFromPostalCode, " _
& "@N102_VendorName, @N104_VendorIdentificationCode, @N301_VendorAddressInformation, @N401_VendorCityName, @N402_VendorStateOrProvinceCode, @N403_VendorPostalCode, " _
& "@REF02_StoreNumber, @REF02_VendorOrderNumber, " _
& "@ITD01_TermsTypeCode, @ITD02_TermsBasisDateCode, @ITD03_TermsDiscountPercent, @ITD05_TermsDiscountDaysDue, @ITD07_TermsNetDays, @ITD12_Description, " _
& "@DTM02_ShippedDate, @FOB01_ShipmentMethodOfPayment, @TDS01_TotalAmount, @CAD05_CarrierRouting, " _
& "@SAC01_AllowanceOrChargeIndicator, @SAC02_ServicePromotionAllowanceOrChargeCode, @SAC05_Amount, @SAC12_AllowanceOrChargeMethodOfHandlingCode, @SAC15_Description, " _
& "@ISS01_NumberOfUnitsShipped, @ISS02_UnitOrBasisForMeasurementCode); " _
& "SELECT scope_identity()"
oDaHeader.InsertCommand = New SqlCommand(sSql, oConnection)
oDaHeader.InsertCommand.Parameters.AddWithValue("@GroupKey", nGroupKey)
oDaHeader.InsertCommand.Parameters.AddWithValue("@ST01_TransactionSetIdentifierCode", oSegment.DataElementValue(1, 0)) ' Transaction Set Identifier Code (143)
oDaHeader.InsertCommand.Parameters.AddWithValue("@ST02_TransactionSetControlNumber", oSegment.DataElementValue(2, 0)) ' Transaction Set Control Number (329)
oDaHeader.InsertCommand.Parameters.AddWithValue("@BIG01_InvoiceDate", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@BIG02_InvoiceNumber", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@BIG03_PurchaseOrderDate", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@BIG04_PurchaseOrderNumber", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@BIG07_TransactionTypeCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N102_BillToName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N104_BillToIdentificationCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N301_BillToAddressInformation", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N401_BillToCityName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N402_BillToStateOrProvinceCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N403_BillToPostalCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N102_RemitToName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N104_RemitToIdentificationCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N301_RemitToAddressInformation", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N401_RemitToCityName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N402_RemitToStateOrProvinceCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N403_RemitToPostalCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N102_ShipToName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N104_ShipToIdentificationCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N301_ShipToAddressInformation", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N401_ShipToCityName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N402_ShipToStateOrProvinceCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N403_ShipToPostalCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N102_ShipFromName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N104_ShipFromIdentificationCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N301_ShipFromAddressInformation", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N401_ShipFromCityName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N402_ShipFromStateOrProvinceCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N403_ShipFromPostalCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N102_VendorName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N104_VendorIdentificationCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N301_VendorAddressInformation", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N401_VendorCityName", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N402_VendorStateOrProvinceCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@N403_VendorPostalCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@REF02_StoreNumber", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@REF02_VendorOrderNumber", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ITD01_TermsTypeCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ITD02_TermsBasisDateCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ITD03_TermsDiscountPercent", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ITD05_TermsDiscountDaysDue", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ITD07_TermsNetDays", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ITD12_Description", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@DTM02_ShippedDate", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@FOB01_ShipmentMethodOfPayment", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@TDS01_TotalAmount", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@CAD05_CarrierRouting", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@SAC01_AllowanceOrChargeIndicator", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@SAC02_ServicePromotionAllowanceOrChargeCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@SAC05_Amount", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@SAC12_AllowanceOrChargeMethodOfHandlingCode", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@SAC15_Description", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ISS01_NumberOfUnitsShipped", "")
oDaHeader.InsertCommand.Parameters.AddWithValue("@ISS02_UnitOrBasisForMeasurementCode", "")
nHeaderKey = oDaHeader.InsertCommand.ExecuteScalar()
ElseIf sSegmentID = "BIG" Then ' Beginning Segment for Invoice
sSql = "UPDATE [TS810_Header] SET BIG01_InvoiceDate = @BIG01_InvoiceDate, BIG02_InvoiceNumber = @BIG02_InvoiceNumber, " _
& "BIG03_PurchaseOrderDate = @BIG03_PurchaseOrderDate, BIG04_PurchaseOrderNumber = @BIG04_PurchaseOrderNumber, " _
& "BIG07_TransactionTypeCode = @BIG07_TransactionTypeCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@BIG01_InvoiceDate", oSegment.DataElementValue(1)) ' Date (373)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@BIG02_InvoiceNumber", oSegment.DataElementValue(2)) ' Invoice Number (76)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@BIG03_PurchaseOrderDate", oSegment.DataElementValue(3)) ' Date (373)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@BIG04_PurchaseOrderNumber", oSegment.DataElementValue(4)) ' Purchase Order Number (324)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@BIG07_TransactionTypeCode", oSegment.DataElementValue(7)) ' Transaction Type Code (640)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "ITD" Then ' Terms of Sale/Deferred Terms of Sale
sSql = "UPDATE [TS810_Header] SET ITD01_TermsTypeCode = @ITD01_TermsTypeCode, ITD02_TermsBasisDateCode = @ITD02_TermsBasisDateCode, " _
& "ITD03_TermsDiscountPercent = @ITD03_TermsDiscountPercent, ITD05_TermsDiscountDaysDue = @ITD05_TermsDiscountDaysDue, " _
& "ITD07_TermsNetDays = @ITD07_TermsNetDays, ITD12_Description = @ITD12_Description " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ITD01_TermsTypeCode", oSegment.DataElementValue(1)) ' Terms Type Code (336)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ITD02_TermsBasisDateCode", oSegment.DataElementValue(2)) ' Terms Basis Date Code (333)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ITD03_TermsDiscountPercent", oSegment.DataElementValue(3)) ' Terms Discount Percent (338)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ITD05_TermsDiscountDaysDue", oSegment.DataElementValue(5)) ' Terms Discount Days Due (351)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ITD07_TermsNetDays", oSegment.DataElementValue(7)) ' Terms Net Days (386)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ITD12_Description", oSegment.DataElementValue(12)) ' Description (352)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "DTM" Then ' Date/Time Reference
sSql = "UPDATE [TS810_Header] SET DTM02_ShippedDate = @DTM02_ShippedDate " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@DTM02_ShippedDate", oSegment.DataElementValue(2)) ' Date (373)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "FOB" Then ' F.O.B. Related Instructions
sSql = "UPDATE [TS810_Header] SET FOB01_ShipmentMethodOfPayment = @FOB01_ShipmentMethodOfPayment " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@FOB01_ShipmentMethodOfPayment", oSegment.DataElementValue(1)) ' Shipment Method of Payment (146)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If ' sSegmentID
ElseIf sLoopSection = "N1" Then
If sSegmentID = "N1" Then
sN1Entity = oSegment.DataElementValue(1) ' Entity Identifier Code (98)
End If
If sN1Entity = "BT" Then 'BILL TO
If sSegmentID = "N1" Then ' Name
sSql = "UPDATE [TS810_Header] SET N102_BillToName = @N102_BillToName, N104_BillToIdentificationCode = @N104_BillToIdentificationCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N102_BillToName", oSegment.DataElementValue(2)) ' Name (93)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N104_BillToIdentificationCode", oSegment.DataElementValue(4)) ' Identification Code (67)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N3" Then ' Address Information
sSql = "UPDATE [TS810_Header] SET N301_BillToAddressInformation = @N301_BillToAddressInformation " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N301_BillToAddressInformation", oSegment.DataElementValue(1)) ' Address Information (166)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N4" Then ' Geographic Location
sSql = "UPDATE [TS810_Header] SET N401_BillToCityName = @N401_BillToCityName, N402_BillToStateOrProvinceCode = @N402_BillToStateOrProvinceCode, " _
& "N403_BillToPostalCode = @N403_BillToPostalCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N401_BillToCityName", oSegment.DataElementValue(1)) ' City Name (19)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N402_BillToStateOrProvinceCode", oSegment.DataElementValue(2)) ' State or Province Code (156)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N403_BillToPostalCode", oSegment.DataElementValue(3)) ' Postal Code (116)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "REF" Then ' Reference Identification
sQlfr = oSegment.DataElementValue(1)
If sQlfr = "ST" Then
sSql = "UPDATE [TS810_Header] SET REF02_StoreNumber = @REF02_StoreNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_StoreNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sQlfr = "VN" Then
sSql = "UPDATE [TS810_Header] SET REF02_VendorOrderNumber = @REF02_VendorOrderNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_VendorOrderNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If
End If ' sSegmentID
ElseIf sN1Entity = "RE" Then 'REMIT TO
If sSegmentID = "N1" Then ' Name
sSql = "UPDATE [TS810_Header] SET N102_RemitToName = @N102_RemitToName, N104_RemitToIdentificationCode = @N104_RemitToIdentificationCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N102_RemitToName", oSegment.DataElementValue(2)) ' Name (93)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N104_RemitToIdentificationCode", oSegment.DataElementValue(4)) ' Identification Code (67)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N3" Then ' Address Information
sSql = "UPDATE [TS810_Header] SET N301_RemitToAddressInformation = @N301_RemitToAddressInformation " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N301_RemitToAddressInformation", oSegment.DataElementValue(1)) ' Address Information (166)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N4" Then ' Geographic Location
sSql = "UPDATE [TS810_Header] SET N401_RemitToCityName = @N401_RemitToCityName, N402_RemitToStateOrProvinceCode = @N402_RemitToStateOrProvinceCode, " _
& "N403_RemitToPostalCode = @N403_RemitToPostalCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N401_RemitToCityName", oSegment.DataElementValue(1)) ' City Name (19)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N402_RemitToStateOrProvinceCode", oSegment.DataElementValue(2)) ' State or Province Code (156)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N403_RemitToPostalCode", oSegment.DataElementValue(3)) ' Postal Code (116)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "REF" Then ' Reference Identification
sQlfr = oSegment.DataElementValue(1)
If sQlfr = "ST" Then
sSql = "UPDATE [TS810_Header] SET REF02_StoreNumber = @REF02_StoreNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_StoreNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sQlfr = "VN" Then
sSql = "UPDATE [TS810_Header] SET REF02_VendorOrderNumber = @REF02_VendorOrderNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_VendorOrderNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If
End If ' sSegmentID
ElseIf sN1Entity = "SF" Then 'SHIP FROM
If sSegmentID = "N1" Then ' Name
sSql = "UPDATE [TS810_Header] SET N102_ShipFromName = @N102_ShipFromName, N104_ShipFromIdentificationCode = @N104_ShipFromIdentificationCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N102_ShipFromName", oSegment.DataElementValue(2)) ' Name (93)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N104_ShipFromIdentificationCode", oSegment.DataElementValue(4)) ' Identification Code (67)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N3" Then ' Address Information
sSql = "UPDATE [TS810_Header] SET N301_ShipFromAddressInformation = @N301_ShipFromAddressInformation " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N301_ShipFromAddressInformation", oSegment.DataElementValue(1)) ' Address Information (166)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N4" Then ' Geographic Location
sSql = "UPDATE [TS810_Header] SET N401_ShipFromCityName = @N401_ShipFromCityName, N402_ShipFromStateOrProvinceCode = @N402_ShipFromStateOrProvinceCode, " _
& "N403_ShipFromPostalCode = @N403_ShipFromPostalCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N401_ShipFromCityName", oSegment.DataElementValue(1)) ' City Name (19)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N402_ShipFromStateOrProvinceCode", oSegment.DataElementValue(2)) ' State or Province Code (156)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N403_ShipFromPostalCode", oSegment.DataElementValue(3)) ' Postal Code (116)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "REF" Then ' Reference Identification
sQlfr = oSegment.DataElementValue(1)
If sQlfr = "ST" Then
sSql = "UPDATE [TS810_Header] SET REF02_StoreNumber = @REF02_StoreNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_StoreNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sQlfr = "VN" Then
sSql = "UPDATE [TS810_Header] SET REF02_VendorOrderNumber = @REF02_VendorOrderNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_VendorOrderNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If
End If ' sSegmentID
ElseIf sN1Entity = "ST" Then 'SHIP TO
If sSegmentID = "N1" Then ' Name
sSql = "UPDATE [TS810_Header] SET N102_ShipToName = @N102_ShipToName, N104_ShipToIdentificationCode = @N104_ShipToIdentificationCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N102_ShipToName", oSegment.DataElementValue(2)) ' Name (93)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N104_ShipToIdentificationCode", oSegment.DataElementValue(4)) ' Identification Code (67)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N3" Then ' Address Information
sSql = "UPDATE [TS810_Header] SET N301_ShipToAddressInformation = @N301_ShipToAddressInformation " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N301_ShipToAddressInformation", oSegment.DataElementValue(1)) ' Address Information (166)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N4" Then ' Geographic Location
sSql = "UPDATE [TS810_Header] SET N401_ShipToCityName = @N401_ShipToCityName, N402_ShipToStateOrProvinceCode = @N402_ShipToStateOrProvinceCode, " _
& "N403_ShipToPostalCode = @N403_ShipToPostalCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N401_ShipToCityName", oSegment.DataElementValue(1)) ' City Name (19)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N402_ShipToStateOrProvinceCode", oSegment.DataElementValue(2)) ' State or Province Code (156)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N403_ShipToPostalCode", oSegment.DataElementValue(3)) ' Postal Code (116)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "REF" Then ' Reference Identification
sQlfr = oSegment.DataElementValue(1)
If sQlfr = "ST" Then
sSql = "UPDATE [TS810_Header] SET REF02_StoreNumber = @REF02_StoreNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_StoreNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sQlfr = "VN" Then
sSql = "UPDATE [TS810_Header] SET REF02_VendorOrderNumber = @REF02_VendorOrderNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_VendorOrderNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If
End If ' sSegmentID
ElseIf sN1Entity = "VN" Then 'VENDOR
If sSegmentID = "N1" Then ' Name
sSql = "UPDATE [TS810_Header] SET N102_VendorName = @N102_VendorName, N104_VendorIdentificationCode = @N104_VendorIdentificationCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N102_VendorName", oSegment.DataElementValue(2)) ' Name (93)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N104_VendorIdentificationCode", oSegment.DataElementValue(4)) ' Identification Code (67)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N3" Then ' Address Information
sSql = "UPDATE [TS810_Header] SET N301_VendorAddressInformation = @N301_VendorAddressInformation " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N301_VendorAddressInformation", oSegment.DataElementValue(1)) ' Address Information (166)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "N4" Then ' Geographic Location
sSql = "UPDATE [TS810_Header] SET N401_VendorCityName = @N401_VendorCityName, N402_VendorStateOrProvinceCode = @N402_VendorStateOrProvinceCode, " _
& "N403_VendorPostalCode = @N403_VendorPostalCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N401_VendorCityName", oSegment.DataElementValue(1)) ' City Name (19)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N402_VendorStateOrProvinceCode", oSegment.DataElementValue(2)) ' State or Province Code (156)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@N403_VendorPostalCode", oSegment.DataElementValue(3)) ' Postal Code (116)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "REF" Then ' Reference Identification
sQlfr = oSegment.DataElementValue(1)
If sQlfr = "ST" Then
sSql = "UPDATE [TS810_Header] SET REF02_StoreNumber = @REF02_StoreNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_StoreNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sQlfr = "VN" Then
sSql = "UPDATE [TS810_Header] SET REF02_VendorOrderNumber = @REF02_VendorOrderNumber " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@REF02_VendorOrderNumber", oSegment.DataElementValue(2)) ' Reference Identification (127)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If
End If ' sSegmentID
End If
End If ' sLoopSection
ElseIf nArea = 2 Then
' Data segments in area 2 are processed here.
If sLoopSection = "" Then
' Nothing to do.
ElseIf sLoopSection = "IT1" Then
If sSegmentID = "IT1" Then ' Baseline Item Data (Invoice)
sSql = "INSERT INTO [TS810_Detail] (HeaderKey, IT102_QuantityInvoiced, IT103_UnitOrBasisForMeasurementCode, " _
& "IT104_UnitPrice, IT106_ProductServiceIdQualifier, IT107_ProductServiceId, PID05_Description, " _
& "SAC01_AllowanceOrChargeIndicator, SAC02_ServicePromotionAllowanceOrChargeCode, SAC05_Amount, " _
& "SAC12_AllowanceOrChargeMethodOfHandlingCode, SAC15_Description) " _
& "values " _
& "(@HeaderKey, @IT102_QuantityInvoiced, @IT103_UnitOrBasisForMeasurementCode, " _
& "@IT104_UnitPrice, @IT106_ProductServiceIdQualifier, @IT107_ProductServiceId, @PID05_Description, " _
& "@SAC01_AllowanceOrChargeIndicator, @SAC02_ServicePromotionAllowanceOrChargeCode, @SAC05_Amount, " _
& "@SAC12_AllowanceOrChargeMethodOfHandlingCode, @SAC15_Description); " _
& "SELECT scope_identity()"
oDaDetail.InsertCommand = New SqlCommand(sSql, oConnection)
oDaDetail.InsertCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaDetail.InsertCommand.Parameters.AddWithValue("@IT102_QuantityInvoiced", oSegment.DataElementValue(2)) ' Quantity Invoiced (358)
oDaDetail.InsertCommand.Parameters.AddWithValue("@IT103_UnitOrBasisForMeasurementCode", oSegment.DataElementValue(3)) ' Unit or Basis for Measurement Code (355)
oDaDetail.InsertCommand.Parameters.AddWithValue("@IT104_UnitPrice", oSegment.DataElementValue(4)) ' Unit Price (212)
oDaDetail.InsertCommand.Parameters.AddWithValue("@IT106_ProductServiceIdQualifier", oSegment.DataElementValue(6)) ' Product/Service ID Qualifier (235)
oDaDetail.InsertCommand.Parameters.AddWithValue("@IT107_ProductServiceId", oSegment.DataElementValue(7)) ' Product/Service ID (234)
oDaDetail.InsertCommand.Parameters.AddWithValue("@PID05_Description", "")
oDaDetail.InsertCommand.Parameters.AddWithValue("@SAC01_AllowanceOrChargeIndicator", "")
oDaDetail.InsertCommand.Parameters.AddWithValue("@SAC02_ServicePromotionAllowanceOrChargeCode", "")
oDaDetail.InsertCommand.Parameters.AddWithValue("@SAC05_Amount", "")
oDaDetail.InsertCommand.Parameters.AddWithValue("@SAC12_AllowanceOrChargeMethodOfHandlingCode", "")
oDaDetail.InsertCommand.Parameters.AddWithValue("@SAC15_Description", "")
nDetailKey = oDaDetail.InsertCommand.ExecuteScalar()
End If ' sSegmentID
ElseIf sLoopSection = "IT1;PID" Then
If sSegmentID = "PID" Then ' Product/Item Description
sSql = "UPDATE [TS810_Detail] SET PID05_Description = @PID05_Description " _
& "where DetailKey = @DetailKey"
oDaDetail.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@PID05_Description", oSegment.DataElementValue(5)) ' Description (352)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@DetailKey", nDetailKey)
oDaDetail.UpdateCommand.ExecuteNonQuery()
End If ' sSegmentID
ElseIf sLoopSection = "IT1;SAC" Then
If sSegmentID = "SAC" Then ' Service, Promotion, Allowance, or Charge Information
sSql = "UPDATE [TS810_Detail] SET SAC01_AllowanceOrChargeIndicator = @SAC01_AllowanceOrChargeIndicator, " _
& "SAC02_ServicePromotionAllowanceOrChargeCode = @SAC02_ServicePromotionAllowanceOrChargeCode, SAC05_Amount = @SAC05_Amount, " _
& "SAC12_AllowanceOrChargeMethodOfHandlingCode = @SAC12_AllowanceOrChargeMethodOfHandlingCode, SAC15_Description = @SAC15_Description " _
& "where DetailKey = @DetailKey"
oDaDetail.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@SAC01_AllowanceOrChargeIndicator", oSegment.DataElementValue(1)) ' Allowance or Charge Indicator (248)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@SAC02_ServicePromotionAllowanceOrChargeCode", oSegment.DataElementValue(2)) ' Service, Promotion, Allowance, or Charge Code (1300)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@SAC05_Amount", oSegment.DataElementValue(5)) ' Amount (610)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@SAC12_AllowanceOrChargeMethodOfHandlingCode", oSegment.DataElementValue(12)) ' Allowance or Charge Method of Handling Code (331)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@SAC15_Description", oSegment.DataElementValue(15)) ' Description (352)
oDaDetail.UpdateCommand.Parameters.AddWithValue("@DetailKey", nDetailKey)
oDaDetail.UpdateCommand.ExecuteNonQuery()
End If ' sSegmentID
End If ' sLoopSection = "IT1;SAC"
ElseIf nArea = 3 Then
' Data segments in area 3 are processed here.
If sLoopSection = "" Then
If sSegmentID = "TDS" Then ' Total Monetary Value Summary
sSql = "UPDATE [TS810_Header] SET TDS01_TotalAmount = @TDS01_TotalAmount " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@TDS01_TotalAmount", oSegment.DataElementValue(1)) ' Amount (610)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "CAD" Then ' Carrier Detail
sSql = "UPDATE [TS810_Header] SET CAD05_CarrierRouting = @CAD05_CarrierRouting " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@CAD05_CarrierRouting", oSegment.DataElementValue(5)) ' Transportation Method/Type Code (91)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
ElseIf sSegmentID = "SE" Then ' Transaction Set Trailer
sValue = oSegment.DataElementValue(1) ' Number of Included Segments (96)
sValue = oSegment.DataElementValue(2) ' Transaction Set Control Number (329)
End If ' sSegmentID
ElseIf sLoopSection = "SAC" Then
If sSegmentID = "SAC" Then ' Service, Promotion, Allowance, or Charge Information
sSql = "UPDATE [TS810_Header] SET SAC01_AllowanceOrChargeIndicator = @SAC01_AllowanceOrChargeIndicator, " _
& "SAC02_ServicePromotionAllowanceOrChargeCode = @SAC02_ServicePromotionAllowanceOrChargeCode, SAC05_Amount = @SAC05_Amount, " _
& "SAC12_AllowanceOrChargeMethodOfHandlingCode = @SAC12_AllowanceOrChargeMethodOfHandlingCode, SAC15_Description = @SAC15_Description " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@SAC01_AllowanceOrChargeIndicator", oSegment.DataElementValue(1)) ' Allowance or Charge Indicator (248)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@SAC02_ServicePromotionAllowanceOrChargeCode", oSegment.DataElementValue(2)) ' Service, Promotion, Allowance, or Charge Code (1300)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@SAC05_Amount", oSegment.DataElementValue(5)) ' Amount (610)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@SAC12_AllowanceOrChargeMethodOfHandlingCode", oSegment.DataElementValue(12)) ' Allowance or Charge Method of Handling Code (331)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@SAC15_Description", oSegment.DataElementValue(15)) ' Description (352)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If ' sSegmentID
ElseIf sLoopSection = "ISS" Then
If sSegmentID = "ISS" Then ' Invoice Shipment Summary
sSql = "UPDATE [TS810_Header] SET ISS01_NumberOfUnitsShipped = @ISS01_NumberOfUnitsShipped, " _
& "ISS02_UnitOrBasisForMeasurementCode = @ISS02_UnitOrBasisForMeasurementCode " _
& "where HeaderKey = @HeaderKey"
oDaHeader.UpdateCommand = New SqlCommand(sSql, oConnection)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ISS01_NumberOfUnitsShipped", oSegment.DataElementValue(1)) ' Number of Units Shipped (382)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@ISS02_UnitOrBasisForMeasurementCode", oSegment.DataElementValue(2)) ' Unit or Basis for Measurement Code (355)
oDaHeader.UpdateCommand.Parameters.AddWithValue("@HeaderKey", nHeaderKey)
oDaHeader.UpdateCommand.ExecuteNonQuery()
End If ' sSegmentID
End If ' sLoopSection
End If ' nArea
' Get the next data segment in the document.
ediDataSegment.Set(oSegment, oSegment.Next)
Loop ' Not oSegment Is Nothing
oDaDetail.Dispose()
oDaHeader.Dispose()
oDaFuncGroup.Dispose()
oDaInterchange.Dispose()
oConnection.Close()
oConnection.Dispose()
End Sub