Return NullVal from XMLtype ???

Hi.
When I execute a query:
        WITH t AS (
          SELECT XMLType( CURSOR( select ID, NAME
                                  from Table
                                  ) ) as XXX,
          SELECT XMLType( CURSOR( select ID, NAME
                                  from Table2
                                  ) ) as KKK
          FROM dual
        SELECT XMLQuery(
        '<messages>
         for $i in $XXX/ROWSET/ROW
         return element {$i/NAME} { attribute id {$i/ID},
         for $Z in $KKK/ROWSET/ROW
         return element {$Z/NAME} { attribute id {$Z/ID},
        </messages>'
        passing t.XXX as "XXX",
                   t.KKK AS "KKK"
        returning content
        ).getclobval()
        FROM t
        ;And my TABLE1 return nothing because is empty or don't have a value, Oracle return an error:
ORA-06502: PL/SQL: error of number or value
ORA-06512: a "SYS.XMLTYPE", line 334
ORA-06512: a line 1
There is a condition if return null?
Thanks.
Best regards.
Edited by: city_andre on 7-mar-2011 9.31

Hi,
Yes, that's a drawback of using the CURSOR XMLType constructor...
You can also use DBMS_XMLGEN.getXMLType with each query as a string, but you won't be able to use bind variables :
SELECT XMLQuery(
'<messages>
for $i in $XXX/ROWSET/ROW
return element {$i/NAME} { attribute id {$i/ID},
for $Z in $KKK/ROWSET/ROW
return element {$Z/NAME} { attribute id {$Z/ID},
</messages>'
passing DBMS_XMLGEN.getXMLType('select ID, NAME from Table1') as "XXX",
        DBMS_XMLGEN.getXMLType('select ID, NAME from Table2') as "KKK"
returning content
).getclobval()
FROM t
;Or maybe, consider SQL/XML functions to generate the same XML contents from relational data (as suggested in a previous thread).

Similar Messages

  • How to get return value from java and read by other application?

    i want to read return value from java and the other application read it.
    for example:
    public class test_return {
        test_return(){
        public int check(){
            return 1;
        public static void main(String args[]){
           new test_return().check();
    }from that class i make as jar file. How to read the return value (1) by other application?
    thx..

    If your installer is requiring some process it invokes to return a particular value on failure, then the installer is seriously broken. There are a bazillion commands your installer could invoke, and any of them could fail, which in turn could invalidate the entire install process, and any of them could return any value on failure. The only value that's consistent (in my experience) is that zero means success and non-zero means failure, with specific non-zero values being different in different programs.
    About the only control you have over the JVM's exit code is that if your main method completes without throwing an exception, the JVM will have an exit code of 0, and if main throws an exception (either explicitly or by not catching one thrown from below), it will be non-zero. I'm not even sure if that's guaranteed, but I would guess that's the case.
    EDIT: I'm kind of full of crap here. If you're writing the Java code, you can call System.exit(whatever). But nonetheless, if your installer requires certain exit codes from any app--java or otherwise--you have a problem.
    Edited by: jverd on Oct 29, 2009 1:27 AM

  • How to get return value from Java runtime.getRuntime.exec?

    I'm running shell commands from an Oracle db (11gr2) on aix.
    But, I would like to get a return value from a shell comand... like you get with "echo $?"
    I use a code like
    CREATE OR REPLACE JAVA SOURCE NAMED common."Host" AS
    import java.io.*;
    public class Host {
      public static int executeCommand(String command) {
        int retval=0;
        try {
            String[] finalCommand;
            finalCommand = new String[3];
            finalCommand[0] = "/bin/sh";
            finalCommand[1] = "-c";
            finalCommand[2] = command;
          final Process pr = Runtime.getRuntime().exec(finalCommand);
          pr.waitFor();
       catch (Exception ex) {
          System.out.println(ex.getLocalizedMessage());
          retval=-1;
        return retval;
    /but I do not get a return value... because I don't know how to get return value..
    Edited by: user9158455 on 22-Sep-2010 07:33

    Hi,
    Have your tried pr.exitValue() ?
    I think you also need a finally block that destroys the subprocess
    Regards
    Peter

  • How to get the return values from a web page

    Hi all :
       how to get the return values from a web page ?  I mean how pass values betwen webflow and web page ?
    thank you very much
    Edited by: jingying Sony on Apr 15, 2010 6:15 AM
    Edited by: jingying Sony on Apr 15, 2010 6:18 AM

    Hi,
    What kind of web page do you have? Do you have possibility to for example make RFCs? Then you could trigger events (with parameters that could "return" the values) and the workflow could react to those events. For example your task can have terminating events.
    Regards,
    Karri

  • Remote Object - not able to get the returned value from java method

         Hi ,
    I am developing one sample flex aplication that connects to the java code and displays the returned value from the
    java method in flex client. Here I am able to invoke the java method but not able to collect the returned value.
    lastResult is giving null .  I am able to see the sysout messages in server console.
    I am using flex 3.2 and blazeds server  and java 1.5
    Here is the code what I have written.
    <?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication  xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF" initialize="initApp()">
     <mx:Script><![CDATA[
    import mx.controls.Alert; 
    import mx.binding.utils.ChangeWatcher; 
    import mx.rpc.events.ResultEvent; 
    import mx.messaging.*; 
    import mx.messaging.channels.* 
    public function initApp():void { 
         var cs:ChannelSet = new ChannelSet(); 
         var customChannel:Channel = new AMFChannel("my-amf", "http://localhost:8400/blazeds/messagebroker/amf");     cs.addChannel(customChannel);
         remoteObj.channelSet = cs;
    public function writeToConsole():void {      remoteObj.writeToConsole(
    "hello from Flash client");
          var returnedVal:String = remoteObj.setName().lastResult;     Alert.show(returnedVal);
    //[Bindable] 
    // private var returnedVal:String; 
    ]]>
    </mx:Script>
    <mx:RemoteObject id="remoteObj" destination="sro" /> 
    <mx:Form width="437" height="281">
     <mx:FormItem>  
    </mx:FormItem>  
    <mx:Button label="Write To Server Console" click="writeToConsole()"/>
     </mx:Form>
     </mx:WindowedApplication>
    Java code
    public  
         public SimpleRemoteObject(){  
              super();     }
      class SimpleRemoteObject { 
         public void writeToConsole(String msg) {          System.out.println("SimpleRemoteObject.write: " + msg);     }
         public String setName(){          System.
    out.println("Name changed in Java"); 
              return "Name changed in Java";
    And I have configured destination in  remote-config.xml
    <destination id="sro">
       <properties>    
        <source>SimpleRemoteObject</source>
        <scope>application</scope>
       </properties>
      </destination>
    Please help me .

    You are not able to get the returned value because if you see the Remote object help you will realise you have to use result="resultfn()" and fault = "faultfn()"
    In this you define what you wish to do.
    More importantly in the remote object you need to define which method you wish to call using the method class like this
    <mx:RemoteObject id="remoteObj" destination="sro" result="r1" fault="f1"  >
         <Method name="javaMethodName" result="r2" fault="f2"/>
    <mx:RemoteObject>
    r2 is the function where you get the result back from java and can use it to send the alert.

  • Help with returning query from loadURL()

    I finally came across loadURL() and figured out that I can
    use it to invoke my ColdFusion components without page
    reloading--very handy!
    Now, I need to figure out how to do this to return values
    from my components. Has anyone done this and have an example I
    could see, or at least point out to me a suggestion of code for
    successfully doing this?
    Right now, my component looks like this:
    <cfcomponent output="no">
    <cffunction name="getComments" access="remote"
    output="no" returntype="query">
    <cfset var rsComments = "">
    <cfquery name="rsComments" datasource="xmlTest">
    SELECT *
    FROM comments
    ORDER BY commenter DESC
    </cfquery>
    <cfreturn rsComments>
    </cffunction>
    </cfcomponent>
    I am trying to use loadURL() as follows:
    function myQuery() {
    var myDatasetURL = 'xmlTest.cfc?method=getComments';
    var req = Spry.Utils.loadURL("GET", myDatasetURL, true);
    In Firebug, the "Response" shows a serialized WDDX packet.
    I've not really messed with these before, so any help would be
    greatly appreciated!
    Thanks
    Joel

    Your first mistake was to choose an array. An array has a fixed length, so it's not appropriate for storing a sequence whose length you don't know in advance. You should choose a List instead; an ArrayList would be a reasonable implementation to choose.
    Then you just add the Point to the ArrayList. Here's how you declare it:
    List<Point> points = new ArrayList<Point>();and here's how you use it in the listener:
    points.add(evt.getPoint());Returning anything from the listener to its caller, which is something buried in the GUI hierarchy, would be... um... pointless.

  • How to get return values from stored procedure to ssis packge?

    Hi,
    I need returnn values from my stored procedure to ssis package -
    My procedure look like  and ssis package .Kindly help me to oget returnn value to my ssis package
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: <Description,,>
    -- =============================================
    ALTER PROCEDURE [TSC]
    -- Add the parameters for the stored procedure here
    @P_STAGE VARCHAR(2000)
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    -- Insert statements for procedure here
    --SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
    truncate table [INPUTS];
    INSERT
    INTO
    [INPUTS_BASE]
    SELECT
    [COLUMN]
    FROM [INPUTS];
    RETURN
    END
    and i am trying to get the return value from execute sql task and shown below
    and i am taking my returnn value to result set variable

    You need to have either OUTPUT parameters or use RETURN statement to return a value in stored procedures. RETURN can only return integer values whereas OUTPUT parameters can be of any type
    First modify your procedure to define return value or OUTPUT parameter based on requirement
    for details see
    http://www.sqlteam.com/article/stored-procedures-returning-data
    Once that is done in SSIS call sp from Execute SQL Task and in parameter mapping tabe shown above add required parameters and map them to variables created in SSIS and select Direction as Output or Return Value based on what option you used in your
    procedure.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Return data from all columns apart from a certain data type.

    Bit stuck on something, hope somebody here can help:
    I want to do a 'select * from ' a table, to return all columns except ones of a certain datatype. ie. I want to return data from all columns, excluding columns of datatype 'SDO_GEOMETRY'.
    This gives me the list of columns:
    SELECT COLUMN_NAME
    FROM   USER_TAB_COLUMNS
    WHERE TABLE_NAME = 'ORDER_ITEM'
    AND   DATA_TYPE <> 'SDO_GEOMETRY'; But I can't seem to take it any further...
    Now if I knew the columns beforehand, then of course I could just list them, excluding the geometry column, but this is to be used for a plug-in for MS Word, where a user can pick database columns to dynamically fill a report from - but I don't want the geometry columns as these can't be handled in this way.

    Hi Reggie,
    > connects to the database and presents a list of tables
    My guess is that this macro is written so it selects from all_tab_cols.
    Change that plugin and let it select from a view like the one above. That way, the users won't be able to see/pick anything that you are not able/willing to present for them.
    Edit:
    You could even tease your users, and let them see the columns, but not being able to pick them.
    create or replace view available_tab_columns
    as
       select decode(pickable.data_type, null, 0, 1) pickable
             ,atc.* -- narrow down yourself
         from all_tab_cols atc  -- or maybe user_tab_cols
             ,(select 'CHAR' data_type from dual union all
               select 'DATE' from dual union all
            select 'NUMBER' from dual
               -- complete positive list, yourself
              ) pickable
        where atc.data_type = pickable.data_type(+);Regards
    Peter
    Message was edited by:
    Peter Gjelstrup

  • Report 2 returning data from previously ran report 1 - Plus/Viewer

    Hello,
    We have an issue running through discoverer viewer and plus.
    If you run the first report with a parameter for the year with this returns the correct data. However if you run report after the first with year 09-10, the 08-09 data is returned again from the previous report
    It doesn't matter which order you run them i.e. if you run the 09-10 first and then the 08-09 the 09-10 data is returned.
    The reports work fine when run in Discoverer Desktop.
    When 2nd report is run after first it returns the data that appears in the first. This Does not happen on Disco Desktop. The SQL from the reports also runs correctly in TOAD.
    Metalink notes suggest turning of the Webcache but this is not turned on in either apps tiers
    I have also recreated both reports and this has not made a difference either.
    Regards
    Rachael

    Hi,
    Even with webcache turned off Discoverer holds the results of the last run from plus/viewer in the application server and will return these results unless an explicit refresh is entered. Normally, if different parameters are entered this is recognised and the report is re-run. I don't know how you are running your report but for some reason it is not recognising the new parameters and returning the last result set. A refresh should return the correct results.
    Rod West

  • Getting Return values from RFC function call with visual basic

    Hi,
    I am creating a sample app to connect to a SAP system which call its RFC functions created with ABAP. It was known that the function will return more than 1 return values.
       SAP Function name ==> "ZFMTP_RFC_GET_RESULT"
            Export parameters (to SAP):
                    - Student Name [char 10]         ==> "STUNAME"
                    - Student ID         [char 20]        ==> "STUID"
           Return values (From SAP):
                    - Results [char 10]        ==> "RESULT"
                    - Remarks [char 200]        ==> "REMARKS"
    i have managed to get sample codes for connecting and call a RFC function with vb but they only get a return value. How do i retrieve multiple return values like the above function "RESULT" and "REMARKS"?
    Here's my vb code to accessing the function
            Dim R3 As Object
            Dim FBFunc As Object
            Dim returnFunc As Boolean
            Dim connected As Boolean
            R3 = CreateObject("SAP.Functions")
            R3.Connection.Client = "000"
            R3.Connection.User = "BCUSER"
            R3.Connection.Password = "minisap"
            R3.Connection.Language = "DE"
            R3.Connection.System = "dtsystem"
            R3.Connection.Applicationserver = "xxx.xxx.xxx.xxx" 
            connected = R3.Connection.Logon(0, True)
            If connected <> True Then
                MsgBox("Unable to connect to SAP")
            End If
            FBFunc = R3.add("ZFMTP_RFC_GET_RESULT")
            FBFunc.exports("STUNAME") = "Jonny"
            FBFunc.exports("STUID") = "12345"
            returnFunc = FBFunc.Call() <<== How do i get the return value? or RESULT and REMARKS of the RFC Function?
    thanks alot.
    Edited by: Eugene Tan on Mar 4, 2008 7:17 AM

    Hi Gregor,
    Thanks for the link....i am having some doubts with the codes, hope you can clarify them for me if you know the codes..
    Below is the code snippet.
    Set impReturn = CHPASS_FN.Imports("RETURN")  <<=== is RETURN the standard keyword to get a                                                                                return object?
      expPassword.Value = currpass
      expNewPass.Value = newpass
      expFillRet.Value = "1"
    ''' Call change password function
      If CHPASS_FN.Call = True Then
        outFile.Write (", Called Function")
        Message = impReturn("MESSAGE") <<==== So if i have 3 return values..i just replace with the return                                                               value variable names?
        outFile.WriteLine " : " & Message
      Else
        outFile.Write (", Call to function failed")
      End If
    thanks alot...all your help is very appreciated.

  • The ways to return data from a stored procedure.

    Hi, I know there are three ways to pass out a value from a Microsoft SQL stored procedure, but I have no clear idea what Oracle SP can do, I know Oracle doesn't support multi-recordset(v8), can not return a recordset by a inner select query, but I do know there is a cursor object, which doesn't like its counterpart in Microsoft SQL server, is a choice under most situation. Here I wonder anyone who is good at Oracle can give a list of all ways to return data from a SP, including example is more better, thanks.

    Here is a way to get return a record from a function and a procedure. You need to be familiar with Oracle packages as well as stored procedures and functions:
    CREATE OR REPLACE PACKAGE EmpPkg AS
    cursor cEmp(pEmpno in number) is
    select empno, ename, job, hiredate, sal
    from emp
    where empno = pEmpno;
    FUNCTION GetEmployee(pnEmpNo in number) RETURN cEmp%rowtype;
    PROCEDURE GetEmployee(pnEmpNo in number, prEmp out cEmp%rowtype);
    END;
    CREATE OR REPLACE PACKAGE BODY EmpPkg AS
    FUNCTION GetEmployee(pnEmpNo in number) RETURN cEmp%rowtype IS
    rEmp cEmp%rowtype;
    BEGIN
    open cEmp(pnEmpNo);
    fetch cEmp into rEmp;
    close cEmp;
    return rEmp;
    END;
    PROCEDURE GetEmployee(pnEmpNo in number, prEmp out cEmp%rowtype) IS
    BEGIN
    open cEmp(pnEmpNo);
    fetch cEmp into prEmp;
    close cEmp;
    END;
    END;
    Here's how you use the package:
    DECLARE
    rEmp EmpPkg.cEmp%rowtype;
    BEGIN
    rEmp := EmpPkg.GetEmployee(7782);
    dbms_output.put_line(rEmp.ename);
    EmpPkg.GetEmployee(7902, rEmp);
    dbms_output.put_line(rEmp.ename);
    END;
    Note that you can return any Oracle data type from a function. Likewise, you can specify any Oracle data type as an out parameter in a procedure. Also, you can make a parameter both an in and an out datatype like this:
    PROCEDURE GetEmployee(pnEmpNo in out number);
    I hope this puts you in the right direction.
    null

  • Serial number copy functionality when creating return orders from standards

    Hi all,
    Serial number is not copying when i create return order from the standard orders in below scenario.
    I implemented one BADI for copying Serial number to Sales order when doing Post goods receipt.
    So after doing inbound delivery and PGR, serial number is copied to the sales order but when i create return order with reference to the Standard order Serial number is not copying.
    When i go VA02 for standard order and selecting the technical objects then if i create the return order serial number is copying.
    Please help me in the above issue.
    I used the following logic to copy serial number from inbound delivery PGR.
    UPDATING THE SERIAL NUMBER TO THE RESPECTINVE SALES ORDER LINE ITEMS
                CALL FUNCTION 'SERNR_ADD_TO_AU'
                  EXPORTING
                    sernr                 = lwa_sernr-sernr
                    profile               = 'NEOP'
                    material              = lwa_mseg-matnr
                    quantity              = 1
                    document              = lwa_mseg-kdauf
                    item                  = lwa_mseg-kdpos
                    debitor               = lwa_mseg-kunnr
                    vbtyp                 = 'C'
                    sd_auart              = lv_auart
                    sd_postyp             = lv_pstyv
                  EXCEPTIONS
                    konfigurations_error  = 1
                    serialnumber_errors   = 2
                    serialnumber_warnings = 3
                    OTHERS                = 4.
                IF sy-subrc = 0.
                  CALL FUNCTION 'SERIAL_LISTE_POST_AU'.
                IF sy-subrc EQ 0.
                  COMMIT WORK.
                  WAIT UP TO 2 SECONDS.
                ENDIF.
    Edited by: Rajesh Sanapala on Feb 16, 2009 12:48 PM

    hi.
    I have the same problem.
    Can you please share how you solved it?
    thank you
    Bill

  • Returns item from purchase order in SRM

    Hi,
    Is it possible to return item from a purchase order in SRM?
    meaning : to return goods to an external vendor.
    in ECC i know its possible. but i want to know if its possible in SRM.
    if yes, how?
    (i dont want to return by confirmation)
    we are using SRM550.
    regards,
    vered
    Edited by: Vered Madar on Aug 2, 2010 1:28 PM

    Hi,
    In SRM POs,  GR based invoice indicator for Goods item is ticked based on the Vendor Master. If the vendor master has the tick, then PO will have the tick for GR based invoice. However for a service PO/limit PO,  GR based invoice comes as default in PO and cannot be undone.
    Regards,
    Sanjeev

  • How to get node value of XML file from XMLTYPE field of databases

    Hi,
    I want to select node value of XML from XMLTYPE field of oracle db into java code.
    Feel free to answer me if you have any idea about it.
    Thanks

    For XMLType refer
    http://www.oracle.com/oramag/oracle/01-nov/o61xml.html
    http://www.lc.leidenuniv.nl/awcourse/oracle/appdev.920/a96620/xdb04cre.htm

  • How to make a "return delivery" from a goods mvnt  linked to a reservation

    Hi, I want to realize a "return delivery" from a goods mvnt that is linked to a reservation number.
    I'm using FM BAPI_GOODSMVT_CREATE.
    I'm able to create a goods mvnt, but this doesn't updates the quantity in the reservation document.
    For example:
    There are 10 units of a material reserved in a reservation document.
    I create a goods mov. linked to the reservation number by populating the field RESERV_NO and RES_ITEM in the GOODSMVT_ITEM parameter. In this document I fullfilled the TARGET_QTY field with 10. This the positive movement.
    After that, reservation document says that there are no units pending to serve. (10 reserved - 10 served = 0 pending).
    Now, I want to return 2 units of this material. I fullfilled the fields REF_DOC_YR, REF_DOC and REF_DOC_IT with keys (doc/item/year) of the first goods movement, and MOVE_TYPE with the reversal movement number. But this doesn't updates the quantity in the reservation document.
    I tried fullfiling RESERV_NO and RES_ITEM, but this generates a positive movement, not the reversal!
    Is there any other process that updates quantity in the reservation document?
    Could anybody help me?

    1) Create a button on the chapter menu with the text MAIN MENU (or whatever you want it to say).
    2) Select the chapter menu in either the graphical or outline view of your DVD.
    3) Click on the Connections tab.
    4) Select the MAIN MENU button in the source column.
    5) Select the main menu in the Targets column.
    6) Click the Connect button above the Targets column.
    After doing the above steps you should see the main menu in the Target column to the right of "MAIN MENU:Jump when activated" in the source column. Your MAIN MENU button will now take you back to the main menu.
    Message was edited by: John Link

Maybe you are looking for

  • Why can't I have more than one library?

    I've got multiple iTunes libraries- one on a computer at home, one on a computer at school. But whenever I try to access my new Shuffle iPod, on library always wants me to delete the other and replace it. What's up with that? Can I bypass it? If I ca

  • Can not connect to iTunes Store with iPad get an error message. How do I fix?

    I cannot connect to iTunes Store. Get an error message. How do I fix it?

  • Office 2013 ActiveX Controls not working

    Hello, We have two users that are not able to interact with any ActiveX controls in a Word document. When they try to  put a check mark in a check box, the whole object gets surrounded by a box like it does when you have it in design mode. Design mod

  • Please help!! How to implement a company directory with OSX and exchange?

    We just have our exchange setup correctly with our Snow Leopard clients. Everything is working perfect, email, calendar. The only problem is despite the OSX's Address Book being integrated, there is no possible way to view everyone in the company. In

  • Add a item note in Purchase requisition

    Hy Chaps, I am using BADI  CHANGE_BEFORE_SAVE_MRP to change begin and end date in Purchase Requisition. To make the user award of it, I would like to insert a note in the Purchase requistion text. Did any one experiment it? Thanks Vincent