BusinessObjects Board

empty response when query returns 0 rows - Bug?

Hi,

I’ve found some strange behavior of BODS and I’m not quite sure if this is really a bug/incorrect behavior or not so I want your opinions about it.
I would open a SAP ticket when most of you agree - so please comment.

Imagine a RT-Job where, for whatever reason, your query for creating the response structure returns 0 rows (most of time because of inner-joins returning 0 rows :wink: - see "
In this case, BO will create an empty response, just with the root element (see “soupUI.png”).

From my perspective, this is an invalid response as the response can define mandatory fields.
I would expect a soapException in this case.

Background:
I have a RT-Job which calls another RT-Job provided by BODS, so I check AL_ERROR_NUM only if there was an error.
If AL_ERROR_NUM = 0 (as it is even when such an invalid response was sent) I just use my response fields.
As they’re normally filled all the time, I don’t check them for (null)-values (as they are in the invalid response) and I got a nice oracle exception (“you’re not allowed to insert null…”) later.

What do you think about this?
Maybe Manoj/Werner can post an “official” SAP statement.

Thanks in advance.
soupUI.png
Query-Content.png
DF-Content.png


schaphi :de: (BOB member since 2012-06-04)

Hi,

some additional information:
When “Enable validation” is set, you will get an error in this case.
But problem here is (as with each request/response failing the validation):
You don’t get a naming response (just “AccessServer is unable…”) and it took 12 seconds for response (I think jobserver just dies and AccessServer has some internal timeout of 12 seconds).

This topic is related to the one described in the following post:
https://bobj-board.org/t/192678


schaphi :de: (BOB member since 2012-06-04)

Look at it from a different angle. You call the substring() function but it does not return anything, not even NULL. (zero rows is not null, it is less than that)

So from that point of view, I can understand that behavior. It was defined how the input looks like, what the output has to contain but now there is no output.

From a usage perspective I agree, it is odd that I have to enforce at least one row being returned.

What is the conclusion? I don’t know…


Werner Daehn :de: (BOB member since 2004-12-17)