## @param emptymsg: does not seem to work

Phillip Jones January 29, 2016

I am trying to use the parameter to return some text if my query returns nothing, and it doesn't seem to be working. 

Query: 

select listagg(osuser, ', ') within group (order by osuser) as "plain" from (select distinct osuser from v$session) where osuser != 'SYSTEM' and osuser not like 'VMCONFTEST%'

Template: 

## @param emptymsg:The query returned no result!!
#foreach($row in $result)
$row.plain
#end

Result:

$row.plain

1 answer

0 votes
Felix Grund (Scandio)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 31, 2016

Hi Phillip,

Do I understand you right that "$row.plain" is written on your page? This means that your result is not empty, but contains one row and apparently this row has no "plain" value. Please try with a simple statement that will always return an empty result:

SELECT *
FROM v$session
WHERE osuser = 'SomethingThatIsNoUsername'

Or something similar - just try a query whose result will be empty for sure.

And also try with a simple template like this:

## @param emptymsg:The query returned no result!!
 
This is just a test!

Regards, Felix

Phillip Jones February 1, 2016

$row.plain is written on my page. It does work if I use your query suggestion, but I think it is when I use the listagg function that it doesn't work. 

When I take my exact query mentioned above and run it in my database, it returns a list of distinct users connected, and if none are connected, it returns nothing. 

I used the #foreach function to help get rid of some formatting

Felix Grund (Scandio)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 1, 2016

For analysis, please simply write $result and $result.size() in your template and let me know of the result.

Phillip Jones February 1, 2016

$result gives me this:  [{plain=null}]

$result.size() gives me this: 1

Felix Grund (Scandio)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 2, 2016

It looks like your query is in fact returning one row in which the value for "plain" is null. $result is simply the result of your query. You'll have to find a way for your query to return truly an empty result set.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events