MDX statment against an Infoset

Hi,
I would like to know if it is possible to execute a MDX statement against a BI Query that sits on top of an infoset? I Have accomplish this several times if it is a Query thats on a Cube.
What I have done so far is made sure that the Query was released for external access in the Query properties. The query executes fine from Query designer. Next I tried creating the MDX using MDX TEST. When I try validating statement I get syntax errors.
1. Does any one have an example of a MDX statement that is run against an infoset Query?

Hi,
You can very well create MDX statements on Infosets. Please check if the technical names used for characteristics have the pattern as INFOSETNAME___F1 etc..
I tried the same in MDXTEST and it works fine.
Example
SELECT
[Measures].MEMBERS ON AXIS(0) ,
NON EMPTY [INFOSETNAME___F1].MEMBERS
[INFOSETNAME___F2].MEMBERS ON AXIS(1)
FROM [[INFOSETNAME/QUERYTECHNICALNAME]]
Thanks
Sundar
Edited by: Sundar Subramanian on Mar 14, 2008 11:07 AM

Similar Messages

  • Log MDX generated against the cube

    All,
    I am creating Webi reports using the universe built on MSAS 2005 cube.We have BOXI 3.1 base version ( no fixpacks/service packs) on Windows.
    I would like to automatically log the MDX generated by BO to perform some analysis. Would also like some more time-line details as to when BO fired the query to cube, how long did cube take to return data and time taken by BO to output the report.
    Can someone suggest a simple way to do this? Would tracing on any Webi Reporting Servers help?
    Regards

    Sorry Didier.
    For some reason if i save the file it is saved as 0 bytes and if i try to open directly , the zip archive is empty.
    Can you please attach this as a pdf or word document?

  • Essbase MDX Query Performance Problem

    Hello,
    I'm doing an analysis in OBIEE to Essbase cubes, but I don't know why OBIEE generates two MDX queries against Essbase. The first one returns in a reasonable time ( 5 minutos ) but the second one never returns.
    With
    set [_Year] as '[Year].Generations(2).members'
    set [_Month] as '[Mês Caixa].Generations(2).members'
    set [_Product2] as 'Filter([Product].Generations(2).members, (([Product].CurrentMember.MEMBER_Name = "SPECIAL" OR [Product].CurrentMember.MEMBER_ALIAS = "SPECIAL") OR ([Product].CurrentMember.MEMBER_Name = "EXECUTIVE" OR [Product].CurrentMember.MEMBER_ALIAS = "EXECUTIVE")))'
    set [_Client Name] as 'Filter([Client Name].Generations(2).members, (([Client Name].CurrentMember.MEMBER_Name = "JOHN DOE" OR [Client Name].CurrentMember.MEMBER_ALIAS = "JOHN DOE")))'
    set [_Service Name] as 'Generate([Service Name].Generations(2).members, Descendants([Service Name].currentmember, [Service Name].Generations(4), leaves))'
    select
    { [Accounts].[Paid Amount]
    } on columns,
    NON EMPTY {crossjoin({[_Year]},crossjoin({[_Month]},crossjoin({[_Product2]},crossjoin({[_Client Name]},{[_Service Name]}))))} properties MEMBER_NAME, GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Mês Caixa].[MEMBER_UNIQUE_NAME], [Mês Caixa].[Memnor], [Product].[MEMBER_UNIQUE_NAME], [Product].[Memnor], [Client Name].[MEMBER_UNIQUE_NAME], [Client Name].[Memnor], [Service Name].[Member_Alias] on rows
    from [cli.Client]
    With
    set [_Year] as '[Year].Generations(2).members'
    set [_Month] as '[Mês Caixa].Generations(2).members'
    set [_Product2] as 'Filter([Product].Generations(2).members, (([Product].CurrentMember.MEMBER_Name = "SPECIAL" OR [Product].CurrentMember.MEMBER_ALIAS = "SPECIAL") OR ([Product].CurrentMember.MEMBER_Name = "EXECUTIVE" OR [Product].CurrentMember.MEMBER_ALIAS = "EXECUTIVE")))'
    set [_Client Name] as 'Filter([Client Name].Generations(2).members, (([Client Name].CurrentMember.MEMBER_Name = "JOHN DOE" OR [Client Name].CurrentMember.MEMBER_ALIAS = "JOHN DOE")))'
    set [_Service Name] as 'Generate([Service Name].Generations(2).members, Descendants([Service Name].currentmember, [Service Name].Generations(4), leaves))'
    member [Accounts].[_MSCM1] as 'AGGREGATE({[_Product2]}, [Accounts].[Paid Amount])'
    select
    { [Accounts].[_MSCM1]
    } on columns,
    NON EMPTY {crossjoin({[_Year]},crossjoin({[_Month]},crossjoin({[_Client Name]},{[_Service Name]})))} properties MEMBER_NAME, GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Mês Caixa].[MEMBER_UNIQUE_NAME], [Client Name].[MEMBER_UNIQUE_NAME], [Service Name].[Member_Alias] on rows
    from [cli.Client]
    Does anyone know why OBIEE generate these two queries and how to optimize them since it's generated automatically by OBIEE ?
    Thanks,

    Hi,
    I have been through the queries, and understand that the "_MSCM1" is being aggregated across Product and Paid Amount from the query extract below:
    member [Accounts].[_MSCM1] as 'AGGREGATE({[_Product2]}, [Accounts].[Paid Amount])'
    If I am getting it right, there is an aggregation rule missing for [Paid Amount] (I think that's the reason, the query is to aggregate _MSCM1 by "Paid Amount" ie just like any other dimension).
    Could you please check this once and this is why I think BI is generating two queries? I am sorry, if I got this wrong.
    Hope this helps.
    Thank you,
    Dhar

  • MDX execn error: "Dimension Signature mismatch"

    Hi All,
    I'm trying to run an MDX script against Essbase, and I get the below message:
    "Dimension Signature mismatch in function [SET CONSTRUCTOR]"
    Unexpected Essbase error 1260054.
    The MDX query is as below, the error occurs in line 5:
    select
    {[CurFcst@AOP_FX],
    [Reporting],
    [Gross Units]
    ON COLUMNS,
    [Product].Levels(0).Members
    ON ROWS
    from ABANSWER.REPORT
    where
         ([Period].[Q3],
         [InterCompany],
         [Management Unit].[TWMU],
         [Legal Entity],
         [Cost Center],
         [Set Of Books],
         [Years].[FY10],
         [Version].[Current])     
    Please let me know if anyone has any information that can help me.
    Thanks,
    Anindyo

    Hi,
    Post here...Essbase
    Will get proper solution for your issue :-)
    Hope this helped
    Regards,
    Srikanth

  • Infoset join two ODS no authrization

    I have created an Infoset joining two ODS's the primary ODS (grey) has 0Orgunit in it and the second  ODS's (white) hasn't. When you run the query against the infoset the authorization on the orgunit isn't working and you can see the whole of the organization no matter what level of authorization the user has.
    I have looked in RSSM and you can not add the Infoset into the Authorization objects.
    If anyone can shed any light on to why the authorization isn't working it would be appreciated.
    Many thanks
    Jane

    Thanks for your reply but isn't the join different between a infoset and multiprovider .
    Many thanks
    Jane

  • MDX Query much slower for users without administrativ rights

    We have a SQL 2012 SP1 with CU9 installed and run a MDX query against a Cube. The Problem is that the query runs very slow for a user without administrativ persmission on the cube. With admin rights it takes 3 seconds and without 30 seconds. I can't find
    any error in the query so maybe someone can pin point me in the right direction.The Role has all reading information it needs.
    This is the Query:
    SELECT NON EMPTY { [Measures].[Blocked Consignment], [Measures].[Consignment in Inspection],
    [Measures].[Restricted Consignment], [Measures].[Unrestricted Consignment] } ON COLUMNS, NON EMPTY
    { ([Date].[Date].[Date].ALLMEMBERS * [Materials].[Part Number].[Part Number].ALLMEMBERS *
    [Materials].[Key].[Key].ALLMEMBERS * [Sold To].[Name].[Name].ALLMEMBERS *
    [Stock Information].[Plant - Storage Location].[Storage Location].ALLMEMBERS * [Non Zero].[Zero Stock Status].[Zero Stock Status].ALLMEMBERS ) }
    ON ROWS
    FROM ( SELECT ( STRTOSET("[Non Zero].[Zero Stock Status].&[No]", CONSTRAINED) )
    ON COLUMNS FROM ( SELECT ( STRTOSET("[Stock Information].[Storage Location].&[1090]", CONSTRAINED) )
    ON COLUMNS FROM ( SELECT ( STRTOSET("[Stock Information].[Plant].&[1090]", CONSTRAINED) )
    ON COLUMNS FROM ( SELECT ( STRTOSET("[Sold To].[Name].[All]", CONSTRAINED) )
    ON COLUMNS FROM [Stock Snapshot]))))
    WHERE ( IIF( STRTOSET("[Stock Information].[Plant].&[1090]", CONSTRAINED).Count = 1, STRTOSET("[Stock Information].[Plant].&[1090]", CONSTRAINED), [Stock Information].[Plant].currentmember ),
    IIF( STRTOSET("[Stock Information].[Storage Location].&[1090]", CONSTRAINED).Count = 1, STRTOSET("[Stock Information].[Storage Location].&[1090]", CONSTRAINED), [Stock Information].[Storage Location].currentmember ) )
    Any one came across this is or is it a bug?

    Can you check which build of SSAS you've got installed? It looks similar to this bug:
    http://support.microsoft.com/kb/2905298/en-us
    Apart from that, if you have used cell security in your role, it would be expected that query performance would be slower for users of that role.
    Chris
    Check out my MS BI blog I also do
    SSAS, PowerPivot, MDX and DAX consultancy
    and run public SQL Server and BI training courses in the UK

  • Unit display issue for MDX

    Hi,
    Following is the issue what I face.
    I issue a MDX query against an infocube. There is a calculated measure in the MDX query whose calculation is in the MDX statement itself(e.g. sales value/sales quantity). The result shows the unit of the calculated measure as "EUR KG" rather than "EUR/KG".
    If I issue the MDX query against the query built on the same cube(the calculation of the keyfigure is in the bex query this time and not in the MDX statement) I get the proper unit as EUR/KG.
    Can anybody suggest how the units can properly be displayed when queried directly against the cube?
    Thanks,
    Anurag.

    Resolved

  • Authorization for InfoSets

    Hi All.
    I have a strange situation that only exists in my BW production environment (version 7.0).  Starting out of the blue a few days ago, all of my users are now recieving authorization errors trying to execute queries against any InfoSet.  Specifically, the error message is "You do not have authorization for InfoSet xxxx."  We have four other environements, sandbox, dev, quality, and training where there is no problem.  I've re-transported all of the user roles from Dev to production and compared them line-by-line with the other environements, but I don't see any problem.   Can anyone provide any guidance on where I might look to resolve this issue?  Below is my PFCG configuration.  All of the InfoSets and related cubes, DSO's are in the indicated InfoAreas.  Thanks in advance.
               Manually   Business Explorer - Components
                Manually   Business Explorer - Components
                  Activity                       Create or generate, Change, Display, Delete, Execute                  <...>
                  InfoArea                       ZCRM_CA, ZCRM_OPP, ZCRM_SALES_A, ZCRM_SALES_O, ZCUSTOM_DSO, ZELM, ZLEA<...>
                  InfoCube                       *
                  Name (ID) of a reporting compo *
                  Type of a reporting component  Calculated key figure, Query View, Query, Restricted key figure       <...>
               Manually   Business Explorer - Components: Enhancements to the Owner
               Manually   Data Warehousing Workbench - Hierarchy
               Manually   Data Warehousing Workbench - InfoCube
                Manually   Administrator Workbench - InfoCube
                  Activity                       Display
                  InfoCube Subobject             Data
                  InfoArea                       ZCRM_CA, ZCRM_OPP, ZCRM_SALES_A, ZCRM_SALES_O, ZCUSTOM_DSO, ZELM, ZLEA<...>
                  InfoCube                       *
               Manually   Data Warehousing Workbench - InfoSet
                Manually   Administrator Workbench - Infoset
                  Activity                       Display, Maintain
                  InfoArea                       ZCRM_CA, ZCRM_OPP, ZCRM_SALES_A, ZCRM_SALES_O, ZCUSTOM_DSO, ZELM, ZLEA<...>
                  InfoSet                        *
               Manually   Data Warehousing Workbench - DataStore Object
                Manually   Administrator Workbench - ODS Object
                  Activity                       Display
                  InfoArea                       ZCRM_CA, ZCRM_OPP, ZCRM_SALES_A, ZCRM_SALES_O, ZCUSTOM_DSO, ZELM, ZLEA<...>
                  DataStore Object               *
                  Subobject for ODS Object       Data

    Hi Casey,
    Have you tried what roles or authorization objects are missing thru SU53 t-code? Other posibility to see what is happeining is doing a trace.
    Go to ST01-> select the checkbox Authorization -> run trace.
    Then execute the query that gives your the authorization error.
    Stop the trace, and see the analysis, check those rows with RC = 8 or 4.
    Regards, Federico

  • MDX queries that used to work on SSAS 2008 not working on 2012

    Hello,
    We are still using the old PerformancePoint planning server which is writing MDX queries against a SSAS 2012 at this time.   What used to work against SSAS 2008 is now having issues.   I captured a profile and the part of the query which
    generates the error is this error:  The '' calculated member cannot be created because a calculated member with the same name already exists.    What has changed in SSAS 2012 where this would not work anymore?;  is there anyway to
    make the 2012 environment work with this code again?.   The code generation is out of my control so I need to find a way to enable backwards compatibility with the way the tool generates the MDX statements.
    WITH
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
      MEMBER [Account].[Staffing_V3].[] AS ""
    Thanks,
    Matt

    Hi Matt,
    According to your description, the MDX query which has the duplicate calculated member name can run success with out any problems in SSAS 2008, however the same query cannot work in SSAS2012 with the error below, right?
    The '' calculated member cannot be created because a calculated member with the same name already exists.
    I have tested it on my local environment, and the result turn out that this is the default change by Microsoft from SSAS 2008 R2 version. And I am afraid there is no any workarounds run this similar query in SSAS 2012. So in your scenario, you
    need to remove the duplicate members in the query.
    Thank you for your understanding.
    Regards,
    Charlie Liao
    TechNet Community Support

  • MDX always returns Description

    Hi,
    I am using MDX statment to retrieve result. The statement is as follows:
    SELECT NON EMPTY {[3A7PQ1PWB93XPLS4ENBRGNUGR].[75FX3HW29XHBF3ZD279PGG5UR]}  ON COLUMNS, 
    NON EMPTY
    {[0MATERIAL                     Z00KSTDHIERARCHY].LEVELS(01).MEMBERS}  ON ROWS FROM [Z_PYMNTS/ZZZ_MDXTEST_QUERY] SAP VARIABLES [ZC_YRWK] INCLUDING [0CALWEEK].[200401] [ZC_CC] INCLUDING [ZC01CNTRF].[X]
    The result always contains description of Hierarchy nodes. I want the result to show node value of hierarchy . How should we adjust the .MEMBERS Part above.
    The attributes of 0material in the query is Key.
    Best Regards,
    Anil

    Hello Anil,
    if I add
    properties
    member_name
    in the MDX and I execute the MDX statement in the MDXTEST transaction (Run Query Multidim.), then the system gives me the result with the description and the node key...
    like
    MDX:
    SELECT
    [Measures].MEMBERS ON AXIS(0) ,
    NON EMPTY
    [0REGION                       Z_LW_REGION].[LEVEL00].Members
    properties
    member_name
    ON AXIS(1)
    FROM [FABCUBE5/Z305TESTEXTR1]
    RESULT:
    WELT                    |WELT 0HIER_NODE   |77.408,00 EUR
    Not Assigned Region (s) |REST_H 1HIER_REST |81.293,00 EUR
    The first column is the description and the second is the key of the node.
    If I do not want to have the description I have to remove the return parameter of the BAPI: BAPI_MDDATASET_GET_AXIS_DATA --> l_s_mndtry_prptys-mem_cap
    In the returnparameter l_t_option_prptys_vals (l_s_opv-PRPTY_VAL) is the key of the node.
    The MDXTEST Transaction is just an example how the BAPI's are working and to test the MDX. The coding of the CRM Bapi and the MDXTEST transaction are using the same BAPI's, but the not the same RETURN parameters...
    You can test this, If you do a breakpoint in Program: RRT_MDX_SAMPLE Source Code of RRTMDXF02 line 272 at  CALL FUNCTION 'BAPI_MDDATASET_GET_AXIS_DATA'
    I hope this helps?
    Kind reg.
    Michael

  • MDX Client for Essbase

    Are there any tools capable of executing MDX queries against ESSBASE databases?
    There requirements are extremely simple: just writing MDX queries and getting results as tables.
    In other words, I look for a little more convenient alternative to EAS MDX Editor ("convenient" = larger font in the query editor + ability to copy results to the clipboard).
    OS: MS Windows; also freeware tools are preferred.
    Any links are appreciated, thanks in advance.
    Best regards

    I too am not a fan of the EAS console as an IDE for much of anything -- it is a lousy text editor.
    But what you are asking (I think) is about looking at the output and manipulating that, right?
    I think the question then becomes, can MDX queries write to anything other than a flat file, i.e., a table.
    Unfortunately, I'm not aware of a way to natively do that.
    That's why I suggested using the EssbaseLabs approach and then wrapping your MaxL (you could make this a framework, btw, and use the msh MaxL keyword to touch your actual MDX code) within a batch script that will import the text file using something like bcp.
    Then you could use real (SQL based) tools to look at your output.
    I'm afraid that all sounds a bit involved, but really, it shouldn't be too much work.
    Regards,
    Cameron Lackpour

  • Issues in creating a Pre-defined filter in Universe

    Hello Everyone,
    Here is the problem...
    The idea is to have a prompt (Prompt1) to allow user select the Input type ..ie."Check Number or Invoice Number". There is the second prompt (Prompt2) which will allow user to input a value. Based on Prompt1 value, the prompt2 input should be evaluated against Check Number object or Invoice Number Object.
    This is using a universe based on a BEx query.
    Following useful information in the OLAP universe Best practice doc available [here] which Ingo once shared with us [on this forum], I created following pre-defined filter in my universe.
    <OPTIONAL><FILTER EXPRESSION="IIF(@Prompt('Select Input type','A',{'Check','Invoice'},mono,free)='Check', [ZFIAP_IS1___F20].[LEVEL01],[ZFIAP_IS1___F46].[LEVEL01])"><CONDITION OPERATORCONDITION="Equal"><CONSTANT TECH_NAME="@Prompt('Enter Check or Invoice Number','A',,mono,free)"/></CONDITION></FILTER></OPTIONAL>
    Where [ZFIAP_IS1___F20].[LEVEL01] = Check Number & [ZFIAP_IS1___F46].[LEVEL01] = Invoice number.
    The object is parsing without errors in the universe. But when I use it in my report, the report throws an error " failed to execute with the error Invalid MDX command with " "
    I took the MDX statment and tried to run/debug using MDXTEST and could never get it to work with the above objects. It was seen that the filter created in such a way is handled [Measures] object which only accepts Numeric values and not Strings. Where as my Check number and Invoice Number values are strings. The MDx statement is given below.
    Has anyone experienced this issue earlier ?
    WITH MEMBER [Measures].[4C46B176-CC15-DF11-92,5D,25,C2,A9,6F,0,0] AS ' IIF(Check=Check, [ZFIAP_IS1___F20].[LEVEL01],[ZFIAP_IS1___F46].[LEVEL01]) ' SELECT { [Measures].[4GQZ1D26O6QATUDY32CGL1C38] } ON COLUMNS , NON EMPTY FILTER( CROSSJOIN( CROSSJOIN( CROSSJOIN( CROSSJOIN( CROSSJOIN( CROSSJOIN( [ZFIAP_IS1___F93].[LEVEL01].MEMBERS, [ZFIAP_IS1___F94].[LEVEL01].MEMBERS ), [ZFIAP_IS1___F92].[LEVEL01].MEMBERS ), [ZFIAP_IS1___F71].[LEVEL01].MEMBERS ), [ZFIAP_IS1___F55].[LEVEL01].MEMBERS ), [ZFIAP_IS1___F46].[LEVEL01].MEMBERS ), [ZFIAP_IS1___F20].[LEVEL01].MEMBERS ), [Measures].[4C46B176-CC15-DF11-92,5D,25,C2,A9,6F,0,0] = 0000041924670) DIMENSION PROPERTIES [ZFIAP_IS1___F55].[2ZCCNODE01], [ZFIAP_IS1___F55].[2ZCCNODE02], [ZFIAP_IS1___F55].[2ZCCNODE03] ON ROWS FROM [ZFIAP_IS1/QZFIAP_BOUNV2]
    Edited by: vaibhav patil on Feb 11, 2010 9:53 PM
    Edited by: vaibhav patil on Feb 11, 2010 9:55 PM

    Hi,
    In fact, what you are requiring is feasible in Microsoft Analysis Services by defining a calculated meaure and a filter using this calculated measure.
    Unfortunately, due to MDX restrictions in SAP, it is not possible to do it in universes.
    I suggest that you create a range variable on Time to allow the user to only retrieve the dates needed.
    You can retrieve all the dates and then apply a filter in Web Intelligence document: this solution might have the disadvantage to retrieve more data than necessary.
    Didier

  • Greater than Equal to Functionality when retirivng data from SSAS 2008 cube using SSRS 2012 report not working

    I have an SSRS 2012 report and SSAS Cube in 2008. My report criterion requires filtering on measures. So Created measures as dimensions . The report requires >= functionality on the measures. But in the Query designer of 
    the report there is =, IN, Within Range ,Excluding range , MDX as the operators.
    To achieve my goal. I have “From” and “To” as parameters on the numeric dimension. The “To” parameter I have set as internal and setting
     the default value of  “TO” .By writing another Dataset query that returns the “MAX” 
    value and the MAX value returned is a member of the measure converted to dim I confirmed.. So this whole works as >=.The user enters only the “FROM” parameter and the “TO” is set internally. The user can enter any value in the “From” parameter. Any
    value that is not even a member.It is a textbox. I cannot use a list of values from the “From” parameter.
    But whenever I run the report after entering all the selection criteria
     I keep getting
    Error “the restrictions imposed by the constrained flag in the strtomember functions were violated”
    I know this means that Max value in the “TO” section is not a member .
    I did try
    : StrToMember("[Fact RCS CV BLAST].[APPRLIMIT ACH].
    &[" & @ToFactRCSCVBLASTAPPRLIMITACH &
    "]", CONSTRAINED) )
     But I get “syntax for the “&” is incorrect”
    If I use Drop down for the “From” and “To” parameters then it works fine. But that’s not what Business Users need.
    Please let me know what the options to make this work. I did use parameters that filter the
     Dataset returned it works fine but there is a performance impact.

    Hi,
    I think if you use the following method you will be able to compare the members.
    CDbl(StrToMember("[Fact RCS CV BLAST].[APPRLIMIT ACH].&[" + @ToFactRCSCVBLASTAPPRLIMITACH + "]").Member_Name)
    As you mentioned that you converted your measures as dimensions, you are having an integer value as the member name. In that case use VBA functions with MDX to do the datatype conversion.
    Take a look into the following MDX written against Adventure Works;
    WITH CALCULATED MEMBER [Measures].[Member Name] AS
    CInt
    Right
    CStr
    [Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME
    ), 4
    SELECT {[Measures].[Sales Amount], [Measures].[Member Name]} ON COLUMNS,
    FILTER
    [Date].[Calendar Year].[Calendar Year].MEMBERS,
    CInt(Right(CStr([Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME), 4)) >= 2005 AND
    CInt(Right(CStr([Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME), 4)) <=2008
    } ON ROWS
    FROM [Adventure Works]
    I am filtering the Years by using the member names by extracting the Integer portion of the member name and applying data type conversion functions in VBA. So I 
    Keep in mind that you have to get rid of the CONSTRAINED clause if your business users can enter anything on the SSRS text box. 

  • SAP Personas  - Use of variable in IF statement

    Hope someone can assist with this script
    I am storing a value from a dropdown box in a variable so this can be used latter when I am in a different screen within same script.
    But the problem I am facing is if i perform a if statment against a variable , it does not work
    What I do in test script
    1) copy value from drop down into varable
    2) paste value to textbox to test value
    3) if check is equal for value (N506) in variable "site"
    4) if true, put "tested ok" in text box.
    if perofrm the test on the dropdown box directly...  it works
    if perform the test on the textbox i copied variable to... it works.
    if perform test on variable directly...it fails...
    Doing the test in the first two cases, will not work , as the textbox and dropdown box will not be on screen , when i need to perofm the if statement.
    I am suspecting the if statement is interpurting the word site, as a text rather then a varaible name, so how can  read a variable and use it in a if statement, without using a box on the screen itself.
    Any help is appreciated.

    thanks Tamas....   i knew it was something simple...  code works great now.

  • Problem using existsnode from view

    I am having a problem using existsnode from a view. I am currently using 10.2.0.3
    example
    CREATE OR REPLACE VIEW XML_PERSON_ASSOCIATION
    (PERSON)
    AS
    select
    xmlelement("Person",
        xmlforest(
            extractvalue(value(p),'/Person/PersonID') "PersonID",
            extractvalue(value(p),'/Person/Prefix') "Prefix",
            extractvalue(value(p),'/Person/FirstName') "FirstName",
            extractvalue(value(p),'/Person/MiddleName') "MiddleName",
            extractvalue(value(p),'/Person/LastName') "LastName",
            extractvalue(value(p),'/Person/Suffix') "Suffix",
            extractvalue(value(p),'/Person/PreferredName') "PreferredName",
            extractvalue(value(p),'/Person/Gender') "Gender",
            extractvalue(value(p),'/Person/PrimaryLanguage') "PrimaryLanguage",
            extractvalue(value(p),'/Person/RecordStatus') "RecordStatus",
            extractvalue(value(p),'/Person/ImportedDate') "ImportedDate",
            (select
                xmlagg(
                    xmlelement("Association",
                        xmlforest(
                            extractvalue(value(oa),'/OrganizationPersonAssoc/Name') "Name",
                            extractvalue(value(ot),'/OrganizationType/OrganizationID') "OrganizationID",
                            extractvalue(value(ot),'/OrganizationType/Type') "OrganizationType",
                            extractvalue(value(a),'/Association/Role') "Role",                        
                            extractvalue(value(a),'/Association/RecordStatus') "RecordStatus",
                            extractvalue(value(oa),'/OrganizationPersonAssoc/ImportedDate') "ImportedDate"                                                
                        xmlelement("PersonTypes",
                            extract(value(per),'/Person/PersonTypes/PersonType')
                        xmlelement("Addresses",
                            extract(value(a),'/Association/Addresses/Address')
                        xmlelement("ContactMechanisms",
                            extract(value(a),'/Association/ContactMechanisms/ContactMechanism')
            from org_person_assoc oa,
            table(xmlsequence(extract(value(oa),'/OrganizationPersonAssoc/OrganizationTypes/OrganizationType'))) ot,
            table(xmlsequence(extract(value(ot),'/OrganizationType/Associations/Association'))) a,
            table(xmlsequence(extract(value(a),'/Association/Persons/Person'))) per
            where extractvalue(value(per),'/Person/PersonID') = extractvalue(value(p),'/Person/PersonID')        
            ) "Associations"
    ) person
    from person p
    /When I run the following statment
    select person
    from xml_person_association o
    where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1;
    I get no records returned. Now if I used the extract function and use the same path that's in the existsnode clause I get a record returned.
    select extract(person,'/Person/Associations/Association')
    from xml_person_association o
    where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1;
    <Association>
    <Name>TEST DATA</Name>
    <OrganizationID>30097</OrganizationID>
    </Association>
    If I run the same style of existsnode statment against a table directly instead of a view I am not required to use an extract caluse that has the same path that is used in the existsnode clause.
    Thanks for the help.
    Message was edited by:
    mdrake

    Testing in 11g I get
    SQL>
    SQL>
    SQL> set echo on
    SQL> spool testcase.log
    SQL> --
    SQL> connect sys/ as sysdba
    Enter password:
    Connected.
    SQL> set define on
    SQL> set timing on
    SQL> --
    SQL> define USERNAME = XDBTEST
    SQL> --
    SQL> def PASSWORD = XDBTEST
    SQL> --
    SQL> def USER_TABLESPACE = USERS
    SQL> --
    SQL> def TEMP_TABLESPACE = TEMP
    SQL> --
    SQL> drop user &USERNAME cascade
      2  /
    old   1: drop user &USERNAME cascade
    new   1: drop user XDBTEST cascade
    User dropped.
    Elapsed: 00:00:09.42
    SQL> grant connect, resource to &USERNAME identified by &PASSWORD
      2  /
    old   1: grant connect, resource to &USERNAME identified by &PASSWORD
    new   1: grant connect, resource to XDBTEST identified by XDBTEST
    Grant succeeded.
    Elapsed: 00:00:00.03
    SQL> grant create any directory, drop any directory to &USERNAME
      2  /
    old   1: grant create any directory, drop any directory to &USERNAME
    new   1: grant create any directory, drop any directory to XDBTEST
    Grant succeeded.
    Elapsed: 00:00:00.00
    SQL> grant alter session, create view to &USERNAME
      2  /
    old   1: grant alter session, create view to &USERNAME
    new   1: grant alter session, create view to XDBTEST
    Grant succeeded.
    Elapsed: 00:00:00.00
    SQL> alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
      2  /
    old   1: alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
    new   1: alter user XDBTEST default tablespace USERS temporary tablespace TEMP
    User altered.
    Elapsed: 00:00:00.00
    SQL> connect &USERNAME/&PASSWORD
    Connected.
    SQL> --
    SQL> alter session set events ='19027 trace name context forever, level 0x800'
      2  /
    Session altered.
    Elapsed: 00:00:00.00
    SQL> var xmlText1 clob
    SQL> var xmlText2 clob
    SQL> var xmlSchema clob
    SQL> var schemaURL varchar2(256)
    SQL> --
    SQL> begin
      2    :schemaURL := 'mcs.xsd';
      3    :xmlSchema :=
      4  '<!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by Shaun (PPD Inc) --> <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xdb=
    "http://xmlns.oracle.com/xdb" elementFormDefault="qualified" xdb:storeVarrayAsTable="true">
      5     <s:element name="Organization" type="Organization" xdb:defaultTable="ORG"/>
      6     <s:element name="Person" type="Person" xdb:defaultTable="PERSON"/>
      7     <s:element name="OrganizationPersonAssoc" type="Organization" xdb:defaultTable="ORG_PERSON_ASSOC"/>
      8     <s:complexType name="Organization" xdb:SQLType="Organization">
      9             <s:sequence minOccurs="0">
    10                     <s:element name="Name" type="s:string" nillable="true"/>
    11                     <s:element name="LongName" type="s:string" nillable="true"/>
    12                     <s:element name="Description" type="s:string" nillable="true"/>
    13                     <s:element name="FWANumber" type="s:string" nillable="true"/>
    14                     <s:element name="GUID" type="s:string" nillable="true"/>
    15                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    16                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    17                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    18                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    19                     <s:element name="OrganizationTypes" type="ArrayOfOrganizationType" minOccurs="0"/>
    20                     <s:element name="OrganizationSynonyms" type="ArrayOfOrganizationSynonym"/>
    21                     <s:element name="ImportedDate" type="s:date"/>
    22             </s:sequence>
    23     </s:complexType>
    24     <s:complexType name="ArrayOfOrganizationType" xdb:SQLType="ArrayOfOrganizationType">
    25             <s:sequence minOccurs="0">
    26                     <s:element name="OrganizationType" type="OrganizationType" minOccurs="0" maxOccurs="unbounded"/>
    27             </s:sequence>
    28     </s:complexType>
    29     <s:complexType name="OrganizationType" xdb:SQLType="OrganizationType">
    30             <s:sequence minOccurs="0">
    31                     <s:element name="OrganizationID" type="s:string"/>
    32                     <s:element name="Type" type="s:string" nillable="true"/>
    33                     <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
    34                     <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    35                     <s:element name="SiteEstablishmentStatus" type="s:string" nillable="true"/>
    36                     <s:element name="SiteEstablishmentStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    37                     <s:element name="IPFNumber" type="s:int"/>
    38                     <s:element name="DUNSNumber" type="s:int"/>
    39                     <s:element name="GUID" type="s:string" nillable="true"/>
    40                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    41                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    42                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    43                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    44                     <s:element name="LegacyCodes" type="ArrayOfLegacyCode" minOccurs="0"/>
    45                     <s:element name="Addresses" type="ArrayOfAddress" minOccurs="0"/>
    46                     <s:element name="ContactMechanisms" type="ArrayOfContactMechanism" minOccurs="0"/>
    47                     <s:element name="Associations" type="ArrayOfAssociation" minOccurs="0"/>
    48             </s:sequence>
    49     </s:complexType>
    50     <s:complexType name="ArrayOfLegacyCode" xdb:SQLType="ArrayOfLegacyCode">
    51             <s:sequence minOccurs="0">
    52                     <s:element name="LegacyCode" type="LegacyCode" minOccurs="0" maxOccurs="unbounded"/>
    53             </s:sequence>
    54     </s:complexType>
    55     <s:complexType name="LegacyCode" xdb:SQLType="LegacyCode">
    56             <s:sequence minOccurs="0">
    57                     <s:element name="Code" type="s:string" nillable="true"/>
    58                     <s:element name="NetworkID" type="s:string"/>
    59                     <s:element name="GUID" type="s:string" nillable="true"/>
    60                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    61                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    62                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    63                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    64             </s:sequence>
    65     </s:complexType>
    66     <s:complexType name="ArrayOfAddress" xdb:SQLType="ArrayOfAddress">
    67             <s:sequence minOccurs="0">
    68                     <s:element name="Address" type="Address" minOccurs="0" maxOccurs="unbounded"/>
    69             </s:sequence>
    70     </s:complexType>
    71     <s:complexType name="Address" xdb:SQLType="Address">
    72             <s:sequence minOccurs="0">
    73                     <s:element name="StreetName1" type="s:string" nillable="true"/>
    74                     <s:element name="StreetName2" type="s:string" nillable="true"/>
    75                     <s:element name="StreetName3" type="s:string" nillable="true"/>
    76                     <s:element name="StreetName4" type="s:string" nillable="true"/>
    77                     <s:element name="CityName" type="s:string" nillable="true"/>
    78                     <s:element name="CityGUID" type="s:string" nillable="true"/>
    79                     <s:element name="CityCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    80                     <s:element name="CityLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    81                     <s:element name="CityRecordStatus" type="s:string" nillable="true"/>
    82                     <s:element name="CityRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    83                     <s:element name="StateName" type="s:string" nillable="true"/>
    84                     <s:element name="StateGUID" type="s:string" nillable="true"/>
    85                     <s:element name="StateCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    86                     <s:element name="StateLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    87                     <s:element name="StateRecordStatus" type="s:string" nillable="true"/>
    88                     <s:element name="StateRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    89                     <s:element name="CountryName" type="s:string" nillable="true"/>
    90                     <s:element name="CountryCode" type="s:string" nillable="true"/>
    91                     <s:element name="CountryGUID" type="s:string" nillable="true"/>
    92                     <s:element name="CountryCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    93                     <s:element name="CountryLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    94                     <s:element name="CountryRecordStatus" type="s:string" nillable="true"/>
    95                     <s:element name="CountryRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    96                     <s:element name="ZipPostalCode" type="s:string" nillable="true"/>
    97                     <s:element name="GUID" type="s:string" nillable="true"/>
    98                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    99                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    100                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    101                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    102                     <s:element name="Type" type="s:string" nillable="true"/>
    103                     <s:element name="TypeOtherSpecify" type="s:string" nillable="true"/>
    104                     <s:element name="InternalOffice" type="s:string" nillable="true"/>
    105                     <s:element name="MailStopCode" type="s:string" nillable="true"/>
    106                     <s:element name="PreferredFlag" type="s:string" nillable="true"/>
    107                     <s:element name="ActiveFromDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    108                     <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
    109                     <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    110             </s:sequence>
    111     </s:complexType>
    112     <s:complexType name="ArrayOfContactMechanism" xdb:SQLType="ArrayOfContactMechanism">
    113             <s:sequence minOccurs="0">
    114                     <s:element name="ContactMechanism" type="ContactMechanism" minOccurs="0" maxOccurs="unbounded"/>
    115             </s:sequence>
    116     </s:complexType>
    117     <s:complexType name="ContactMechanism" xdb:SQLType="ContactMechanism">
    118             <s:sequence minOccurs="0">
    119                     <s:element name="ContactType" type="s:string" nillable="true"/>
    120                     <s:element name="ContactTypeOtherSpecify" type="s:string" nillable="true"/>
    121                     <s:element name="ContactValue" type="s:string" nillable="true"/>
    122                     <s:element name="ContactAreaCode" type="s:string" nillable="true"/>
    123                     <s:element name="ContactCountryCallingCode" type="s:int"/>
    124                     <s:element name="ContactTollFreeFlag" type="s:string" nillable="true"/>
    125                     <s:element name="ContactGUID" type="s:string" nillable="true"/>
    126                     <s:element name="ContactCreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    127                     <s:element name="ContactLastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    128                     <s:element name="ContactRecordStatus" type="s:string" nillable="true"/>
    129                     <s:element name="ContactRecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    130                     <s:element name="Role" type="s:string" nillable="true"/>
    131                     <s:element name="PhoneExtension" type="s:string" nillable="true"/>
    132                     <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
    133                     <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    134                     <s:element name="ActiveFromDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    135                     <s:element name="GUID" type="s:string" nillable="true"/>
    136                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    137                     <s:element name="ModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    138                     <s:element name="PreferredFlag" type="s:string" nillable="true"/>
    139                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    140                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    141             </s:sequence>
    142     </s:complexType>
    143     <s:complexType name="ArrayOfAssociation" xdb:SQLType="ArrayOfAssociation">
    144             <s:sequence minOccurs="0">
    145                     <s:element name="Association" type="Association" minOccurs="0" maxOccurs="unbounded"/>
    146             </s:sequence>
    147     </s:complexType>
    148     <s:complexType name="Association" xdb:SQLType="Association">
    149             <s:sequence minOccurs="0">
    150                     <s:element name="Role" type="s:string" nillable="true"/>
    151                     <s:element name="GUID" type="s:string" nillable="true"/>
    152                     <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
    153                     <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    154                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    155                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    156                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    157                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    158                     <s:element name="Addresses" type="ArrayOfAddress" minOccurs="0"/>
    159                     <s:element name="ContactMechanisms" type="ArrayOfContactMechanism" minOccurs="0"/>
    160                     <s:element name="Persons" type="ArrayOfPerson" minOccurs="0"/>
    161             </s:sequence>
    162     </s:complexType>
    163     <s:complexType name="ArrayOfPerson" xdb:SQLType="ArrayOfPerson">
    164             <s:sequence minOccurs="0">
    165                     <s:element name="Person" type="Person" minOccurs="0" maxOccurs="unbounded"/>
    166             </s:sequence>
    167     </s:complexType>
    168     <s:complexType name="Person" xdb:SQLType="Person">
    169             <s:sequence minOccurs="0">
    170                     <s:element name="PersonID" type="s:int"/>
    171                     <s:element name="Prefix" type="s:string" nillable="true"/>
    172                     <s:element name="FirstName" type="s:string" nillable="true"/>
    173                     <s:element name="MiddleName" type="s:string" nillable="true"/>
    174                     <s:element name="LastName" type="s:string" nillable="true"/>
    175                     <s:element name="Suffix" type="s:string" nillable="true"/>
    176                     <s:element name="PreferredName" type="s:string" nillable="true"/>
    177                     <s:element name="Gender" type="s:string" nillable="true"/>
    178                     <s:element name="PrimaryLanguage" type="s:string" nillable="true"/>
    179                     <s:element name="GUID" type="s:string" nillable="true"/>
    180                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    181                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    182                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    183                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    184                     <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
    185                     <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    186                     <s:element name="PersonDegrees" type="ArrayOfPersonDegree" minOccurs="0"/>
    187                     <s:element name="PersonSpecialties" type="ArrayOfPersonSpecialty" minOccurs="0"/>
    188                     <s:element name="PersonTypes" type="ArrayOfPersonType" minOccurs="0"/>
    189                     <s:element name="Addresses" type="ArrayOfAddress" minOccurs="0"/>
    190                     <s:element name="ContactMechanisms" type="ArrayOfContactMechanism" minOccurs="0"/>
    191                     <s:element name="ImportedDate" type="s:date"/>
    192             </s:sequence>
    193     </s:complexType>
    194     <s:complexType name="ArrayOfPersonDegree" xdb:SQLType="ArrayOfPersonDegree">
    195             <s:sequence minOccurs="0">
    196                     <s:element name="PersonDegree" type="PersonDegree" minOccurs="0" maxOccurs="unbounded"/>
    197             </s:sequence>
    198     </s:complexType>
    199     <s:complexType name="PersonDegree" xdb:SQLType="PersonDegree">
    200             <s:sequence minOccurs="0">
    201                     <s:element name="Code" type="s:string" nillable="true"/>
    202                     <s:element name="Major" type="s:string" nillable="true"/>
    203                     <s:element name="ListingOrder" type="s:int"/>
    204                     <s:element name="GUID" type="s:string" nillable="true"/>
    205                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    206                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    207                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    208                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    209             </s:sequence>
    210     </s:complexType>
    211     <s:complexType name="ArrayOfPersonSpecialty" xdb:SQLType="ArrayOfPersonSpecialty">
    212             <s:sequence minOccurs="0">
    213                     <s:element name="PersonSpecialty" type="PersonSpecialty" minOccurs="0" maxOccurs="unbounded"/>
    214             </s:sequence>
    215     </s:complexType>
    216     <s:complexType name="PersonSpecialty" xdb:SQLType="PersonSpecialty">
    217             <s:sequence minOccurs="0">
    218                     <s:element name="Name" type="s:string" nillable="true"/>
    219                     <s:element name="GUID" type="s:string" nillable="true"/>
    220                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    221                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    222                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    223                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    224             </s:sequence>
    225     </s:complexType>
    226     <s:complexType name="ArrayOfPersonType" xdb:SQLType="ArrayOfPersonType">
    227             <s:sequence minOccurs="0">
    228                     <s:element name="PersonType" type="PersonType" minOccurs="0" maxOccurs="unbounded"/>
    229             </s:sequence>
    230     </s:complexType>
    231     <s:complexType name="PersonType" xdb:SQLType="PersonType">
    232             <s:sequence minOccurs="0">
    233                     <s:element name="Type" type="s:string" nillable="true"/>
    234                     <s:element name="GUID" type="s:string" nillable="true"/>
    235                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    236                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    237                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    238                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    239                     <s:element name="QCDoneStatus" type="s:string" nillable="true"/>
    240                     <s:element name="QCDoneStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    241             </s:sequence>
    242     </s:complexType>
    243     <s:complexType name="ArrayOfOrganizationSynonym" xdb:SQLType="ArrayOfOrganizationSynonym">
    244             <s:sequence minOccurs="0">
    245                     <s:element name="OrganizationSynonym" type="OrganizationSynonym" minOccurs="0" maxOccurs="unbounded"/>
    246             </s:sequence>
    247     </s:complexType>
    248     <s:complexType name="OrganizationSynonym" xdb:SQLType="OrganizationSynonym">
    249             <s:sequence minOccurs="0">
    250                     <s:element name="Name" type="s:string" nillable="true"/>
    251                     <s:element name="GUID" type="s:string" nillable="true"/>
    252                     <s:element name="CreatedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    253                     <s:element name="LastModifiedDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    254                     <s:element name="RecordStatus" type="s:string" nillable="true"/>
    255                     <s:element name="RecordStatusDate" type="s:dateTime" xdb:SQLType="TIMESTAMP(6) WITH TIME ZONE"/>
    256             </s:sequence>
    257     </s:complexType>
    258  </s:schema>';
    259    :xmltext1 :=
    260  '<?xml version="1.0" encoding="WINDOWS-1252"?> <Person xsi:noNamespaceSchemaLocation="mcs.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns
    :xsi="http://www.w3.org/2001/XMLSchema-instance">
    261    <PersonID>100448</PersonID>
    262    <Prefix/>
    263    <FirstName>John</FirstName>
    264    <MiddleName/>
    265    <LastName>Doe</LastName>
    266    <Suffix/>
    267    <PreferredName/>
    268    <Gender/>
    269    <PrimaryLanguage xsi:nil="true"/>
    270    <GUID>ffff-ffff-ffff</GUID>
    271    <RecordStatus>Active</RecordStatus>
    272    <RecordStatusDate>2007-04-29T00:11:50.750000-04:00</RecordStatusDate>
    273    <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
    274    <LastModifiedDate>2007-04-29T00:11:50.770000-04:00</LastModifiedDate>
    275    <QCDoneStatus>Yes</QCDoneStatus>
    276    <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
    277    <PersonDegrees>
    278      <PersonDegree>
    279        <Code>B.S.</Code>
    280        <Major xsi:nil="true"/>
    281        <ListingOrder>1</ListingOrder>
    282        <GUID>d01bbcfd-9d48-47bf-818d-9957b907a664</GUID>
    283        <RecordStatus>Active</RecordStatus>
    284        <RecordStatusDate>2006-10-05T10:48:04.430000-04:00</RecordStatusDate>
    285        <CreatedDate>2006-10-05T10:48:06.520000-04:00</CreatedDate>
    286        <LastModifiedDate>2006-10-05T10:48:06.520000-04:00</LastModifiedDate>
    287      </PersonDegree>
    288    </PersonDegrees>
    289    <PersonSpecialties/>
    290    <PersonTypes>
    291      <PersonType>
    292        <Type>Resource Personnel</Type>
    293        <GUID>3049ddcd-3590-4fd9-a534-e2cea5b82c09</GUID>
    294        <RecordStatus>Active</RecordStatus>
    295        <RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate>
    296        <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
    297        <LastModifiedDate>2007-04-29T00:11:50.817000-04:00</LastModifiedDate>
    298        <QCDoneStatus>Yes</QCDoneStatus>
    299        <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
    300      </PersonType>
    301    </PersonTypes>
    302    <Addresses/>
    303    <ContactMechanisms/>
    304    <ImportedDate>2007-04-30</ImportedDate>
    305  </Person>';
    306    :xmltext2 :=
    307  '<?xml version="1.0" encoding="WINDOWS-1252"?> <OrganizationPersonAssoc xsi:noNamespaceSchemaLocation="mcs.xsd" xmlns:xsd="http://www.w3.org/2001
    /XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    308    <Name>Org Name Office</Name>
    309    <LongName>Long Name</LongName>
    310    <Description xsi:nil="true"/>
    311    <FWANumber xsi:nil="true"/>
    312    <GUID>dddd-dddd</GUID>
    313    <CreatedDate>2006-05-18T18:59:01.500000-04:00</CreatedDate>
    314    <LastModifiedDate>2006-05-18T18:59:01.500000-04:00</LastModifiedDate>
    315    <RecordStatus>Active</RecordStatus>
    316    <RecordStatusDate>2006-05-18T18:59:01.500000-04:00</RecordStatusDate>
    317    <OrganizationTypes>
    318      <OrganizationType>
    319        <OrganizationID>30097</OrganizationID>
    320        <Type>Agency</Type>
    321        <QCDoneStatus>Yes</QCDoneStatus>
    322        <QCDoneStatusDate>2006-05-18T18:59:01.513000-04:00</QCDoneStatusDate>
    323        <SiteEstablishmentStatus xsi:nil="true"/>
    324        <SiteEstablishmentStatusDate>0001-01-01T00:00:00.000000-05:00</SiteEstablishmentStatusDate>
    325        <IPFNumber>0</IPFNumber>
    326        <DUNSNumber>0</DUNSNumber>
    327        <GUID>cfe9e9e0-68a3-45c9-81c0-74848523133b</GUID>
    328        <CreatedDate>2006-05-18T18:59:01.513000-04:00</CreatedDate>
    329        <LastModifiedDate>2006-05-18T18:59:01.513000-04:00</LastModifiedDate>
    330        <RecordStatus>Active</RecordStatus>
    331        <RecordStatusDate>2006-05-18T18:59:01.513000-04:00</RecordStatusDate>
    332        <Associations>
    333          <Association>
    334            <Role>Employee</Role>
    335            <GUID>9a9a9a-ababab</GUID>
    336            <QCDoneStatus>Yes</QCDoneStatus>
    337            <QCDoneStatusDate>2006-06-13T01:29:09.030000-04:00</QCDoneStatusDate>
    338            <CreatedDate>2006-06-13T01:29:09.030000-04:00</CreatedDate>
    339            <LastModifiedDate>2006-07-25T15:27:23.783000-04:00</LastModifiedDate>
    340            <RecordStatus>Active</RecordStatus>
    341            <RecordStatusDate>2006-06-13T01:29:09.030000-04:00</RecordStatusDate>
    342            <Addresses>
    343              <Address>
    344                <StreetName1>123 Front St.</StreetName1>
    345                <StreetName2 xsi:nil="true"/>
    346                <StreetName3 xsi:nil="true"/>
    347                <StreetName4 xsi:nil="true"/>
    348                <CityName>City</CityName>
    349                <CityGUID>234234</CityGUID>
    350                <CityCreatedDate>2006-05-08T20:06:45.143000-04:00</CityCreatedDate>
    351                <CityLastModifiedDate>2006-05-08T20:06:45.143000-04:00</CityLastModifiedDate>
    352                <CityRecordStatus>Active</CityRecordStatus>
    353                <CityRecordStatusDate>2006-05-08T20:06:45.143000-04:00</CityRecordStatusDate>
    354                <StateName>New York</StateName>
    355                <StateGUID>9fd469e1-4d4a-4f38-9def-50038e5ecca2</StateGUID>
    356                <StateCreatedDate>2006-04-22T16:09:35.830000-04:00</StateCreatedDate>
    357                <StateLastModifiedDate>2006-04-22T16:09:35.830000-04:00</StateLastModifiedDate>
    358                <StateRecordStatus>Active</StateRecordStatus>
    359                <StateRecordStatusDate>2006-04-22T16:09:35.830000-04:00</StateRecordStatusDate>
    360                <CountryName>United States</CountryName>
    361                <CountryCode>USA</CountryCode>
    362                <CountryGUID>532d35dd-3a49-408a-a416-20c41e9c7997</CountryGUID>
    363                <CountryCreatedDate>2006-04-22T15:30:47.000000-04:00</CountryCreatedDate>
    364                <CountryLastModifiedDate>2006-04-22T15:30:47.000000-04:00</CountryLastModifiedDate>
    365                <CountryRecordStatus>Active</CountryRecordStatus>
    366                <CountryRecordStatusDate>2006-04-22T15:30:47.000000-04:00</CountryRecordStatusDate>
    367                <ZipPostalCode>12345</ZipPostalCode>
    368                <GUID>b2414fa9-7375-4d26-8d76-89a6915d6751</GUID>
    369                <CreatedDate>2006-06-13T01:29:09.030000-04:00</CreatedDate>
    370                <LastModifiedDate>2006-07-29T23:45:17.670000-04:00</LastModifiedDate>
    371                <RecordStatus>Active</RecordStatus>
    372                <RecordStatusDate>2006-06-13T01:29:09.030000-04:00</RecordStatusDate>
    373                <Type>Office</Type>
    374                <TypeOtherSpecify/>
    375                <InternalOffice></InternalOffice>
    376                <MailStopCode/>
    377                <PreferredFlag>Yes</PreferredFlag>
    378                <ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
    379                <QCDoneStatus>Yes</QCDoneStatus>
    380                <QCDoneStatusDate>2006-06-13T01:29:09.030000-04:00</QCDoneStatusDate>
    381              </Address>
    382            </Addresses>
    383            <ContactMechanisms>
    384              <ContactMechanism>
    385                <ContactType>Phone</ContactType>
    386                <ContactTypeOtherSpecify xsi:nil="true"/>
    387                <ContactValue>555-5555</ContactValue>
    388                <ContactAreaCode>555</ContactAreaCode>
    389                <ContactCountryCallingCode>1</ContactCountryCallingCode>
    390                <ContactTollFreeFlag xsi:nil="true"/>
    391                <ContactGUID>123</ContactGUID>
    392                <ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
    393                <ContactLastModifiedDate>2007-02-23T16:36:10.260000-05:00</ContactLastModifiedDate>
    394                <ContactRecordStatus>Active</ContactRecordStatus>
    395                <ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
    396                <Role>Business</Role>
    397                <PhoneExtension/>
    398                <QCDoneStatus>Yes</QCDoneStatus>
    399                <QCDoneStatusDate>2006-06-13T01:29:09.047000-04:00</QCDoneStatusDate>
    400                <ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
    401                <GUID>321</GUID>
    402                <CreatedDate>2006-06-13T01:29:09.047000-04:00</CreatedDate>
    403                <ModifiedDate>2006-07-29T23:53:03.323000-04:00</ModifiedDate>
    404                <PreferredFlag>Yes</PreferredFlag>
    405                <RecordStatus>Inactive</RecordStatus>
    406                <RecordStatusDate>2006-07-29T23:53:03.393000-04:00</RecordStatusDate>
    407              </ContactMechanism>
    408              <ContactMechanism>
    409                <ContactType>Email</ContactType>
    410                <ContactTypeOtherSpecify xsi:nil="true"/>
    411                <ContactValue>[email protected]</ContactValue>
    412                <ContactAreaCode xsi:nil="true"/>
    413                <ContactCountryCallingCode>0</ContactCountryCallingCode>
    414                <ContactTollFreeFlag xsi:nil="true"/>
    415                <ContactGUID>ddd</ContactGUID>
    416                <ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
    417                <ContactLastModifiedDate>2006-06-13T01:29:09.047000-04:00</ContactLastModifiedDate>
    418                <ContactRecordStatus>Active</ContactRecordStatus>
    419                <ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
    420                <Role>Business</Role>
    421                <PhoneExtension xsi:nil="true"/>
    422                <QCDoneStatus>Yes</QCDoneStatus>
    423                <QCDoneStatusDate>2006-06-13T01:29:09.063000-04:00</QCDoneStatusDate>
    424                <ActiveFromDate>2006-06-13T01:29:09.063000-04:00</ActiveFromDate>
    425                <GUID>111</GUID>
    426                <CreatedDate>2006-06-13T01:29:09.063000-04:00</CreatedDate>
    427                <ModifiedDate>2006-06-13T01:29:09.063000-04:00</ModifiedDate>
    428                <PreferredFlag>Yes</PreferredFlag>
    429                <RecordStatus>Active</RecordStatus>
    430                <RecordStatusDate>2006-06-13T01:29:09.063000-04:00</RecordStatusDate>
    431              </ContactMechanism>
    432            </ContactMechanisms>
    433            <Persons>
    434              <Person>
    435                <PersonID>100448</PersonID>
    436                <Prefix/>
    437                <FirstName>John</FirstName>
    438                <MiddleName/>
    439                <LastName>Doe</LastName>
    440                <Suffix/>
    441                <PreferredName/>
    442                <Gender/>
    443                <PrimaryLanguage xsi:nil="true"/>
    444                <GUID>123</GUID>
    445                <RecordStatus>Active</RecordStatus>
    446                <RecordStatusDate>2007-04-29T00:11:50.750000-04:00</RecordStatusDate>
    447                <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
    448                <LastModifiedDate>2007-04-29T00:11:50.770000-04:00</LastModifiedDate>
    449                <QCDoneStatus>Yes</QCDoneStatus>
    450                <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
    451                <PersonTypes>
    452                  <PersonType>
    453                    <Type>Resource Personnel</Type>
    454                    <GUID>3049ddcd-3590-4fd9-a534-e2cea5b82c09</GUID>
    455                    <RecordStatus>Active</RecordStatus>
    456                    <RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate>
    457                    <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
    458                    <LastModifiedDate>2007-04-29T00:11:50.817000-04:00</LastModifiedDate>
    459                    <QCDoneStatus>Yes</QCDoneStatus>
    460                    <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
    461                  </PersonType>
    462                </PersonTypes>
    463              </Person>
    464            </Persons>
    465          </Association>
    466        </Associations>
    467      </OrganizationType>
    468    </OrganizationTypes>
    469    <ImportedDate>2007-04-30</ImportedDate>
    470  </OrganizationPersonAssoc>
    471  ';
    472  end;
    473  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> begin
      2    dbms_xmlschema.registerSchema
      3    (
      4        schemaURL => :schemaURL
      5       ,schemaDoc => :xmlSchema
      6       ,local     => TRUE
      7       ,genBean   => false
      8       ,genTypes  => TRUE
      9       ,genTables => TRUE
    10       ,enableHierarchy => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
    11    );
    12  end;
    13  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:03.67
    SQL> insert into Person values ( xmltype (:xmltext1))
      2  /
    1 row created.
    Elapsed: 00:00:00.07
    SQL> insert into org_person_assoc values ( xmltype (:xmltext2))
      2  /
    1 row created.
    Elapsed: 00:00:00.03
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.00
    SQL> CREATE OR REPLACE VIEW XML_PERSON_ASSOCIATION
      2  (PERSON)
      3  AS
      4  select
      5  xmlelement("Person",
      6      xmlforest(
      7          extractvalue(value(p),'/Person/PersonID') "PersonID",
      8          extractvalue(value(p),'/Person/Prefix') "Prefix",
      9          extractvalue(value(p),'/Person/FirstName') "FirstName",
    10          extractvalue(value(p),'/Person/MiddleName') "MiddleName",
    11          extractvalue(value(p),'/Person/LastName') "LastName",
    12          extractvalue(value(p),'/Person/Suffix') "Suffix",
    13          extractvalue(value(p),'/Person/PreferredName') "PreferredName",
    14          extractvalue(value(p),'/Person/Gender') "Gender",
    15          extractvalue(value(p),'/Person/PrimaryLanguage') "PrimaryLanguage",
    16          extractvalue(value(p),'/Person/RecordStatus') "RecordStatus",
    17          extractvalue(value(p),'/Person/ImportedDate') "ImportedDate",
    18          (select
    19              xmlagg(
    20                  xmlelement("Association",
    21                      xmlforest(
    22                          extractvalue(value(oa),'/OrganizationPersonAssoc/Name') "Name",
    23                          extractvalue(value(ot),'/OrganizationType/OrganizationID') "OrganizationID",
    24                          extractvalue(value(ot),'/OrganizationType/Type') "OrganizationType",
    25                          extractvalue(value(a),'/Association/Role') "Role",
    26                          extractvalue(value(a),'/Association/RecordStatus') "RecordStatus",
    27                          extractvalue(value(oa),'/OrganizationPersonAssoc/ImportedDate') "ImportedDate"
    28                      ),
    29                      xmlelement("PersonTypes",
    30                          extract(value(per),'/Person/PersonTypes/PersonType')
    31                      ),
    32                      xmlelement("Addresses",
    33                          extract(value(a),'/Association/Addresses/Address')
    34                      ),
    35                      xmlelement("ContactMechanisms",
    36                          extract(value(a),'/Association/ContactMechanisms/ContactMechanism')
    37                      )
    38                  )
    39              )
    40          from org_person_assoc oa,
    41          table(xmlsequence(extract(value(oa),'/OrganizationPersonAssoc/OrganizationTypes/OrganizationType'))) ot,
    42          table(xmlsequence(extract(value(ot),'/OrganizationType/Associations/Association'))) a,
    43          table(xmlsequence(extract(value(a),'/Association/Persons/Person'))) per
    44          where extractvalue(value(per),'/Person/PersonID') = extractvalue(value(p),'/Person/PersonID')
    45          ) "Associations"
    46      )
    47  ) person
    48  from person p
    49  /
    View created.
    Elapsed: 00:00:00.06
    SQL> set autotrace on explain
    SQL> --
    SQL> set long 10000 pages 0 lines 150
    SQL> --
    SQL> select person
      2    from xml_person_association o
      3   where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1
      4  /
    <Person><PersonID>100448</PersonID><FirstName>John</FirstName><LastName>Doe</LastName><RecordStatus>Active</RecordStatus><ImportedDate>2007-04-30</Imp
    ortedDate><Associations><Association><Name>Org Name Office</Name><OrganizationID>30097</OrganizationID><OrganizationType>Agency</OrganizationType><Rol
    e>Employee</Role><RecordStatus>Active</RecordStatus><ImportedDate>2007-04-30</ImportedDate><PersonTypes><PersonType>
      <Type>Resource Personnel</Type>
      <GUID>3049ddcd-3590-4fd9-a534-e2cea5b82c09</GUID>
      <RecordStatus>Active</RecordStatus>
      <RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate>
      <CreatedDate>2006-06-13T00:57:21.090000-04:00</CreatedDate>
      <LastModifiedDate>2007-04-29T00:11:50.817000-04:00</LastModifiedDate>
      <QCDoneStatus>Yes</QCDoneStatus>
      <QCDoneStatusDate>2006-06-13T00:57:22.977000-04:00</QCDoneStatusDate>
    </PersonType>
    </PersonTypes><Addresses><Address>
      <StreetName1>123 Front St.</StreetName1>
      <StreetName2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <StreetName3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <StreetName4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <CityName>City</CityName>
      <CityGUID>234234</CityGUID>
      <CityCreatedDate>2006-05-08T20:06:45.143000-04:00</CityCreatedDate>
      <CityLastModifiedDate>2006-05-08T20:06:45.143000-04:00</CityLastModifiedDate>
      <CityRecordStatus>Active</CityRecordStatus>
      <CityRecordStatusDate>2006-05-08T20:06:45.143000-04:00</CityRecordStatusDate>
      <StateName>New York</StateName>
      <StateGUID>9fd469e1-4d4a-4f38-9def-50038e5ecca2</StateGUID>
      <StateCreatedDate>2006-04-22T16:09:35.830000-04:00</StateCreatedDate>
      <StateLastModifiedDate>2006-04-22T16:09:35.830000-04:00</StateLastModifiedDate>
      <StateRecordStatus>Active</StateRecordStatus>
      <StateRecordStatusDate>2006-04-22T16:09:35.830000-04:00</StateRecordStatusDate>
      <CountryName>United States</CountryName>
      <CountryCode>USA</CountryCode>
      <CountryGUID>532d35dd-3a49-408a-a416-20c41e9c7997</CountryGUID>
      <CountryCreatedDate>2006-04-22T15:30:47.000000-04:00</CountryCreatedDate>
      <CountryLastModifiedDate>2006-04-22T15:30:47.000000-04:00</CountryLastModifiedDate>
      <CountryRecordStatus>Active</CountryRecordStatus>
      <CountryRecordStatusDate>2006-04-22T15:30:47.000000-04:00</CountryRecordStatusDate>
      <ZipPostalCode>12345</ZipPostalCode>
      <GUID>b2414fa9-7375-4d26-8d76-89a6915d6751</GUID>
      <CreatedDate>2006-06-13T01:29:09.030000-04:00</CreatedDate>
      <LastModifiedDate>2006-07-29T23:45:17.670000-04:00</LastModifiedDate>
      <RecordStatus>Active</RecordStatus>
      <RecordStatusDate>2006-06-13T01:29:09.030000-04:00</RecordStatusDate>
      <Type>Office</Type>
      <TypeOtherSpecify/>
      <InternalOffice/>
      <MailStopCode/>
      <PreferredFlag>Yes</PreferredFlag>
      <ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
      <QCDoneStatus>Yes</QCDoneStatus>
      <QCDoneStatusDate>2006-06-13T01:29:09.030000-04:00</QCDoneStatusDate>
    </Address>
    </Addresses><ContactMechanisms><ContactMechanism>
      <ContactType>Phone</ContactType>
      <ContactTypeOtherSpecify xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <ContactValue>555-5555</ContactValue>
      <ContactAreaCode>555</ContactAreaCode>
      <ContactCountryCallingCode>1</ContactCountryCallingCode>
      <ContactTollFreeFlag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <ContactGUID>123</ContactGUID>
      <ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
      <ContactLastModifiedDate>2007-02-23T16:36:10.260000-05:00</ContactLastModifiedDate>
      <ContactRecordStatus>Active</ContactRecordStatus>
      <ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
      <Role>Business</Role>
      <PhoneExtension/>
      <QCDoneStatus>Yes</QCDoneStatus>
      <QCDoneStatusDate>2006-06-13T01:29:09.047000-04:00</QCDoneStatusDate>
      <ActiveFromDate>2006-06-13T01:29:09.000000-04:00</ActiveFromDate>
      <GUID>321</GUID>
      <CreatedDate>2006-06-13T01:29:09.047000-04:00</CreatedDate>
      <ModifiedDate>2006-07-29T23:53:03.323000-04:00</ModifiedDate>
      <PreferredFlag>Yes</PreferredFlag>
      <RecordStatus>Inactive</RecordStatus>
      <RecordStatusDate>2006-07-29T23:53:03.393000-04:00</RecordStatusDate>
    </ContactMechanism>
    <ContactMechanism>
      <ContactType>Email</ContactType>
      <ContactTypeOtherSpecify xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <ContactValue>[email protected]</ContactValue>
      <ContactAreaCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <ContactCountryCallingCode>0</ContactCountryCallingCode>
      <ContactTollFreeFlag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <ContactGUID>ddd</ContactGUID>
      <ContactCreatedDate>2006-06-13T01:29:09.047000-04:00</ContactCreatedDate>
      <ContactLastModifiedDate>2006-06-13T01:29:09.047000-04:00</ContactLastModifiedDate>
      <ContactRecordStatus>Active</ContactRecordStatus>
      <ContactRecordStatusDate>2006-06-13T01:29:09.047000-04:00</ContactRecordStatusDate>
      <Role>Business</Role>
      <PhoneExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
      <QCDoneStatus>Yes</QCDoneStatus>
      <QCDoneStatusDate>2006-06-13T01:29:09.063000-04:00</QCDoneStatusDate>
      <ActiveFromDate>2006-06-13T01:29:09.063000-04:00</ActiveFromDate>
      <GUID>111</GUID>
      <CreatedDate>2006-06-13T01:29:09.063000-04:00</CreatedDate>
      <ModifiedDate>2006-06-13T01:29:09.063000-04:00</ModifiedDate>
      <PreferredFlag>Yes</PreferredFlag>
      <RecordStatus>Active</RecordStatus>
      <RecordStatusDate>2006-06-13T01:29:09.063000-04:00</RecordStatusDate>
    </ContactMechanism>
    </ContactMechanisms></Association></Associations></Person>
    Elapsed: 00:00:00.42
    Execution Plan
    Plan hash value: 95656148
    | Id  | Operation                        | Name                           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT                 |                                |     1 | 18040 |     9   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE                  |                                |     1 | 10096 |            |          |
    |   2 |   TABLE ACCESS BY INDEX ROWID    | SYS_NT32zHSpCZQ9ynComtqqKsrw== |     1 | 10096 |     2   (0)| 00:00:01 |
    |*  3 |    INDEX RANGE SCAN              | SYS_C009300                    |     1 |       |     2   (0)| 00:00:01 |
    |   4 |    SORT AGGREGATE                |                                |     1 | 48284 |            |          |
    |   5 |     TABLE ACCESS BY INDEX ROWID  | SYS_NTjbkXqKq3S96fbEOM3Qs5Gg== |     1 | 48284 |     2   (0)| 00:00:01 |
    |*  6 |      INDEX RANGE SCAN            | SYS_C009296                    |     1 |       |     2   (0)| 00:00:01 |
    |   7 |      SORT AGGREGATE              |                                |     1 | 28187 |            |          |
    |   8 |       TABLE ACCESS BY INDEX ROWID| SYS_NTm2nBfKKNSGm6hs2e1Z0w/A== |     1 | 28187 |     2   (0)| 00:00:01 |
    |*  9 |        INDEX RANGE SCAN          | SYS_C009297                    |     1 |       |     2   (0)| 00:00:01 |
    |  10 |  SORT AGGREGATE                  |                                |     1 | 13910 |            |          |
    |  11 |   NESTED LOOPS                   |                                |     1 | 13910 |     6   (0)| 00:00:01 |
    |  12 |    NESTED LOOPS                  |                                |     1 |  8131 |     5   (0)| 00:00:01 |
    |  13 |     NESTED LOOPS                 |                                |     1 |  4097 |     4   (0)| 00:00:01 |
    |* 14 |      TABLE ACCESS FULL           | SYS_NT7Erd/G5iSPWX9w20Z5cNRg== |     1 |    43 |     3   (0)| 00:00:01 |
    |* 15 |      TABLE ACCESS BY INDEX ROWID | SYS_NTQWY/m3uES5GM7AByRclr8A== |     1 |  4054 |     1   (0)| 00:00:01 |
    |* 16 |       INDEX UNIQUE SCAN          | SYS_C009310                    |     1 |       |     0   (0)| 00:00:01 |
    |* 17 |     TABLE ACCESS BY INDEX ROWID  | SYS_NTTiDHMvB7RbSEfNxho66yQg== |     1 |  4034 |     1   (0)| 00:00:01 |
    |* 18 |      INDEX UNIQUE SCAN           | SYS_C009314                    |     1 |       |     0   (0)| 00:00:01 |
    |  19 |    TABLE ACCESS BY INDEX ROWID   | ORG_PERSON_ASSOC               |     1 |  5779 |     1   (0)| 00:00:01 |
    |* 20 |     INDEX UNIQUE SCAN            | SYS_C009320                    |     1 |       |     0   (0)| 00:00:01 |
    |* 21 |  FILTER                          |                                |       |       |            |          |
    |  22 |   TABLE ACCESS FULL              | PERSON                         |     1 | 18040 |     3   (0)| 00:00:01 |
    |  23 |   NESTED LOOPS                   |                                |       |       |            |          |
    |  24 |    NESTED LOOPS                  |                                |     1 |  5893 |     6   (0)| 00:00:01 |
    |  25 |     NESTED LOOPS                 |                                |     1 |  2125 |     5   (0)| 00:00:01 |
    |  26 |      NESTED LOOPS                |                                |     1 |    93 |     4   (0)| 00:00:01 |
    |* 27 |       TABLE ACCESS FULL          | SYS_NT7Erd/G5iSPWX9w20Z5cNRg== |     1 |    43 |     3   (0)| 00:00:01 |
    |* 28 |       TABLE ACCESS BY INDEX ROWID| SYS_NTQWY/m3uES5GM7AByRclr8A== |     1 |    50 |     1   (0)| 00:00:01 |
    |* 29 |        INDEX UNIQUE SCAN         | SYS_C009310                    |     1 |       |     0   (0)| 00:00:01 |
    |* 30 |      TABLE ACCESS BY INDEX ROWID | SYS_NTTiDHMvB7RbSEfNxho66yQg== |     1 |  2032 |     1   (0)| 00:00:01 |
    |* 31 |       INDEX UNIQUE SCAN          | SYS_C009314                    |     1 |       |     0   (0)| 00:00:01 |
    |* 32 |     INDEX UNIQUE SCAN            | SYS_C009320                    |     1 |       |     0   (0)| 00:00:01 |
    |  33 |    TABLE ACCESS BY INDEX ROWID   | ORG_PERSON_ASSOC               |     1 |  3768 |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       3 - access("NESTED_TABLE_ID"=:B1)
       6 - access("NESTED_TABLE_ID"=:B1)
       9 - access("NESTED_TABLE_ID"=:B1)
      14 - filter("SYS_NC_TYPEID$" IS NOT NULL AND "PersonID"=:B1)
      15 - filter("SYS_NC_TYPEID$" IS NOT NULL)
      16 - access("NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0002700028$")
      17 - filter("SYS_NC_TYPEID$" IS NOT NULL)
      18 - access("NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0003700038$")
      20 - access("NESTED_TABLE_ID"="OA"."SYS_NC0002100022$")
      21 - filter( EXISTS (SELECT 0 FROM "XDBTEST"."SYS_NT7Erd/G5iSPWX9w20Z5cNRg=="
                  "SYS_ALIAS_1","XDBTEST"."SYS_NTQWY/m3uES5GM7AByRclr8A=="
                  "SYS_ALIAS_3","XDBTEST"."SYS_NTTiDHMvB7RbSEfNxho66yQg==" "SYS_ALIAS_0","XDBTEST"."ORG_PERSON_ASSOC" "OA"
                  WHERE "SYS_ALIAS_0"."NESTED_TABLE_ID"="OA"."SYS_NC0002100022$" AND
                  "SYS_ALIAS_1"."NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0003700038$" AND "SYS_ALIAS_0"."SYS_NC_TYPEID$" IS
                  NOT NULL AND TO_NUMBER("SYS_ALIAS_0"."OrganizationID")=30097 AND
                  "SYS_ALIAS_4"."NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0002700028$" AND "SYS_ALIAS_1"."SYS_NC_TYPEID$" IS
                  NOT NULL AND "SYS_ALIAS_4"."SYS_NC_TYPEID$" IS NOT NULL AND "SYS_ALIAS_4"."PersonID"=:B1))
      27 - filter("SYS_ALIAS_4"."SYS_NC_TYPEID$" IS NOT NULL AND "SYS_ALIAS_4"."PersonID"=:B1)
      28 - filter("SYS_ALIAS_1"."SYS_NC_TYPEID$" IS NOT NULL)
      29 - access("SYS_ALIAS_4"."NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0002700028$")
      30 - filter("SYS_ALIAS_0"."SYS_NC_TYPEID$" IS NOT NULL AND
                  TO_NUMBER("SYS_ALIAS_0"."OrganizationID")=30097)
      31 - access("SYS_ALIAS_1"."NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0003700038$")
      32 - access("SYS_ALIAS_0"."NESTED_TABLE_ID"="OA"."SYS_NC0002100022$")
    Note
       - dynamic sampling used for this statement
    SQL> select extract(person,'/Person/Associations/Association')
      2    from xml_person_association o
      3   where existsnode(person,'/Person/Associations/Association[OrganizationID=30097]')=1
      4  /
    <Association><Name>Org Name Office</Name><OrganizationID>30097</OrganizationID><OrganizationType>Agency</OrganizationType><Role>Employee</Role><Record
    Status>Active</RecordStatus><ImportedDate>2007-04-30</ImportedDate><PersonTypes><PersonType><Type>Resource Personnel</Type><GUID>3049ddcd-3590-4fd9-a5
    34-e2cea5b82c09</GUID><RecordStatus>Active</RecordStatus><RecordStatusDate>2006-06-13T00:57:22.977000-04:00</RecordStatusDate><CreatedDate>2006-06-13T
    00:

Maybe you are looking for