Hi Ravi,
for the Documentation of the DMN Editor, I will let my colleagues for Tooling advise.
in this case, it's trying to tell you that you have passed a null value to the abs() function as you know it's the result of the expression input.amount - amountFromDMN2
(it likely tried to use number variant first, then duration variants, but still null, hence it's reporting assuming duration).
How that occurred, it's a side effect of what I've described in my previous email.
For an analogy, if you invoke:
isParent( child, johnDoe )
or
isParent( johnDoe, child )
Which one is "the correct" one?
Hard to tell even for humans, it depends on the definition of the function.
For Invocable elements (a Decision Service, in this case) you may opt for a boxed invocation, as that corresponds to named-parameter-invocations, it would avoid this problem altogether.
Even though I personally use inline (positional) invocation a lot of the time, but that need to ensure the positional parameter is indeed the expected one.
Hope this clarifies further.
MM