Securing an infoobject in a query

Hi
There are a few users who have access to BEx Query Designer and create most of their reports by Company Code. Company code is authorization relevant Info Object. I want to give access to this object in such a way that depending on the user access to specific company codes, it dispalys only those company codes when they use in a query, how can i achieve that. This should be applicable to any query in which they are using company code
Thanks
Rashmi.

Hi Rashmi,
One option you may consider is an automated import of the company code authorisations from the users' R3 access into a DSO within the BI system, which you may then reference through the roles and analysis authorisations as a variable.
Editing the user exit in function modules to reference the entries in the DSO when a variable (e.g $BUKRS) is then possible, although this will require a lot of effort from BI, ABAP and yourself to implement, it gives you the option to dynamically allow access to the applicable company codes and carries the advantage that if R3 access changes, BI reporting will also be updated
I think the FM is RSR00001in transaction CMOD
Hope this helps,
Tom

Similar Messages

  • BEX Query - Run time char InfoObjects manipulation for query results

    Hello Experts,
    Iam working on BEX queries to meet following requirements,
    1)  Display only first 2 char of an InfoObject in the query results. Actual infoprovider has 24 char for this InfoObject. Example: Summary code FABCDXXXX.. But we want to show only 'FA' in query results
    2) We split a 120 char description into two 60 char InfoObjects, we need to concatenate the split char into one for query result display
    3) We need to show a specific hierarchy level, nothing before or after. For example: Eighth level for a cost element hierarchy.
    4) We need to show a constant in a column (which is not there in the table)
    We are planning to use both BEX analyzer and Crystal for the reports.
    I read in one of the thread that we can use formula variables/Customer exit for this but iam not very clear, if you know how to do it or if you have any step by step procedure, can you please pass it to me. Thanks in advance for your help.
    Regards,
    Raman

    Thanks for quick response. We have users who need BEX analyzer, is there any way to handle the above requirments for BEX analyzer.

  • Multiprovider design (InfoObject assign) and query dehavior

    Hi experts,
    we have a hetergenous  multiprovider, it has several InfoCube as the basis cube.  when execute the query, it will display some duplicated records.
    1) the two duplicated records are exactly the same, including characteristics, navigational atrribute, key figures.
    2) the two duplicated records have the same characteristics, navigational attribute, with some of different key figures .
    It's very hard to identify the root cause why for some of the records, it will have duplicated records.  Meanwhile, I have some question for the multiprovider design..
    For example, now we have 4 InfoCube..
    In those 4 infoCube, we have the 0Material inside. at Multiprovider level, 0Plant are assign from those 4 infoCube
    Only 3 of the InfoCube, have the 0Plant inside. at Multiprovider level, 0material are assign from those 3 infoCube.
    1) what will happen , if I include 0plant and 0material as the rows in the query designer, will this cause some duplciated records ?
    Now , 0Material, have the navigational attrribute, 0mateiral_0matl_type,  If I only 3 Cube has the
    0mateiral_0matl_type Open and assign into the Multiprovider..
    In my query, I use the 0material, and also 0material_0matl_type as the variable , both could input the values, and display in the rows
    What will happen ? if not all the navigational attribute are assigned at the Multiprovider level, but the master data InfoObject 0material it self are all assigned at the multiprovider level.
    2 ) Is there any influence to retrieve the record ?  I am not sure if 0Material are correctly assigned, 0material_matl_type will influence the result (number of records), or will this cause duplicate records ?
    I think in some of the case, in the sub -cube, not all the required InfoObject, or navigational attribute are avalable at the ALL Cube level, but in the query level, they are used.
    Finally, what could be the reason for duplicated records ?? they should be merged after execution..
    Please share your comments.  Thank you very much.
    Best Regards,
    muwenziwu

    HI muwenziwu,
    If you iunclude any characteristics or a navigational attribute which is not common in both the infoproviders
    then the it will show the result in a seperate line ,
    But you have a option to overcome this , refer the How to document in the below link
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/70dcd7b5-6a3d-2d10-c984-e835e37071a2
    Hope this helps
    Regards,
    Sathya

  • How to Enumerate infoObjects in a Query

    I'm intersted in listing all infoObjects in a particular BI query. I've found several posts to this forum which list relevant tables such RSRREPDIR, RSZELTDIR, RSELTTXT etc. However, I have not found the table which provides the linkage for the infoObjects used in a particular query. At best, I can locate the variables used in a query. I need to list the characteristics and key figures in a given query.
    Is this possible? Any advice would be appreciated. Thanks.

    Hi David,
    Tables RSZELTXREF and RSZELTDIR would be sufficient.
    Take an excel.
    Go to RSZELTXREF. In SETUID give query technical definition name like (ASFWDSVD.....).
    Run.
    You will get a lits of TELTUIDs.(ie a lis of records)
    Copy all TELTUID' in column in excel.
    Now copy these TELTUIDs as multiple values in RSZELTXREF in SETUID
    Again copy all TELTUIDs and append it to the existing records in Excel.
    Keep doing this until you get no records in RSZELTXREF.
    Now your TELTUID column is ready.
    Take all these values to RSZELTDIR and coopy them to ELTUID as multiple values.
    In the default hin it will show you your characteristics and key figures
    There is one more bery easy way.
    Run a program RSRQ_QUERYDEFINITION, give a query name, check all the boxes and run
    I am sure you will like this way
    Hope it helps,
    Best regards,
    Sunmit.

  • InfoObject missing in Query Designer

    Hi Expert,
              I created one DSO which contain contian InfoObject InfoA, InfoB and other fields . and i also create a query against this DSO. But in Query Designer, there is no InfoObject InfoA and InfoB. all other fields can be find in Query Designer! i feel confuse about this ?
             Anybody can give some advise about this?
       Thanks in advance.

    Hi Dragon
    1. Close query designer.
    2. Activate the DSO once again
    3. Re-open query designer
    Sometimes I also faced refresh issue. but the above steps resolved my problem
    Regards
    Anindya

  • InfoObject used in Query

    I have  0CHART_ACCTS and 0GL_ACCOUNT used in the several cubes/ODS.
    There are quite a number of Query and WAD is created from these cubes/ODs.
    Is there a way to find out what query/WAD is using the InfoObject  0CHART_ACCTS or 0GL_ACCOUNT?

    Hi,
               Since these Infoobjects are standard, you can search the queries for the respective infoobjects in the SAP LIBRARY TREX search engine.
    Regards,
    Kalyani.

  • Filter certain InfoObject values in Query Designer

    Hi
    I've the following scenario:
    - InfoObject 0ACCOUNT contains some account numbers with prefix 'XYZ' followed by a number, e.g. 'XYZ12345'
    - These values may never be shown to the analysts, i.e. I need to filter (remove) them in the characteristic restrictions of the Query Designer
    How can I do that? Hard-coding all these values makes no sense as new account numbers could be created anytime.
    I think the only solution is using a customer exit or does someone have another idea?
    Thank you for you help
    Patrick

    Hi Patrick,
    Exclusion with multiple values generally hampers query performance, so better I would suggest you to include required values in filter if that is feasible (As I know there is some limit on number of filter value inclusion also).
    You can simply create a customer exit variable on 0ACCOUNT, select all the master data values of 0account in internal table and then delete the values starting with 'XYZ'.
    DELETE i_t_account where 0account CP 'XYZ'.
    after that you need to populate all these values in variable. I would suggest you to do this operation in I_STEP = 2, otherwise if you do it in step 1 then it might take some time for user to see the selection screen.
    Regards,
    Durgesh.

  • Infoobject in a query

    Hi expert,
    Which table can I consult to obtain a list of Infoobject contained in a specific query?
    Is it possible know which one is contained in the rows, which in the columns, which in free char..........?
    thanks a lot.
    claudia

    Please refer the below link:
    [http://wiki.sdn.sap.com/wiki/display/BI/TablesinSAPBWwhichgiveinformationrelatedtoQueries%2CWorkBooksandWebTemplates]

  • Related to InfoObject display in Query as Key and Text

    Hello all,
              I have problem with my two queries which is created on same InfoProvider.
    Problem:
                I have Q1 and Q2 queries which fetch data from DT1 data target
    > Both the Q1 and Q2 has the same InfoObject 'IO'.
    > Properties of InfoObject in both Q1 and Q2 are same.
    While Q1 and Q2 is expected to return the same result. Q1 returns the key and text but Q2 is returning only key for same infoObject 'IO' .
    Additional Information:
    > In query result, The 'IO' properties for Q1 it is key and text and Q2 is only key.
    > I cannot change the Q2 's 'IO' properties to show key and text in query result as i donot have the authorization.             Q2 query is created on development server and tranported to production, where as Q1 query created on production.
    I want Q2's 'IO' to display key and text.
    Please let me know if you need more information.
    Thanks,
    Umashankar

    Hello all,
          Thanks to all for your response. Here I can conclude all of your saying.
    1. Change the Q2 in development and transport it to production.
              To do this I need to have applicable data in dev or QA, unfortunately there is no applicable data found in any of the system except Prod.
    2. Change the Q2 in production by having authorization.
              It will solve the problem but I hope Client will not agree to provide authorization to change.
    excuse me these will not resolve the problem. If you any new Idea please let me know.
    My way to resolve this is
    1. Delete the Q2 from Prod
    2. Copy the query Q1 to Q3 in Prod.
    3. Reverse transport Q3 to Dev and tranport again to Prod.
    4. Check the query result.
                Here you may ask why you need Q3 if you have Q1 and Q2, the answer is Q1 is created by user and now he need Q2 (same as Q1) but it should not be in changeable mode. Hence we have created the query Q2 in Dev and transported to Prod (In previous case).  But the only difference in both the queries is one InfoObject values is shown as Key and Text in Q1 and Key as Q2.
    I'm not sure whether the way mentioned here solve the problem.

  • Text in InfoObject usable for Query definition

    Hi,
    I need to build a query in QD already within the testsystem.
    But in testsystem database is rare and I am not able to use all the different characteristics that will apear later in produktiv system.
    What can I do? Can I maintain the texttable of the different infoobjects and use those entries while building a query? I have tried to do so, but entries in texttable are not available in QD.
    What have I done wrong?
    I am on 3.5.
    BR,
    Thorsten

    Hi,
    What I understood from your question is that you wish to see data in your query that is created in teh test system. Byt the test system doesn't have as much data as the production.
    If that is the case, do a flat file update for your targets.
    If it is not what  I understood, please explain again.
    To have master data however, you can directly create/modify the values in the P-table to text table of the objects. However that is not recommended in Production.
    Regards
    Sudeepti

  • SQL Query in Custom Security when creating Security Profile

    Hello all,
    I've created a security profile with Custom security and provided a simple query in Custom Security tab-
    PERSON.PERSON_ID = FND_GLOBAL.EMPLOYEE_ID
    Custom security option is "Restrict the people visible to each user using this profile"
    I am not able to see the record as expected.
    If I Hardcode the person ID "PERSON.PERSON_ID = 13449" with "Restrict the people visible to each user using this profile", I am able to see the record.
    If I Hardcode the person ID "PERSON.PERSON_ID = 13449" with "Restrict the people visible to this profile", I am able to see the record after running PERSLM and same is in PER_PERSON_LISTS.
    Am I correct in checking with FND_GLOBAL.EMPLOYEE_ID?
    (This was mentioned in system administrator guide :
    "+Oracle HRMS assesses the custom security when the user signs on. In addition, the custom security code can include references to user specific variables, for example, fnd_profile.value() and fnd_global.employee_id.+"
    docs.oracle.com/cd/E18727_01/doc.121/e13509/T2096T2098.htm).
    I have tried with FND_GLOBAL.USER_ID / FND_PROFILE.VALUE('USER_ID') / :ASG_ID (seeded query has a join with this bind variable) - not happening.
    I've given options as below :
    Employees = None
    Contingent Worker = Restricted
    Applicant = None
    Contacts = All
    Candidates = All
    All other options - Defaulted
    Thanks,
    Sumanth

    Resolved this - One cannot see self's employee record in the form for which this is setup.
    Hence the below query though correct in syntax did not show any data.
    PERSON.PERSON_ID = FND_GLOBAL.EMPLOYEE_ID
    My original requirement was that all employees belonging to one's Organization should be displayed, and this is working fine with an updated query for the same.
    Thanks,
    Sumanth

  • BW3.5 - Query Cache - InfoObject decimal formatting

    Hello all,
    I built a bw query, which displays key figures.  Each key figure uses the decimal place formatting from the key figure infoobject (In Query Designer, the properties for each keyfigure for Decimal places, is set to "[From Key Figure 0.00]").
    I decided to change the InfoObject key figure to have 0 decimals places (in BEx formatting tab for the Key Figure).  Now, when I open up query designer, and look at the properties for the Key figure, it still is set to "[From Key Figure 0.00]" (it should be "[From Key Figure 0]" to reflect the Key Figure Infoobject change. 
    I tried to generate the report using RSRT, and deleting the query cache, but it still shows up with two decimal places.  Has anyone encountered this problem before?  I am trying to avoid removing the Key Figure infoobject from the query and readding it to reflect the change.
    Thanks!

    Hello Brendon
    You have changed the KF infoObject to show only 0 decimal( no decimal)..that is okay but in query KF property you have selected with 2 decimal so data will be displayiing in 2 decimal...the query setting is local and have priority over KF InfoObject settings...
    If you notice in KF property in query u will have one option from the field somethjing which means whatever is defined by KF infoObject...just select that now onwards u will get only those many decimal which u have defined in KF InfoObject
    Thanks
    Tripple k

  • Query to get InfoObject(ReportObject) from specific Folder

    Hi,
    I am using XI Release 2.I am having one report object in two folders with the same name.
    example: I am having one report object named TestReport that exist in folder ALL as well as folder TEMPORARY in CMS.
    Following query i am using:
    "SELECT TOP 1 * FROM CI_INFOOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.Report'").append(" AND SI_INSTANCE=0 AND SI_NAME='").append(TestReport ).append("'");
    but it always returns the report object from folder ALL while i want to have report Object from folder TEMPORARY
    Reporrt Path: path://InfoObjects/Root Folder/Temporary/
    Can anyone help me out with the query to get the report object from specific folder?
    Thanks
    Prakhar Paharia
    Edited by: prakhar paharia on Mar 10, 2009 3:43 PM
    Edited by: prakhar paharia on Mar 10, 2009 3:44 PM
    Edited by: prakhar paharia on Mar 10, 2009 4:17 PM

    Hello Prakhar,
    You are querying the the CI_INFOOBJECTS table for crystal reports that have the name TestReport.
    If a crystal with name TestReport exists in folder ALL and another crystal with name TestReport exists in folder TEMPORARY , you should get two INFOOBJECTs with your query!
    Look at your query : 
    SELECT TOP 1   means select one entity.
    I guess this is the reason for your problem.
    bernd
    Edited by: BerndB on Mar 12, 2009 8:42 AM

  • Read / Write Security from Query and Display Templates

    When you assign a role to the READ access of the Security tab of either the Query or Display template, this means the user can only view the report on the screen.
    My question is...
    When you assign a role to the WRITE access of the Security tab of either the Query or Display template, DOES this means the user can enter information on the screen?  Or is there another meaning to the WRITE section?

    Please look at the bottom of this page:
    <a href="http://help.sap.com/saphelp_xmii115/helpdata/en/Getting_Started/Template_Editor/Query_Editor.htm">http://help.sap.com/saphelp_xmii115/helpdata/en/Getting_Started/Template_Editor/Query_Editor.htm</a>
    Writer Roles is a design time template editor permission to make physical changes to the template itself.
    Regards,
    Jeremy Good

  • BE Security

    Hi,
    Can any one tell me the importance of using : , # and $ as an authorization value in BIW?
    Thanks

    Once you associate your custom reporting authorization object with an InfoCube, every query that executes against that InfoCube will check your custom reporting authorization object, even though the query definition may not contain the secured InfoObjects. In general, for each authorization for your custom reporting authorization object, you should include a colon ( as a field authorization value. Without the colon value in the authorization, the user will fail the authorization check on any queries against the InfoCube that do not use the secured InfoObject(s). If the InfoCube has sensitive data, it could be that you do not want the user to see any summarized data.
    For example, let us assume you have an InfoCube that has sensitive forecasting data. In this business scenario you have chosen to secure by InfoObjects (for example, Company Code). If you do not want a user with access to Company Code 1000 to see ANY data from other company codes, then you might not give this user the colon ( value in the authorization. This would mean that ANY queries on your InfoCube that do not use the Company Code InfoObject will fail for this user.
    Using a Pound Sign (#) as an Authorization Value
    When data is loaded into SAP BW, some fields may be marked as no value assigned (posted with INITIAL). If you have secured an InfoObject that has data that is unassigned in the InfoCube, you may choose to give the user a pound sign (#) in order to avoid an authorization error at runtime. The #character is interpreted as authorization for the display of the value Not assigned (posted with INITIAL).
    Using $ as an Authorization Value
    Lets assume that , we are using the authorization value to fill the variable for the division at query runtime. This means that we will need as many roles as there are different divisions. Using the $ as the value for division would eliminate the need for so many roles. When you use the $ as an authorization value, you must provide code that will check to verify the division being used.
    I have taken the above info from www.sapsecuritiesonline.com. May be you can find more answers there
    Please avoid points if find usefull
    Bye

Maybe you are looking for