How to perform row level changes in a region of table type

Hi Gurus,
I am having a region of type table. In this table I have added a details section. In the details section I want to display an item only when its not null. So I have changed the code in controller to make the render as false for this field when it is null. But this is applied to the item present in all the rows in the table.
For example: If there are two rows in the table and first has some value in X item while second has null value for the same item. Then both the rows do not show the item X (render is set as false by controller).
Is there any way to have the item visible in first row and invisible in second row?
Thanks,
Manish

You have to go for SPEL binding. Create a transient attribute in the same VO of the table and set the value of the each row to true or false depending on the value of the attribute of the first, say using decode statement ( DECODE(firstattr, null, false, true)) and then bind this attribute to the RENDERED_ATTR attribute of the second item using SPEL binding. Please refer Dynamic User Interface section of the Chapter 4 of OA Framework Dev. Guide.
Regards,
Guru.

Similar Messages

  • How to implement row level security?

    Hi all,
    There is a database which is for 3 companies to use it and how to use row level security to make sure that they can only manipluate their own data? For example, "employee" table, for each company they just can see their own employees information. How to use dynamic view to do it?
    Many Thanks
    Amy

    Here are two options to achieve what you want.
    A. You can do this by coding, that's if you are ready to. Are you? If yes then try the steps below:
    1. create a security codes table. Say for example
    001 - company a
    002 - company b
    2. create a security table that will list all users and which company they should have access to. You can also implement this by roles.
    3. alter all tables in the application schema to add a security code column. This will be a foreign key reference to table created in 1 above.
    4. update all data in the tables according to which company they belong to.
    5. write a procedure or package that does a validity check whenever a user requests for data. This procedure/package determines which company data the user has access/rights to.
    With this, you should be able to achieve what you want if you do not want to spend on VPD and FGAC. The problem comes where there are users who would have cross access to data from both companies. In this regard, then you have to modify your security table a little bit to handle this.
    B. This option i will admit is not so clean. You can also achieve this by two different views for every table in the application schema. And on each of these views, create a private synonym for every user. For illustration purposes:
    Table name = Employee.
    Create a view employee_a on employee
    create a view employee_b on employee
    Let's say you have users x and y. X has access to employees of company a and y has access to employees of company b. You can now create private synonyms for each of these users as follows:
    create synonym employee on employee_a in x schema.
    create synonym employee on employee_b on y schema.
    This i have not tried but believe should work.
    Hope one of these options serve your purpose.

  • How to Migrate Row Level Security Configuration

    Hi Guys,
    Does anybody know how to migrate row level security configuration? I suppose PeopleSoft provided a data mover script, like securityexport.dms.
    Thank you in advance,
    Bob

    Here are two options to achieve what you want.
    A. You can do this by coding, that's if you are ready to. Are you? If yes then try the steps below:
    1. create a security codes table. Say for example
    001 - company a
    002 - company b
    2. create a security table that will list all users and which company they should have access to. You can also implement this by roles.
    3. alter all tables in the application schema to add a security code column. This will be a foreign key reference to table created in 1 above.
    4. update all data in the tables according to which company they belong to.
    5. write a procedure or package that does a validity check whenever a user requests for data. This procedure/package determines which company data the user has access/rights to.
    With this, you should be able to achieve what you want if you do not want to spend on VPD and FGAC. The problem comes where there are users who would have cross access to data from both companies. In this regard, then you have to modify your security table a little bit to handle this.
    B. This option i will admit is not so clean. You can also achieve this by two different views for every table in the application schema. And on each of these views, create a private synonym for every user. For illustration purposes:
    Table name = Employee.
    Create a view employee_a on employee
    create a view employee_b on employee
    Let's say you have users x and y. X has access to employees of company a and y has access to employees of company b. You can now create private synonyms for each of these users as follows:
    create synonym employee on employee_a in x schema.
    create synonym employee on employee_b on y schema.
    This i have not tried but believe should work.
    Hope one of these options serve your purpose.

  • How to Apply Row level restrictions On objects

    Hi All,
    I am working on universe designer(BO 3.1) .....
    I would like to apply row level restrictions on a cloumn of table based on the user who is running the report .
    can any one please help me on this..
    Thanks in Advance.............

    Hi
    Universe access and row-level security can also be managed at the group or individual user level from within the design environment.
    Find the below video row level restrictions
    http://www.youtube.com/watch?v=6yM0OLK6QlI
    Create a data security profile that restricts access to specific rows: Information design tool 4.x - YouTube
    Implementing row level security in IDT using Data Security Profile
    And You cannot set row-level security authorizations in an OLAP universe.
    User security can be defined at the most granular level for the following content objects.
    Folders and sub-folders
    Reports
    Categories
    Events
    Program Files
    Publications

  • How to implement row level secuirty at universe level

    Hi All
    How can we implement row level security in universe ?
    John

    HI,
    Can we try this?
    Open designer >>tools>>Manage security>Manage access retrictions
    Click on "new" under available restrictions area .
    Select "rows" tab click add select the table and an appropriate where condition.
    Click ok .
    Add a user\group on which the retriction is to be imposed Click Ok.
    Hope this will help
    Kultar

  • How to implement row level security using external tables

    Hi All Gurus/ Masters,
    I want to implement row level security using external tables, as I'm not sure how to implement that. and I'm aware of using it by RPD level authentication.
    I can use a filter condition in my user level so that he can access his data only.
    But when i have 4 tables in external tables
    users
    groups
    usergroups
    webgrups
    Then in which table I need to give the filter conditions..
    Pl let me know this ...

    You pull the Group into a repository variable using a session variable init block, then reference that variable in the data filters either in the LTS directly or in the security management as Filters. You reference it with the syntax VALUEOF("NQ_SESSION.Variable Name")
    Hope this helps

  • How to apply row level security against the database administrator

    I would like an advice in applying row level security against the database administrator. We need to prevent DBA from editing data in some table rows or have any indication that data was corrupted.
    There is no problem in viewing the data so we considered one way hash function or digital signature which will be stored in the same table, but we see following disadvantages:
    HASH - DBA may use the same hash function to update the stored data after he changes the sensitive row.
    Digital signature - the is a need to manage and keep the private key in a safe place outside of DB
    Is there additional ways to achieve the aim?

    Does VPD helps to prevent from DBA to edit/view a data in specific rows?Yes.
    If I correctly understand, DBA has full access to security policy used by VPD to control the access and can grant himself privileges that I don't want.You can to define which users can be exempt of the politics, for the context or by Grant EXEMPT.
    This includes DBAs.
    The simple fact of being DBA doesn't guarantee the exemption.
    Everything goes to depend of the VPD config.

  • How To Apply Row level security ??

    Hi all,
    I want to apply row level security on one of my custom objects created in PO schema in R12. How to do that??
    Thanks and Regards
    Raj

    Thank You Gaurav
    --Raj                                                                                                                                                                                                                                       

  • How to enforce row level security on MSAS Cube

    We have to enforce row level security on MSAS Cube based on BOUSER.
    We are using a security table which contains BOUSER ID and Location ID
    We need help in joining the security table with MSAS Cube.
    Thanks

    HI,
    I haven't worked with cubes. But the will the knowledge I have in Universe, could probably help you.
    As you already have a table which maintains BOUSERID and location id, you could probably join location id with MSAS cube id.
    If you don't want to use this userdefined security table, you can use the inbuilt Row level security option.
    Go to Tools -> Manage access REstrcitions --> Create a new restriction --> Rows tabe ---> give a expression with BOUSER
    Hope this helps.

  • How To Perform Parallel UPDATE When Trigger is ENABLE On Table.

    select *from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE    11.1.0.7.0      Production
    TNS for Linux: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - ProductionIs there any way to perform PARALLEL UPATE on a table which has a trigger?
    One of my ETL performs a large UPDATE (14 Million update) everyday on a production hot table. Eventhough PDML is enable at session level (also TABLE.DEGREE=8), Oracle is doing serialized UPDATE.
    As per Oracle documents, it is documented behavior.
    Here is my Execution plan when i put the trigger ENABLE
    | Id  | Operation              | Name                | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | UPDATE STATEMENT       |                     |       |       |  6443 (100)|          |       |       |        |      |            |
    |   1 |  UPDATE                | ACCOUNT             |       |       |            |          |       |       |        |      |            |
    |*  2 |   PX COORDINATOR       |                     |       |       |            |          |       |       |        |      |            |
    |   3 |    PX SEND QC (RANDOM) | :TQ10000            | 72487 |  3610K|  6443   (3)| 00:01:18 |       |       |  Q1,00 | P->S | QC (RAND)  |
    |*  4 |     FILTER             |                     |       |       |            |          |       |       |  Q1,00 | PCWC |            |
    |   5 |      PX BLOCK ITERATOR |                     | 72487 |  3610K|  6443   (3)| 00:01:18 |   KEY |   KEY |  Q1,00 | PCWC |            |
    |*  6 |       TABLE ACCESS FULL| ACCOUNT             | 72487 |  3610K|  6443   (3)| 00:01:18 |   KEY |   KEY |  Q1,00 | PCWP |            |
    Predicate Information (identified by operation id):
         8 - filter("SET_OF_BOOKS"='1' AND "GL_BATCH_ID">(-10) AND ("JOURNAL_ENTRY_TYPE_ID"<2400 OR
                  "JOURNAL_ENTRY_TYPE_ID">=3000) AND "ACCOUNTING_DATE">=TO_DATE(' 2010-08-11 00:00:00', 'syyyy-mm-dd
                  hh24:mi:ss') AND "ACCOUNTING_DATE"<TO_DATE(' 2010-08-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))When i disable trigger
    | Id  | Operation                | Name     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
    |   0 | UPDATE STATEMENT         |          |   726 | 27588 | 11899   (2)| 00:02:23 |        |      |            |
    |   1 |  PX COORDINATOR          |          |       |       |            |          |        |      |            |
    |   2 |   PX SEND QC (RANDOM)    | :TQ10001 |   726 | 27588 | 11899   (2)| 00:02:23 |  Q1,01 | P->S | QC (RAND)  |
    |   3 |    INDEX MAINTENANCE     | ACCOUNT  |       |       |            |          |  Q1,01 | PCWP |            |
    |   4 |     PX RECEIVE           |          |   726 | 27588 | 11899   (2)| 00:02:23 |  Q1,01 | PCWP |            |
    |   5 |      PX SEND RANGE       | :TQ10000 |   726 | 27588 | 11899   (2)| 00:02:23 |  Q1,00 | P->P | RANGE      |
    |   6 |       UPDATE             | ACCOUNT  |       |       |            |          |  Q1,00 | PCWP |            |
    |   7 |        PX BLOCK ITERATOR |          |   726 | 27588 | 11899   (2)| 00:02:23 |  Q1,00 | PCWC |            |
    |*  8 |         TABLE ACCESS FULL| ACCOUNT  |   726 | 27588 | 11899   (2)| 00:02:23 |  Q1,00 | PCWP |            |
    Predicate Information (identified by operation id):
       8 - filter("SET_OF_BOOKS"='1' AND "GL_BATCH_ID">(-10) AND ("JOURNAL_ENTRY_TYPE_ID"<2400 OR
                  "JOURNAL_ENTRY_TYPE_ID">=3000) AND "ACCOUNTING_DATE">=TO_DATE(' 2010-08-11 00:00:00', 'syyyy-mm-dd
                  hh24:mi:ss') AND "ACCOUNTING_DATE"<TO_DATE(' 2010-08-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))I cannot disable trigger due to some business reasons.
    Is there any way to speed up UPDATE ?

    No, you cannot perform parallel dml with a trigger present.
    If you are updating the bulk of the rows and can take an outage, you can
    disable the trigger, perform the update, enable the trigger
    OR
    copy to another table, performing the update in the select, rename the tables and add the trigger on the new table
    Hemant K Chitale

  • How to find all the changes management details (thr DB tables or FMs)

    Hi Experts,
    Could anyone please tell me how to get all the Change management details.
    I mean are there any database tables or FM through which I can get all the Changes Management(CHARM) details.
    like status,priority,texts,descriptions etc...
    I need them for an interface....
    Thanks
    Yogesh Gupta

    Hi,
    Yet another request to use my crystal ball.
    We had one pc which is having oracle 9i enterprise manager configured(windows 2000) only to connect the db.
    This remembers me of the Gospel of St. Luke, chapter 2, where it is stated,
    'and they found the child in the manger'.
    This resulted a Jewish theologian to remark: 'The manger? Well, so that must have been their own manger'
    So what does 'the' db mean? The Linux one? Or a separate on Win2000?
    It is quite possible to manage a Linux database using OEM on Win2000, with OMS on Win2000.
    'But our server is not having enterprise manager'. Yet another riddle. Which server? There seem to be at least two.
    1 Now if I drop these tables, will I be able to connect to our database using the windows2k pc through Enterprise Manager?
    Yes, but only in standalone mode, and you can't use OEM alerts, and jobs anymore. You would be better off using Sqldeveloper, as OEM Sql worksheet is a nightmare.
    2 That is your decision.
    3
    oemctl ping oms
    will check whether you have an Oracle Management Server running.
    You already seem to have the Enterprise Manager Repository, so you must have OMS running somewhere. (Why install the repository, if you don't use it)
    Sybrand Bakker
    Senior Oracle DBA

  • How to find out the changes made to the customized table entries

    Hi Team
    i want to know the changes made to the customized table. i have a 'Z' table in my production system, in that table i would like to know whether any table entry is deleted or not. if at all there is any deletion happened, i want to know who had done it.
    So i request you to please let me know the procedure for the same.
    Thanks
    Raj

    Hi Nagaraju,
                       Go to Table Maintenance (SM30)- Display mode-- Utilities-- change Logs. Give the Date range. before giving the date range click on display status , this will show you If the display is active or not. Kindly please let me know If you need any more information on this.
    Regards
    Ram Pedarla

  • How to implement row-level security in Discoverer?

    Dear all,
    I have a scenario that I have 2 folders containing sales and inventory data stored by product lines.
    The 2 folders are constructed by 2 SQL statements.
    There exists a set of tables controlling which product line's sales and inventory data a person can read.
    A function is written previously that returns the WHERE clause based on user_id, employee_id and the other parameter.
    So, can you suggest how to integrate the 2 components in Discoverer?
    thanks
    George
    My blog: http://hktour.blogspot.com

    hi Rod,
    Thanks for your suggestions.
    I took your 1st option, ie.
    "You can use VPD at the database level to secure the tables."
    I have a view BUDGET_V with the following columns:
    PERIOD_YEAR
    PERIOD_MONTH
    PRODUCT_LINE
    BUDGET_AMOUNT
    Every salesman can only read the budget amount of certain product lines.
    I built the security function which will be binded to the view BUDGET_V (see below)
    FUNCTION security_policy_function( p_schema in varchar2, p_object in varchar2)
    return varchar2
    as
    begin
    if (user = p_schema) then
    return '';
    else
    return viewProductLine(FND_GLOBAL.USER_ID, FND_GLOBAL.EMPLOYEE_ID, 'BUDGET_V.PRODUCT_LINE');
    end if;
    end;
    The security function actually calls my own security function viewProductLine(FND_GLOBAL.USER_ID, FND_GLOBAL.EMPLOYEE_ID, 'BUDGET_V.PRODUCT_LINE') which take the user id and employee id of the apps user and returns the predicate.
    Then, I bind the security function security_policy_function() to the view BUDGET_V with
    begin
    dbms_rls.add_policy
    object_schema => 'APPS',
    object_name => 'BUDGET_V',
    policy_name => 'MY_POLICY',
    function_schema => 'APPS',
    policy_function => 'security_policy_function',
    statement_types => 'select',
    update_check => FALSE,
    enable => TRUE
    end;
    The problem now is that if I query the view in Discoverer as a Apps user (say "A"), it returns all the records in the view without any filtering (user "A" is supposed be able to read certain product lines).
    I try to verify whether the security function work or not. So, I hardcoded FND_GLOBAL.USER_ID and FND_GLOBAL.EMPLOYEE_ID as 1234 and 6789 which are the user_id and employee_id of user "A". (see below)
    FUNCTION security_policy_function( p_schema in varchar2, p_object in varchar2)
    return varchar2
    as
    begin
    if (user = p_schema) then
    return '';
    else
    return viewProductLine(1234, 6789, 'BUDGET_V.PRODUCT_LINE');
    end if;
    end;
    This time, Discoverer returns only the records with product lines visible to user "A".
    So, I guess there is problem in the function call in viewProductLine(FND_GLOBAL.USER_ID, FND_GLOBAL.EMPLOYEE_ID, 'BUDGET_V.PRODUCT_LINE');
    Can you give me some light on this issue?
    thanks
    George (HK)
    My blog at http://hktour.blogspot.com

  • How to perform high-level planning without doing full costctr-level rollup

    I am wondering what my options are for this effort - we want to start our 2009 budget season by first preparing a high-level 2009 plan. To do the high-level plan we'd like to avoid building and interfacing workbooks at the cost center level; instead, to get started, we want to look at groups of cost centers that represent the different lines of business of the Bank (retail, credit, etc).
    Here's my question:is it possible to build planning workbooks not at the cost center level, but at a cost center rollup level? That is, we'd like to avoid having 10 workbooks at the cost center level that make up the rollup "Mortgage Lending"; instead we want one workbook for Mortgage lending that includes data for all 10 of those CC's.
    Please let me know if you have any ideas as to how to do so, thanks, W

    I am wondering what my options are for this effort - we want to start our 2009 budget season by first preparing a high-level 2009 plan. To do the high-level plan we'd like to avoid building and interfacing workbooks at the cost center level; instead, to get started, we want to look at groups of cost centers that represent the different lines of business of the Bank (retail, credit, etc).
    Here's my question:is it possible to build planning workbooks not at the cost center level, but at a cost center rollup level? That is, we'd like to avoid having 10 workbooks at the cost center level that make up the rollup "Mortgage Lending"; instead we want one workbook for Mortgage lending that includes data for all 10 of those CC's.
    Please let me know if you have any ideas as to how to do so, thanks, W

  • How to sum row level multiplication values between two measure?

    Hi All ,
    In the CUBE i want to create a calculation , which in SQL Server is = sum(calldur*callind). The calldur is a measure which has numeric values. Callind has values of 1 and 0 (factless fact ). please see the below datasets.
    calldur callind sum(caldur*callind)
    54 1 54
    0 0 0
    25 1 25
    58 0 0
    31 1 31
    300 0 0
    297 0 0
    but what the cube is doing is (call dur is selected as sum measure) and i selected (callind as max value)
    adding all the calldur which is 765*1, where as the value should be sum of sum(calldur*callind) which is 110.please need help.
    Thanks
    SV

    The simplest way to do this is to do the multiplication in the query that you are using as the source for your measure group or to add a calculated column in your DSV.
    Another solution would be to use a measure expression in the cube, but this has much worse performance as it effectively forces the storage engine to alway scan at the lowest level.
    http://darren.gosbell.com - please mark correct answers

Maybe you are looking for

  • Reinstalling OSX Mountain Lion, and it says 500  hours to dowload?!?  hellp

    I have a MacBook Air and was suggested to delete everything on my HD before potentiallly selling my MacBook. So I followed all the instructions, disk utility, erase hard drive, go back and reinstall Mountain Lion. Anyways everything is going smoothly

  • I can't register my visa to Itunes.

    I can't register my visa to Itunes. when i try, a red text appear wich says "The card cannot be used. please put in valid card information" even tho everything is put in exactly like it should be. What should i do?

  • Can't hear midi keyboard

    i plugged my midi keyboard into logic express just like i did in garageband. i can see the notes but i cant hear them! how do i fix this? i've tried everything i can think of and i didnt find it in the manual. i wan't to lay down some drum beats and

  • Sql query to find the space in between the sentense

    hi, can anybody tell me the query to find the space in between the data chandan

  • Dvd driver for TS-H653

    HP slimline s3100n has ts-H653 dvd rom, driver corrupt and will not update driver...help..Windows Vista 32 bit...error reads as follows"  Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)" This