77 lines
2.0 KiB
Plaintext
77 lines
2.0 KiB
Plaintext
' Version Date: 05.01.2021
|
|
Function SerialNumberMatches(ArticleNumber, SerialNumber)
|
|
HasError = False
|
|
|
|
SQL = ""
|
|
SQL = SQL & "(C002 = '" & ArticleNumber & "')"
|
|
' Nach Mandant und Wirtschaftsjahr filtern
|
|
SQL = SQL & SQLQuery_BasicWhere
|
|
|
|
Set ResultMainArticle = CWLStart.CurrentCompany.SearchRecord(TABLE_21, SQL)
|
|
|
|
If ResultMainArticle.RowCount > 0 Then
|
|
SerialNumberPattern = ResultMainArticle.Value("C222")
|
|
End If
|
|
|
|
If DEBUG_ON = True Then
|
|
AddDebugLine "Preparing Regex Check. " & vbNewline
|
|
AddDebugLine "SerialNumber: " & SerialNumber
|
|
AddDebugLine "SerialNumberPattern: " & SerialNumberPattern
|
|
AddDebugLine "ArticleNumber: " & ArticleNumber
|
|
|
|
ShowDebugBox "SerialNumberMatches"
|
|
End If
|
|
|
|
If Len(SerialNumberPattern) > 0 And Len(SerialNumber) > 0 Then
|
|
|
|
Set SerialNumberRegex = New Regexp
|
|
SerialNumberRegex.Pattern = SerialNumberPattern
|
|
SerialNumberRegex.IgnoreCase = False
|
|
SerialNumberRegex.Global = False
|
|
|
|
Set RegexMatch = SerialNumberRegex.Execute(SerialNumber)
|
|
|
|
If RegexMatch.Count > 0 Then
|
|
|
|
Set FirstMatch = RegexMatch.Item(0)
|
|
|
|
If DEBUG_ON = True Then
|
|
AddDebugLine "Checked Serialnumber against Regex. (1/2)" & vbNewline
|
|
AddDebugLine "FirstMatch.Length: " & FirstMatch.Length
|
|
AddDebugLine "Len(SerialNumber): " & Len(SerialNumber)
|
|
AddDebugLine "FirstMatch.FirstIndex: " & FirstMatch.FirstIndex
|
|
|
|
ShowDebugBox "SerialNumberMatches"
|
|
End If
|
|
|
|
If FirstMatch.Length = Len(SerialNumber) And FirstMatch.FirstIndex = 0 Then
|
|
HasError = False
|
|
Else
|
|
HasError = True
|
|
End If
|
|
|
|
If DEBUG_ON = True Then
|
|
AddDebugLine "Checked Serialnumber against Regex. (2/2)" & vbNewline
|
|
AddDebugLine "Result: " & SerialNumberRegex.Test(SerialNumber)
|
|
AddDebugLine "Serialnumber: " & SerialNumber
|
|
AddDebugLine "Regex: " & SerialNumberPattern
|
|
|
|
ShowDebugBox "SerialNumberMatches"
|
|
End If
|
|
|
|
Else
|
|
HasError = True
|
|
End If
|
|
Else
|
|
HasError = True
|
|
End If
|
|
|
|
If HasError = True Then
|
|
SerialNumberMatches = False
|
|
Else
|
|
SerialNumberMatches = True
|
|
End If
|
|
End Function
|
|
|
|
|