Thank you! Same concept I share what I came up with,
If args.FunctionName.XFEqualsIgnoreCase("UavailableModNumberCheck") Then
Dim FromModNumber As Integer
Dim ToModNumber As Integer
'Validation that they entered numbers in, then converting to an integer.
If args.NameValuePairs("From") = String.Empty Or args.NameValuePairs("To") = String.Empty Then
Return "None:Name(From/To cannot be blank)"
Else
FromModNumber = Integer.Parse(args.NameValuePairs("From"))
ToModNumber = Integer.Parse(args.NameValuePairs("To"))
End If
'Validation of number entry
If FromModNumber < 1000 Or ToModNumber > 9999 Then
Return "Name(Mod Number entry must be between 1000-9999)"
Else If FromModNumber > ToModNumber Then
Return "Name(*From* Mod Number must be less than *To* Mod Number)"
Else If FromModNumber = ToModNumber Then
Return "Name(*From* Mod Number must not be the same as the *To* Mod Number)"
End If
Dim ModList As List(Of MemberInfo) = BRApi.Finance.Metadata.GetMembersUsingFilter(si, "Flow", "F#Flow.Base.Where(Name DoesNotContain Jay)", True)
Dim ModSplit As New List (Of String)
Dim ModNumbersList As New List (Of Integer)
Dim PDONumbersList As New List (Of String)
'Loop through modlist, put mod numbers into separate list and mod name in a separate list.
For Each FlowMod In ModList
ModSplit = StringHelper.SplitString(FlowMod.Member.Name, "_")
If ModSplit(2) >= FromModNumber And ModSplit(2) <= ToModNumber Then
'List if integers as mod number
ModNumbersList.Add(Integer.Parse(ModSplit(2)))
'List of mod name
PDONumbersList.Add(FlowMod.Member.Name)
'Brapi.ErrorLog.LogMessage(si, $"FlowMod {FlowMod.Member.Name}")
End If
Next
ModNumbersList.Sort()
Dim i As Integer = FromModNumber
Dim iToString As String = String.Empty
Dim ReturnString As String = "F#None:Name(Unavailable Mod numbers between " & FromModNumber & "-" & ToModNumber & ")"
While i <= ToModNumber
If ModNumbersList.Contains(i) Then
iToString = i.ToString
If i = iToString
For Each PDOName In PDONumbersList
If PDOName.Contains(iToString)
ReturnString = ReturnString & ", F#None:Name(" & PDOName & ")"
End If
Next
End If
Else
'Mod Number is open
End If
i = i + 1
End While
Return ReturnString