Error 15037: Table has multiple key level associations

Oracle BI 11g.
I get this error when doing a consistency check with the BI Admin tool:
Table DIMCPN has multiple key level associations: [DIMCPN.CPNKEY] and [DIMCPN.CPNKEY]
I've seen the notes in the following thread:
Re: nQSerror 15037
However, these don't help.
I'm not doing anything complicated.
All I've done is to create the Physical model by importing some dimension and fact tables, then create the Business layer object by dragging across from the physical layer, then create the Presentation layer object by dragging across from the Business layer.
I've not done anything else at all. I.e. I've not renamed any columns, created any hierarchies, etc, etc.
Any ideas what's happening?

"can you check the keys foreign keys for those table "
You didn't mention what I should be checking for.
However, I think I've worked it out now.
I have a dimension table that is referenced by both other dimension tables and the fact tables. Therefore, when imported into BI, both the dimension tables and the fact tables have foreign keys to this common dimension table.
I'm guessing that the foreign keys on the dimension tables are not required - because there are foreign key references from the fact tables to the common table anyway. Bearing in mind that this is a star schema and not a snowflake schema.
=> I deleted all the foreign keys from all my dimension tables, and now the consistency check works ok.

Similar Messages

  • Multiple key level associations

    Hi,
    I am getting the below error during the consistency check.
    Table, X, has multiple key level associations.
    Can anyone please let me know the reason for the same.
    Also, when I drag the physical tables from the physical layer to the BMM Layer, there are some default primary keys in the Logical Table.What considerations does OBIEE take into when deciding upon the Primary Key in the Logical table.
    Thanks in Advance
    Akshatha

    "can you check the keys foreign keys for those table "
    You didn't mention what I should be checking for.
    However, I think I've worked it out now.
    I have a dimension table that is referenced by both other dimension tables and the fact tables. Therefore, when imported into BI, both the dimension tables and the fact tables have foreign keys to this common dimension table.
    I'm guessing that the foreign keys on the dimension tables are not required - because there are foreign key references from the fact tables to the common table anyway. Bearing in mind that this is a star schema and not a snowflake schema.
    => I deleted all the foreign keys from all my dimension tables, and now the consistency check works ok.

  • Getting Error - Dimension has multiple leaf levels which are not identical

    Hi All,
    While creating two hierarchies with in same dimension , i am getting error like - Dimension has multiple leaf levels which are not identical.
    Does this error mean , the number of levels in both hierarchies should be same or it has some thing else meaning.
    I was creating hierarchies like below -
    LE details
    - LRU Details
    - LRU's Registration Details
    - LE's Registration Details
    How should i create the hierarchy?
    Thanks ,Ashish

    Hi... Ashish
    Look at this... http://oraclebizint.wordpress.com/2007/11/30/oracle-bi-ee-101332-one-dimension-multiple-hierarchies/
    Thanks & Regards
    Kishore Guggilla

  • [38073] dimension has multiple leaf levels which are not identical

    Hi,
    I am trying to implement a time dimension with 2 source tables.
    The time dimension is from minute to year where logical table includes 2 source tables :
    Source table#1 : Year,month,week,day
    Source table#2: hour,minute (minute is a leaf level and chronological key)
    When i try to check-in i got the following error: [38073] dimension has multiple leaf levels with are not identical.
    Thank you.
    Michael

    Hi RM
    i am able to create multiple hirerachy in time dimension and assigned time_id as chronological key which is at the dimension detail level and acting as shared child level for both of them......
    I have created AGO function for calendar year as
    AGO(Test."Fact".amount_sold, Test."Time Dim"."Calendar Year", 1)
    but when i have used AGO column in answers i am getting below mentioned error:-
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 22046] To use AGO function, the query level ('Calendar Year, Fiscal Year') must be a static level. (HY000)
    any suggestion would be appreciated to solve this.
    thanks & regards

  • How to read from an internal table with multiple key fields.

    Hi All!!
    I want to read from an internal table having keys as k1,k2,k3.
    How can I use read statement to read an entry having this as the key fields.
    Thanks in adavance..
    Prabhas Jha

    hi there
    use:
    sort itab by K1 K2 K3.
    read table itab into wa with key K1 = value 1
                                                  K2 = value2
                                                  K3 = value 3
                                                   BINARY SEARCH.
    where:
    itab is ur internal table
    wa is the work area with the same line type as the itab
    cheers
    shivika

  • Exchange 2010 Trying to Deleting Database Mailbox(DB13), error database "DB13" has multiple copies on other servers. Must remove all copies from other servers

    Help, not sure how to proceed via Powershell or EMC.
    Thanks!!

    Hi,
    Please use this command to check the status information for copy of database “DB13”
    Get-MailboxDatabaseCopyStatus -Identity DB13
    In the name field, we will know the copy stays on which server. Then use the following command to remove these copies.
    Remove-MailboxDatabaseCopy -Identity DB13\MBX -Confirm:$False
    Use the EMC to remove a mailbox database copy:
    In the console tree, navigate to Organization Configuration > Mailbox.
    In the result pane, on the Database Management tab, select the mailbox database whose copy you want to remove.
    In the work pane, on the Database Copies tab, right-click
    the database copy that you want to remove, and then click Remove.
    Click Yes to remove the database copy.
    After removing these database copies, then try to delete this mailbox database.
    Best Regards.

  • Need to create form on a table with report with a table has NO primary key

    Hi, I tried to created some insert/update/delete form+report in an application, it works fine only if the table has primary key. Does anyone know how to create the same functionality with a table with no primary key? I saw an application is built on older version of htmldb that is using tables with no primary keys at all.
    Here are the specific issues that I am facing:
    - I am building some Form on a table with Report, it requires the table with primary key for form to update. Is there a workaround that I can use tables that has no primary keys at all?
    - Say if primary key is necessary in the previous report+form, but the maximum number of columns that I can use to composed a primary is only 2 for that Form-Report, I cannot find anything handling > 2 primary key. Do you know if there are some ways to composite a primary key from many columns together?
    Your help is really appreciated.
    Thanks,
    Angela

    Sorry to ask response so late. I had no time to get back to that issue before.
    Regarding the triggers, I can make it work for the update, but not the insert.
    Here is my trigger:
    create or replace trigger STATUS_T1
    instead of insert on STATUS
    begin
    insert into STATUS ("LABEL", "AREA", "OWNER", "TEST_NAME", "STATUS", "REMARKS", "BUGS", "DEV_MGR", "TEST_BY_DATE")
    values(:new.LABEL, :new.AREA, :new.OWNER, :new.TEST_NAME, :new.STATUS, :new.REMARKS, :new.BUGS, :new.DEV_MGR, :new.TEST_BY_DATE);
    end;
    by any chance, you can notify what is wrong?
    I already skip the ROWID when inserting to the view STATUS, but I cannot figure out what is wrong when inserting a new record to that view.
    It gave me the following errors:
    ORA-06550: line 1, column 38: PL/SQL: ORA-00904: "ID": invalid identifier ORA-06550: line 1, column 7: PL/SQL: SQL Statement ignored
    Error Unable to process row of table STATUS
    Then, I turned to debug mode, I am thinking that maybe because I use a HIDDEN item to hold the value of ROW_ID as I use the rowid (called ID in the view) to retrieve the record as a column link from previous page. What do you think?
    Thanks again,
    Angela

  • Consistency check error 38011: Logical tables from multiple subject areas..

    I received multiple 38011 errors when performing a consistency check after merging repositories:
    For example:
    Logical tables from multiple subject areas associated, OHRP and Enterprise Warehouse
    (OHRP and Enterprise Warehouse refer to different business models)
    I'm really not sure what this means, and Metalink and Google aren't turning up anything.
    Thoughts?
    -John

    John,
    Does it say anything about Assertion Failure? Also, this is straight up from help regarding import (through file menu) "Use this option when the objects you import are unrelated to objects already in the repository such as when the business model and physical layer objects do not exist. If an object of the same name and type exists, the import process overwrites the existing object with the new object. When you import objects from one repository into another, the repository from which you are importing must be consistent."
    Sometimes Merge does bring unexpected (and unwanted results) - especially if there're presentation aliases, duplicate business models, or naming conflicts. If it's not too late, I suggest you use Import,rather than Merge, also, preferably starting with a new RPD file. This would enable you to bring items piece-by-piece and hopefully would allow you to isolate the problem.
    Also, depending on the size - it's sometimes preferable to just reproduce missing part(s). I hope this is helpful.
    Also, I forgot to say - the Import is deprecated and not supported. They suggest you use Project Extract and Merge. If Merge isn't working out for you and Import isn't an option - maybe you could try Project.
    Edited by: wildmight on Mar 9, 2009 7:58 AM

  • SAPINST: "Database EPD has wrong compability level"

    Hi
    We are doing a "homogeneous system copy" of a java system:
    WebAS Java 6.40 SP16 (with EP 6.0 SP16)
    Basically we are changing from a 32-bit platform to a 64-bit platform and ind the process also shifting from MSSQL 2000 to 2005 and renaming the SID.
    Source platform:
    - MSSQL 2000
    - Windows 2003 on x86
    Target platform:
    - MSSQL 2005
    - Windows 2003 on x64 (AMD)
    We are using SAPINST NW04 (patch collection version) and choosing to use a database-specific method for the database copy (backup/restore).
    On the target system the RDBMS MSSQL2005 (9.00.2047.00) has been installed and the source database (EPP) has been restores (and renamed as EPD).
    The error:
    When running the SAPINST on the target-platform in one of the last phases when prompted for the "Database Information" (choosing "EPD"), then we get the error "Database EPD has wrong compability level"
    Any idea what is wrong ?
    Best regards
    Tom Bo

    Hello,
    U might have to consider the impact of migrating the MSSQL 2000 to MSSQL 2005 also the impact of using the 32-bit to 64-bit conversion..
    U first have to consider the pre-migration checks for O.S. and DB...
    dont forget to give reward point plz.

  • Dropdown List in table - multicolumn foreign key

    Hello,
    Steve Muench has a nice screencast how to create a dropdown list in an editable adf table.
    Is there a way how to update this example to work with multicolumn foreign key between edited table and lookup table?
    Let's say lookup table has Code, Line attributes as primary key and edited table has foreign key attributes MasterCode and MasterLine. How populate the FK attributes by dropdown list?
    For editable table it's probably not possible directly from dropdown list. I tried to find a solution but I had problem to identify which lookup row was selected.
    Rado

    ok i have checked that for the past few days but its not what i want.
    i am using wizard to do this and i need to populate the database table records (individual field names) and display in the table control dropdown list.
    what the demo shows is only how to display a dropdown list with reference to the table names.

  • Search help with multiple key fields

    Hi,
    I want to dispaly search help on a field from a internal table have multiple key fields i.e combination of fld1 + fld2 +fld3 makes one single row. Therfore can any one tell me how to return that single row , because if I am using function F4IF_INT_TABLE_VALUE_REQUEST I get only one return field that I select by which I can't get the actual line that I have selected as there may be more that one line for that field.
    please suggest any way through programming not by creating any search help through se11.
    thanks

    Hi,
    Use select query to select the fields & display them.
    In the following code i've selected only a single field in select query but u can do it for more than 1 & proceed similarly.i've tried it before using this code.
    SELECT WERKS
             NAME1
             FROM T001W
             INTO TABLE ITEMP
             WHERE IWERK = 'M011'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
           EXPORTING
                  DDIC_STRUCTURE   = ' '
                RETFIELD         = 'WERKS'
                  PVALKEY          = ' '
                  DYNPPROG         = ' '
                  DYNPNR           = ' '
                  DYNPROFIELD      = ' '
                  STEPL            = 0
                  WINDOW_TITLE     =
                  VALUE            = ' '
               VALUE_ORG        = 'S'
                  MULTIPLE_CHOICE  = ' '
                  DISPLAY          = ' '
                  CALLBACK_PROGRAM = ' '
                  CALLBACK_FORM    = ' '
           TABLES
                VALUE_TAB        = ITEMP
                  FIELD_TAB        =
               RETURN_TAB       = T_RETURN
                  DYNPFLD_MAPPING  =
             EXCEPTIONS
                  PARAMETER_ERROR  = 1
                  NO_VALUES_FOUND  = 2
                  OTHERS           = 3
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      S_WERK-LOW = T_RETURN-FIELDVAL.
    Hope this helps.
    Reward if helpful.
    Regards,
    Sipra

  • Insert values in multiple tables. One of the tables has complex primary key.

    Hello, I am using Jdeveloper version 11.1.2.3.0
    I have a table FORM_TYPE and another table Str. The Str table is used to translate strings from the table name which are read from another program from the database and used to generate forms..
    The FORM_TYPE  table has a relation to the STR table via formtype.title_str_id = str.str_id.
    The STR table has a primary key that is depending on mf_language and str_id columns. I generated entity for the STR table but can't insert from the application module new values for some reason... It says the record invalidates its own entity..
    I am trying to create a table that will be editable and will have the columns Description, Name, Str in English, Str in French etc...
    Want to create a Form_Type and in the same time to insert new values for each language... But can't make the inserts of the new STR work..
    Also the    FormType.TITLE_STR_ID has many values null already in the database.
    SELECT FormType.DESCRIPTION,
           FormType.FORM_TYPE_ID,       
           FormType.NAME,
           FormType.PAPER_REPORT_FORMAT,
           FormType.PAPER_REPORT_NAME,
           FormType.TITLE_STR_ID,
           en.str en_str,
           en.str_id,
           en.object_name en_object_name,
           fr.str,
           fr.str_id,
           fr.object_name,
           du.str,
           du.str_id,
           du.object_name,
           bg.str,
           bg.str_id,
           bg.object_name      
    FROM FORM_TYPE FormType,
    (select str.str_id, str.mf_language_id, str.str, str.object_name
    from mf_language ml,  str
    where ml.mf_language_id = str.mf_language_id
    and ml.code ='en') en
      , (select str.str_id, str.str, str.object_name
    from mf_language ml,  str
    where ml.mf_language_id = str.mf_language_id
    and ml.code ='fr') fr,
      (select  str.str_id,   str.str, str.object_name
    from mf_language ml,  str
    where ml.mf_language_id = str.mf_language_id
    and ml.code ='du') du,
      (select  str.str_id,  str.str, str.object_name
    from mf_language ml,  str
    where ml.mf_language_id = str.mf_language_id
    and ml.code ='bg') bg
    WHERE
    formtype.title_str_id = en.str_id and
    formtype.title_str_id = fr.str_id and
    formtype.title_str_id = du.str_id and
    formtype.title_str_id = bg.str_id  

    Tried that I made view links and associations but still can't insert in both tables at once... Could be because the tables aren't having relationship between them or because the STR table has a (STR_ID, MF_LANGUAGE_ID) primary key...

  • "Error:The search cannot be executed because the table has pending changes that would be lost", after DELETE

    Good day,
    On Search Page, I have searched for the record(s) then deleted a record and got confirmation message i.e. Record has deleted. Next when I search for any record I'm getting below error.
    Error
    The search cannot be executed because the table has pending changes that would be lost.
    Could you please help me to fix this issue. Your response is highly appreciated.
    Item properties:
    Item Style : Image
    Action Type: Fire Action
    Event : delete
    Below is the code using in CO and AM
    Controller (processFormRequest):
    if ("delete".equals(pageContext.getParameter(EVENT_PARAM)))
              // The user has clicked a "Delete" icon so we want to display a "Warning"
              // dialog asking if she really wants to delete the employee. Note that we
              // configure the dialog so that pressing the "Yes" button submits to
              // this page so we can handle the action in this processFormRequest( ) method.
              String visit_id = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("last_name") + ", " + pageContext.getParameter("first_name");
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName)};
              OAException mainMessage = new OAException("FND", "XXXX_EMP_DELETE_WARN", tokens);
              // Note that even though we're going to make our Yes/No buttons submit a
              // form, we still need some non-null value in the constructor's Yes/No
              // URL parameters for the buttons to render, so we just pass empty
              // Strings for this.
              OADialogPage dialogPage = new OADialogPage(OAException.WARNING,
                mainMessage, null, "", "");
              // Always use Message Dictionary for any Strings you want to display.
              String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
              String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
              // We set this value so the code that handles this button press is
              // descriptive.
    dialogPage.setOkButtonItemName("DeleteYesButton");
              // The following configures the Yes/No buttons to be submit buttons,
              // and makes sure that we handle the form submit in the originating
              // page (the "Employee" summary) so we can handle the "Yes"
              // button selection in this controller.
    dialogPage.setOkButtonToPost(true);
    dialogPage.setNoButtonToPost(true);
    dialogPage.setPostToCallingPage(true);
              // Now set our Yes/No labels instead of the default OK/Cancel.
    dialogPage.setOkButtonLabel(yes);
    dialogPage.setNoButtonLabel(no);
              // We need to keep hold of the employeeNumber and employeeName.
              // The OADialogPage gives us a convenient means
              // of doing this. Note that the use of the Hashtable is 
              // most appropriate for passing multiple parameters. See the OADialogPage
              // javadoc for an alternative when dealing with a single parameter.
              java.util.Hashtable formParams = new java.util.Hashtable(1);
    formParams.put("visit_id", visit_id);
    formParams.put("empName", employeeName);
    dialogPage.setFormParameters(formParams);
              pageContext.redirectToDialogPage(dialogPage);
        else if (pageContext.getParameter("DeleteYesButton") != null)
              // User has confirmed that she wants to delete this employee.
              // Invoke a method on the AM to set the current row in the VO and
              // call remove() on this row.
              String employeeNumber = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("empName");
              Serializable[] parameters = { employeeNumber };
             // OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("deleteEmployee", parameters);
              // Now, redisplay the page with a confirmation message at the top. Note
              // that the deleteEmployee() method in the AM commits, and our code
              // won't get this far if any exceptions are thrown.
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName) };
              OAException message = new OAException("FND",
                "XXXX_EMP_DELETE_CONFIRM", tokens, OAException.CONFIRMATION, null);
    pageContext.putDialogMessage(message);
    Application Module:
      public void deleteEmployee(String visit_id)
            // First, we need to find the selected employee in our VO.
            // When we find it, we call remove( ) on the row which in turn
            // calls remove on the associated EmployeeEOImpl object.
            int empToDelete = Integer.parseInt(visit_id);
              OAViewObject vo = (OAViewObject)getNonEmployeesSummaryVO1();
        NonEmployeesSummaryVORowImpl row = null;
            // This tells us the number of rows that have been fetched in the
            // row set, and will not pull additional rows in like some of the
            // other "get count" methods.
           int fetchedRowCount = vo.getFetchedRowCount();
            // We use a separate iterator -- even though we could step through the
            // rows without it -- because we don't want to affect row currency.
            RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
              deleteIter.setRangeStart(0);
              deleteIter.setRangeSize(fetchedRowCount);
              for (int i = 0; i < fetchedRowCount; i++)
                row = (NonEmployeesSummaryVORowImpl)deleteIter.getRowAtRangeIndex(i);
                // For performance reasons, we generate ViewRowImpls for all
                // View Objects. When we need to obtain an attribute value,
                // we use the named accessors instead of a generic String lookup.
                // Number primaryKey = (Number)row.getAttribute("EmployeeId");
                Number primaryKey = row.getVisitId();
                if (primaryKey.compareTo(empToDelete) == 0)
                  // This performs the actual delete.
                  row.remove();
                    getTransaction().commit();
                  break; // only one possible selected row in this case
            // Always close the iterator when you're done.
            deleteIter.closeRowSetIterator();
          } // end deleteEmployee
    Thanks,
    Ravi

    Hi
    Check this link Getting error in search page search cannot be executed
    Regards,
    Dilip

  • Associating multiple key fields.

    Is it common practice to associate multiple key fields with a dimension level or fact? For example, if ITEM dimension has two primary key fields (inventory_item_id, sr_instance_id) to identify one single item, PLAN fact table the same, I can't manually associate ITEM dimension or PLAN cube with their tables from Analytic Workspace Manager. But I can do this with OLAP Analytic Workspace Java API. Problem with Java approach is that my AW can't be viewed corrected in AWM.
    Is it "right way" to associate multiple key fields? Or should I avoid this (say concatinate keys into one item_key field)?

    Hi,
    Refer below code of FM 'F4IF_INT_TABLE_VALUE_REQUEST',it will useful to you.
    DATA: IL_RETURN   TYPE TABLE OF DDSHRETVAL,                              
          WAL_RETURN  TYPE DDSHRETVAL,
          IL_FIELDS   TYPE TABLE OF DFIES ,
          WAL_FIELDS  TYPE DFIES,
          VL_RETFIELD LIKE DFIES-FIELDNAME.
    CLEAR IL_FIELDS.
      REFRESH IL_FIELDS.     
      LOOP AT FIELDS.                    
          WAL_FIELDS-FIELDNAME = FIELDS-FIELDNAME .                    
          WAL_FIELDS-TABNAME   = FIELDS-TABNAME.
          WAL_FIELDS-KEYFLAG   = FIELDS-SELECTFLAG.
          APPEND WAL_FIELDS TO IL_FIELDS.
      ENDLOOP.
       VL_RETFIELD = 'TABNAME'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
        DDIC_STRUCTURE         = ''
          RETFIELD               = VL_RETFIELD
        VALUE_ORG              = ''
        TABLES
          VALUE_TAB              = VALUES
          FIELD_TAB              = IL_FIELDS
          RETURN_TAB             = IL_RETURN
        EXCEPTIONS
          PARAMETER_ERROR        = 1
          NO_VALUES_FOUND        = 2
          OTHERS                 = 3.
      READ TABLE IL_RETURN INTO WAL_RETURN WITH KEY FIELDNAME = VL_RETFIELD.
      IF SY-SUBRC EQ 0.
          VIEWNAME = WAL_RETURN-FIELDVAL.                    
      ENDIF.
    Best regards,
    Syf

  • Joining multiple tables across multiple data sources in MYSQL throws error

    Hi all,
    I have to join tables across multiples MYSQL databases
    eg :
    Table T1,T2 from DB1
    Table T3 from DB2
    Columns from T3 are aggregated ( dimensional column ).
    Hence when i query using oracle answers ( say i have columns from T1,T2 and T3 ) , OBIEE tries to a query DB1 by having NULL for columns in T3
    It uses cast(NULL as INTEGER ) for columns from T3 . But MYSQL throws an error because "cast(NULL as INTEGER )" is not supported by MYSQL.
    I tried executing the query generated by OBIEE manually , if i try giving cast(NULL as SIGNED INTEGER ) , it works.
    pasting the query for reference
    select distinct D1.c2 as c1,
    D1.c1 as c2,
    cast(NULL as INTEGER ) as c3
    from
    (select distinct T87.title_id as c1,
    T59.asin as c2
    from
    print_book_catalog T59 left outer join
    title_authority T87 On T59.asin = T87.asin
    where ( T59.asin = '0345378911' )
    ) D1
    I am not able to find any config file to set this property ( and use signed integer instead of integer ) . Even DBFeatures.INI does not have relevant information.
    Can someobody please help me solve this problem.

    Stijn,
    Thank you for the article link. That was very helpful! It seems that I had a few things off as you do need the "This source should be combined with other sources at this level." checked. In my two table source columns for DATA_SOURCE I defined a literal ('086496' and '085597' for the other) in the Column Mapping tab. I pasted the following in the Fragmentation content, checking the "This source..." box on the Content tab:
    eSIS.SANDBOX4_SCHOOLS.DATA_SOURCE = '086496'
    And pasted the following into the WHERE clause, checking "Select distinct values" on the Content tab:
    sandbox4."".OBIEE.NWOCA_SCHOOLS.SCHOOL_CODE = VALUEOF(NQ_SESSION."SCHOOL") AND sandbox4."".OBIEE.NWOCA_SCHOOLS.DATA_SOURCE = VALUEOF(NQ_SESSION."GROUP")
    This took care of my user's security, utilizing the session variables in the WHERE clause. I am now able to generate reports that only one user can access from one data source and share that same report with another user who can only see data from the other data source.
    Many thanks!!!

Maybe you are looking for