Hi!
One possible approach is to configure 'Order by' on your 'List rows present in a table', indicating its output shall present rows ordered by your target column, in descending order
So you just need to add an ODATA expression for that purpose
TargetInternalColumnName desc
This way you ensure the higher index is on the top of it, then you just need to read this first row by means of first() based expression
Let's assume the highest one is NDA20-009, and you store it in a variable called 'myHiguestIndex' of type string
You can read the index by using the following expression:
first(split(variables('myHighestIndex'),'-'))?['TargetInternalColumnName']
So in the example below, the TargetInternalColumnName I used was 'MANUFACTURER'

...and, I believe you can increment it by one by means of the following expression
add(int(last(split(variables('myHighestIndex'),'-'))),1)
Hope this helps