Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Check sum interactive grid

LuffyJul 7 2020 — edited Jul 9 2020

Hi everyone, I used the apex of 2020. I have one case as when create new interactive grid where column A is selected sum that must equal = 100. I used two cases but it was not unsuccessful.

- The first case, I tried to create validation for column but it was suitable for editing ( because recorded rows), with creating new, database has been not recorded,  so that validation has been not checked.

- The second case, I create a trigger for a table (new interactive grid) when after insert

CREATE OR REPLACE TRIGGER TRIGGER2

after INSERT OR UPDATE OF COLUMN A  ON TABLE

  declare

v_weight number;

BEGIN

       select nvl(sum(A),0)

    into v_weight

from TABLEgc

where gc.grading_id = v('GRADING_ID');

where v('GRADING_ID) - I create this item on applicaiton and assign to page item

     if v_weight <> 100 then

        raise_application_error(-20111,'This total must equal =  100%');

     end if;

END;

Thank you in advance. I hope everybody give me new idea or new skills.

This post has been answered by Keyser on Jul 8 2020
Jump to Answer

Comments

Stijn Gabriels
Hi Andy,

first of all, I don't really understand your SQL query. Nevertheless, I am wondering why you have used Row-Wise Initialization for this session variable, if you only want value "ALL" or the name of the region for the TEST session variable.

Regards,
Stijn
ADB
Stijn

in case a user has 'all' regions dedicated, I want to see all the organisations otherwise I only want to see the organisations linked to the specific region.

As I can't use a 'LIKE' (see error that you can only use =) into the session variable, I've worked something out returning the column name (user has 1 region) or 1 (user has all regions).

I hope it's more clear now.

KR,
A
Stijn Gabriels
So a user is joined to one or all regions and an organizations is joined to a region. Why don't you create one query, in which you join all the required tables?

Regards,
Stijn
ADB
[nQSError: 10058] A general error has occurred. [nQSError: 42040] The session variable, NQ_SESSION.ORGANISATIE, is defined as Row-Wise Initialization. It is restricted to usage with equality comparisons. (HY000)

I transformed my query like this, I don't have any clue why this isn't working...if I run this sql statement it works perfect but not in OBi

select 'ORGANISATIE', organisatie_nummer
from st_organisatie
,(select gebruiker,regio from st_gebruikers) b
where case when b.regio = -1 then 1 else regio_nummer end
like
case when b.regio = -1 then '%' else b.regio end
and upper(gebruiker) = upper(':USER')
ADB
Even after trying to create a view of the query and using this view within my session variable i have the same error.

My query is
select 'PARAM', organisatienummer
from vw_org
where upper(gebruiker) = upper(':USER')

It makes me desperate, so all help is welcome!

Kr,
A
Stijn Gabriels
I think your query should look like this:

SELECT 'ORGANISATIE', o.organisatie_nummer
FROM st_organisatie o, st_gebruikers g
WHERE o.regio_nummer = g.regio_nummer AND g.gebruiker = 'UPPER(VALUEOF(NQ_SESSION.USER))'

Regards, Stijn
ADB
:-) I know it should look like that, but that's the problem.

I don't have organisation for id = -1, that's why a make a translation of it towards a %

And even whenI put my values into a table I receive this error.....I'm lost...

Edited by: ADB on Dec 10, 2008 8:38 AM
Kishore Guggilla
Hi...

For your view approach post..
As per my knowledge... USER is the keyword for ORACLE, so it will n't accept it as bind variable.. as you are using...
So try give other name..

Thanks & Regards
Kishore Guggilla
ADB
Hi kishore,

txs but as I have the same prob when using a table, I guess there's something else;

Also when using valueof(nqsession.user) i have probs :-(
Kishore Guggilla
hi....

I am not sure this.. but try using content filter of particular logical table source...

Thanks & Regards
Kishore Guggilla
Stijn Gabriels
In my opinion this is not an OBIEE problem but a SQL / data problem.
I would advise you to fill your regio table with all correct combinations of regio and gebruiker and create the query as mentioned before.

Regards,
Stijn
1 - 11

Post Details

Added on Jul 7 2020
4 comments
765 views