System session variable USER
Hi,
i have setup-ed the action links and used the USER variable for the EBS secuirty context init block as this
EBS_RESP_ID
EBS_RESP_APPL_ID
EBS_SEC_GROUP_ID
EBS_RESP_NAME
EBS_USER_ID
EBS_EMPLOYEE_ID
USER
Now for the sso configuration in the RPD i need to use the USER variable again as per the document (section A.1.1 )http://docs.oracle.com/cd/E14571_01/bi.1111/e10543/legacy.htm#BABFJEJF
"To set up LDAP authentication:
Create an LDAP Server as follows:
Select Manage then Identity in the Oracle BI Administration Tool to launch the Security Manager.
Select Directory Servers from the left pane in Security Manager.
Right-click in the right pane in Security Manager and select New LDAP Server. The LDAP Server dialog is displayed.
Create the LDAP server by completing the fields.
Create an LDAP initialization block and associate it with an LDAP server. For more information. see "Creating Initialization Blocks" in Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.
Define a system variable named *USER* and map the USER variable to an LDAP attribute (uid or sAMAccountName)."
So how can i use the same user variable and assign it to LDAP init block as well the EBS security context init block.
can you provide your valuable inputs here.
Referencing GROUP session variable in initialization blocks for different types of authentication
http://108obiee.blogspot.com/2009/10/referencing-group-session-variable-in.html
Users are assigned to multiple groups from external table with semicolons, see example two and three from the post.
Regards
Goran
http://108obiee.blogspot.com
Similar Messages
-
Load more than one user groups to system session variable GROUP from table
hi, I found that the value of the system session variable GROUP can be assigned by setting a sql in initialization blocks.
however, if there are some users with more than one user group.
can this be done by table driven (using sql in initialization blocks) ?
thanks !!Referencing GROUP session variable in initialization blocks for different types of authentication
http://108obiee.blogspot.com/2009/10/referencing-group-session-variable-in.html
Users are assigned to multiple groups from external table with semicolons, see example two and three from the post.
Regards
Goran
http://108obiee.blogspot.com -
Using row-wise multi-value GROUP system session variable in report filter
The title says it all except I am using 10g OBIEE.
What I want to do is filter on the dynamic system session variable GROUP created in a row-wise initialization block.
The GROUP vriable is being set up correctly and it shows the user dynamically put into the correct groups in Answers.
(Using the admin tool and looking at the user session, only the initial authentication block variables show up.)
But if I want to filter using the value of GROUP it doesn't work.
The obvious way is to choose the filter icon, then choose Add -> Variable -> Session, enter GROUP, and then display results.
It comes back with no rows.
Any idea how to do this? I've tried lots of things but none of them work either producing no rows or an error.
This is the kind of Answers SQL this report is resulting in, which makes sense to me, but produces no rows.
SELECT "Package Virtual Group (Dim)"."Package Virtual Group" saw_0, "Contact (Fact)"."Contacts All Count" saw_1 FROM "Case/Transaction/ABC" WHERE "Package Virtual Group (Dim)"."Package Virtual Group" = VALUEOF(NQ_SESSION."GROUP") ORDER BY saw_0866038 wrote:
Errors come from trying things that don't work.
For example, instead of =, using IN VALUEOF(NQ_SESSION.GROUP) or @{session.GROUP} or lots of other things.
The question is this:
how can I filter a column in Answers using the GROUP session variable which had been initialized in a row-wise initialization block?
I can find no way to do it. Mostly it returns no rows.Hi,
we had a similar requirement, where we have an external name that has project number values. We used row wise initialization to capture all the projects that a user belongs to. Then, we applied the filters at the RPD level, instead of doing it at the report level. From you requirement I see that you are trying to filter the groups based on user login. When a user logs in, he will see the information about the groups that he only belongs to. Correct me if I am wrong here.
Assuming I am right about your requirement, providing the filter that you need apply in RPD.
On all the fact tables are joined to the Package Virtual Group dimension, apply the below filter.
case when 1=1 then (Dim)"."Package Virtual Group" END = VALUEOF(NQ_SESSION."GROUP");
The reason for use of case statement here is, it converts the logical sql to IN Clause, helping us acheive the exact query that we would want.
Please Award points if this helps.
Thanks,
-Amith. -
System session variable ':GROUP'
Dear Friends,
I am having an issue with retrieving a value for the reserved system session variable :GROUP IN OBIEE 11.1.1.5
From what I’ve read in the other posts I should be able to use :GROUP variable after where clause, and if there is more than one group assigned to a user INSTR should take care of this case. However I can’t get this to work.
I am using row-wise variable, here is the code
select 'ORGANIZATIONS' , s.ORGANIZATION_ID
from T_VZA_SECURITY s
where
INSTR(':GROUP', trim(s.group_id)) > 0
--INSTR('MyGroup', trim(s.group_id)) > 0
I also tried to replace ':GROUP' session variable with 'VALUEOF(NQ_SESSION.GROUP)'
my security table
create table T_VZA_SECURITY
(GROUP_ID VARCHAR(20),
ORGANIZATION_ID VARCHAR (20),
OWNING_DEPARTMENT_ID VARCHAR (20),
ASSIGNED_DEPARTMENT_ID VARCHAR (20)
Thank youI can't test my statement, it comes back with the error if i specify system session variable. If i replace a group variable with the string it works.
I don't see how i can set the execution order - i only have one init block with row-wise initialization enabled. Basically followed
http://www.rittmanmead.com/2012/03/obiee-11g-security-week-row-level-security/
guide, and it does work for :USER but doesn't for :GROUP.
Thank you for spending time to look at the issue! -
Non-system session variable is not initializing
Hi,
I have created a non-system session variable using Row wise initialization, and using it in answers to filter a column. it is displaying below error
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 23006] The session variable, NQ_SESSION.Visible_All_Offices1, has no value definition. (HY000)
I have tried all possible ways like giving the session variable in SQL result set, giving with quotes and without quotes. In all ways it is throwing the same error.
I think this variable is not getting initialized when starting the session, is there any way to check it. this variable is also not showing in Manage > Sessions > Variables in OBIEE Admin.
Please reply, if anyone faced similar issue. I am trying this from last 2 days.
Thanks,
Ash.When you run this sql query against the database, are you seeing results? and why are you using non-system session variables for this? Session variables are usually used to retrieve data into variables based on the user login.
Check the following things:
1) In variable target, make sure the row-wise initialization is checked.
2) Make sure the cache option is UN-checked
3) Run the sql against the database and make sure it is retrieving results.
4) Try this in init block:
select distinct 'Visible_Regions', NVL(Regions, '0') from SH.Regions_Dim A inner join SH.USER_Table B on A.employee_ID = B.employee_ID;
-Amith. -
Override the GROUP system session variable within an initialization block
Hi,
We're trying to override the GROUP system session variable and having no luck. We've created an initialization block to return the semicolon-separated list we're looking for but when a user logs in, it seems like it is overridden with the default. When we change the name of the variable to something other than GROUP, it works great and we get the expected value. Is there something we're missing with overriding the particular value?
Here is the query we're attempting to use for the variable:
Select 'GROUP',
ListAgg(OBI_ROLE, ';') Within Group (Order By USER_EMAIL)
From CSS_OBI_USER_ROLE
Where USER_EMAIL In (':USER')
We also tried:
Select
ListAgg(OBI_ROLE, ';') Within Group (Order By USER_EMAIL)
From CSS_OBI_USER_ROLE
Where USER_EMAIL In (':USER')
We made sure that the variable name was 'GROUP' as well.
Not sure if it's important to note or not, but the returned values do correspond to existing applications groups already defined within OBI.
Any help is greatly appreciated!
Thanks,
Jassince you have value as OpsReviewViewer;OpsReviewAuthor:BIAdministrator
my not help row wise setting
try to handle ; part using sql query so that you get those number of records to use row-wise
so this
Select 'GROUP',
ListAgg(OBI_ROLE, ';') Within Group (Order By USER_EMAIL)
From CSS_OBI_USER_ROLE
Where USER_EMAIL In (':USER')
with row-wise show work -
Is it Possible to Create System Session variable
Hi Gurus,
I am creating a new Session variable but it is created under non-system variable. Is it any way to create a System Session variable. I am using User and GROUP the defualt Session System variable, i want to creat a new one for my requirement. Is it possible to do it? If so please give me some steps todo.
Thanks in advance
Regards
@liHi
as far my knowledge, it's not possible...
All system variables are predefined.. if you want to define anything you will have to satisfy with Non-System variable
But curious, why do you want to create session variable there only??? -
Creating filtered view on the physical layer ussing session variable USER
Hi:
I´m creating a view on the physical layer, the view needs to be created dynamically. So depending on the user (using the session variable USER) the view is created with the data a particular user is able to see.
Fisrt I imported the table and changed it´s properties to be created through a "Select Statement" so i don´t needed to change the mapping on the bussiness model layer.
The consistency check was OK but i´m not able to see data in answers, even using the Administrator user. Have anyone tried to do this? Here is my query.
Thanks
A Garcia
Select * from D_ESTRUCTURA_RH2 where Region_ID
IN
select distinct a.REGION_ID from APP_INDPERSONAL_DM.D_ESTRUCTURA_RH2 a
inner join (
select distinct b.REGION_ID from APP_INDPERSONAL_DM.D_ESTRUCTURA_RH2 b
where exists (select 1 from APP_INDPERSONAL_DM.Autorizacion a, usuarios c
where a.app_id = 1
and a.usuario_id = c.Usuario_Id
and UPPER(c.Nombre_Usuario)=UPPER(':USER')
and a.miembro_id = 'REGION_ID'
and a.operador = '='
and (b.REGION_ID = (case when valor = 'Todo' then 0 else valor end) or valor='Todo'))
) seguridad
on
a. REGION_ID = seguridad.REGION_ID
)whay not use the same filter in the content tab of the logical table source?
check the physical sql sent to databse using web-admin-manage sessions-view log and see if there is any unexpected behavior. also run the same query in db and see iff you get the results in databse itself. -
Problem with Session variable initialization block
Hi,
I'm getting strange results when using session variables in my repository files.
I have created session variables as specified in the document which is available at
http://www.oracle.com/technology/obe/obe_bi/bi_ee_1013/bi_admin/biadmin.html
The main problem getting with the system session variable (USER) in the select statement.
My select statement is as follows,
select ':USER',case when upper(':USER') = 'KUMAR' then 'APR-05' end from Dual
The problem is while logging into the BI Answers it is allowing all the invalid users to login who does not exist.
when i remove the quotes and simply use :USER in the select statement it is not allowing the invalid users to login but giving error while displaying the results.
when i remove the user variable from select statement its giving correct results.
Can i know what is causing the problem.
Thanks,
Kumar.Hi DK,
Check out my post Rowlevel Security?? and see if it helps you.
Cheers!
-Joe -
Session Variable - System/non system
anybody explain me about the system and non system variables?
i am very confusing with the documents available in google.
can you please provide me with small example?
in which case we use system variable and which case we use non system variable?
Edited by: user12077461 on Dec 19, 2010 11:48 AMHi,
System session variables are pre-defined variables which get populated while someone access the system like USER, GROUP,PASSWORD etc. Non-System Session variables can be defined by the user for different purposes.
Thanks
DOn -
Row level security with session variables, not a best practice?
Hello,
We are about to implement row level security in our BI project using OBIEE, and the solution we found most convenient for our requirement was to use session variables with initalization blocks.
The problem is that this method is listed as a "non best practice" in the Oracle documentation.
Alternative Security Administration Options - 11g Release 1 (11.1.1)
(This appendix describes alternative security administration options included for backward compatibility with upgraded systems and are not considered a best practice.)
Managing Session Variables
System session variables obtain their values from initialization blocks and are used to authenticate Oracle Business Intelligence users against external sources such as LDAP servers or database tables. Every active BI Server session generates session variables and initializes them. Each session variable instance can be initialized to a different value. For more information about how session variable and initialization blocks are used by Oracle Business Intelligence, see "Using Variables in the Oracle BI Repository" in Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.
How confusing... what is the best practice then?
Thank you for your help.
Joao Moreiraauthenticating / authorizing part is take care by weblogic and then USER variable initialized and you may use it for any initblocks for security.
Init block for authenticating / authorizing and session variables are different, i guess you are mixing both. -
What is purpose of session variables in obiee
what is purpose of session variables in obiee and how to use it in obiee
whenever a user logs in, a session variable is initialized for that particular user.
The session variable can hold values such as Username, loglevel.
For example, if you have 10 obiee users and u want to set different loglevels depending on their roles, you can create system session variable LOGLEVEL which will be initialized dianamically depending on the initialization block.
Edited by: Vishal on Jul 5, 2011 10:30 PM -
Internal LDAP Session Variable Population
All,
I can find plenty of documentation on how to populate a session varible from an external LDAP server. How do you populate a session variable from the internal LDAP server? I can't find documentation on this anywhere.
Thanks in Advance,
JoshTurribeach,
In my .RPD I am trying to populate some of the system session variables, such as 'USER', 'DISPLAYNAME', 'GROUP', etc. from the out of the box, internal to Weblogic, DefaultAuthenticator, LDAP. I have found numerous blogs on how to connect to an external LDAP for authentication, at which point one can populate the system session variables from the external LDAP in an session variable initialization block. I can't find any documentation/blogs on how to use the internal LDAP to populate such system session variables. Any help will be greatly appreciated.
I did find the system function 'user()' returns the user currently logged in, so that's a bit of a temporary workaround for the 'USER' system session variable.
Thanks,
Josh -
Using HttpHeader to set value for session variables
Hi,
We want to set values for 2 session variables (USER and ROLEID) using HttpHeader in obiee 11g. Has anyone tried this? How can we achieve this?
I found the below note on the forum for setting value for the USER session variable. how can we set the ROLEID session variable also? is it possible to set values for 2 variables?
for setting the USER session variable,
You should add this in $BI_HOME/bifoundation/web/display/authenticationschemas.xml:
<SchemaKeyVariable source="httpHeader" nameInSource="Proxy-Remote-User" forceValue="SSO"/>
<AuthenticationSchema name="SSO" displayName="Single Sign On" userID="IMPERSONATE" proxyUserID="NQ_SESSION.RUNAS" options="noLogoffUI noLogonUI">
<RequestVariable source="httpHeader" type="auth" nameInSource="Proxy-Remote-User" biVariableName="IMPERSONATE" options="required"/>
</AuthenticationSchema>
Please suggest.
Thanks.I think maybe your SnmpValue type or value is not corrent.
1.3.6.1.4.1.7064.201.1.200.100.0 is Enum control type
when I use
SnmpValue val = new SnmpString("0");
It doesn't work, but when I use
SnmpValue val = new SnmpInt(0);
It works. I think the JDMK should give some warning message when the type is not correct. :)
The code is following:
final SnmpVarBindList setList = new SnmpVarBindList(" set varbind list ");
SnmpOid oid = new SnmpOid("1.3.6.1.4.1.7064.201.1.200.100.0");
SnmpValue val = new SnmpInt(0);
SnmpVarBind valueBind = new SnmpVarBind(oid, val);
setList.addVarBind( valueBind );
SnmpRequest setRequest = session.snmpSetRequest(null, setList); -
Access Session variable inside Transaction
Hi All,
Is it possible to access session variables inside Transaction.
Create session variable.
Update session variable value
acccess Session variable.
(user session)
Regards,
SachinHi Sachin,
Here is the snapshot:
1. Take session variable in a local JS variable in HTML page.
2. Create a transaction with a input type variable in Transaction Properties.
3. Create a Xacute query and link the above transaction.
4. Creata a iCommand applet on HTML page and link the query template:
<PARAM NAME="QueryTemplate" VALUE=".../QueryName">
Call the function in the below way in HTML:
Applet.getQueryObject().setParam(1,vaiable)
So, the session variable will go to TRX (BLT) and perform the operations as per your need..
You can pass it to other TRX by the same way.
To fetch the value: Create output type variable in TRX 2. Create Xacute query.
Get the value with : Applet.getValue(1,1)
Hope it is useful.
Best Regards,
Kedar
Maybe you are looking for
-
MM Document Reversed/Cancelled to make Vendor Debit Balance ZERO
Hi, The document is MM-Credit memo. Vendor Dr To GRIR Clearing To Contract repairs Now i wanted to make vendor balances zero by off setting the same accounts.Kindly advice me how to do it. I tried this scenario - Created PO-GR-IR and Credit Memo,
-
My Bridge CC opens in a locked mode - I cannot make any changes (dump cache) - it says "other instances of Adobe Application Manager are running, which must be closed." I have to force quit Bridge to get out of it. I tried to uninstall Bridge and re-
-
I downloaded a ringdown direct from itunes to my iphone 4S. When I go to settings/sounds/ringtone, the new ringtone is not there! I have downloaded it twice, but still not there. Does anyone know how to resolve this?
-
ITunes stops working when converting mp4 to mp3
Hoping to avoid re-installing. Rebooted, to no avail.
-
Hi gurus, I want to upload a flat file in BW 7.0. I am creating the datasource, the problem I have is that the data separator and the thousands separator is the same (.) in the file. I cant upload the file correctly it keeps adding a new field think