Timas, Asfinag-Schnittstelle

This commit is contained in:
2023-10-09 13:51:02 +02:00
parent da98cbfc22
commit 15f61cbbea
9 changed files with 1299 additions and 1133 deletions

View File

@@ -15,15 +15,9 @@ Public Class frmAsfinag_NachrichtenVerabeitung
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim allowClose = False
' Dim DY_PFAD = "C:\Users\DEVELOPER1\Desktop\test\TEST\"
Dim ASFINAG_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Einarbeitung\"
Dim VERARBEITUNGS_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Einarbeitung\"
Dim ZIEL_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Ablage\"
Dim ERROR_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_ERROR\"
Dim PARTNERSYSTEM = "ASFINAG"
Dim SERVER_Path = ""
Dim SERVER_Path_TEST = ""
Dim FileType As String
Dim asfinag As New cAsfinag()
Dim Dateiname = ""
@@ -45,39 +39,27 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End Sub
Sub initPfade()
Me.SERVER_Path = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_In", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.SERVER_Path_TEST = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_In_Test", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.ASFINAG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("BEREITSTELLUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.VERARBEITUNGS_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("VERARBEITUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.ZIEL_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.ERROR_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If Not IO.Directory.Exists(VERARBEITUNGS_PFAD) Then IO.Directory.CreateDirectory(VERARBEITUNGS_PFAD)
If Not IO.Directory.Exists(ZIEL_PFAD) Then IO.Directory.CreateDirectory(ZIEL_PFAD)
If Not IO.Directory.Exists(ERROR_PFAD) Then IO.Directory.CreateDirectory(ERROR_PFAD)
'Me.BOX_VERSION = NCTSTR_Worker.cDY_Paramter.GET_PARAM_ByName("BOX_VERSION", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
End Sub
Private Sub frmDYNachrichtenVerarbeitung_Load(sender As Object, e As EventArgs) Handles Me.Load
initPfade()
lblTestsystem.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
asfinag.initImportPfade()
If FileType <> "" Then
Label2.Text &= " " & FileType.ToUpper
For Each d In System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
For Each d In System.IO.Directory.GetFiles(asfinag.VERARBEITUNG_PFAD)
Dim filename = frmStartOptions.cut_file(d)
If filename.ToLower.Contains(FileType) Then
Dim targetsystem As String = "nicht definiert"
If filename.Substring(0, 1) = "T" Then
targetsystem = "Test"
ElseIf filename.Substring(0, 1) = "L" Then
targetsystem = "Produktiv"
End If
ListBox3.Items.Add(filename)
End If
Me.Refresh()
Me.Refresh()
Next
End If
@@ -86,8 +68,18 @@ Public Class frmAsfinag_NachrichtenVerabeitung
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Enabled = False
Try
Dim stringLIst As New List(Of String)
Label9.Visible = True
Dim cnt = getNachrichtenDatenFromFTP()
Dim cnt = asfinag.getNachrichtenDatenFromFTP(stringLIst, FileType)
For Each s In stringLIst
Dim targetsystem As String = "nicht definiert"
If s.Substring(0, 1) = "T" Then
targetsystem = "Test"
ElseIf s.Substring(0, 1) = "L" Then
targetsystem = "Produktiv"
End If
ListBox3.Items.Add(s)
Next
Label9.Text = cnt & " Datensätze empfangen."
Catch ex As Exception
@@ -117,56 +109,6 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End Sub
Function getNachrichtenDatenFromFTP() As Integer
Dim cnt = 0
Try
Dim SERVERPath = ""
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
SERVERPath = Me.SERVER_Path '"\\ftps.verag.ag\FTP\MAVI\IN\"
Else
SERVERPath = Me.SERVER_Path_TEST '"\\ftps.verag.ag\FTP\MAVI\IN\"
End If
For Each f In IO.Directory.GetFiles(SERVER_Path)
Dim fi As New IO.FileInfo(f)
If fi.Name.ToLower.Contains(FileType) Then
If Not fi.Name.StartsWith(".") Then
Dim zielPfad = VERARBEITUNGS_PFAD & "\" & fi.Name
While IO.File.Exists(zielPfad)
zielPfad = VERARBEITUNGS_PFAD & "\" & Now.ToString("yyyyMMdd_HHmmss_") & fi.Name
End While
IO.File.Copy(f, zielPfad)
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
If IO.File.Exists(zielPfad) Then IO.File.Delete(f)
End If
Dim filename = frmStartOptions.cut_file((New FileInfo(zielPfad)).Name)
If filename.ToLower.Contains(FileType) Then
ListBox3.Items.Add(filename)
cnt += 1
End If
End If
End If
Next
Return cnt
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return cnt
End Function
Sub DatenEinlesen()
VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW
@@ -178,7 +120,7 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End If
For Each d In System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
For Each d In System.IO.Directory.GetFiles(asfinag.VERARBEITUNG_PFAD)
Try
Dim correctFile As Boolean = False
@@ -214,7 +156,7 @@ Public Class frmAsfinag_NachrichtenVerabeitung
ElseIf FileType = "clf" Then
If readAndSaveCLF(objFileRead, fi) Then
If asfinag.readAndSaveCLF(objFileRead, fi) Then
addDGVEinarbeitung(fi.Name, "OK")
found = True
Else
@@ -224,7 +166,7 @@ Public Class frmAsfinag_NachrichtenVerabeitung
ElseIf FileType = "ttr" Then
If readAndSaveTTR(objFileRead, fi) Then
If asfinag.readAndSaveTTR(objFileRead, fi) Then
addDGVEinarbeitung(fi.Name, "OK")
found = True
Else
@@ -236,12 +178,14 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End If
If found Then
If Not IO.Directory.Exists(ZIEL_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\") Then IO.Directory.CreateDirectory(ZIEL_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\")
frmStartOptions.moveFile(d, ZIEL_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\", VERARBEITUNGS_PFAD)
If Not IO.Directory.Exists(asfinag.ARCHIV_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\") Then IO.Directory.CreateDirectory(asfinag.ARCHIV_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\")
frmStartOptions.moveFile(d, asfinag.ARCHIV_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\", asfinag.VERARBEITUNG_PFAD)
cntDatenEingelesen += 1
Else
If Not found Then
frmStartOptions.moveFile(d, ERROR_PFAD, VERARBEITUNGS_PFAD) ' nciht gefunden, oder durch ERROR nicht eingearbt,.
If Not IO.Directory.Exists(asfinag.ERROR_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\") Then IO.Directory.CreateDirectory(asfinag.ERROR_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\")
frmStartOptions.moveFile(d, asfinag.ERROR_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\", asfinag.VERARBEITUNG_PFAD)
' nciht gefunden, oder durch ERROR nicht eingearbt,.
dsNichtErkannt += 1
End If
End If
@@ -276,357 +220,6 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End Sub
Public Function readAndSaveCLF(objFileRead As StreamReader, fi As FileInfo) As Boolean
Dim booHeaderVorhanden = False
Dim booPrüfziffernfehler = False
Dim booInTransaktion = False
Dim booTrailerVorhanden = False
Dim lngPKLine As Long = 0
Dim lngRecordCount As Long
Do While (objFileRead.Peek() > -1)
Dim strZeile = objFileRead.ReadLine()
lngRecordCount = lngRecordCount + 1
Select Case Mid(strZeile, 1, 2)
Case "10"
booHeaderVorhanden = True
Dim ext = CInt(fi.Extension.Remove(0, 1))
Dim clfHeader As New cAsfinag.CLFHeader(fi.Name.ToString, ext)
With clfHeader
.PKFileName = fi.Name
.recordType = Mid(strZeile, 1, 2)
.fileVersion = Mid(strZeile, 3, 2)
.indcator = Trim(Mid(strZeile, 9, 1))
.senderID = Trim(Mid(strZeile, 10, 6))
.receiverID = Trim(Mid(strZeile, 16, 6))
.fileCreationDate = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2))
.fileCreationTime = Now()
'.fileCreationTime = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2)) & " " & TimeSerial(Mid(strZeile, 30, 2), Mid(strZeile, 32, 2), Mid(strZeile, 34, 2))
.ISOCountryCode = Trim(Mid(strZeile, 62, 3))
.SAVE()
End With
Case "20"
' Meldung bei nicht vorhandenen Haeder.
If Not booHeaderVorhanden Then
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
objFileRead.Close()
Return False
End If
Dim clfBody As New cAsfinag.CLFBody(fi.Name, lngPKLine)
With clfBody
.PKFileName = fi.Name
lngPKLine = lngPKLine + 1
.RecordType = Trim(Mid(strZeile, 1, 2))
.fileVersion = Trim(Mid(strZeile, 3, 2))
.fileNumber = Trim(Mid(strZeile, 5, 3))
.cardNumber = Trim(Mid(strZeile, 9, 22))
.validTo = Trim(Mid(strZeile, 31, 4))
.OBUID = Trim(Mid(strZeile, 35, 18))
.vehicleLicensePlate = Trim(Mid(strZeile, 53, 10))
.nationality = Trim(Mid(strZeile, 63, 3))
.vehicleCategory = Trim(Mid(strZeile, 66, 1))
.emissionCategory = Trim(Mid(strZeile, 67, 2))
.status = Trim(Mid(strZeile, 69, 2))
.contractDate = DateSerial(Mid(strZeile, 71, 4), Mid(strZeile, 75, 2), Mid(strZeile, 77, 2))
.SAVE()
End With
'CardNumber prüfen.
If (Right(clfBody.cardNumber, 1)) <> cAsfinag.fktMod10Prüfziffer(Left(clfBody.cardNumber, Len(clfBody.cardNumber) - 1)) Then
booPrüfziffernfehler = True
End If
'strSQL = "SELECT * FROM CLFArchiv WHERE (OBUID = N'" & Trim(Mid(strZeile, 37, 18)) & "')"
'rstCLFArchiv.Open strSQL, cnnASFINAG, adOpenStatic, adLockOptimistic, adCmdText
'With rstCLFArchiv
' If .EOF Then
' .AddNew
' !OBUID = Trim(Mid(strZeile, 37, 18))
' End If
' !FileName = strPKFileName
' !RecordType = Trim(Mid(strZeile, 1, 2))
' !RunNumber = Trim(Mid(strZeile, 3, 8))
' !CardNumber = Trim(Mid(strZeile, 11, 22))
' !ValidTo = Trim(Mid(strZeile, 33, 4))
' !KfzKennzeichen = Trim(Mid(strZeile, 55, 10))
' !Nationalität = Trim(Mid(strZeile, 65, 3))
' !Kategorie = Trim(Mid(strZeile, 68, 1))
' !Schadstoffklasse = Trim(Mid(strZeile, 69, 2))
' !Status = Trim(Mid(strZeile, 71, 2))
' !DatumVertragsabschluss = DateSerial(Mid(strZeile, 73, 4), Mid(strZeile, 77, 2), Mid(strZeile, 79, 2))
' .Update
' .Close
'End With
' Meldung bei Prüfziffernfehler.
If booPrüfziffernfehler Then
MsgBox("Prüfziffernfehler in Zeile " & CStr(lngRecordCount) & vbCrLf & "Datei kann nicht verarbeitet werden. " & vbNewLine & " " & fi.Name.ToString)
booInTransaktion = False
Return False
End If
Case "90"
' Meldung bei nicht vorhandenen Haeder.
If Not booHeaderVorhanden Then
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
objFileRead.Close()
Return False
End If
booTrailerVorhanden = True
Dim clfTrailer As New cAsfinag.CLFTrailer(fi.Name)
With clfTrailer
.PKFileName = fi.Name
.recordType = Trim(Mid(strZeile, 1, 2))
.fileVersion = Trim(Mid(strZeile, 3, 2))
.fileNumber = Trim(Mid(strZeile, 5, 4))
.recordCount = Trim(Mid(strZeile, 9, 7))
.SAVE()
End With
' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
If clfTrailer.recordCount <> (lngRecordCount) Then
MsgBox("Record Count: " & clfTrailer.recordCount & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
objFileRead.Close()
Return False
End If
' Meldung bei Prüfsummenfehler.
If booPrüfziffernfehler Then
MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
objFileRead.Close()
' MsgBox strPrompt, , strPKFileName
' ' Zurücksetzen der Transaktion.
'cnnASFINAG.RollbackTrans
' booInTransaktion = False
End If
Case Else
' Andere RecordNumber überlesen.
End Select
Loop
objFileRead.Close()
Return True
End Function
Public Function readAndSaveTTR(objFileRead As StreamReader, fi As FileInfo) As Boolean
Dim booHeaderVorhanden = False
Dim booPrüfziffernfehler = False
Dim booInTransaktion = False
Dim booTrailerVorhanden = False
Dim dblCheckSumQuantity As Double
Dim curCheckSumAmount As Double
Dim lngPKLine As Long = 0
Dim lngRecordCount As Long
Do While (objFileRead.Peek() > -1)
Dim strZeile = objFileRead.ReadLine()
lngRecordCount = lngRecordCount + 1
Select Case Mid(strZeile, 1, 2)
Case "10"
booHeaderVorhanden = True
Dim ext = CInt(fi.Extension.Remove(0, 1))
Dim ttrHeader As New cAsfinag.TTRHeader(fi.Name.ToString, ext)
With ttrHeader
.PKFileName = fi.Name
.recordType = Trim(Mid(strZeile, 1, 2))
.fileVersion = Trim(Mid(strZeile, 3, 2))
.senderID = Trim(Mid(strZeile, 5, 6))
.receiverID = Trim(Mid(strZeile, 11, 6))
.fileCreationDate = DateSerial(Mid(strZeile, 17, 4), Mid(strZeile, 21, 2), Mid(strZeile, 23, 2))
.fileCreationTime = DateSerial(Mid(strZeile, 17, 4), Mid(strZeile, 21, 2), Mid(strZeile, 23, 2)) & " " & TimeSerial(Mid(strZeile, 25, 2), Mid(strZeile, 27, 2), 0)
.fileNumber = Trim(Mid(strZeile, 29, 4))
.currencyCode = Trim(Mid(strZeile, 33, 3))
.description = IIf(Trim(Mid(strZeile, 36, 25)) = "", Nothing, Trim(Mid(strZeile, 36, 25)))
.ISOCountryCode = Trim(Mid(strZeile, 61, 3))
.SAVE()
End With
Case "20"
' Meldung bei nicht vorhandenen Haeder.
If Not booHeaderVorhanden Then
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
objFileRead.Close()
Return False
End If
Dim ttrBody As New cAsfinag.TTRBody(fi.Name, lngPKLine)
With ttrBody
.PKFileName = fi.Name
.recordType = Trim(Mid(strZeile, 1, 2))
lngPKLine = lngPKLine + 1
.PKLine = lngPKLine
.fileVersion = Trim(Mid(strZeile, 3, 2))
.siteId = IIf(Trim(Mid(strZeile, 7, 15)) = "", Nothing, Trim(Mid(strZeile, 7, 15)))
.fileNumber = Trim(Mid(strZeile, 22, 4))
.fileCreationDate = DateSerial(Mid(strZeile, 26, 4), Mid(strZeile, 30, 2), Mid(strZeile, 32, 2))
.deliveryNoteNumber = IIf(Trim(Mid(strZeile, 35, 8)) = "", Nothing, Trim(Mid(strZeile, 35, 8)))
.cardNumber = Trim(Mid(strZeile, 43, 22))
.deliveryDate = DateSerial(Mid(strZeile, 65, 4), Mid(strZeile, 69, 2), Mid(strZeile, 71, 2))
.deliveryTime = IIf(Trim(Mid(strZeile, 73, 4)) = "", Nothing, DateSerial(Mid(strZeile, 65, 4), Mid(strZeile, 69, 2), Mid(strZeile, 71, 2)) & " " & TimeSerial(Mid(strZeile, 73, 2), Mid(strZeile, 75, 2), 0))
.transactionType = Trim(Mid(strZeile, 77, 2))
.productCode = Trim(Mid(strZeile, 79, 4))
.km = IIf(Trim(Mid(strZeile, 83, 7)) = "", Nothing, Trim(Mid(strZeile, 83, 7)))
.driverId = IIf(Trim(Mid(strZeile, 90, 4)) = "", Nothing, Trim(Mid(strZeile, 90, 4)))
.productQuantity = Trim(Mid(strZeile, 94, 6)) / 100
.amountInclVAT = Trim(Mid(strZeile, 100, 10)) / 100
.VATrate = Trim(Mid(strZeile, 155, 4)) / 100
.VATamount = Trim(Mid(strZeile, 159, 10)) / 100
.OBUID = Trim(Mid(strZeile, 130, 25))
.receiptNumber = Trim(Mid(strZeile, 110, 20))
' Bei den Checksummen wird unabhängig vom TransactionType immer der positive Betrag aufsummiert.
dblCheckSumQuantity = dblCheckSumQuantity + ttrBody.productQuantity
curCheckSumAmount = curCheckSumAmount + ttrBody.amountInclVAT
' Bei TransactionType 03 .......Credit-Transaktion (negativ)
If ttrBody.transactionType = 3 Then
' Vorzeichenänderung
ttrBody.km = 0 - ttrBody.km
ttrBody.productQuantity = 0 - ttrBody.productQuantity
ttrBody.amountInclVAT = 0 - ttrBody.amountInclVAT
ttrBody.VATamount = 0 - ttrBody.VATamount
End If
' CardNumber prüfen.
If (Right(ttrBody.cardNumber, 1)) <> (fktMod10Prüfziffer(Left(ttrBody.cardNumber, Len(ttrBody.cardNumber) - 1))) Then
booPrüfziffernfehler = True
End If
.SAVE()
End With
'strSQL = "SELECT * FROM CLFArchiv WHERE (OBUID = N'" & Trim(Mid(strZeile, 37, 18)) & "')"
'rstCLFArchiv.Open strSQL, cnnASFINAG, adOpenStatic, adLockOptimistic, adCmdText
'With rstCLFArchiv
' If .EOF Then
' .AddNew
' !OBUID = Trim(Mid(strZeile, 37, 18))
' End If
' !FileName = strPKFileName
' !RecordType = Trim(Mid(strZeile, 1, 2))
' !RunNumber = Trim(Mid(strZeile, 3, 8))
' !CardNumber = Trim(Mid(strZeile, 11, 22))
' !ValidTo = Trim(Mid(strZeile, 33, 4))
' !KfzKennzeichen = Trim(Mid(strZeile, 55, 10))
' !Nationalität = Trim(Mid(strZeile, 65, 3))
' !Kategorie = Trim(Mid(strZeile, 68, 1))
' !Schadstoffklasse = Trim(Mid(strZeile, 69, 2))
' !Status = Trim(Mid(strZeile, 71, 2))
' !DatumVertragsabschluss = DateSerial(Mid(strZeile, 73, 4), Mid(strZeile, 77, 2), Mid(strZeile, 79, 2))
' .Update
' .Close
'End With
' Meldung bei Prüfziffernfehler.
If booPrüfziffernfehler Then
MsgBox("Prüfziffernfehler in Zeile " & CStr(lngRecordCount) & vbCrLf & "Datei kann nicht verarbeitet werden. " & vbNewLine & " " & fi.Name.ToString)
booInTransaktion = False
objFileRead.Close()
Return False
End If
Case "90"
' Meldung bei nicht vorhandenen Haeder.
If Not booHeaderVorhanden Then
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
objFileRead.Close()
Return False
End If
booTrailerVorhanden = True
Dim ttrTrailer As New cAsfinag.TTRTrailer(fi.Name)
With ttrTrailer
.PKFileName = fi.Name
.recordType = Trim(Mid(strZeile, 1, 2))
.fileVersion = Trim(Mid(strZeile, 3, 2))
'.fileNumber = Trim(Mid(strZeile, 5, 4))
.recordCount = Trim(Mid(strZeile, 5, 9))
.checksumProductQuantity = Trim(Mid(strZeile, 14, 15)) / 100
.checksumAmounntInclVAT = Trim(Mid(strZeile, 29, 15)) / 100
.SAVE()
Dim strPrompt
If ttrTrailer.recordCount <> lngRecordCount Then
strPrompt = strPrompt & "Record Count: " & ttrTrailer.recordCount & vbCrLf &
"Prüfsumme: " & lngRecordCount & vbCrLf
End If
' Prüfsumme Menge.
If ttrTrailer.checksumProductQuantity <> dblCheckSumQuantity Then
strPrompt = strPrompt & "Check Sum Quantity: " & ttrTrailer.checksumProductQuantity & vbCrLf &
"Prüfsumme: " & dblCheckSumQuantity & vbCrLf
End If
' Prüfsumme Betrag.
If ttrTrailer.checksumAmounntInclVAT <> Math.Round(curCheckSumAmount, 2) Then
strPrompt = strPrompt & "Check Sum Amount: " & ttrTrailer.checksumAmounntInclVAT & vbCrLf &
"Prüfsumme: " & curCheckSumAmount & vbCrLf
End If
If strPrompt <> "" Then
MsgBox(strPrompt)
objFileRead.Close()
Return False
End If
End With
' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
If ttrTrailer.recordCount <> (lngRecordCount) Then
MsgBox("Record Count: " & ttrTrailer.recordCount & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
objFileRead.Close()
Return False
End If
' Meldung bei Prüfsummenfehler.
If booPrüfziffernfehler Then
MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
objFileRead.Close()
Return False
' MsgBox strPrompt, , strPKFileName
' ' Zurücksetzen der Transaktion.
'cnnASFINAG.RollbackTrans
' booInTransaktion = False
End If
Case Else
' Andere RecordNumber überlesen.
End Select
Loop
objFileRead.Close()
Return True
End Function
Private Sub dgvEinarbeitung_SelectionChanged(sender As Object, e As EventArgs) Handles dgvEinarbeitung.SelectionChanged
dgvEinarbeitung.ClearSelection()