Select Data based on User Permissions

Post Author: nomore
CA Forum: General
I've got a Crystal Infoview server which is becoming quite cluttered with reports.In a lot of instances, I will have 4 or 5 copies of the same report which are tailored to specifc users. For example a sales report which will show data based on a specific customer. I could create on report with a parameter where the user could just select the customer - but i dont want some people to be able to see specific customers. So at present i have a seperate report for each customer - and then set the report permissions to only allow specific users to run it.I attended a course a while back where they showed us how, hiding particular fields/data to certain users if they should
not be allowed to view it - but for the life in me i cannot remember at
all how they did it.  Any tips greatly appreciated.

Post Author: V361
CA Forum: General
In the special fields section is CurrentCEUserName, not sure if this would work for you, because I have CR XI
You could surpress based on the id logged in, but that would be a lot of work, 
Perhaps you could create a "permissions" list in excel or in the database if possible, with a list of the reports that each ID can run, then based on the id, you populate the list....
CurrentCEUserName inserts (in a formula) the name that was used to log on to the current session when using the Log On to BusinessObjects Enterprise dialog box.

Similar Messages

  • How to determine Organizational Data based on User Login

    Dear all,
    How to determine organizational data based on user login in Activity transaction, currently org determination is happening after entering customer number in the transaction.
    We have used 'Responsibility' determination rule for this configuration. Now the requirement is to determine org data based on user login.
    In Org model we have assigned user to org data through a business partner. But still org data is not getting determined in the transaction.
    Please help me to trace out the problem.. your suggestions will be highly appreciated.
    Best regards
    Raghu ram

    You just have to use other organization determination rule. In your case this would be rule 10000194 (ORGMAN_12). This determination rule delivers the responsible organizational unit of the user
    User is defined as a business partner in the container attribute 'PARTNER'. If not, the system user (sy-uname) is used.
    So you have to do the following:
    - use this determination rule
    - in BP link username with employee
    - assign in PPOMA_CRM employee or user to organizational unit
    This should solve your problem.

  • Select data based on status priority

    ID     PRO_ID     PRO_OBJ_ID     TASK_ID     DEVELOPER_ID     STATUS
    121243     4940     37506     5250     6532     REJECTED
    122063     4940     37506     5250     6532     CLOSE
    138306     4940     37506     5250     6532     ACCEPTED
    138307     4940     37506     5250     6532     WIP
    Hi,
    From the above table i need to select data based on status any status that is prior to CLOSE or ACCEPTED it must display all the status any status that is after CLOSE or ACCEPTED we must not consider.
    In the above scenioro it must display only the first three status. after ACCEPTED it must not display any thing
    Please suggest me a query how to write.
    Thanks
    Sudhir.

    Try:
    SQL> with t as (
      2  select 121243 id, 4940 pro_id, 37506 pro_obj_id, 5250 task_id, 6532 developer_id, 'REJECTED' status from dual union all
      3  select 122063, 4940, 37506, 5250, 6532, 'CLOSE' from dual union all
      4  select 138306, 4940, 37506, 5250, 6532, 'ACCEPTED' from dual union all
      5  select 138307, 4940, 37506, 5250, 6532, 'WIP' from dual union all
      6  select 138308, 4940, 37506, 5250, 6532, 'ACCEPTED' from dual union all
      7  select 138309, 4940, 37506, 5250, 6532, 'REJECTED' from dual union all
      8  select 121243, 4940, 37777, 5250, 6532, 'REJECTED' from dual union all
      9  select 122063, 4940, 37777, 5250, 6532, 'CLOSE' from dual union all
    10  select 138306, 4940, 37777, 5250, 6532, 'ACCEPTED' from dual union all
    11  select 138307, 4940, 37777, 5250, 6532, 'WIP' from dual union all
    12  select 138308, 4940, 37777, 5250, 6532, 'ACCEPTED' from dual union all
    13  select 138309, 4940, 37777, 5250, 6532, 'WIP' from dual
    14  ) -- actual query starts here:
    15  select t1.id
    16  ,      t1.pro_id
    17  ,      t1.pro_obj_id
    18  ,      t1.task_id
    19  ,      t1.developer_id
    20  ,      t1.status
    21  from   t t1
    22  where id <= (select max(id)
    23               from   t t2
    24               where  t2.status in ( 'ACCEPTED', 'CLOSED' )
    25               and    t1.pro_id = t2.pro_id
    26               and    t1.pro_obj_id = t2.pro_obj_id
    27               and    t1.task_id = t2.task_id
    28               and    t1.developer_id = developer_id
    29               );
            ID     PRO_ID PRO_OBJ_ID    TASK_ID DEVELOPER_ID STATUS
        121243       4940      37506       5250         6532 REJECTED
        122063       4940      37506       5250         6532 CLOSE
        138306       4940      37506       5250         6532 ACCEPTED
        138307       4940      37506       5250         6532 WIP
        138308       4940      37506       5250         6532 ACCEPTED
        121243       4940      37777       5250         6532 REJECTED
        122063       4940      37777       5250         6532 CLOSE
        138306       4940      37777       5250         6532 ACCEPTED
        138307       4940      37777       5250         6532 WIP
        138308       4940      37777       5250         6532 ACCEPTED
    10 rows selected.If that doesn't work then please provide us some representative sample data again.

  • In the Date Picker, How can I default to select * dates if the user does ..

    In the Date Picker, How can I default to select * dates if the user does not select a date.
    Thanks,
    Doug

    Doug,
    Now lets say l want everythingCould you post some sample data and the output that you want to get..? It would be much easy to understand the requirements...
    When you mean everything, I am assuming you need all possible dates possible between date1 and date2.
    you can use... (from asktom.oracle.com).
      1  select to_date('12-jan-2009','DD-MON-YYYY') + rownum -1
      2    from ALL_OBJECTS
      3    where rownum <= (to_date('20-jan-2009','dd-mon-yyyy') -
      4*                     to_date('12-jan-2009','DD-MON-YYYY') +1 )
    sql> /
    TO_DATE('
    12-JAN-09
    13-JAN-09
    14-JAN-09
    15-JAN-09
    16-JAN-09
    17-JAN-09
    18-JAN-09
    19-JAN-09
    20-JAN-09
    9 rows selected.
    For your case, since you have date1 and date2...
    select to_date(:p12_date1,'DD-MON-YYYY') + rownum -1
      from ALL_OBJECTS
      where rownum <= (to_date(:p12_date2,'dd-mon-yyyy') -
                        to_date(:p12_date1,'DD-MON-YYYY') +1 )Should work.. in my opinion...Haven't tested the second one in Apex .
    Is this what you were looking for ..?? If not, please elaborate...
    Thanks,
    Rajesh.

  • How to display filtered data based on user login

    We have a SSRS report (.rdlc) which gives the report about Online count of machines. Report is incoperayed in Asp.net.
    We have many filters in This report. Now we have to retrict the report based on user login to the application .
    For ex: report has a drop down for Regional Admin. Now if one person login to the application he has to view only his region online count.
    How can we do this in SSRS?. We have our application hosted in Microsoft Azure . Please suggest

    Hi csmbrnoc,
    In Reporting Services, if we want to filter data based on user login, then there must be some relationship between the UserID and the Region in the dataset. For example, there is a field named UserID in the dataset, and each ID map some region and the corresponding
    “Online count of machines”. In this scenario, just as Visakh suggested, we can use built-in field User!UserID to obtain UserID of the current user, then directly add a filter to the dataset as below:
    Expression: [UserID]
    Operator: =
    Value: [&UserID]
    If there are any other questions, please feel free to let me know.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Output different data based on user select

    Hi everyone,
    Quick question, I would like to output different report columns based on user select, eg., users would be presented with two choices in a radiobutton list, eg., 1 and 2.
    I have query results that contain columns A, B, C, D, E, F, G.
    If user selects 1 then the output should be columns A, B, C, D, E.
    If user selects 2 then the output should be columns A, B, C, F, G.
    I am sure this is possible and easy? If so, what topic should I be reading/searching internet on?
    Please advise.
    Thanks!

    I would say that this is most often something that your user interface should be dealing with (i.e. which columns should be shown).
    There is no way to do that in SQL.
    In PL/SQL it is a simple situation of creating two cursors and simply deciding which one to open.
    <pre>declare
    l_cur sys_refcursor;
    begin
    if :user_selection = 1 then
    open l_cur for select A, B, C, D, E from tbl;
    else
    open l_cur for select A, B, C, F, G from tbl;
    end if;
    -- use the cursor
    close l_cur; -- or return to user interface
    end;
    /</pre>
    Hope this helps.

  • Filtering report data based on user login and Parameter fields

    Post Author: mronquillo
    CA Forum: General
    Hi,I am running a report that filters data based on the user login. To do this, I created a formula called @user that compares the login name (using the CurrentCEUserName field) and returns the user's name. If the user login is not a login specified in the if statements, it returns the parameter field "user_name":For example: if CurrentCEUserName = "loginname1" then "User's Name 1"else if CurrentCEUserName = "loginname2" then "User's Name 2" else if CurrentCEUserName = "loginname3" then "User's Name 3"  else if CurrentCEUserName = "loginname4" then "User's Name 4".. .else {?user_name}   In select expert, I have a condition which filters data based on the string returned from that formula:{Table.Name} = {@user}  This works fine and when the users run the report they only their own data. However, they are still prompted to choose a parameter field regardless if of the value returned by the @user formula. Oddly enough, regardless of what parameter field they choose, they will still only see their own data (i.e. if John chooses "Bob" from the parameter list, he will still only see John's data.)If I remove the "else {?user_name}" line from the @user formula, then the users are not prompted anymore. However, if they are not a "valid" user - that is, if any of the if statements in the formula are not true for their login name - then they will see no data. What I want to do is make the report ONLY prompt the user to choose a parameter field if their login name is not "valid". That is, if the @user formula is able to return a string value for their login name, then they will jump right into the report without being prompted to choose a parameter - otherwise, the user will be prompted to choose a name from the parameter list. I thought my formula would allow this (hence the "else" clause), but it seems that if a parameter field is present in any formula, then the report automatically prompts the user to choose a parameter. Is what I am trying to accomplish possible in CR (I'm using CR v10.0) or is there a better way to do what I am trying to do?Thanks in advance.

    Post Author: sharonmtowler
    CA Forum: General
    try, or something like that
    (if CurrentCEUserName ={?user_name} then true else ({Table.Name} = {@user}) )

  • Grouping of data based on user prompt having a list of dimensions

    Hi All,
    I have a requirement to be able to group data in OBIEE request or Dashboard based on user prompt selection.
    The prompt should list the Dimensions Available
    e.g.
    Dimensions: Product, Region, Employee
    Fact: Sales
    The report is to display sales total for the quarters of the current year.
    The user prompt should list the available dimensions (In this case - Location, Employee and Product).
    If I choose Product, the data is to be grouped by Products - Layout having a simple tabular grouping with Product names as Group headings.
    Similarly any other choice of Dimension from the prompt should group the data by that dimension and have the dimension values used in the group headings.
    How could we implement this? I understand this type of requirement (ability to choose dimension) is met in some OLAP reporting tools.
    I have used multiple views and the View Selector for similar requirements previously, but looking for a dynamic solution here.
    Any pointers or solution will be great.
    Thanks,
    Kiran
    Edited by: Kiran Kudumbur on Sep 8, 2009 5:43 PM
    Edited by: Kiran Kudumbur on Sep 9, 2009 12:42 PM
    Edited by: Kiran Kudumbur on Sep 10, 2009 2:26 PM

    Hi All,
    I used column view to address this requirement.
    Thanks,
    Kiran

  • Selecting records based on user formula

    Post Author: Josh@RTA
    CA Forum: Formula
    I'm writing reports for a company that stores all of their dates as 8 digit numerical fields rather than a date or datetime datatype. I want to convert this field to a date type, then compare it to a parameter that stores user input as a date type.
    However, due to the way that Crystal does it's passes over the data, I can't use a selection formula based off of another formula. So I'm wondering , has anyone ever used a selection formula that references another formula and how have you been able to do it? Maybe use group selection instead of record selection? Just not sure.
    I'm including the formula I'm using to convert the date, as well as the selection formula so you get an Idea of what I'm doing.
    //This converts the numeric 'date' field to a dateshared stringvar DateString := totext({wotrans.ROP_TRAN_DATE}, 0, '');shared datevar ConvertedDate :=If {wotrans.ROP_TRAN_DATE} < 19590101 then Date (1959, 01, 01) else Date ( Val (DateString &#91;1 to 4&#93;),            Val (DateString &#91;5 to 6&#93;),            Val (DateString &#91;7 to 8&#93;) );
    //This is the select statement I'm using to compare the above formula to my parameter using record selection{@ConvertedTransDate} = {?TransDateRange}

    Post Author: SKodidine
    CA Forum: Formula
    Replace your formula with this and then equate it to your parameter value in your selection criteria and see if it will work.
    If {wotrans.ROP_TRAN_DATE} <= 19590101 then Date (1959, 01, 01)
    else
    date(
    tonumber(totext({wotrans.ROP_TRAN_DATE},0,'','')&#91;1 to 4&#93;),
    tonumber(totext({wotrans.ROP_TRAN_DATE},0,'','')&#91;5 to 6&#93;),
    tonumber(totext({wotrans.ROP_TRAN_DATE},0,'','')&#91;7 to 8&#93;));
    The process might be faster if you convert or change the data type of your parameter to numeric and then compare to the numeric date.

  • How to select data, based on a specified or preset date/time range

    Hi,
    I am trying to construct a requirement like this in java/jsp.
    I have a table consisting of registered users info. Have a expiration date for every user, which was captured or set when they originally registered.
    I have to select all those users who are expiring two weeks from now.
    For example. if the current date is 14th, I should get a list of users who expire between the midnight of 24th sunday to 30th saturday. this covers the whole last 7days in that range. And so on.
    So based on the current date, the last midnight sunday to midnight saturday of that two week's range should be selected.
    The input fields for this range on the userend should default to this range.
    And also the user should be able to specify their own range and be able to pull data.
    the result should be populated as viewable as well as a downloadable tab de-limited file for mass mailing.
    (ex. the table might be queried for user info like id, email, expiration date, fullname, and shown accordingly in the jsp)
    I know this is a longshot.. but if somebody can guide me will be good as I am new to this forum and as well as java.

    Well, I can start you off with this:
    Calendar now = Calendar.getInstance();
    // shift 2 weeks and back to Sunday
    Calendar start = Calendar.getInstance();
    start.add(Calendar.DATE, 14);
    end.set(Calendar.HOUR, 0);
    end.set(Calendar.MINUTE, 0);
    end.set(Calendar.SECOND, 0);
    end.set(Calendar.MILLISECOND, 0);
    while(start.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
    start.add(Calendar.DATE, -1);
    // shift 2 weeks and up to Saturday (following Sundat midnight, actually)
    Calendar end = Calendar.getInstance();
    end.add(Calendar.DATE, 14);
    end.set(Calendar.HOUR, 0);
    end.set(Calendar.MINUTE, 0);
    end.set(Calendar.SECOND, 0);
    end.set(Calendar.MILLISECOND, 0);
    while(end.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
    end.add(Calendar.DATE, -1);
    At this point, start is the first Sunday before the day 2 weeks from today and end is the first Sunday after the day 2 weeks from today, both at midnight. You could make end stop at Saturday and make the time 23:59:59:999, of course.
    If you ran it today, it should be 11/9 and 11/16.

  • How to change Rendering Extension in sql server Reporting Services based on User Permissions

    Hi,
    I want to provide SQL server reporting services rendering extension based on user Access.
    For Example
    User1 can have options of Rendering to EXCEL and PDF
    User2 can have a option of CSV
    i read one article which is useful for report basis rendering extension changes. but i want to give user basis rendering options.
    http://www.mssqltips.com/sqlservertip/3569/how-to-change-rendering-extensions-in-sql-server-reporting-services/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=20150406
    Thanks in advance.
    GVRSPK VENI

    You can use a data driven subscription for that
    Maintain a table with rendering extension information for various users ie their AD user login. Then setup a data driven subscription based on table values
    You will be creating a dataset with query for retrieving userid as well as rendering extensions and then just set the value as Get value from database for  render Format and To properties 
    For more details refer
    http://beyondrelational.com/modules/2/blogs/101/posts/13460/ssrs-60-steps-to-implement-a-data-driven-subscription.aspx
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • SELECT data based on partitions

    I know we have PARTITION clause in SELECT statement.
    My requirement is i need to select data from Last two partitions in which data is available.
    If we know the name of the 2 partitions then we can select and UNION ALL.
    But In my case, i dont know the partitition names too,
    I need to find out the names of the partitions using any subquery and i need to select from that.
    May i know how can i achieve this?
    Thanks

    Maybe you could adjust the below (NOT TESTED !) if the meaning of the recent 2 partitions is somehow connected with partition_position within [url http://download.oracle.com/docs/cd/E11882_01/server.112/e25513/statviews_2108.htm#REFRN20281]all_tab_partitions as I don't have a database at hand to find out how partitions are being numbered.
    declare
      the_sql   varchar2(32000) := q'{ your sql here }'; -- assumed having a where clause
      the_table varchar2(30)    := 'your_table_name';
    begin
      for i in (select partition_name
                  from all_tab_partitions
                 where table_name = the_table
                   and partition_position <= 2  -- assumed ascending order for partition numbering
      for i in (select partition_name
                  from (select partition_name,row_number() over (order by partition_position desc) rn
                          from all_tab_partitions
                         where table_name = the_table
                 where rn <= 2  -- assumed descending order for partition numbering
      loop
        substr(the_sql,1,instr(the_sql,'where')) || ' partition (' || i.partition_name || ') ' ||
        substr(the_sql,instr(the_sql,'where')) || ' union all ';
      end loop;
      the_sql := 'select * from (' || substr(the_sql,1,instr(the_sql,' union all ',-1,1)) || ')';
      dbms_output(the_sql);
    end;Regards
    Etbin

  • Facing problem in selecting data based on the join s tatement ppls suggest

    hi
    cosider a sceneio as below
    there  are six tables    table1
                                    table2 
                                    table3       table4 
                                                               table5 table6
    join conditons between tables
    table1-lclic (primary key) = table2-lclic
    table1-lgreg = table3-lgreg (PK for table 3)
    table2-pobj = table4-pobj
    i have used join statment to join table 1 table 2table3
    i want to select data from table5
    table5-ccngn and table6-text
    now condion for validation is that
    table5-field1 is selected if table4-ctsex = table3-ctsty and tehre is no link between table 5 and table 3 o nly link is through table 4
    table4-ctsnum=table5-ctsnum (primary keys)
    can anyone suggest how to format the select statement
    regards
    Arora

    Hi Nishant,
    Using Table Joins for multiple tables would severely hamper the performance of the SAP system.
    Instead use individual select statements for each database table, and later reconcile all the internal tables.
    <b>Reward points, if helpful.</b>
    Regards,
    Atin

  • Select data based insert

    Hi,
    Is there a way to select data to select data wht is been inserted in time. means there are so many insert process keep happing In my application i need to select which is happend very recently.
    How to select such data please suggest
    If table name is "Contribution" .
    Please suggest
    Thanks
    Sudhir

    Hi ,
    You can include a column as inserted_time and keep the data type as date and default value is sysdate, now every time a record is being inserted the inserted_time field will get populated with value sysdate,
    now to query the latest record you can use like below
    select <column-names> from <table-name>
    order by inserted_time descin this way you can view which all record are inserted recently. I hope it is clear :)
    If you have any doubt then tell.
    regards

  • Displaying internal table fields data based on user selection

    Hi all,
    I am having a checkbox for each field in the internal table.
    and i only have to display the fields of the internal table which the user has selected based on the check boxes provided.
    Could you plz help me out, how can i display the data of only those fields which the user has selected initially.....
    Thanks,
    anil.

    Hi,
      This is not the best solution but this can be one solution.
    Check this code
    REPORT z_sdn.
    PARAMETERS:
      p_kunnr AS CHECKBOX DEFAULT 'X',
      p_land1 AS CHECKBOX,
      p_name1 AS CHECKBOX.
    DATA:
      BEGIN OF fs_tab,
        kunnr     TYPE kunnr,
        land(10) TYPE c,
        name(10) TYPE c,
      END OF fs_tab.
    DATA:
      t_tab LIKE
      TABLE OF
            fs_tab.
    START-OF-SELECTION.
      CLEAR fs_tab.
      fs_tab-kunnr = '001'.
      fs_tab-land  = 'Land1'.
      fs_tab-name  = 'Name1'.
      APPEND fs_tab TO t_tab.
      CLEAR fs_tab.
      fs_tab-kunnr = '002'.
      fs_tab-land  = 'Land2'.
      fs_tab-name  = 'Name2'.
      APPEND fs_tab TO t_tab.
      IF p_kunnr = 'X' AND p_land1 IS INITIAL AND p_name1 IS INITIAL.
        WRITE: / 'KUNNR:'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-kunnr.
        ENDLOOP.
      ENDIF.
      IF p_land1 = 'X' AND p_kunnr IS INITIAL AND p_name1 IS INITIAL.
        WRITE: / 'LAND:'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-land.
        ENDLOOP.
      ENDIF.
      IF p_name1 = 'X' AND p_kunnr IS INITIAL AND p_land1 IS INITIAL.
        WRITE: / 'NAME:'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-name.
        ENDLOOP.
      ENDIF.
      IF p_kunnr = 'X' AND p_land1 = 'X' AND p_name1 IS INITIAL.
        WRITE: / 'KUNNR:',
                 'LAND'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-kunnr,
                   fs_tab-land.
        ENDLOOP.
      ENDIF.
      IF p_kunnr = 'X' AND p_name1 = 'X' AND p_land1 IS INITIAL.
        WRITE: / 'KUNNR:',
                 'NAME'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-kunnr,
                   fs_tab-name.
        ENDLOOP.
      ENDIF.
      IF p_name1 = 'X' AND p_land1 = 'X' AND p_kunnr IS INITIAL.
        WRITE: / 'LAND:',
                 'NAME:'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-land,
                   fs_tab-name.
        ENDLOOP.
      ENDIF.
      IF p_name1 = 'X' AND p_land1 = 'X' AND p_kunnr = 'X'.
        WRITE: / 'KUNNR',
                 'LAND:',
                 'NAME:'.
        LOOP AT t_tab INTO fs_tab.
          WRITE: / fs_tab-kunnr,
                   fs_tab-land,
                   fs_tab-name.
        ENDLOOP.
      ENDIF.
    Regards
    Abhijeet

Maybe you are looking for