Hierarchies in query and giving authorizations

Hi All Gurus,
i need to create  hierarchies in a report , how to create them , why we create them and i need a detailed explanation and and the authorization  .Presenly am working on HR module and i need to create a report where a manager can see only his employee details like ( working hours, actual time and the illness hours ) for his organisational unit. only the respective manager can see only his employee details .Do we need to create the authorizations here can we  have a tree structure to select on?  The user would like to have a tree structure of the managers organization .
i think i gave an over view  .Kindly could some one expert tell me how to build the structure ,any more info mail me at ([email protected])
100% points will be awarded .
Thanks in advance
Sherwin

Paul,
a) Enable the characteristic for hierarchies (sales employee presumably).
b) Build your hierarchy in R/3 or BW. If you do it in R/3 you need to setup the daily / weekly load of the hierarchy.
c) In your query set the properties of the characteristic to look at your hierarchy.
When your hierarchy is built you will setup authorizations at node level - then in your query you will assign the Authorization variable to the Sales Employee characteristic.
Regards
Gill

Similar Messages

  • Query to fetch users and User Authorizations

    Hi
    I have a task to retrieve the all users and the authorizations. I am trying to run a query to get the results.
    Inorder to get the users, I use
    select * from OUSR
    But I am stuck with authorizations.
    Can anyone help.
    Thanks in advance.
    MSJ.

    Hi Manoj,
    It is not possible in SAPB1.
    Try to Export to Excel File.
    check the thread,
    Re: Authorisations List
    Regards,
    Madhan.

  • Authorization to query and web template in BI 3.5

    Hello
    I need to grant users athorizatio to the WEB template and its query. Query is based on Multiprovider.
    Should I save query and WEB template to existing role and grant authorizaion to tis role or I also need to grant authorization to multicube and all cubes underneath?
    Thanks

    Hi,
    You need to assign two objects for authorizing web templates and query..
    S_RS_COMP AND S_RS_COMP1... in both these object you need to assign appropriate roles and activities.
    S_RS_MPRO object to assign authorization to MP.
    Regards,
    Anup
    Edited by: Anup Chaudhari on Dec 3, 2009 8:42 AM

  • Authorization on Modify Y* Query and View Z* Query

    Hi Experts,
    is it possible to allow user to modify only Y* query and to display Z* and Y* query?
    I add two times S_RS_COMP (&S_RS_COMP1) in the SAME role (PFCG), one time allowing ALL activities for Y* query and othe allowing only display activity on Z* query...but it doesn't work! I have to do 2 different roles and add the two roles to the user?
    Any hints will be rewarded.
    Many thanks in advance,
    Fabio.

    mentioning in one role or two roles depends on your requirement.
    if you are planning of using one role, entries should be as below.
    S_RS_COMP
              actvt  --03, 16
              rszcompid -- Z*
    S_RS_COMP
              actvt  -- *
              rszcompid -- Y*
    S_RS_COMP1
              actvt ---*
              rszcompid ---Z, Y

  • Initial values in query using multidimensional authorizations

    Hi,
    so far reading here through the topics helped solving my issues, but know I have a problem with displaying the initial values in a query using multidimensional authorizations. We use BI 7 and have to user the authorization check from BW 3.5 (rsr).
    Following situation:
    - We have a two infoobjects "CLUST" and "P_CLUST" referencing to the infoobject "M_COSTELM" and using the same hierarchies.
    - The user should either see a specific value of CLUST and all values of P_CLUST or a specific value of P_CLUST and all values of CLUST in the reports. The values of CLUST and P_CLUST he's allowed to see are the same.
    - The role is declared as following:
    CLUST: * + P_CLUST [] + auth.object for CLUST
    PCLUST: * + CLUST [] + auth.object for PCLUST
    - Only one of those two infoobjects has to be set with a value in the query.
    Using the role as above and running a query, the rights management is working fine and the user only see's what he's allowed to.
    But when the user open's the query he see's the whole hierarchie in the inital values on the left and not only those nodes and leafs he should see.
    For example:
    Hierarchie "costelm_hier"
    ALL_NODES
    - FIRST NODE
       - FN_LEAF 1
       - FN_LEAF 2
    - SECOND NODE
      - SN_LEAF 1
      - SN_LEAF 2
    The user is allowed to see the FIRST_NODE and it's leafs in CLUST and P_CLUST.
    When he now open's a query with CLUST as the input-ready infoobject, in the initial values he see's the whole hierarchie and not only the FIRST_NODE with it's leafs.
    When then browsing through the tree and selecting the FIRST_NODE, in the query, the restrictions are working fine. He can see the FIRST_NODE in the infoobject CLUST and every values in P_CLUST. Also vice versa.
    As it's more user-friendly I only want the user to see the nodes and leafs he's has in his role.
    I also tried using an exit variable with the function 'RSSB_GET_AUTHS_FILTERED', but without success.
    Hope u understand me so far!?
    Thanks for your support!

    How do I ask a question on the forums?
    SQL and PL/SQL FAQ

  • PO query not giving correct values

    Hi
    I am running the following query in PL?SQL Developer
    SELECT hou.name Operating_unit,
           pha.segment1 po_number,
           pha.revision_num,
           ap.vendor_name,
           hla1.location_code,
           papf.full_name Buyer,
           to_char(pha.creation_date, 'DD-MON-RRRR HH24:MI:SS') creation_date,
           pdta.type_name,
           assa.vendor_site_code,
           hla2.location_code,
           initcap(pha.authorization_status) po_status,
           pha.currency_code,
           pla.line_num,
           pltt.line_type,
           msib.segment1 item,
           (mcb.segment1 || '.' || mcb.segment1) category,
           msib.description,
           msib.primary_unit_of_measure UOM,
           pla.quantity,
           pla.unit_price,
           (pla.quantity * pla.unit_price) amount,
           (gcc.segment1 || '-' || gcc.segment2 || '-' || gcc.segment3 || '-' ||
           gcc.segment4 || '-' || gcc.segment5) charge_account,
           pla.list_price_per_unit,
           at.name,
           pha.freight_terms_lookup_code,
           pha.fob_lookup_code,
           initcap(pha.pay_on_code) pay_on_code,
           pha.acceptance_required_flag,
           ood.organization_code,
           ood.organization_name,
           msib.primary_unit_of_measure UOM,
           pla.quantity,
           plla.country_of_origin_code,
           (gcc.segment1 || '-' || gcc.segment2 || '-' || gcc.segment3 || '-' ||
           gcc.segment4 || '-' || gcc.segment5) charge_account,
           (pla.quantity * pla.unit_price) amount,
           plla.receive_close_tolerance,
           plla.invoice_close_tolerance,
           plla.quantity,
           plla.quantity_received,
           plla.quantity_cancelled,
           plla.quantity_billed,
           plla.match_option,
           plla.accrue_on_receipt_flag,
           plla.enforce_ship_to_location_code,
           plla.days_early_receipt_allowed,
           plla.days_late_receipt_allowed,
           plla.receipt_days_exception_code,
           plla.qty_rcv_tolerance,
           initcap(plla.qty_rcv_exception_code),
           plla.allow_substitute_receipts_flag,
           plla.receiving_routing_id,
           plla.enforce_ship_to_location_code,
           initcap(pda.destination_type_code),
           papf.full_name requestor,
           hla3.location_code,
           --pda.quantity_ordered,  -- commented because giving wrong value
           (select quantity_ordered
              from po_distributions_all
             where po_header_id IN (select po_header_id
                                      from po_headers_all
                                     where segment1 = pha.segment1)) quantity_ordered, -- Added
           (gcc.segment1 || '-' || gcc.segment2 || '-' || gcc.segment3 || '-' ||
           gcc.segment4 || '-' || gcc.segment5) po_charge_account,
           haou.name,
           prha.segment1,
           prla.line_num,
           to_char(prla.rate_date, 'DD-MON-RRRR') rate_date,
           (gcc.segment1 || '-' || gcc.segment2 || '-' || gcc.segment3 || '-' ||
           gcc.segment4 || '-' || gcc.segment5) po_charge_account,
           (SELECT acc.segment1 || '-' || acc.segment2 || '-' || acc.segment3 || '-' ||
                   acc.segment4 || '-' || acc.segment5
              FROM gl_code_combinations acc
             WHERE acc.code_combination_id = pda.accrual_account_id) accrual_account,
           (SELECT acc.segment1 || '-' || acc.segment2 || '-' || acc.segment3 || '-' ||
                   acc.segment4 || '-' || acc.segment5
              FROM gl_code_combinations acc
             WHERE acc.code_combination_id = pda.variance_account_id) variance_account,
           pla.line_num,
           plla.shipment_num,
           ood.organization_code,
           ood.organization_name,
           msib.segment1,
           msib.description,
           pla.quantity
      FROM hr_operating_units           hou,
           po_headers_all               pha,
           ap_suppliers                 ap,
           hr_locations_all             hla1,
           per_all_people_f             papf,
           po_document_types_all        pdta,
           po_document_types_all_b      pdtab,
           ap_supplier_sites_all        assa,
           hr_locations_all             hla2,
           po_lines_all                 pla,
           po_line_types_b              pltb,
           po_line_types_tl             pltt,
           mtl_system_items_b           msib,
           po_line_locations_all        plla,
           mtl_categories_b             mcb,
           po_distributions_all         pda,
           gl_code_combinations         gcc,
           ap_terms                     at,
           org_organization_definitions ood,
           hr_locations_all             hla3,
           po_requisition_headers_all   prha,
           po_req_distributions_all     prda,
           po_requisition_lines_all     prla,
           hr_all_organization_units_tl haou
    WHERE 1 = 1
       AND pha.segment1 = '6395'        --&po_number
       AND hou.organization_id = 204    --&operating_unit
       AND hou.organization_id = pha.org_id
       AND pha.vendor_id = ap.vendor_id
       AND hla1.location_id = pha.ship_to_location_id
       AND papf.person_id = pha.agent_id
       AND SYSDATE BETWEEN papf.effective_start_date AND papf.effective_end_date
       AND ((pdtab.document_type_code IN ('PO', 'PA') AND
           pdtab.document_subtype = pha.type_lookup_code))
       AND pdta.document_subtype = pdtab.document_subtype
       AND pdta.document_type_code = pdtab.document_type_code
       AND pdta.org_id = Pdtab.org_id
       AND pha.org_id = pdta.org_id
       AND ap.vendor_id = assa.vendor_id
       AND pha.org_id = assa.org_id
       AND pha.vendor_id = assa.vendor_id
       AND pha.vendor_site_id = assa.vendor_site_id
       AND pha.bill_to_location_id = hla2.ship_to_location_id
       AND pla.po_header_id = pha.po_header_id
       AND pltb.line_type_id = pla.line_type_id
       AND pla.line_type_id = pltt.line_type_id
       AND pltt.language = USERENV('LANG')
       AND msib.inventory_item_id = pla.item_id
       AND plla.po_line_id = pla.po_line_id
       AND msib.organization_id = plla.ship_to_organization_id
       AND mcb.category_id = pla.category_id
       AND pda.po_line_id = pla.po_line_id
       AND pda.po_header_id = pha.po_header_id
       AND pda.code_combination_id = gcc.code_combination_id
       AND at.term_id = pha.terms_id
       AND ood.organization_id = plla.ship_to_organization_id
       AND pda.deliver_to_person_id = papf.person_id
       AND hla3.location_id = pda.deliver_to_location_id
       AND haou.organization_id = prha.org_id
       AND haou.language = USERENV('LANG')
       AND prha.org_id = pha.org_id
       AND prha.requisition_header_id = prla.requisition_header_id
       AND pda.req_distribution_id = prda.distribution_id
       AND prda.requisition_line_id = prla.requisition_line_id
       AND haou.organization_id = hou.organization_id
       AND prla.org_id = pha.org_id
       AND prda.code_combination_id = gcc.code_combination_id    --added
       AND hla3.inventory_organization_id = msib.organization_id   --added
       AND pda.line_location_id = prla.line_location_id  --added
       AND plla.po_header_id = pha.po_header_id  --added
    I tested it for 10 POs. for 2 the query is giving right value. but for others it is giving wrong value.
    Mainly the PO Charge Account, accrual and variance account values are not matching. What changes I can make to get the correct data?
    I am using r12 version
    Thanks

    Hi Srini,
    Thanks for replying. I check and the application context is set.
    I think we might be missing certain conditions. Can you help me with that.

  • Enabling Create New Query and Personalize in Check Status

    Hi All,
    We followed below steps Enable Create New Query and Personalize in Check Status
    Go to the role of the user - PFCG - Authorizations - Change authorization data - Cross-application authorization objects - authorizations for Personal Object Work List (POWL) iViews
    Specified the application ID POWL_APPID - SAPSRM_E_CHECKSTATUS
    What should be done to enable define query and personalize for all users.
    We have changed the following settings -
    In activity POWL_CAT - '??' , POWL_LSEL-DISALLOWED - POWL_QUERY - ?? , POWL_RA_AL - ?? , POWL_TABLE - ??.
    With our current settings Create New Query and Personalize in Check Status appear but are disabled (greyed out)
    New Query Button appears but clicking on it produces no output.
    Nikhil
    Edited by: Nikhil Malvankar on Sep 12, 2011 5:57 AM

    You could the following to check if the Query still exists in the database:
    Open SQL Management Studio and connect to the SQL Server hosting the ConfigMgr database
    In SQL Managemnt Studio, Expand Database, Expand CM_YourSiteCode
    Expand tables and find the dbo.Queries table
    Right-click the dbo.Queries table and select Select Top 1000 Rows
    See if you can find your "ghost" Query
    Please note - it IS NOT supported
    to make direct changes to ConfigMgr database so I would properly call PSS on this one before you start getting creative.

  • Group by Query not giving desired results

    Hi,
    I've a requirement to find minimum month based on status:
    The following query is giving error :
    SELECT
              b.app_name,
              DECODE (a.status,
              'C','Closed',
              'O','Open',
              'F','Future',
              'W','Pending',
              'N','Not Opened') decode_status
              MIN(a.period_name)
    FROM     table a,
         table b
    WHERE     a.app_id     =     b.app_id
    AND          b.app_name      =     'NAME1'
    AND          a.book_id     =     &book_id
    AND          a.status      =      'O'
    GROUP BY      b.app_name,
              DECODE (a.status,
              'C','Closed',
              'O','Open',
              'F','Future',
              'W','Pending',
              'N','Not Opened') decode_status
    for ex: in the above query if I've four records with status 'O' and period_name as 'May-12', 'Jun-12','Jul-12' ,'Aug-12' then I need to pick 'May'
    Thanks,
    Kiran

    Hi, Kiran,
    user518071 wrote:
    Hi,
    I've a requirement to find minimum month based on status:
    The following query is giving error :
    SELECT
              b.app_name,
              DECODE (a.status,
              'C','Closed',
              'O','Open',
              'F','Future',
              'W','Pending',
              'N','Not Opened') decode_status
              MIN(a.period_name)
    FROM     table a,
         table b
    WHERE     a.app_id     =     b.app_id
    AND          b.app_name      =     'NAME1'
    AND          a.book_id     =     &book_id
    AND          a.status      =      'O'
    GROUP BY      b.app_name,
              DECODE (a.status,
              'C','Closed',
              'O','Open',
              'F','Future',
              'W','Pending',
              'N','Not Opened') decode_status
    for ex: in the above query if I've four records with status 'O' and period_name as 'May-12', 'Jun-12','Jul-12' ,'Aug-12' then I need to pick 'May'
    Thanks,
    KiranIt looks like you're almost there.
    If period_name is a DATE, then
    MIN (a.period_name)is finidng the earliest period name, such as 5 May 2012 17:03:49. If you just want to see 'May 2012', then change that to
    TO_CHAR ( MIN (a.period_name)
            , 'Mon YYYY'
            )If a.period_name is a VARCHAR2, then change it to a DATE. The best way to do this is permanently. There is no reason to store date information in VARCHAR2 columns. Oracle supplies DATE columns; there's no extra cost for using them. DATE columns were designed for storing date information, use them to do that.
    if you must keep your date information in VARCHAR2 a column, then use TO_DATE in the query. It will be slow, and you'll have run-time errors if any of the information is in the wrong format. That's what happens when you store date information in VARCHAR2 columns.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using.
    See the forum FAQ {message:id=9360002}

  • Autorization issue with SAP Query and RPTQTA10

    Dear all,
    I am having some difficulties with autorisations in SAP Query and Report RPTQTA10.
    in IT2006 I have a subtype 03 which should not be accessible for a group of users.
    Also I have created a test employee with a sybtype of IT2006 which is allowd and one which is not allowed.
    When I run some reports with that user I get a nice result with PT50. Only the allowed subtypes are being displayed.
    When I try to run A SAP Query or report PRTQTA10, the employee is not visible and seems to end op in an error list.
    Can someone shed some light on this issue?
    Kind regards,
    Patrick

    Hallo,
    Follow like this...
    Role 1:-
    authorization level: R, W  (You should not give W, R. You should give either W or M, R, Any way it will not create any problem)
    Infotype: 2006 -Ok
    Pers area: * -Ok
    Emp group: * -Ok
    Emp sub group: * -Ok
    profile: ALL*, ZBHR_OS etc etc -Ok
    Subtype: 01, 02 - Keep only sub type 01, 02
    fuction group: * -Ok
    Role 2:-
    authorization level: R, W  (You should not give W, R. You should give either W or M, R, Any way it will not create any problem)
    Infotype: 2006 -Ok
    Pers area: * -Ok
    Emp group: * -Ok
    Emp sub group: * -Ok
    profile: ALL*, ZBHR_OS etc etc -Ok
    Subtype: 03 - Keep only sub type 03
    fuction group: * -Ok
    Then user who want only sub type 01 & 02 then assign role 1 and he will not have access to sub type 03
    User who want only sub type 03 access, then assign role 2 only so that he will not have access to sub type 01 & 01
    User who want sub type 01, 02 & 03 access, gibe Role 1 & Role 2
    Hope it clarifies.
    Regards,
    Purnima

  • ABAP Query and Translation

    Hi Experts,
    I have a Tcode and it looks like it is generated through ABAP Query. I know the Report name also, so how i can find the Query and Infoset Name. Please suggest me some ideas.
    I have another doubt when i am Trying to Translate the text elements, After giving the target language it shows 'Empty object list'. What it exactly means.
    Thanks,
    Mohanraj.N

    If it a ABAP query then u will get a name like:
    AQZZZ_SLO=======Z_SLO_AUDIT_IM
    Here Z_SLO is ur user group and Z_SLO_AUDIT_IM is ur query name.
    If u display the query from SQ01 then in the initial screen u will get an ALV report where it will show the infoset name of that query.
    Regards,
    Joy.

  • BW BEX Queries and Analysis Authorizations

    Hello....
    Have an opportunity with BW BEX queries and Analysis Authorization...would like to see if anyone has had the same experience and if so is there a answer....
    1) given a query....
    2) given a analysis authorization with a info-object that has intervals defined to be both single values and ranged values
    the following happens...
    after the query is fired the starter screen appears...the info-object in question appears with the defined single values only....if....the window is opened....again only the single values appear...the range values do not appear...once the query is executed the only results given are those for the single values...
    also if you re-fire the query and manually enter a valid value for the info-object that falls with-in any of the range values no result is given...even if there is data for it....the reponse given is no data found....
    NOW...if the single values, for the given info-object, are removed from the Analysis Authoriization then the range values appear and work....
    Is this a problem within in the query...or...is this a "feature" of the query...and thus must be "lived" with...
    Terry
    PS...this problem currently only happens if the window for the info-object allows for multi-selection....this problem does not occurr when the window only allows for one selection...

    Hi,
    This is a known problem with analysis authorization and multi selection IO selection criteria.
    When you define the analysis authorization with ranges and when you try to enter single values on the selection critera of the query, then the system shows zero data.
    You can run the query without entering any selection values for the IO in question only.
    I have tried several combinations and still encountering the same issue.
    Ravi

  • Authorization BW7.0 and varaibles (authorizations)

    Hi all,
    I'm in charge of set up Authorization on BW 7.0 system.
    For example, to add rectriction on 0PLANT (relevant for authorizations).
    I would like to know if i MUST create Authorizations Varaibles on all my queries who contain 0plant ???
    Is there documentations or link about how to set up Authorizations On BW 7.0 and most of all how to manage queries, bi object like 0BI_ALL ......
    Thx a lot .

    Hai Dear I Presume your going to restrict based on 0plant against individual roles in the organization.
    Firstly you make the infoobject 0plant authorization enabled in the business explorer tab of infoobject maintanence screen which you can navigate using Tcode rsd1 or rsa1.
    Next thing is RSECADMIN you create authorization objects like your Z programm based on individuals
    relevant restriction in that you can call the infoobject 0plant again and give authorization intervals as required .
    And then in the query using authorization exit variable based on this infoobject reference we can use in filters and get it done.
    Assing points if useful.
    Thanks&Regards,
    SapBuddy.

  • Excute Query And Enter Query

    Dear all
    I am using forms10g.
    I have two buttons...one is Enter Query and another is Execute query.
    In Execute query i have written
    GO_BLOCK('Emp') ;
    Execute_Query;
    It is working Fine..
    And in Enter Query Button i have written
    go_block('T_BRAND');
    Enter_query;
    When i press Enter Query Button and giving Some value then pressing Execute button then it is not showing any value.
    It is showing press CTRL F11 to excute. When i press CTRL f11 then it is executing the block
    So what should i write in the Execute button ?

    For that i have written Go_block('T_brand'); execute_query;Something must be wrong. Wrong spelling of the block? What about the code you posted before. There was some GO_BLOCK('EMP'); in it? Do you have a block EMP
    But it is not working.What does that mean? Do you get any error? Check the Menu Help->Show Errors

  • Hierarchical connect by and start with and joins?

    I've got an employees table and an identifiers table. The identifiers table is hierarchical, with parents and children. Each employee has one or more identifiers, but only one identifier is considered the "primary" or root identifier for each employee. Unfortunately, the employee table might be pointing at one of the child identifier rows and not the root. I need a fast query to join the employees with their most current (root) identifier.
    Here's code to define the problem.
    create table employees (employeeid varchar2(8), fakeNationalID varchar2(9), empname varchar2(30));
    insert into employees (employeeid, fakeNationalID, empname) values (1,'001000001','John Smith');
    insert into employees (employeeid, fakeNationalID, empname) values (2,'002000002','James Jones');
    create table realids (realidkey NUMBER, fakeNationalID VARCHAR2(9) not null,
       realNationalID VARCHAR2(9) UNIQUE, parent_realidkey number);
    insert into realids (realidkey, fakeNationalID, realNationalID, parent_realidkey) values
       (1,'001000001','111111111',3);
    insert into realids (realidkey, fakeNationalID, realNationalID, parent_realidkey) values
       (2,'002000002','222222222',null);
    insert into realids (realidkey, fakeNationalID, realNationalID, parent_realidkey) values
       (3,'003000003','333333333',null);
    commit;  
    create or replace function get_parentid (fakeID in VARCHAR2) return varchar2 is
       tempid VARCHAR2(9);
       begin
          select realNationalID into tempid
             from (
               select realNationalID, fakeNationalID
                  from realids
                  start with fakeNationalID = fakeID
                  connect by nocycle prior parent_realidkey = realidkey
                  order by level desc)
                  where rownum = 1;
          return tempid;
          exception
             when NO_DATA_FOUND then
                return NULL;
             when others then raise;
        end;
    select get_parentid('001000001') from dual; -- returns 333333333 because its linked to a parent
    select get_parentid('002000002') from dual; -- returns 222222222 because there is only one child
    select get_parentid('003000003') from dual; -- returns 333333333 because it is the parentWhat I want is to get the highest parent node in realids for each row in employees...
    This works, but is NOT very efficient:
    select employeeid, get_parentid(fakeNationalID) realid, empname from employees;
    employeeid   realid       empname
    1            333333333     John Smith
    2            222222222     James JonesYou can imagine what this would be like with 100K rows or greater. It takes about 3 minutes to run.
    This seemed like a good way to do this, but with a sub query.
    select e.employeeid, e.fakenationalid, e.empname, sub.realnationalid
       from employees,
          (select realidkey, fakenationalid, realnationalid, parent_realidkey
             from realids r
             start with r.fakenationalid = e.fakenationalid
             connect by prior r.parent_realidkey = r.realidkey) subUnfortunately, it produces an invalid identifier on e.fakenationalid (in the start with clause).
    Anyone have any ideas on how to get the top most parent node from the realids for each row in the employees table? In real life there are 6 or more employees tables spread across several remote instances some of which point at children in the realids table and some of which point at the parents. We always want the top most parent realid. Any help would be much appreciated.

    Hi,
    Thanks for posting the sample data in such a convenient form!
    It always helps to post your Oracle version, too, especially when dealing with CONNECT BY queries.
    The following does what you requested in Oracle 10:
    WITH     got_roots   AS
         SELECT     CONNECT_BY_ROOT     fakenationalid     AS leaf_id
         ,     realnationalid
         FROM     realids
         WHERE     CONNECT_BY_ISLEAF     = 1
         START WITH      fakenationalid IN ( SELECT  fakenationalid
                                              FROM    employees
         CONNECT BY     realidKEY     = PRIOR parent_realidkey
    SELECT     e.employeeid
    ,     r.realnationalid
    ,     e.empname
    FROM     employees     e
    JOIN     got_roots     r     ON     r.leaf_id     = e.fakenationalid
    ;In any query, calling a user-defined function for each row is going to be slow. Fortunately, Oracle now has built-in functions and operators that can take the place of get_parentid. The CONNECT_BY_ROOT operator, which was introduced in Oracle 10, is the key to this problem. In Oracle 9, you can get the same results using SYS_CONNECT_BY_PATH.
    It's usually faster to do the CONNECT BY query separately, and then join whatever other tables you need to the results.
    You had a good idea in your last query. The problem was that sub and employees were equal tables in the FROM clause, and you can't correlate equals. You can only correlate a sub-query to its super-query. You could make that general idea work by changing sub into a scalar sub-query,which could be correlated to employees, but I think it would be a lot less efficient than what I posted above.

  • Possible to combine Value and Hierarchy Authorizations?

    Hello Experts!
    Could anyone please tell me something about the interaction between value and hierarchy authorizations for the same info object?
    I created an authorization for an info object which makes use of both in some queries. But if you activate a hierarchy in query designer, the value authorizations seem not to work anymore. Instead the hierarchy authorizations restrict the analysis result. I get datasets in the result without having the corresponding value authorizations.
    Is there a way to ONLY use value authorizations which also work if you activate a hierarchy on an info object???
    Thanks in advance.....
    Bye,
    Joerg

    No you can't. GRE is only designed to carry routing protocols and multicast traffic over VPNs.
    It is also bad design practise to design a network that carry's L2 vlan's over a WAN or internet link.
    You have to ask yourself why you would want to carry VLANs over VPNs?
    Hope this helps.

Maybe you are looking for