RETURN ARRAY WITH PL/SQL

Hi,
We made a simple pl/sql procedure which insert in a table. With a c# program and odp.net, we call it with a bind array and it works fine.
Now, we try to inverse the situation.
Is it possible with odp.net to call a pl/sql procedure which return an array and treat after in a c# program ??
Thanks in advance

You should look into a function/procedure that modifies its input arguments. Your java program can read those as well as the basic return value. That way you can have as many 'return values' as you need.

Similar Messages

  • Returning recordsets with PL/SQL and JDBC

    can record types be returned from a stored procedure to a java program? if so, what is the return type to set in registerOutParameter(x, ?)?? if not, what is best way to return result sets fro pl stored procedure to a java program
    thanx

    You can have pl/sql return a Ref Cursor and then get ResultSet from Ref Cursor. For cursor, you do RegisterOutParameter(int, java.sql.Types.Other).

  • SOAP Webservice returns Array - how to setup Xcelsius?

    Hello,
    after a lot of tests I have recognized that Xcelsius is not able to handle Webservices which return arrays with an undefined size. So I edited the schema file in the way that the size is defined.
    Here is an extract of the schema file:
    <xsd:sequence>
                <xsd:element name="row0" type="tns:Row" maxOccurs="10" minOccurs="10" ></xsd:element>
    </xsd:sequence>
    With that configuration Xcelsius is able to import the wsdl. But the preview window is showing only one Row Folder, I have excpected "10".  My question is, is my config the right way to handle arrays with Xcelsius and when it is, how I have to set up the range in the Excel Map to make the data avaiable???
    Thank you in advance.
    Best regards,
    Conrad

    Here is an example, you can compare what is different. From the look of it the recipient info is missing from yours. Does it say which INI option is missing when you get an error?
    <doPublishRequest xsi:type="doPublishReq_Import" xmlns="http://webservices.docucorp.com/ewps/schema/2005-12-01">
            <LibraryId>CONFIGNAME</LibraryId>
            <DistributionOptions xsi:type="DistributionOptions_ADHOC" source="ADHOC">
              <Priority>REALTIME</Priority>
              <Channel xsi:type="Channel_IMMEDIATE">
                <PublishType>PDF</PublishType>
                <DistributionType>IMMEDIATE</DistributionType>
                <Disposition location="ATTACH" />
                <Recipient name="ORIGINAL">
                  <Props>
                    <Prop name="" />
                  </Props>
                  <Copies />
                  <Story StoryName="" id="" alias="" />
                </Recipient>
              </Channel>
            </DistributionOptions>
            <SourceType>IMPORT</SourceType>
            <Import>
              <ImportFile xsi:type="ImportFile_ATTACH" d6p1:contentType="" location="ATTACH" xmlns:d6p1="http://www.w3.org/2005/05/xmlmime">O05hdXRpbH.......</ImportFile>
            </Import>
          </doPublishRequest>

  • Returing array from PL/SQL procedure

    Hi,
    I am trying to return array from PL/SQL procedure. Heres is the code. I am getting an error "OracleParameter.ArrayBindSize is invalid ".
    Will anybody let me know what is wrong in following code. or does anybody have code to return PL/SQL array using VB.NET.
    oCommand.CommandText = "MyPack.TestVarchar2"
    oCommand.CommandType = CommandType.StoredProcedure
    Dim id As Integer = 10
    Dim deptname As String()
    Dim oParam1 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter("id", Oracle.DataAccess.Client.OracleDbType.Int32)
    Dim oParam2 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter("deptname", Oracle.DataAccess.Client.OracleDbType.Varchar2)
    oParam1.Direction = ParameterDirection.Input
    oParam2.Direction = ParameterDirection.Output
    oParam1.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.None
    oParam2.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray
    oParam1.Value = id
    oParam2.Value = ""
    oParam1.Size = 10
    oParam2.Size = 20
    oCommand.Parameters.Add(oParam1)
    oCommand.Parameters.Add(oParam2)
    oCommand.ExecuteNonQuery()
    Thanks
    Sameer

    Thanks Arnold for the reply..
    Yes, I am trying to get result set in array which is unknow to me (No of rows return by the query). For the test I will pre-define the result set so that I will able to set ArrayBindSize.
    I have read C# example but when I try to write it in VB.NET it gives me syntax error when I try to set the ArrayBindSize.
    oParam.ArrayBindSize = new int[3]{15,23,13} // individual max size of 3 outputsWill you please let me know how to set ArrayBindSize (VB.NET) because I am new to this..
    There is an example at otn "How to: Bind an Array to an ODP.NET Database Command" which does multiple INSERTs in one trip to database. This works fine. I need to do same for the SELECT statement which will return me multiple rows. I do not mean refCursor. If I use refCursor, it will make soft parse which I am trying to avoid using this Array techniq.
    Thanks
    Sameer

  • Joining java array with SQL table in a stored procedure

    Hey,
    I am calling a pl/sql stored procedure from a java program passing two arrays (employees) and (departments) as parameters to the procedure. Within the procedure I have stored the arrays in a table of records like this:
    type t_emp_type is record (employee_id number, department_id number);
    type t_emp_tbl_type is table of t_emp_type index by binary_integer;
    Where all elements in employees are stored in the employee_id column and departments are stored in the department_id column. So basically I've got a table like:
    l_employee_tbl t_emp_tbl_type;
    Looped through the arrays and stored the data like:
    for i in 1..p_employees.count loop
    l_employee_tbl(i).employee_id := p_employees(i);
    l_employee_tbl(i).deparment_id := p_departments(i);
    end loop;
    Now I would like to compare my l_employee_tbl with a SQL table in the database. Basically I would like to join my l_employee_tbl table with a SQL table named departments on department_id, returning all department_id:s that was not found in table departments.
    However, it is not possible to select from a user-defined table type. I have also tried to use the table() function and to cast l_employee_tbl, but found out it can't be done with records. And I would really like to use records or some other type where define my PL/SQL data. I know that you should not mix PL/SQL and SQL but in this case I think it is more efficient to try joining these "tables". Does anyone have a solution for this or advice to try something else out? It would be most appreciated.
    Edited by: 963281 on 2012-okt-04 14:25
    Edited by: 963281 on 2012-okt-05 01:53

    963281 wrote:
    I am calling a pl/sql stored procedure from a java program passing two arrays (p_employees) and (p_departments) as parameters to the procedure. Within the procedure I have stored the arrays in a table of records like this:
    type t_emp_type is record (employee_id number, department_id number);
    type t_emp_tbl_type is table of t_emp_type index by binary_integer;Why do you create an associative array?
    Now I would like to compare my l_employee_tbl with a SQL table in the database. Basically I would like to join my l_employee_tbl table with a SQL table named departments on department_id, returning all department_id:s that was not found in table departments. Of course, not possible as the SQL engine does not support PL/SQL user defined types. PL/SQL however support user defined SQL types. Which makes SQL defined types a lot more flexible.
    However, it is not possible to select from a user-defined table type. I have also tried to use the table() function and to cast l_employee_tbl, but found out it can't be done with records. Never mind SQL and PL/SQL - as a generic programming data structure principle. How do you expect being able to cast an associative array (name-value pairs) to a standard array? The two data structures are very different. So I'm puzzled in how you expect to move a non-scalar name-value pair data structure into a non-scalar value only data structure?
    And I would really like to use records or some other type where define my PL/SQL data. Why exactly? If the Java or PL/SQL data structure is populated using SQL data and database data, and wanting to use that data structure in SQL, what is the point? Why pull SQL data into a client data structure at all then - surely it is far more performant and scalable to rather keep that data in the database, and do the joins/selects/filters/etc using SQL?
    There is also the issue of scalability of local data structures in PL/SQL. The PL/SQL engine runs inside an Oracle server process, consuming private process memory on the server. The bigger the data structures used in PL/SQL, the more server memory needs to be allocated to that server process. This does not scale. Especially not if 10 or more such server processes are running the same PL/SQL code and each server needs to grab large chunks of server memory.
    If the data from Java comes from another source (e.g. keyboard, etc), and you need a means of storing this data server-side for use by PL/SQL and SQL. There are 2 basic choices. PL/SQL arrays for smallish amounts of data - and basing these arrays preferable on SQL data types allowing the array to be used by both SQL and PL/SQL engines. If the amount of data is not smallish, then it should be stored in the SQL engine (database) as that is designed for that exact purpose. And if the data is transient, then a GTT (global temp table) structure can be used (and indexed for optimal access).

  • ExecuteNonQuery doesnt return number of rows affected when used with PL/SQL

    ExecuteNonQuery doesn't return number of rows affected when used with PL/SQL but returns -1. The documentation says ExecuteNonQuery method of OracleCommand returns the number of raws affected but when used with PL/SQL, it returns -1 even the update statement successfully executes and affects multiple records with no exeptions thrown.
    However, if ExecuteNonQuery is used with update sql statement in the asp.net code it returns number of rows affected correctly. Does anybody know why ExecuteNonQuery behaves like this?
    I am using ODP.NET that comes with Oracle Client 11g. The version is 2.111.6.20 of ODP.NET, Oracle database server is 10g.
    Marat

    You can get the rowcount in the stored procedure via SQL%ROWCOUNT and then pass it out as a parameter.
    For example:
    SQL> create or replace procedure updatesal(v_deptno in number, v_rowsaff out number) as
      2  begin
      3  update emp set sal = sal * 5 where deptno = v_deptno;
      4  v_rowsaff := SQL%ROWCOUNT;
      5  end;
      6  /
    Procedure created.Cheers

  • How to bind arrays to PL/SQL stored procedure using OCI?

    Hi,
    We are having problems trying to bind arrays to PL/SQL stored procedure using OCI. Here is the situation:
    - We have a stored procedure called "GetVEPFindTasks" with the following interface:
    PROCEDURE GetVEPFindTasks (
    p_ErrorCode OUT NUMBER,
    p_ErrorMsg OUT VARCHAR2,
    p_RowCount OUT NUMBER,
    p_VEPFindTasks OUT t_VEPFindTaskRecordTable,
    p_MaxTask IN NUMBER);
    t_VEPFindTaskRecordTable is a record with the following entries:
    TYPE t_VEPFindTaskRecord IS RECORD (
    RTCID NUMBER,
    TransNum NUMBER,
    TransTimestamp VARCHAR2(20),
    Pathname1 image_data.pathname%TYPE,
    Pathname2 image_data.pathname%TYPE,
    Pathname3 image_data.pathname%TYPE,
    OperatorID operator.id%TYPE);
    - Now, we are trying to call the stored procedure from C++ using OCI (in UNIX). The call that we use are: OCIBindByName and OCIBindArrayOfStruct to bind the parameters to the corresponding buffers. We bind all parameters in the interface by name. Now, we do bind the record's individual item by name (RTCID, TransNum, etc.), and not as a record. I don't know if this is going to work. Then, we use the bind handles of the binded record items (only record items such as RTCID, TransNum, and NOT error_code which is not part of the record) to bind the arrays (using OCIBindArrayOfStruct).
    All of the parameters that are binded as arrays are OUTPUT parameters. The rest are either INPUT or INPUT/OUTPUT parameters. Now, when we try to execute, OCI returns with an error "Invalid number or types of arguments" (or something to that sort... the number was something like ORA-06550). Please help...
    Is there any sample on how to use the OCIBindArrayOfStruct with PL/SQL stored procedures? The sample provided from Oracle is only for a straight SQL statement.
    Thank's for all your help.
    ** Dannil Chan **

    As you said:
    You have to pass in an array for every field and deconstruct/construct the record in the procedure. There is no support for record type or an array of records. Can you give me a example? I'am very urgently need it.
    thanks
    email: [email protected]

  • Java stored proc: returning array?

    Hi,
    I have had to implement a Java stored procedure that accepts a nested table as an argument from aPL/SQL package. The class must manipulate the data and then create an object or an array that can be returned to the package for subsequent interpretation and use.
    I'd assuemd that I could reverse the process when the argument was accepted; i.e. assemble the data as an oracle.sql.ARRAY type and return that. The Javadoc I have advises that the constructors for this class are for 'internal' use only. Also, it requires a connection and I don'treally want to have to open another connection to the schema.
    Another alternative was to return an array of BigDecimal but this would require an equivalent VARRAY on the PL/SQL side. As I don't know the side of the array until run-time I cannot safely declare a VARRAY of an arbitrary size.
    As you acn probalby tell, I'm a bit of a novice so any help would be greatly appreciated.
    Thanks

    Thanks for the reply Avi.
    That's fine: it's a valid question! I started to explain the original problem but it became too long. Basically I needed the ability to define an array that could be dynamically sized depending on the rowcount resulting from a BULK COLLECT during runtime. As admitted, I'm a novice and believed this couldn't be done in PL/SQL, and, to cut a very long-winded story short after seeking more experienced advice, used the dynamic allocation techniques in Java which is more familiar terriory to me.
    I nearly have the Java solution working, thanks to Oracle documentation and a couple of hints towards the end of this thread. I'd also been perusing those links you recommended.
    I have since realised I can simulate a dynamic array with a nested table and using EXTEND. If thre are other techniques available, I'd be grateful or some pointers! All in all the whole process has been beneficial if a little time consuming.
    Thanks again
    The original problem is as follows: I have a nested table, each row of which contains one column for each month of the year recording payments. Some of these months can contain 0 and therefore, a 5,000 foot view shows that result set is fragmented. Basically the payments have to be rearranged as though they were contiguous monthly payments prior to subsequent processing. Because of the way the rows needed to be grouped for processing, the algorithms for defragmentation were becoming really complex. Admitting my PL/SQL limitations I slunk off to ask further advice and

  • Stored Procedure: Function returns Array

    I was just wondering if following scenario is possible in a stored procedure.
    I have a package, which includes 4 different functions and 1 procedure. Procdure uses ref cursor to return values in my reporting tool. What I am trying to do is to write a function which takes input and return array of varchar. Something like..
    Package ABC
    Function student_classes (student_no in Varchar2) return [array]
    begin
    select class_nbr into [array]
    from student_table
    where student_nbr = student_no;
    return [array];
    end student_classes;
    procedure students_info (rpt_cursor IN OUT rpt_type)
    begin
    OPEN rpt_cursor FOR
    select
    student_name,
    student_nbr,
    student_address,
    student_classes (student_nbr) --returns array
    from student_table;
    end student_info; --end of procedure
    end abc; --end of pacakge.
    I used [array], as I am ont sure how to define (syntax) it in spec part of package or in body. I will really appreciate if someone could help me with this function.
    Thank you

    Thanks for the reply Tonguc Y.
    I declared an array in my package declaration
    CREATE OR REPLACE PACKAGE rpt_TESTING_pkg
    AS TYPE rpt_type IS REF CURSOR;
         TYPE DIAGARRAY IS VARRAY(20) OF VARCHAR2(6);
         FUNCTION DIA_CODES (MNO IN VARCHAR2) RETURN DIAGARRAY;
         PROCEDURE member (rpt_cursor IN OUT rpt_type);
    END rpt_TESTING_pkg;
    but then when I try to use it in my function it gives me error that I should declare DIAGARRAY.
    CREATE OR REPLACE PACKAGE BODY rpt_TESTING_pkg
    as
    FUNCTION DIA_CODES (MNO IN VARCHAR2)
                   RETURN DIGARRAY AS diags DIGARRAY;
    begin
    <sql block>
    end dia_codes;
    end rpt_TESTING_pkg;
    Any suggestions.

  • Multiple return vals from PL/SQL

    Hello:
    I am calling a PL/SQL proc from Java, though the procedure has 2 output values it returns. Has anyone done something similar? I've tried an array with now success. Can you return a row with PL/SQL? Thus maybe use a RowIterator?

    You should look into a function/procedure that modifies its input arguments. Your java program can read those as well as the basic return value. That way you can have as many 'return values' as you need.

  • Why do I get a class conflict between the Prepare SQL.vi and the Get Column Name.vi with the SQL Toolkit compatibility vis from the Database Connectivity Toolkit?

    I have done extensive programming with the SQL Toolkit with LabVIEW versions through 6.1. My customer now wants to upgrade to Windows 7, so I am trying to upgrade to LabVIEW 2009 (my latest purchased version) using the Database Connectivity Toolkit, and the SQL Toolkit Compatibility vis. Everything seemed to be going okay with the higher level SQL operations, but I ran into trouble with the Get Column Name.vi. 
    The pictures below show the problem. The original SQL Toolkit connected the Prepare SQL.vi with the Get Column Name.vi with a cluster of two references, one for connection, and one for sql. The new compatibility vis have a class conflict in the wire because the Prepare SQL.vi contains a cluster with connection, and command references, but the Get Column Name.vi expects a cluster with connection and recordset references. 
    How do I resolve this conflict?
    Thank You.
    Dan

    I've never worked with the old version of the toolkit, so I don't know how it did things, but looking inside the SQL prep VI, it only generates a command, and the the column name VI wants a recordset. I'm not super familiar with all the internals of ADO, but my understanding is that is standard - you only have the columns after you execute the command and get the recordset back. What you can apparently do here is insert the Execute Prepared SQL VI in the middle and that will return what you need.
    I'm not sure why it worked before. Maybe the execute was hidden inside the prep VI or maybe you can get the column names out of the command object before execution. In general, I would recommend considering switching to the newer VIs.
    Try to take over the world!

  • Interactive Report with PL/SQL Function Source

    Is it possible to create interactive report with PL/SQL function source returing a query? If not, has anyone done any work to simulate the interactive reporting feature for a normal report using API?

    I haven't tried that before but you could:
    1. create a collection from your result set returned by a dynamic query,
    2. create a view on that collection,
    3. use the view in your interactive report.
    The usability of this proposal depends from a question how "dynamic" your query is - does it always have the same number of columns or not.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Problem with pl/sql

    I am having a parent program which fires the child process.
    I want the parent program to wait until all the child program are completed.
    for this i have written this code.
    from the curosr c1 i am taking all the child processes.
    Now when i am putting the exit condition(EXIT WHEN J = V_COUNT1) in the for loop then
    everything is working fine and parent program completes only after all
    the child processes are completed.
    but when i am not putting this condition the parent program does not complete it remains in the loop
    i dont understand why?
    declare
    cursor c1 is
    SELECT fcr.request_id
              FROM
              fnd_concurrent_programs fcp,
              fnd_concurrent_requests fcr
              WHERE
              fcp.concurrent_program_id = fcr.concurrent_program_id
              AND fcp.concurrent_program_name LIKE 'WSHRDPIK' -- name of the pick slip report
              AND fcr.request_id > (SELECT max(fcr.request_id)
              FROM fnd_concurrent_requests fcr,
                                  fnd_concurrent_programs fcp
                                  WHERE fcp.concurrent_program_id = fcr.concurrent_program_id
                        AND fcp.concurrent_program_name LIKE 'OAI_PROCESS_SHIPMENTS')
              AND phase_code NOT LIKE 'C'
              AND requested_by IN (SELECT user_id
                   FROM fnd_user
                        WHERE user_name LIKE 'MAKANIV');
    BEGIN
    open c1;
    FETCH c1 Bulk Collect into v_count;
    close c1;
    v_count1 := v_count.count;
    for i in v_count.first..v_count.last loop
    v_success := FND_CONCURRENT.GET_REQUEST_STATUS(v_count(i)
                                            ,NULL
                                            ,NULL
                                            ,v_phase
                                            ,v_status
                                            ,v_dev_phase
                                            ,v_dev_status
                                            ,v_message);
         WHILE v_dev_phase != 'COMPLETE'
    LOOP
    v_success:= FND_CONCURRENT.WAIT_FOR_REQUEST(v_count(i)
                                       ,2
                                                 ,10
                                                 ,v_phase
                                                 ,v_status
                                                 ,v_dev_phase
                                                 ,v_dev_status
                                                 ,v_message);
         EXIT WHEN v_dev_phase = 'COMPLETE';
    END LOOP;
    -- J:= J + 1;
    -- EXIT WHEN J = V_COUNT1;
    END loop;
    END;

    Dear Salvatore,
    Have you opened the CURSOR ??
    Try the following :
    =============================================
    declare
    cursor C1 (INPUT_VAR in number) is select column1 from table where column2 =INPUT_VAR ;
    begin
    for I in C1 (1111) Loop --- you can try any number
    dbms_output.put_line(I.ID) ;
    end loop;
    end ;
    =============================================
    Bst Rgds ,
    Franco Lin
    I am new to this forum, and new to PL/SQL. I am writing my first larger project that will be in part implemented with PL/SQL. I have a simple cursor that sound like that:
    CURSOR name
    IS
    SELECT column1
    FROM table
    WHERE column2 = PL/SQL-variable;
    When I run this Function the SELECT returns nothing. When I make the same SELECT from SQL*PLUS I receive 1 row.
    I have checked the variable via dbms_output.put_line, and make the mentioned SELECT with it.
    Has anyone a solution for this?
    Thanks in advance for any help.
    Regards
    Salvatore Cagliari
    null

  • Create a report with PL/SQL

    Hi,
    I have two pages: the first page contains two text fields and a submit button. In the first text field you can enter a name and in the second field you can enter a number. That means you can search a record by name or by number.
    In the second page the report is generated depending on the used text field of the first page.
    I tried to to define a region source code with PL/SQL for the report, but nothing appears on the report page although the record I was looking for exists in the database.
    begin
    if :ENTERNAME IS NOT NULL then
    FOR item IN (select "TB_PERSON_INSTITUTION"."PI_ID" as "PI_ID",
    "TB_PERSON_INSTITUTION"."PI_NAME" as "PI_NAME",
    "TB_PERSON_INSTITUTION"."PI_VORNAME" as "PI_VORNAME",
    from     "TB_PERSON_INSTITUTION" "TB_PERSON_INSTITUTION"
    where      upper("TB_PERSON_INSTITUTION"."PI_NAME") like upper(:ENTERNAME||'%'))
    loop
    DBMS_OUTPUT.PUT_LINE('First name = ' || item.PI_NAME ||
    ', Last name = ' || item.PI_VORNAME);
    end loop;
    end if;
    end;
    Regards
    Mark

    Hi,
    ok thanks. I tried to use the SQL-Report with type "SQL Query (PL/SQL function body returning SQL-Query)" and made a few changes in the SQL-Statement so that a second table is also included:
    declare My_select varchar2(500);
    begin
    if :TEXTEINGABENAME IS NOT NULL then
    My_select:='SELECT
    "TB_ADRESSE"."A_PLZ" "A_PLZ",
    "TB_ADRESSE"."A_ORT" "A_ORT",
    "TB_ADRESSE"."A_ID" "A_ID",
    "TB_PERSON_INSTITUTION"."PI_MITGLIEDSNUMMER" "PI_MITGLIEDSNUMMER",
    "TB_PERSON_INSTITUTION"."PI_NAME" "PI_NAME",
    "TB_PERSON_INSTITUTION"."PI_VORNAME" "PI_VORNAME",
    "TB_PERSON_INSTITUTION"."PI_ERGAENZUNG" "PI_ERGAENZUNG",
    "TB_PERSON_INSTITUTION"."PI_ERGAENZUNG1" "PI_ERGAENZUNG1",
    "TB_PERSON_INSTITUTION"."PI_ID" "PI_ID"
    FROM
    "TB_ADRESSE" "TB_ADRESSE",
    "TB_PERSON_INSTITUTION" "TB_PERSON_INSTITUTION"
    WHERE "TB_PERSON_INSTITUTION"."PI_ID" = "TB_ADRESSE"."A_F_PERSON_INSTITUTION"
    AND upper("TB_PERSON_INSTITUTION"."PI_NAME") like upper(:TEXTEINGABENAME||"%")';
    else
    if :TEXTMITGLIEDSNUMMER is not null then
    My_select:='SELECT
    "TB_ADRESSE"."A_PLZ" "A_PLZ",
    "TB_ADRESSE"."A_ORT" "A_ORT",
    "TB_ADRESSE"."A_ID" "A_ID",
    "TB_PERSON_INSTITUTION"."PI_MITGLIEDSNUMMER" "PI_MITGLIEDSNUMMER",
    "TB_PERSON_INSTITUTION"."PI_NAME" "PI_NAME",
    "TB_PERSON_INSTITUTION"."PI_VORNAME" "PI_VORNAME",
    "TB_PERSON_INSTITUTION"."PI_ERGAENZUNG" "PI_ERGAENZUNG",
    "TB_PERSON_INSTITUTION"."PI_ERGAENZUNG1" "PI_ERGAENZUNG1",
    "TB_PERSON_INSTITUTION"."PI_ID" "PI_ID"
    FROM
    "TB_ADRESSE" "TB_ADRESSE",
    "TB_PERSON_INSTITUTION" "TB_PERSON_INSTITUTION"
    WHERE "TB_PERSON_INSTITUTION"."PI_ID" = "TB_ADRESSE"."A_F_PERSON_INSTITUTION"
    AND upper("TB_PERSON_INSTITUTION"."PI_MITGLIEDSNUMMER") like upper(:TEXTMITGLIEDSNUMMER||"%")';
    end if;
    end if;
    return My_select;
    end;
    When I try to apply changes an error message occurs:
    "Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing. The query can not be parsed, the cursor is not yet open or a function returning a SQL query returned without a value."
    Regards,
    Mark

  • How to get value from API which returns parameter in PL/SQL table?

    Hello
    I have below workflow API with returns info in PL/SQL table. I want to get value of 'USER_ORIG_SYSTEM_ID' column. How can i get that value in local variable.
    Please help.
    Thanks
    Avalon
    Wf_Directory.GetRoleInfo2
    Syntax
    procedure GetRoleInfo2
    (Role in varchar2,
    Role_Info_Tbl out wf_directory.wf_local_roles_tbl_type);
    Description
    Returns the following information about a role in a PL/SQL table:
    • Name
    • Display name
    • Description
    • Notification preference (’QUERY’, ’MAILTEXT’, ’MAILHTML’,
    ’MAILATTH’, ’MAILHTM2’, ’SUMMARY’, or, for Oracle
    Applications only, ’SUMHTML’)
    • Language
    • Territory
    • E–mail address
    • Fax
    • Status
    • Expiration date
    • Originating system
    • Originating system ID
    • Parent originating system
    • Parent originating system ID
    • Owner tag
    • Standard Who columns
    *******************************************************

    create a variable RoleXXX wf_directory.wf_local_roles_tbl_type;
    call procedure GetRoleInfo2('TEST_ROLE',RoleXXX)
    use RoleXXX.USER_ORIG_SYSTEM_ID

Maybe you are looking for

  • TV Guide on-Screen not working over-the-air

    Just recently revived a 42HL196 (see thread "Red light flashing on 42L196"), the first TV I've repaired that features TVGuide On Screen.  I was all excited about this until reading on the web that Rovi, the owner company of TVGuide service, phased ou

  • Non-Latin Character Display

    I have several Java web applications on Tomcat where non-Latin characters function properly with only one exception. Non-Latin characters, Chinese in this case, can be displayed properly thorough the JSTL message tag. The related configuration are fo

  • Incoming emails not syncing using IMAP

    Hello Community Members, I am having a problem with one specific email not syncing incoming emails using IMAP on my BB Classic. IMAP server: imap.secureserver.net I have followed the instructions and all the other accounts I have configured seem to w

  • JMenuBar Event Handling

    I am customizing my own menu bar, I would like to create some event handling, for the top most level, it is not a problem, but when I try to implement some event handling for the drop-down list/menu, nothing happens. The following is the whole class:

  • Attaching a source system in BW

    Hello, Does anyone have any good document regarding the steps of creating a source system (CRM) for BW...? Best regards, Fredrik