build a dynamic filter

I want to choose employees with certain and the status depends on the class passed to the procedure.

A category may designate one or more statuses.
I know that this code is completely wrong. She is badly implemented of the nested table. But I want to show what results I want.

PROCEDURE GET_EMP(p_emp_category IN   VARCHAR2,
                  p_emp          OUT  SYS_REFCURSOR
                  )
IS
v_emp       SYS_REFCURSOR;
TYPE status_type_t IS TABLE OF NUMBER ;
status_type_id_t  status_type_t;
BEGIN
CASE WHEN p_emp_category ='Active' THEN
          status_type_id_t :=status_type_t(1);
      WHEN p_emp_category ='Inactive' THEN
          status_type_id_t :=status_type_t(2,3,4,5,6);
END CASE;
OPEN v_emp FOR
     SELECT * FROM employees
     WHERE status_type_id IN status_type_id_t;
o_emp  :=v_emp;
END;
I tried using DECODE application like this
SELECT * FROM employees
WHERE status_type_id IN (REPLACE (DECODE (: p_cat, 'Active', 1, 'Inactive', 2, 3, 4'), "'))

But I get an error invalid number.

How can I write the code? I want to avoid writing selects distinct within each IF statement, as
IF p_emp_category='Inactive' THEN
OPEN v_emp FOR
SELECT * FROM employees
WHERE status_type_id IN (2,3,4);
ELSIF  p_emp_category='Active' THEN
OPEN v_emp FOR
SELECT * FROM employees
WHERE status_type_id =1;
END IF;     
BECAUSE I already have more IFs for any other logic.

Thank you
RN

How to make a 'generic' query: http://asktom.oracle.com/pls/apex/f?p=100:11:0:P11_QUESTION_ID:1669972300346534908 really worth reading

Tags: Database

Similar Questions

  • Building a dynamic array or the live 3D route

    I am trying to build a dynamic graphic 3D system with information flowing through a serial port. For example, to draw something like a topographical map living with live GPS coordinates and elevation digital. The longitude and latitude are the graph XY and elevation will be Z. currently, settings have been isolated in 3 distinct values of DBL. They are then indexed in 3 different and introduced tables in a 3D VI field. I put the process while a while loop is encompassing the process of isolation and a tunnel of automatic indexation to the exit from the while loop. The problem with this configuration is that the indexed table is only sent at the end of the while loop, so end the process, preventing a direct path data. Is there anyway I can get around that?

    Thank you!

    Use a shift register to store the data and update all data (using the table of construction) to the INSIDE of the loop. (Note: not the table grow without limits since it will eventually kill performance).

    I did something very similar to show air speed vectors in space 3.

    Ben

  • Use the dynamic filter Condition in the mapping

    Hello

    I tried to use a dynamic filter condition in my correspondence.

    I wrote this condition as:

    INOUTGRP1. Numer1 = ' | Number 1 | '
    and INOUTGRP1. Number2 = ' | Number2 '

    Number1 and number2 are setting for mapping entry, now I want to use the input parameter for the Filter Condition.

    Can someone tell me how I can handle this?

    Thanks in advance.

    Greetings

    You used wrong input parameters.
    Rather a link an input parameter to the operator to filter, then you can insert it from list of attributes as long as the same way as other attributes of filter operator group

    Kind regards
    Oleg

  • Build/update dynamically the table 3D

    Hi all

    I'm having a problem with the dynamic generation of a 3D of the following set of data table:

    x: {1,2,3,4,5}

    y: {1,2,3,4,5}

    Z_1: {1,2,3,4,5}

    Z_2: {1,2,3,4,5}

    Z_3: {1,2,3,4,5}

    Z_4: {1,2,3,4,5}

    Z_5: {1,2,3,4,5}

    where there is (5) Z amplitudes associated with each measurement location.  What I am able to statically (from the above values x and y tables 1 d and 2D table Z) is to create a 3D Board made up of x and is indexed intensity to the graphic format of the 2D tables.  Each page of the table corresponds to each of the 5 Z amplitudes measured at each location.  In the attached VI, the Array Build function works perfectly for the static case where the entire data is available.  I followed the example of a another discussion forum will be subject to the provisions of nest two loops construction 2D array in the inner loop and incrementing the pages on the outer loop. The static situation is resolved.

    However, my goal is to graphically present data he is taken, point by point, to the user.  The other attached VI simulates this scenario, incrementation of x and y positions based on the measure button.  Z matrix indicator shows that the 2D Array (each individual page) is in the proper format.  The construction of the 3D picture is dynamically where I'm having problems.  I tried to build table and replace a subset of table, but none of these functions to produce the desired result.

    In the case of building table, 3D table is correctly based on the first measure: for x = y = 1, 2D array page0 is set Z_1 in position (1,1), page1 has the Z_2 value in the position (1,1), page2 Z_3, etc..  However, on the second measure, as expected, the berries are concatenated page5 have Z_1 values in the (1,1) and (2,2) positions.  This result is properly formatted, however, should the counted array 3D page is limited to 5 (page0, 1, 2, 3, 4).  So ideally, page5 should in this case replace page0.  So build array results in the correct format but concatenation is not desirable.

    The subset of spare board was made with the index of the page (outside of the loop) number to specify the subset of the 3D Board needs to be replaced.  The result was an empty 3D array.

    Thank you any help to solve this problem.

    kmsk wrote:

    Any suggestions on how to handle filling out table 3D of unknown size?

    If the size of the final table has a reasonable upper limit, you can initialize an array of slightly oversized, then keep using the subset of the table replace. It will be much faster and more effective memory than gradually more and more large networks.

    When the purchase is made, you can cut to the final size.

    Aircraft add to a table 3D using 'insert into array' or 'Build array' (favorite?), cause memory frequent shifts and might slow down your code by orders of magnitude in casing of excessive fragmentation of memory.

  • App Builder with dynamically loaded VI - please help

    Hello

    Please take a look in the ZIP file attached with the sample project. The appellant load sub dynamically. This works well in the development environment (LV 2011) but when I build the EXE, it stops working. Please take a look; Ideally, repost fixed project in this thread, others to take advantage of the way to solve this problem...

    Thank you!

    JorgeinSD

    Hi Jorge,.

    This is the problem of the ususal: in the executable path to your dynamically loaded VI Exchange.

    You have defined to be included in the executable. If the path passes to Appdir\DynLoad.exe\LoadMeDynamically.vi, but you try to open the path AppDir\LoadMeDynamically.vi...

    Options:

    -check the execution (by the property node) environment to decide which way to use

    -change the location of the VI to "support the directory", this will be a folder named 'data' next to your executable file. Call the VI of this folder. You can do the same thing inside your project to have the same calling conventions in the development and runtime environment...

  • How to use a dynamic filter

    Hi all

    We have a difficult problem, I hope that you can help us solve.

    We need to build a simple enough interface that loads data from DB2/AS400 (source) into a DB Oracle (target) with the staging area on the target server.
    The difficulty is that the tables are about 100 million documents, but we only need a small subset of these. So to use a filter. Unfortunately, the filter condition may vary according to the time of execution of the interface, so our goal is to use a variable as a condition for the filter. The corresponding SQL code should look like this:
    SELECT * FROM source_table col WHERE = #VARIABLE

    The variable value is retrieved from a configuration table (which resides on the target server) using a simple SQL statement (SELECT value config_table status WHERE = 'A').
    Now, here's our setbacks: the config table can return multiple lines of result of the SQL statement in the filling of the variable value. In our understanding, a variable can contain a single value such as a date, text or number, but not a list that can then be used in a filter condition ("... ("WHERE the col IN #VARIABLE"). #VARIABLE should return something like "(1, 2, 3)". "

    Please note: in no case we cannot / should not manipulate the source server (we have only read access / rights).

    Any ideas? Any help is very appreciated!

    Thanks in advance,
    Jan

    Solution a little complex. But I guess it works

    Step 1: Declare a variable of type text/varchar data.
    Step2:refresh this variable. I want to use the select query in the variable refresh clause.
    The problem here is that we must build a SQL query that converts the lines into a single string.
    for e.g., in your case, let your retruning 3 question line1, line2 and rank 3 values.
    Now, use the oracle SYS_connect by clause to cover all lines out there in a single row.ie., row1, row2, row3

    Now, in your interface just add a filter condition and use this value there.
    Hope this might be of some use to you.

  • Dynamic filter settings

    I created dynamically a drop shadow for a mc in my project. This isn't a big deal. The parameters are not difficult, either. This is the frustrating part - I can't get the settings to be changed on the fly and react to the entrance. In this case, I use a couple of equations to determine the distance between the mouse and the mc and the angle that results. I try to get the filter drop shadow to use these data and change its distance and angle to react settings. So far, no dice. Any ideas?

    Try:

  • Using Camera Raw as a dynamic filter in PSCC2014

    I followed this tutorial, but ultimately I could not get out of 32-bit mode. He kept wanting to treat in HDR pro. I tried to change the mode to 16 bits, but could not.  I was happy with the image, but it was completely unavailable for the economy.

    Any help?

    Adobe Camera Raw as a smart filter in Photoshop CC | Adobe evangelists - Julieanne Kost. Adobe TV

    Not all formats support 16 or 32 bit modes taken. During the passage of the 32-bit mode, you will see a dialogue box, which must set a balance to your liking for the way it should look like 16 or 8-bit.

    A 32-bit mode can be saved as a psd file and maybe a tiff file, but really there is not a lot of other formats that run the 32-bit mode. Oh yes pdf will be as well.

  • SQL query to dynamically filter the records-need help

    Hello

    I have a table with the structure as below

    Create table T1
    (Number (5) ID,)
    Action Varchar2 (20)
    )


    Here's the table of contents at different points in time and please help me with a query that must dynamically discover the results according to the entries in the table.

    First Table contents

    1 pending
    2 waiting


    Result of the query must be

    1 pending
    2 waiting


    After an insert the Table of contents

    1 pending
    2 waiting
    3 ignored

    Result

    Nothing should be displayed


    After an insert the Table of contents
    1 pending
    2 waiting
    3 ignored
    4 ignored

    Result
    Nothing should be displayed

    After an insert the Table of contents
    1 pending
    2 waiting
    3 ignored
    4 ignored
    5 in queue

    Result
    5 in queue

    Thanks in advance!

    Best regards
    Sridhar

    Hi, Sridhar,

    So you want to show t1 lines that come after the last row with action = "Ignored", which means no output at all during the last row has action = "ignored". (A line with a given id is considered as ' after' a line with a lower id. The line with the highest id is considered the "last" line.)
    Is this fair?

    Here's one way:

    SELECT     *
    FROM     t1
    WHERE     id  > (
              SELECT  MAX (id)
              FROM     t1
              WHERE     action     = 'Ignored'
               )
    ;
    

    It's not assume this id is whole consecutive.

    If the id is not unique, what results do you want? There is a chance that the above query is already doing if this is not the case, it can probably be changed.

  • How to build a dynamic array index in the attribute 'to' house arrest

    Hi all

    I need to generate xml output with the appearance of multiples of the same complex element. The number of items is calculated dynamically. I use bpelx: append to add items, but I'm crashes when I try to assign values to elements using a variable to index items.

    How can you dynamically assign an array index variable in the attribute 'to' a copy instruction? I was able to do in the attribute 'from' the copy statement, following the examples indicated in the documentation for the xpath function. But when I use the concept of intermediate variable, I get a compiler error stating that the query attribute must start with ' / '.
    It works fine when I hard code the index in the attribute of "query" in the statement "copy to".

    I use 10.3.3 version JDev and 10.3.3.0 PM BPEL version.

    Here are the two methods I've tried:
    ----------------------
    < copy >
    < expression = "concat ('/ client: assTestProcessResponse / client: ScreeningComments / client: CommentItem [', bpws:getVariableData('notesCount'),'] / client: CommentText')" / >
    < variable = "queryText" / >
    < / copy >
    < copy >
    < expression = "bpws:getVariableData('noteText')" / >
    < variable = part of the 'outputVariable"="payload ".
    Query = "bpws:getVariableData('queryText')" / >
    < / copy >
    ----------------------
    < copy >
    < expression = "bpws:getVariableData('noteText')" / >
    < variable = part of the 'outputVariable"="payload ".
    Query = "/ client: assTestProcessResponse / client: ScreeningComments / client: CommentItem ["bpws:getVariableData(&quot;notesCount&quot;) " ""] / client: CommentText "/ >
    < / copy >

    ----------------------

    Has anyone had a similar problem? Please let me know this is doable and how.

    Thank you
    A.T.

    Hello

    I don't know if the following solution is what you want, but I'll try to explain how this would work; (o)

    I understand your question, you have a following like the watch of simple structure xml schema:

    
      
        
           
        
        
           
        
    
    

    The element is a complex type that has as a child element.
    The element can have 1.. * items

    As you explained that you know how to add loose, common is to use an XML Fragment example

    
      
        
          
            
          
        
        
      
    
    

    As you can see now there are two elements with the child element

    After the task to assign the variable content looks like:

    
      
        
          
            
              
            
            
              
            
          
        
      
    
    

    After adding the fragment, you can set the value for the for the first content element in the following way:

    
      
        
        
      
    
    

    The important thing is to know how to point to the correct position within the payload. It works with that part of the query statement

    [position()=1]
    

    or you can of course use the short version

    [1]
    

    The next task is to dynamically create the reference to the position. Therefore, you can for example use a variable. You can for example something like this:

    
      
        
        
      
    
    

    And the last step is to set the element of content dynamically using the defined variable

    
      
        
        
      
    
    

    The only thing to use the defined variable is that part of the query:

    [position()=bpws:getVariableData('Position_Variable')]
    

    Finally, the XML Structure should look like this:

    
      
        
          
            
              Content1
            
            
              Content2
            
          
        
      
    
    

    Concerning

    Alex

  • build a dynamic array to an array of 1 D of waveforms 4 graphics, including time and all data information

    Hallo!

    I tried to put entries generated in a table with the current value of the time stamp in the first column and the data of a table 1 d of waveforms of 4 cards in the other 4 columns.

    I have some difficulties to match the data in the table. I ve simulated the code I've written and I see that the time stamp but I ve got none of the values of data in my table. I want to ask you what you think of my code and how can I achieve my goal?

    Corresponding VI is attached below.

    Thanks in advance for the answer.

    I think you're looking for it.

  • Build a dynamic gallery like that...

    Hello

    really, I like the feature of this gallery and I was wondering if it would be possible to do in muse. I like the way the Gallery moves 2 to 4 columns according to the width of the browser and the way you can zoom and scroll the images once you click 1.

    Here is the link

    http://www.artcoup.com/Tokyo/

    Would I be able to design it from scratch or need of a widget?

    Thanks in advance

    You can try this:

    http://musewidgets.com/collections/all/products/responsive-images

    Thank you

    Sanjit

  • Build a dynamic application, need a bit of advice

    Hi all!

    I worked on a flex application, which makes users to sign.  This is done by verifying their user name and password against those that are defined in a mysql database.  A field in the database is 'ID' that is unique, a primary key for this user.

    The application should then display only data about that person.

    At the moment, I have the app works fine, if in my scripts, I define a 'identifier' to look for.

    I will try to explain more. .

    I use AMFPHP to popular datagrids with data from the same mysql database that was used for the connection.  These scripts used, pull back data related only to a certain 'ID' at the moment it is built into the script.

    I want it so when the user connects, flex takes their identification number and then grows, to all other scripts that is loading data.  Then when a user connects, only their data is displayed.  As all the data in the database are linked to one ID.

    For example:

    If I had the following users - used to connect

    -------------------------------------

    | ID  | User name | Password |

    -------------------------------------

    | 1   | Bob              | pass         |

    | 2   | Carl              | rawr         |

    -------------------------------------

    And then the following data table - used to display data

    ----------------------------------

    | ID | Data               | Link |

    ----------------------------------

    | 1  | It's channel 1 | 1    |

    | 2  | It's chain 2 | 1    |

    | 3  | It's channel 3 | 2    |

    | 4  | It's Channel 4 | 2    |

    | 5  | It's Channel 5 | 1    |

    | 6  | It's 6 string | 2    |

    ----------------------------------

    Is it possible to have you sign in, using a php script, and then your ID is returned, then introduced into some AMFPHP scripts, which will be used to determine which channels you can see?

    While Bob sees String 1 2 and 5 while Carl can see 3 4 and 6

    Thanks in advance!

    Hello

    If the code I sent you must be adjusted please let me know by e-mail

    David.

  • Canvas vs campaign program Builder

    I am creating a dynamic filter I want to use as part of an email campaign. If I use the Web of campaign using this shared filter, the filter will remain dynamic in the Web of campaign? The filter is based on estimated opportunities closed in SFDC within the last 3 weeks so it will always change and add new people. Can I build this out in the Web of campaign or should I use program generator?

    Hi Robert,.

    I think you're asking, you can configure a dynamic loader in a campaign on the Web who automatically adds Contacts that they meet the criteria of the filter? If so, Yes, you can do this.

    When you configure the Segment for your campaign, select to 'Add Segment members' as "continuously until the campaign is disabled", as follows:

    Eloqua will evaluate every 15 minutes to see if the new Contacts entered the Segment (via your filter criteria). If you are concerned that trigger emails outside the opening hours, for example, note that you can configure send once on the market of enamel under the 'planning '.

  • building XPath with the XML with the Namespace using PL SQL

    All trying to build the path to each node, when the XML code with no namespace, the following code works very well provide the result

    1 ~/

    2 ~ /Person/

    3 ~ /Person/ âge /

    4 ~ /Person/ homecity /

    5 ~ /Person/ nom /

    6 ~ /Person/ AccueilGuides/lat /

    7 ~ /Person/ AccueilGuides/name /

    8 ~ /Person/ homecity / long /

    But when the XML is changed to

    <person xmlns="urn:person" xmlns:lat="urn:lat">
    <name>Rob</name>
    <age>37</age>
    <homecity>
        <name>London</name>
        <lat>123.000</lat>
        <long>0.00</long>
    </homecity>
    </person>"

    The result of the code below the performance translates into just below result

    1~/
     2~/person/

    In the XML file above, XML namespace is not constant and varies for each XML. My requirement is to analyze the complete XML code, where I can read the XML with namespace and get the result that is mentioned below

    1~/
    2~/person/
    3~/person/age/
    4~/person/homecity/
    5~/person/name/
    6~/person/homecity/lat:lat/
    7~/person/homecity/name/
    8~/person/homecity/long/

    Can you please help me solve the issue mentioned. Thanks in advance. -Code snippet below:

    DECLARE
      l_File VARCHAR2(32000) := '<person>
    <name>Rob</name>
    <age>37</age>
    <homecity>
        <name>London</name>
        <lat>123.000</lat>
        <long>0.00</long>
    </homecity>
    </person>';
     
     l_Where_Clause VARCHAR2(100) := '/*';
     l_Append_Var   VARCHAR2(100) := '/';
     
     TYPE Ty_Paths IS TABLE OF VARCHAR2(1000) INDEX BY PLS_INTEGER;
     l_Ty_Paths      Ty_Paths;
     l_Ty_Paths_Temp Ty_Paths;
     
     TYPE Ty_Verifier IS TABLE OF VARCHAR2(1000) INDEX BY VARCHAR2(1000);
     l_Ty_Varifier Ty_Verifier;
     
    l_Prev_Query_Rec VARCHAR2(100);
    l_Index_Num      NUMBER := 0;
    l_Cur_Exec_Row   NUMBER := 0;
    BEGIN
     l_Ty_Paths(Nvl(l_Ty_Paths.COUNT, 0) + 1) := l_Append_Var;
     l_Cur_Exec_Row := 1;
     
     --Dbms_Output.put_line('Before entering the loop');
     
     LOOP
       l_Ty_Paths_Temp.DELETE;
      SELECT DISTINCT REPLACE(l_Append_Var || '/' || t.Xml || '/', '//', '/') BULK COLLECT
       INTO   l_Ty_Paths_Temp
      FROM   (SELECT Xmltype(Extract(VALUE(e), '/').Getstringval()) .Getrootelement() AS Xml
               FROM   TABLE(Xmlsequence(Extract(Xmltype(l_File), l_Where_Clause))) e) t;
     
      l_Ty_Varifier(Nvl(l_Ty_Varifier.COUNT, 0) + 1) := l_Append_Var;
      --Dbms_Output.put_line('L_TY_PATHS_TEMP.Count::'||L_TY_PATHS_TEMP.Count);
      IF l_Ty_Paths_Temp.COUNT > 0 THEN
         l_Index_Num := Nvl(l_Ty_Paths.COUNT, 0) + 1;
         FOR i IN l_Ty_Paths_Temp.FIRST .. l_Ty_Paths_Temp.LAST LOOP
            l_Ty_Paths(l_Index_Num) := l_Ty_Paths_Temp(i);
            --Dbms_Output.put_line('L_INDEX_NUM::'||L_INDEX_NUM);
            --Dbms_Output.put_line('L_TY_PATHS(L_INDEX_NUM)::'||L_TY_PATHS(L_INDEX_NUM));
            l_Index_Num := l_Index_Num + 1;
         END LOOP;
      END IF;
      --Dbms_Output.put_line('L_TY_PATHS.Count::'||L_TY_PATHS.Count);
      --Dbms_Output.put_line('L_TY_PATHS.Count::'||L_CUR_EXEC_ROW);
     
      IF (NOT l_Ty_Paths.EXISTS(l_Cur_Exec_Row + 1)) OR (l_Cur_Exec_Row = l_Ty_Paths.COUNT) THEN
         --Dbms_Output.put_line('Exiting');
         EXIT;
      ELSE
         --Dbms_Output.put_line('Inside the Else part');
     
         l_Cur_Exec_Row := l_Cur_Exec_Row + 1;
         l_Append_Var   := l_Ty_Paths(l_Cur_Exec_Row);
         l_Where_Clause := l_Ty_Paths(l_Cur_Exec_Row) || '*';
      END IF;
     
      --To Display the record:
         --Dbms_Output.put_line(L_TY_PATHS.Count);
      END LOOP;
      IF l_Ty_Paths.COUNT > 0 THEN
        FOR i IN l_Ty_Paths.FIRST .. l_Ty_Paths.LAST LOOP
          Dbms_Output.Put_Line(i || ' record is ' || l_Ty_Paths(i));
       END LOOP;
     END IF;
     
    END;

    Thank you.

    If you have patterns, it may be easier to work directly on them.

    Here's the idea:

    (1) install "Oracle XML DB manageability Packages", available on the code page for the XML DB sample: http://download.oracle.com/otn/samplecode/xdb_util.zip

    This is a set of utilities which allows us to annotate the XML schemas, to deal with the underlying or storage structure, and (this is the interesting part here) a few views of dictionary to describe the relational XSD structure.

    (it is now an integrated 12 c btw)

    (2) enter these two schemas:

    Start

    () dbms_xmlschema.registerSchema

    schemaURL-online "pacs.002.001.03S2.xsd."

    schemaDoc-online xmltype (bfilename('TEST_DIR','pacs.002.001.03S2.xsd'), nls_charset_id ('AL32UTF8'))

    local-online true

    genTypes-online fake

    genTables-online fake

    enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE

    options-online dbms_xmlschema. REGISTER_BINARYXML

    );

    end;

    /

    Start

    () dbms_xmlschema.registerSchema

    schemaURL-online "SCTCvfBlkCredTrf.xsd."

    schemaDoc-online xmltype (bfilename('TEST_DIR','SCTCvfBlkCredTrf.xsd'), nls_charset_id ('AL32UTF8'))

    local-online true

    genTypes-online fake

    genTables-online fake

    enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE

    options-online dbms_xmlschema. REGISTER_BINARYXML

    );

    end;

    /

    (3) the following query built all the paths of node defined by the main schema (SCTCvfBlkCredTrf.xsd), as well as the namespaces:

    with schema_list (schema_url, schema_owner) as)

    Select 'SCTCvfBlkCredTrf.xsd', 'OTN' from dual

    Union of all the

    Select sd.dep_schema_url, sd.dep_schema_owner

    of schema_list sl

    Join dba_xml_schema_dependency on sd.schema_url = sl.schema_url sd

    and sd.schema_owner = sl.schema_owner

    ),

    namespace_mapping (target_namespace, prefix) as long as)

    Select target_namespace

    , « ns » || ROW_NUMBER() (order target_namespace) as a prefix

    of user_xml_schema_namespaces

    where schema_url in (select schema_url from schema_list)

    ),

    () schema_nodes

    is_attr

    node_name

    max_occurs

    element_id

    parent_element_id

    target_namespace

    schema_url

    ) as)

    Select 0

    element_name as node_name

    xmlcast)

    XMLQUERY ('/ XS: ELEMENT / ' @maxOccurs passing returning content element)

    as varchar2 (10)

    )

    element_id

    parent_element_id

    target_namespace

    schema_url

    of user_xml_schema_elements

    where schema_url in (select schema_url from schema_list)

    Union of all the

    Select 1

    attribute_name as node_name

    null

    null

    element_id

    target_namespace

    schema_url

    of user_xml_schema_attributes

    where schema_url in (select schema_url from schema_list)

    )

    Select the level

    sn.node_name

    sn.max_occurs

    connect_by_isleaf as is_leaf

    sys_connect_by_path)

    -case when ns.prefix is not null and is_attr = 0 then ns.prefix | ':' end |

    -case when sn.is_attr = 1 then ' @' end |

    SN. NODE_NAME

    , '/'

    ) as xpath

    -, target_namespace

    of schema_nodes sn

    outer join ns namespace_mapping let ns.target_namespace = sn.target_namespace

    Connect prior sn.element_id = sn.parent_element_id

    Start with sn.schema_url = "SCTCvfBlkCredTrf.xsd".

    and sn.parent_element_id is null

    ;

    LEVEL MAX_OCCURS IS_LEAF XPATH NODE_NAME
    ----- ------------------ ---------- ------- ----------------------------------------------------------------------------------------------------------
    1 SCTCvfBlkCredTrf 0 /ns2:SCTCvfBlkCredTrf
    2 1 SndgInst /ns2:SCTCvfBlkCredTrf / ns2:SndgInst
    2 1 RcvgInst /ns2:SCTCvfBlkCredTrf / ns2:RcvgInst
    2 1 SrvcId /ns2:SCTCvfBlkCredTrf / ns2:SrvcId
    2 1 TstCode /ns2:SCTCvfBlkCredTrf / ns2:TstCode
    2 FType 1 /ns2:SCTCvfBlkCredTrf / ns2:FType
    2 FileRef 1 /ns2:SCTCvfBlkCredTrf / ns2:FileRef
    2 1 FileDtTm /ns2:SCTCvfBlkCredTrf / ns2:FileDtTm
    2 1 OrigFRef /ns2:SCTCvfBlkCredTrf / ns2:OrigFRef
    2 1 OrigFName /ns2:SCTCvfBlkCredTrf / ns2:OrigFName
    2 1 OrigDtTm /ns2:SCTCvfBlkCredTrf / ns2:OrigDtTm
    2 1 FileRjctRsn /ns2:SCTCvfBlkCredTrf / ns2:FileRjctRsn
    2 1 FileBusDt /ns2:SCTCvfBlkCredTrf / ns2:FileBusDt
    2 1 FileCycleNo /ns2:SCTCvfBlkCredTrf / ns2:FileCycleNo
    2 FIToFIPmtStsRptS2 1 /ns2:SCTCvfBlkCredTrf 0 / ns2:FIToFIPmtStsRptS2
    3 GrpHdr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr
    4 MsgId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:MsgId
    4 CreDtTm 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:CreDtTm
    4 InstgAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt
    5 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt / ns1:FinInstnId
    6 BIC 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt / ns1:FinInstnId / ns1:BIC
    3 OrgnlGrpInfAndSts 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts
    4 OrgnlMsgId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlMsgId
    4 OrgnlMsgNmId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlMsgNmId
    4 OrgnlNbOfTxs 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlNbOfTxs
    4 OrgnlCtrlSum 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlCtrlSum
    4 GrpSts 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:GrpSts
    4 StsRsnInf 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf
    5 Orgtr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr
    6 id 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id
    7 OrgId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId
    8 1 BICOrBEI /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId / ns1:BICOrBEI
    5 ARS 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn
    6 Cd 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Cd
    6 Prtry 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Prtry
    4 NbOfTxsPerSts 2 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts
    5 1 DtldNbOfTxs /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldNbOfTxs
    5 1 DtldSts /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldSts
    5 1 DtldCtrlSum /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldCtrlSum
    3 TxInfAndSts boundless 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts
    4 StsId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsId
    4 OrgnlInstrId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlInstrId
    4 OrgnlEndToEndId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlEndToEndId
    4 OrgnlTxId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxId
    4 TxSts 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:TxSts
    4 StsRsnInf 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf
    5 Orgtr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr
    6 id 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id
    7 OrgId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId
    8 1 BICOrBEI /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId / ns1:BICOrBEI
    5 ARS 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn
    6 Cd 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Cd
    6 Prtry 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Prtry
    4 InstdAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt
    5 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt / ns1:FinInstnId
    6 BIC 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt / ns1:FinInstnId / ns1:BIC
    4 OrgnlTxRef 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef
    5 IntrBkSttlmAmt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:IntrBkSttlmAmt
    CTL 6 1 /ns2:SCTCvfBlkCredTrf/ns2:FIToFIPmtStsRptS2/ns1:TxInfAndSts/ns1:OrgnlTxRef/ns1:IntrBkSttlmAmt/@Ccy
    5 1 IntrBkSttlmDt /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:IntrBkSttlmDt
    5 DbtrAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt
    6 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt / ns1:FinInstnId
    7 1 BIC /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt / ns1:FinInstnId / ns1:BIC
    5 CdtrAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt
    6 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt / ns1:FinInstnId
    7 1 BIC /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt / ns1:FinInstnId / ns1:BIC

    In fact, you would be generally extracted from mapping data in a separate query so that you can use it to build the dynamic with XMLNamespaces clause of the namespace.

    NB1: Also note that not all roads are needed, only those which IS_LEAF = 1 or MAX_OCCURS = "unlimited" or MAX_OCCURS > '1', then you can add a filter predicate in the query directly.

    NB2: The query does support all the features of XSD, for example, I've relied on the default behavior for attributes 'element_form_default' and 'attribute_form_default '.

Maybe you are looking for

  • Automator - using variables in applescript do script

    How can I insert a variable in 'doing the script' in AppleScript? I want repoName be what is the variable. the term {parameters} Tell application "Terminal". activate Set currentTab to script ("ssh [email protected];") delay of 6 do script (' cd... /..

  • BUGCHECK_STR: 0X7E

    Microsoft (R) Windows debug 6.2.9200.20512 AMD64 VersionCopyright (c) Microsoft Corporation. All rights reserved. Command line: C:\Windows\Minidump\Mini081113-01.dmpCannot run 'C:\Windows\Minidump\Mini081113-01.dmp', 0n193 error Win32"%1 is not a val

  • Error code stand-alone Installer

    Recently installed Windows 7 Proffesional as a clean install, Windows update has failed then ran Installer standalone and got the 0x802400e error code. Having a 64 bit version of Windows 7 and PC has less than 12 months. Have not been able to find an

  • Computer, burn the CD, but says it's empty

    I need to burn a PDF on a CD, so I used the tool and the Windows Explorer, with the first CD, went through all the normal process but, in the end, it eject the CD and was told that an error has occurred. OK, I thought there was a problem with the CD

  • App permission to call access_sms_mms?

    I have to add access_sms_mms if I invoke only sms? Sounds like a silly question, but I'm not I'm not using permissions