BW Username Variable in query available for  Row Level basedAuthorization ?

Hi Authorization- and Bexs-Profs,
I have an Row Level Authorization Model:
The acces to the InfoCube data is based on Row Level and on access control definition
data hold in an ODS ( Table/Data).
The access control definition data hold in the  ODS descibes per BW User which
selection citeria can be read.
I want  to build up a MultiProvider with the access control definition ODS and the InfoCube and
restrict in the Query the access control definition with the BW Username.
How can I have access to the BW Username in a BEX Query ?
Thank You a lot !
Martin Sautter

Thanks user10615659     ,
- Yes the variable ROLES available in OBIEE 11.1.1.7.1
- Tested the init block and variables in offline rpd its working as expected.
- In online rpd, except ROLES and GROUP variable remaining variables working fine.
- Verified log file in both online and offline init block testing - the init block execution is successful.
Thanks

Similar Messages

  • FMS required for Row Level in Marketing document for Dimensions vs BP

    Dear All,
    I need some help in regards to the FMS in SAP Business One. I am trying to use Dimension in the row level of my marketing document. In Dimension 2 and Dimension 3 I have named them as Dimension 2 whose description is Regions and in Dimension 3 whose descrption is Area.
    Now in Cost Accounting I have setup the Profit Centers in Dimension 2 Region as under :
    Factor Code  Factor Description
    CD0201         Region 1_Asia
    CD0202         Region 2_Middle East
    Also I have setup the Profit Centers in Dimension 3 Area as under :
    Factor Code   Factor Description
    CD0201A       India
    CD0201B       Pakistan
    CD0201C       China
    CD0202A       Syria
    CD0202B       Saudi Arabia
    I have created a udf in the Business Partner Header as U_DCostRegion wherein I have set Valid Values for Field as under which the user will put
    Value            Description
    CD0201         Region 1_Asia
    CD0202         Region 2_Middle East
    In the Business Business Partner Territory the BP has been defined as per the Dimension 3 Area. In which for e.g C0001 territory is India, C0002 territory is Pakistan and so on
    Now my requirement :
    I want that if the user is doing a Sales Quotation or Sales Order from the Sales Quotation then in the Row level Dimensions column of Regions and Area automatically through FMS it should populate the data accordingly as to what is put in the BP master Data. For Example user is doing Sales Quotation for C0001 whose Area ( U_DCostRegion) is set as CD0201 Region 1_Asia and Territory is set as India then automatically in the Sales Quotation row columns of Region and Area values of CD0201 Region 1_Asia and CD0201A India should come.
    I think this requirement can be fullfilled by FMS but I am not able to do it from my end. Please advise what should be the FMS for it.
    Regards,
    Depika

    Dear Rahul,
    I am able to put the Region from the Business Partner UDF to the document Row of Region column with the FMS as SELECT $[OCRD.U_DCostRegion] as in the U_DCostRegion I had set Valid Values for Field as
    Value    Description
    CD0201 Region 1_Asia
    CD0202 Region 2_Middle East
    As in the Dimension in Marketing document it takes the Factor Code e.g CD0201 so I am able to handle it with the above FMS.
    But for the Area dimension I am not able to make the FMS because in the marketing document it takes the Factor Code means the Factor Code e.g CD0201A and its not linked to the BP Territory Table of OTER.
    I want a FMS which is linked with the OTER Table also as such if in the BP the territory ( avaliable in base product BP > General Tab > Territory ( where its defined as India for BP C0001) should link to CD0201A which is the Factor Code wherein the Factor Description is India.
    please advise in this regard.
    Regards,
    depika

  • Dynamically creating policies for Row-level security (RLS)

    Hi everybody,
    I’m looking for suggestions on how to configure Row-level security (RLS).
    I have a large number of tables (about 500) and about 100 database users. Each user must see a portion of the data, filtered on a specific field. The field used to filter the data is a Client Id (let’s assume for simplicity that this field is present in all tables and has the same name everywhere).
    Some users must be able to see just one client, other users must be able to see a group of clients, and some other users must be able to see all the clients. The association between Users and Client Id’s is stored in separate database tables.
    I’d like to avoid having to manually create a policy for each table, so I’m looking for a solution that makes use of pl/sql programs to create policies dynamically.
    Has anybody already implemented anything similar? Can you share your approach? Of course I’m looking for the easiest / most robust / most flexible way to implement this.
    Andrea

    It sounds like you would want a single policy function and that you would then apply that policy function to all 500 tables (at least given the simplifying assumptions you make in your question). If your policy function simply returned the `WHERE` clause
    client_id IN (
        SELECT client_id
          FROM table_mapping_user_to_client
         WHERE user_id = <<something that identifies the current user>> )Then you would simply apply that policy to all the tables
    FOR x IN (SELECT * FROM dba_tables WHERE <<condition to find the 500 tables>>)
    LOOP
      dbms_rls.add_policy(
        x.owner,
        x.table_name,
        'Restrict by client_id', -- name of policy
        <<owner of function above>>,
        <<name of function above>> );
    END LOOP;Justin

  • Detail screen for row level locking

    Hi All ,
    I have developed row level locking for a table , Next requirment is to display the details of each row i another screen when the user click on each row .And if the row which is clicked for display is geyout in first screen then it should be grey in details screen also .If the row is editable in the first screen then it should be in change mode in details screen .
    I appreciate the help and support .
    please provide the answer as soon as possbile .....
    Thanks,
    NJ

    Yes, if a process holds many row level locks on a table, those locks by default can be escalated to partition locks, and, if necessary, table locks.  Unless you are getting and holding many locks on a given table, this will not happen.
    You say you are exporting data.  If all you are doing is selecting from the table (not updating, deleting or inserting data) and you are using the read committed transaction isolation level, you would only hold a lock on a row for the small fraction
    of a second when you are actually reading it.  So you will never have large numbers of locks at one time.  If you are doing large numbers of updates, inserts, or deletes in a singletransaction or if you are doing large numbers of selects in a single
    transaction with the isolation level set to repeatable read or serializable, then it is possible to get enough locks to cause SQL server to escalate to partition or table locks.  This is normally a good thing (that's the reason Microsoft made it the default). 
    To many locks eats up memory.
    However, if you determine this is causing you a problem and you do not want the locks on a particular table ever escalated, you can use the ALTER TABLE SET (LOCK_ESCALATION = DISABLE) command to prevent most cases of lock escalation on a table by table basis. 
    See BOL for a description of the ALTER TABLE command.  However, I would recommend you not use this unless you have determined that lock escalation is causing you problems.  It is very easy to make things worse, not better by doing this.
    Tom

  • Tax Amount throug query rowwise for a/r invoice

    Hi Experts,
    can anyone pls tell me how to get the tax amout and tax code for row level for a/r invoice through query generator for A/R iNVOICE.
    Note: I dont want to hardcore it
    Thanks & Regards,
    Mukesh Agrawal

    mukesh,
    SELECT M.DocNum,M.DocDate,
    (SELECT Sum(TaxSum) FROM INV4 where statype=-90 and DocEntry=M.DocEntry) as 'Excise Duty',
    (SELECT Sum(TaxSum) FROM INV4 where statype=-60 and DocEntry=M.DocEntry) as 'Education Cess',
    (SELECT Sum(TaxSum) FROM INV4 where statype=7 and DocEntry=M.DocEntry) as 'SHEd Cess',
    (SELECT Sum(TaxSum) FROM INV4 where statype=1 and DocEntry=M.DocEntry) as 'VAT'
    FROM OINV M LEFT OUTER JOIN INV1 L on L.DocEntry=M.DocEntry LEFT OUTER JOIN INV4 T
    on T.DocEntry=L.DocEntry and L.LineNum=T.LineNum 
    Where (M.DocDate >= '01-jun-08' AND M.DocDate <= '30-jun-08')
    GROUP BY M.DocNum,M.DocDate,M.DocEntry
    Hope it will solve the problem.
    Jeyakanthan

  • Is this object available for garbage collection

    public class MyClass {
    public static void main(String args []){
    new MyClass().myFunc();
    //Because I don't assign this reference to a variable, is it available for collection at this point?
    public void myFunc(){  }
    Thanks ..... Jimmy

    What do you mean "in most cases"? I assume you don't
    mean that most methods in any java program should be
    static, Of course not... please actually read the context of my post. "in most cases" where the code is similar to what the OP posted, a static method would probably be appropriate. In code where you are creating a new instance of a class for the sole purpose of calling a method and not retaining a reference to it, it should probably be a static method. Look at the OP's code:
    public class MyClass {
      public static void main(String args []){
        new MyClass().myFunc();
      public void myFunc(){
    }Notice that the OP does not keep a reference to the object, simply calling a method and leaving it at that. I am saying that in this situation, it would probably be more appropriate to do the following:
    public class MyClass {
      public static void main(String args []){
        MyClass().myFunc();
      public static void myFunc(){
    }I imagine that there are situations where the OP's original design may be useful, but in most situations, a static method is appropriate.
    This isn't that complicated... I see no need to get into an argument over it. Please don't just attempt to make me look like a fool (I do a fine job of that on my own).

  • Row Level Security not working for SAP R/3

    Hi Guys
    We have an environment where the details are as mentioned below:
    1. Crystal Reports are created using Open SQL driver to extract data from SAP R/3 using the SAP Integration Kit.
    2. The SAP roles are imported in Business Objects CMC.
    3. Crystal Reports are published on the Enterprise as well.
    3. Authorization objects are created in SAP R/3 and added as required for the row level security as mentioned in the SAP Installation guide as well. The aim is when the user logs into the Infoview and refreshes the report he should only see data that he is meant to so through the authorization objects.The data security works very much fine when the reports are designed directly on the table but when the reports are built on the Business View it doesnt work hence the user is able to see all data.
    Any help in this issue is greatly appreciated.
    Thanks and Regards
    Kamal

    Hi,
    In order for row level security to work for you using the OpenSql driver, you need to configure the Security Definition Editor on your SAP server.  This is a server side tool which the Integration solution for SAP offers as a transport.
    This tool defined which tables are to be restricted based on authorizations.
    However since you are seeing the issue on reports based on Business Views, you need to identify whether the Business View is configured in such a way where the user refreshing the report is based on the user logging into Infoview.  If the connection to your SAP server is always established with the same user when BV is used then you security definition is pointless.
    You can confirm this by tracing your SAP server to identify what user is being used to logon to SAP to refresh the reports.
    thanks
    Mike

  • How to avoid seeing data for a particular member in the row level

    Hello,<BR>I am using Essbase. In that i am having members like taks n/a, demand n/a. Purpose of these members are, if i load data for demand, task wont have data so i am mapping to task n/a.And same for the task loading.I am using alphablox for reporting and report script for retriving the data.So, if i select the task n/a and demand n/a then some value will be existing for this. Is there any possibility to remove this from report.I mean while seeing in the report, it should not get this member and respective value for display and also avoid taking this data for any manipulation.I know RESTRICT for column level data. Is there anything for row level restrictions.<BR>Please help me on this.<BR>Regards<BR>R.Prasanna

    Hi,
    Into the rule containing the Color metadata, you can restrict the values of the list.
    In "Has restricted list and pane", list the values 1, 2 and 3 (new line for each value) :
    1
    2
    3
    Romain.

  • Row-level security at the Database level

    We need Row-level security at the Database level, where the user who logs in to Crystal reports, should be able to fetch only those rows from the database that he is entitled to see. For this, the login name of the user is passed to a stored procedure which sets the context of the DB session and restricts the data retrieved.
    We are not looking for row-level security where the data is first retrieved and then filtered based on the user login name. However, we are definitely looking for a way to set a context for a database session based on the user login name, even before we start fetching data. So effectively, the user who logs in will fetch only those rows which he is supposed to see.
    Issue:
    We face a problem of not being able to pass a variable (something like 'BOUSER' for BO which works, whereas, 'CurrentCEUserName' for Crystal Reports, which doesn't work), to the database stored procedure to set the context.
    Please let us know if we can use 'CurrentCEUserName' variable in Crystal in the same way as 'BOUSER' is used in ConnectInit for BO? We would like to know how we could pass any variable in Crystal Reports which holds the user login information to a stored procedure.
    Also, please suggest alternate ways to achieve this security restriction, if any.

    Hi
    A previous database had a personnel table with their station name, district and region, with a field holding their logon name.  We also had an activity table with the fields referring to the activity, and a field of Station, district and region it occured in.
    By linking the individual rows in an activity table to the personnel table on the station name field, we then used the CurrentCEUserName to filter on the personnel.  This returned only the records in the activity table where the station the activity took place at was the same as the station associated with the selected personnel who has logged on.
    The additional bonus was if we linked it on District or region we had the same result but at a greater level. ie all activity in the logged on personell's District or if linked on region, then their region.
    The personnel table was maintained by the system administrators, so maintenance was low.
    I hope this helps.
    Kevin

  • Row Level selection by KIND value

    I have inherited a C++ process extension for row level.  Since row level only works in reports run in Crystal format, I would like to limit the addition of the supplemental criteria to only those reports run in that format and append a "False" to all others.  So within C+, I am looking for the equivalent of SI_KIND = "CrystalReport" value.  I am not a C+ programmer and any detail help would be appreciated.

    Please re-post if this is still an issue to the Legacy Application Development SDKs Forum or purchase a case and have a dedicated support engineer work with you directly

  • Data_table -- javscript at row level

    Is there a way to set javascript calls on a row level basis when using a data_table tag?
    Specifically I'd like a onmouseover and onmouseout event to highlight the row the user
    is currently over.
    If there is no support for this what's the recommended approach to subclassing UIComponents
    when you just want to add support for an attribute? Specifically if I wanted to add support
    for row level javascript for a data_table is there a way to do this without rewriting the
    renderer?
    Thanks,
    Troy

    Is there a way to set javascript calls on a row level
    basis when using a data_table tag?
    Specifically I'd like a onmouseover and onmouseout
    event to highlight the row the user
    is currently over.For CSS2 capable browsers you could use the following style rule:
        tr.myrowclass:hover>td { background-color: red; }That works with current versions of Mozilla, Firebird, Netscape. I don't know for Opera. Internet Explorer no.
    Wolfgang Oellinger

  • Oracle.jbo.JboException: No rows available for editing

    After the upgrade to JDeveloper 9.0.3.1035 I am receiving the following error when IU try to include a new record in a existing view:
    Error Message: No rows available for editing.
    oracle.jbo.JboException: No rows available for editing.
         at oracle.jbo.html.jsp.datatags.RowTag.updateRowAttributesFromRequestParameters(RowTag.java:240)
         at oracle.jbo.html.jsp.datatags.RowTag.updateRowAttributesFromRequestParameters(RowTag.java:233)
         at oracle.jbo.html.jsp.datatags.RowTag.handleAction(RowTag.java:160)
         at oracle.jbo.html.jsp.datatags.RowTag.doStartTag(RowTag.java:121)
         at jsp_servlet.__DataHandlerComponent._jspService(__DataHandlerComponent.java:179)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
         at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:395)
         at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:255)
         at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:116)
         at oracle.jbo.html.jsp.datatags.ComponentTag.doStartTag(ComponentTag.java:70)
         at jsp_servlet.__MeetinggroupsView_Browse._jspService(__MeetinggroupsView_Browse.java:192)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    The JSP was generated by the JSP BC4J Wizard from JDev 9.0.2.829. Perhaps some new parameters must be set that where forgotten in the migration.
    Can someone herp?
    Thanks

    This can happen in the following scenarios:
    1. You are passing a rowkey for a row that doesn't exist anymore.
    2. Your rowkey values no longer match the row's attribute values becuase the row has been edited.
    3. You obtained the row key from one view object and are trying to locate the row in a second view object and the criteria for the second view object doesn't contain this row due to its query criteria.

  • Error while running a query-Input for variable 'Posting Period is invalid

    Hi All,
    NOTE: This error is only cropping up when I input 12 in the posting period variable selection. If I put in any other value from 1-11 I am not getting any errors. Any ideas why this might be happening?
    I am getting the following error when I try and run a query - "Input for variable 'Posting Period (Single entry, mandatory)' is invalid" - On further clicking on this error the message displayed is as follows -
    Diagnosis
    Variable Posting Period (Single Value Entry, Mandatory) is used as a lower limit (X) and an upper limit () in an interval selection. This limit has the value #.
    System Response
    Procedure
    Enter a different value for variable Posting Period (Single Value Entry, Mandatory). If the value of the other limit is determined by another variable, you can change its value also.
    Procedure for System Administration

    OK.
    Well, if the variable is not used in any interval selection, then I would say "something happened to it".
    I would make a copy of the query and run it to check if I get the same problem with period 12.
       -> If not, something is wrong in the original query (you can proceed as below, if changes to original are permitted).
    If so, then try removing the variable completely from the query and hardcode restriction to 12.
       -> If problem still persists, I would have to do some thinking.
    If problem is gone, then add the variable again. Check.
       -> If problem is back, then the variable "is sick". Only quick thing to do, is to build an identical variable and use that one.
    If problem also happens with the new variable, then it's time to share this experience with someone else and consider raising an OSS.
    Good luck!
    Jacob
    P.S: what fisc year variant are you using?
    Edited by: Jacob Jansen on Jan 25, 2010 8:36 PM

  • Jsp,bc4j,Data web Bean , error : NO ROWS AVAILABLE FOR EDITING

    HI
    I'm developping a jsp application based on Bc4j. when trying to insert a new row with missing fields which must be not null,
    in order to be able to edit the row and correct the non seized fields, I display the edit page and it works for several views. but this time when editing fields and submitting the edit form an error is raised with the message no rows available for editing.
    the particularity for these views(which causes the error) is that are details for a view which is detail for an other.
    can someone please suggest some solution for such a problem
    thanks in advance
    Ghassen
    null

    ghassen
    this is a typicall error that occurs when trying to execute the Row data tag with action "Update" and there is not row obtained through the rowkeyparam (normally MyRowKey url parameter passed from the Edit page). I don4t have sufficient information to give you an exact solution.
    I don4t understand all your escenario, you spoke about "Insert new row with missing values in required fields", but if you don4t specify a right value to that fields, the insert fail.
    Then you display the Edit page to edit that just inserted row, to correct (specify?) the values of that fields. The error occurs in the EditSubmit page.
    The EditSubmit page execute de Row data tag, according to the implementation of Rowtag, first recover the row reference (from rowkeyparam url parameter) and then, if that row reference is null, throws the "No rows available for editing" Runtime Exception. This means that the datasource used in your EditSubmit page not include that RowKey reference (obtained from Edit page as Url parameter).
    HTH
    Pepe

  • App Store says update available for iPhone app. Try to install and get the message "the item you are trying to buy is no longer available" for three apps in a row.

    App Store says update available for iPhone app. Try to install and get the message "the item you are trying to buy is no longer available" for three apps in a row. Even when I go to the specific app and press Update, the update begins to install then aborts with this error message.iPhone 3GS running iOS 5.1.1. Also very long delay typing each keystroke in this message.

    That error message is usually indicative of a problem with the App Store. If you look through the forums, you'll see that a number of people are experiencing the problem. Try again tomorrow.

Maybe you are looking for