Get more the one records  in  procedure by using out parameter

Hi good evening every body,
how to get more the one records in procedure by using out parameter ,
give me one example of it.
regards
subba

Like this ?
SQL> set serverout on
SQL> declare
  2    v_empno dbms_sql.Number_Table;
  3    v_ename dbms_sql.Varchar2_Table;
  4    PROCEDURE P1(p_in_deptno IN emp.deptno%TYPE,
  5                 p1_out OUT  dbms_sql.Number_Table,
  6                 p2_out OUT  dbms_sql.Varchar2_Table) IS
  7    BEGIN
  8      SELECT empno, ename BULK COLLECT
  9        INTO p1_out, p2_out
10        FROM emp
11       WHERE deptno = p_in_deptno;
12    END;
13  BEGIN
14    P1(20, v_empno, v_ename);
15    FOR i in 1 .. v_ename.COUNT LOOP
16      dbms_output.put_line(v_empno(i) || '--' || v_ename(i));
17    END LOOP;
18  END;
19  /
7369--SMITH
7566--JONES
7788--SCOTT
7876--ADAMS
7902--FORD
7941--ABCDEFGHIJKLMNOPQRSTUVWXYZAAAAAA
7942--MY#@ ' "ABC
PL/SQL procedure successfully completed.
{code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • RFC to XI File -  can NEVER EVER  get more than one record in Output file.

    Hi guys
    This might be related to my other post on  File conversion but whatever I do I just can't seem to get more than one record in the output file
    the payload from R3==> XI seems fine
    for example
    <?xml version="1.0" encoding="UTF-8" ?>
    - <rfc:Z_XI_005_RFC xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <IP_CUSTOMER_HEADER>
    - <item>
      <CUSTOMERID>1000001</CUSTOMERID>
      <COMPANY>One-time ship-to</COMPANY>
      <SHORT_NAME>ONE-TIME</SHORT_NAME>
      <STREET />
      <STREET2 />
      <STREET3 />
      <STREET4 />
    ...... more data
    </item>
    then next customer  master data and so on
    - <item>
      <CUSTOMERID>1000005</CUSTOMERID>
      <COMPANY>ddfask</COMPANY>
      <SHORT_NAME>;LK;L</SHORT_NAME>
      <STREET />
      <STREET2 />
      <STREET3 />
      <STREET4/>
    etc etc until
    <HKUNNR>60000</HKUNNR>
      <SALES_REGION />
      </item>
      </IP_CUSTOMER_HEADER>
      </rfc:Z_XI_005_RFC>  
    All I get on the Output target file
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:MT_customer_header xmlns:ns1="http://avenue.com/xi/test">
      <CustomerId>1000001</CustomerId>
      <company>One-time ship-to</company>
      <shortname>ONE-TIME</shortname>
    .... more data
      </ns1:MT_customer_header>
    the <item> and subsequent records all seem to have vanished.
    I must be doing something PARTICULARLY stupid as nobody else ever seems to have this problem --  I've tried almost every possible combination but still to no avail
    The function module is passing a table to XI in the correct structure and the payload seems to be fine so what on earth is broken here !!!,.
    Cheers
    Jimbo

    Thanks everybody -- it's working now
    RFC call was passing data correctly
    function z_xi_005_rfc.
    ""Local interface:
    *"  TABLES
    *"      IP_CUSTOMER_HEADER STRUCTURE  ZAP_CUSTOMER_INFO_2
    endfunction.
    in debug mode table data was fine -- in this instance 3 records were being passed.
    3 errors  in mapping etc fixed (with help from SDN - thanks)
    1)  missing the ITEM level in the Data type (hence mapping)
    2)  needed 0:unbounded in the occurrence
    3)  also mapping Item====>Item was missing (sub fields were ok)
    Points awarded
    final file output ok output now  ok (with 3 fields only for testing)
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:MT_customer_header xmlns:ns1="http://avenue.com/xi/test">
    - <item>
      <Customerid>1000001</Customerid>
      <company>One-time ship-to</company>
      <shortname>ONE-TIME</shortname>
      </item>
    - <item>
      <Customerid>1000005</Customerid>
      <company>ddfask</company>
      <shortname>;LK;L</shortname>
      </item>
    - <item>
      <Customerid>1000010</Customerid>
      <company>One Time Customer Test</company>
      <shortname>SADFIWQEFG</shortname>
      </item>
      </ns1:MT_customer_header>
    Now only the final problem to make file content conversion work.
    Once again thanks --sometimes what seem trivial or simple problems take AGES to fix until someone else gives you a clue --that's why boards like SDN are great value.
    Cheers
    Jimbo

  • Total jobs getting more for one record

    Hi Gurus,
    In the report if I filtered for one record, the result should be TOTAL job scheduled(Key Figure-ZITSCKF) = 1  but since I modified the record for 3 times on different DATES(Character - ZIBFDCH) it is showing as TOTAL job scheduled = 3.
    In update rules I mapped the DSO object (ZIBFDCH) to Info Cube object (ZITSCKF), I written a formulae that---                                  IF( IS_INITIAL( /BIC/ZIBFDCH ), 1, 0 ).
    Please help me regarding this issue, points will be assigned.
    Regards,
    Kiran A

    Hi Kiran,
    sice you have multiple modifications dates, what i think is, create intenal table sort baced on dates and read only one value for the combination of key fields like..DATES(Character - ZIBFDCH),  DSO object (ZIBFDCH). so that one records for key combination will be updated to data target.
    Regards
    Daya Sagar

  • Is it possible to retrieve report for more then one record at Bi Pub

    is it possible to retrieve report for more then one record at a time using BI Publisher on siebel Application

    Hi Sudhir,
    We have tried this.
    I think currently you can query for records you want on UI and run report , then you can see the result set of query in report.
    But i think in future releases of BIP the feature to run a report for selected & Multiple Selected records will be provided.
    Thanks,
    Vamsi

  • How to return more than one record through OUT parameter in procedure

    Hi,
    I want to create a procedure which accepts one input and returns more than one record as output.
    example:
    Input = DeptNo
    Output= Empno,ename,sal,comm,job
    Scenario:
    There can be more than one employee in department we pass as the IN parameter. OUT parameter has to return all the records of the corresponding employee details in that department.
    Thanks in advance for your help
    Regards,
    K.Vijay

    -- I think you can try something like this using ref cursor:
    -- create a package for the type ref cursor and execute
    CREATE OR REPLACE PACKAGE PACK_REFCURSOR_FOR_TABLES AS
         TYPE DATA_TableRows IS REF CURSOR;
    END;
    -- after executing the package above, create your procedure:
    CREATE OR REPLACE PROCEDURE GET_EMP (
         IN_nDeptNo IN number,
         OUT_Emp OUT PACK_REFCURSOR_FOR_TABLES.DATA_TableRows)
    IS
    BEGIN
    -- leave query open (implicit) as this will return data
         OPEN OUT_Emp FOR
         SELECT *
         FROM tblEmp
         WHERE DeptNo = IN_nDeptNo;
    END;
    --execute the procedure and you're done                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to concat columns from more than one record?

    I have a function that takes an Oracle long and returns it as a varchar so that I can use it in the Microsoft world. My problem is that the SELECT returns more than one row (which is valid) and I need the Long fields to be concatenated into the one varchar returned. Currently I get an error saying more than one record is returned. This is my function:
    CREATE or replace function m4owner.Get_Request_Text
    (av_REQUEST_ID varchar2, av_REQUEST_LINE number, av_TEXT_LINE_CODE varchar2)
    RETURN varchar2
    IS
    long_var LONG;
    BEGIN
    SELECT TEXT INTO long_var
    FROM M4OWNER.REQUEST_TEXT
    WHERE REQUEST_ID = av_REQUEST_ID
    AND REQUEST_LINE = av_REQUEST_LINE
    AND TEXT_LINE_CODE = av_TEXT_LINE_CODE;
    return long_var;
    END;

      CREATE or replace function m4owner.Get_Request_Text (av_REQUEST_ID varchar2,
                                                           av_REQUEST_LINE number,
                                                           av_TEXT_LINE_CODE varchar2) RETURN varchar2 IS
        long_var LONG;
      BEGIN
        for t1 in  (SELECT TEXT FROM M4OWNER.REQUEST_TEXT
                     WHERE REQUEST_ID = av_REQUEST_ID
                       AND REQUEST_LINE = av_REQUEST_LINE
                       AND TEXT_LINE_CODE = av_TEXT_LINE_CODE) loop
          long_var := long_var || t1.text;
        end loop
        return long_var;
      END; note: untested

  • How to apply data into 2 tables AND to more than one record in same table?

    Hello,
    I am trying to apply/insert data into 2 tables AND at the same time apply data to more than one record (in the same table). How would I do this in APEX?
    I have updated using one table with no problem, however, when I try updating with the two tables/ multiple record sets, I get errors.
    I appreciate the help.
    Thanks.
    Linda

    You can achieve what you want using PL/SQL. Can you post ur code?

  • How to retrieve more then one record from database

    I am doing a SELECT FROM WHERE SQL statement on a database which returns more then one record. I want to retrieve certain column values from the selected records. How do I do that? If only one record is returned, I know I can do a data operation with operation set to 'Get-Retrieve Values from Record' and Record to operate on set to 'Current-Use current record'. I need to find out how to configure to data operation window in the case more then one record is returned by the preceding SQL statement. Depending on the number of records returned, I can dynamically create array variables to store the 'to be retrieved' column values, just dont know how to retrieve them.
    Any help will be greatly appreciated.
    Thanks
    Anuj

    I apologize for not being clear in explaining my problem, perhaps I should have posted an example. Anyways, I was able to figure out the solution. I was doing an 'Open SQL' statement which was selecting multiple records (rows) from a table in the dB. I was storing the number of records returned in a local variable. Then, I wanted to retrieve certain columns of all the selected rows (records). In the "Data operation", I was choosing the 'Record to operate on' as 'Current-Use Current Record'. Changing this field to 'Next-Fetch next record' fixed the problem. I then retrieved the values of those columns into a dynamically created array variable whose dimensions came from the local variable which stored the number of records returned in the SELECT SQL statement. 
    Thanks
    Anuj

  • How to show more than one record at a form-like style report?

    Hi All,
    I developed a form-like style report
    I want it to show more than one record at once (At the same page)
    I tried that by setting the value to "Maximum records per page" property for the repeating frame to 10
    but when I close the property palete and open it agian the value is returned to 1 !!!
    how to show more than one record at the same page?????
    Thank u

    Hi,
    there's perhaps another property like "page protect". If than 2 records didn't fit at one page there's a page break. Or is there any object inside the repeating frame with page-break properties? Sorry .. it's like looking into a chrystal ball ...
    Regards
    Rainer

  • Master_detail for more than one record at a time

    Hi,
    How can i display master_detail records for more than one records at a time, for example, i have two tables A and B , A has username and role and B has username and profile. here i wanted to display 10 users at a time on my 6i form with username, role and profile.
    i have created a master-detail relation ship with these tables when i'm executing F8 on blcok A , it displays 10 records on BlockA but, only one at a time on block B, how can i display all corresponding records on block B at a time.
    Thanks for your help.Bcj

    Thanks Roberts, that was realy informative due to some doubts i would like to confirm my requirements , i have two blocks A and B and each master record has only one detail record. but i wanted to display at least 10 master_detail relationships(records) on the form at a time, i would like to know is it possible to do without creating any table or view for example,
    data in table A,
    username role
    AAA R1
    BBB R2
    CCC R3
    data in table B,
    username profile
    AAA P1
    BBB P2
    CCC P3
    i wanted to display it on form like below,
    username role profile
    AAA R1 P1
    BBB R2 P2
    CCC R3 P3
    Also would like to know that how can i select data from dba_users, any restriction is there on forms 6i, i can select it on sqlplus.
    Thanks Again, Bcj

  • How do I get more than one signature option in Fill and sign?

    How do I get more than one signature option in Fill and sign?

    Hi,
    Are you trying to place more than one signature on a PDF document?
    Please explain the workflow.
    Regards,
    Anand

  • Can I get more than one account on iphone microsoft exchange server

    Hi all,
    I was trying to get more than one account on iphone microsoft exchange server for mail, but it seems to only accept one. Is this true with everyone else out there. I guess I am one of the few people with more than one email account that uses microsoft exchange. I would love to have the convience of accessing them through iphone mail but it seems that I will be forced to use safari for the other two by typing owa... in the url.
    any workaround to the one email account per iphone policy??

    Yu can only have one Exchange Server account per device. This is true to iPhone and any Windows mobile device in the market. The work around is to set your other accounts that reside on an Exchange server using IMAP or POP settings as you used to do before the Version 2 update allowed you to sync directly to the Exchange Server. This methode will allow you to add as many accounts as you want or have.

  • How can I get more than one firewre port ?

    Hello,
    how can I get more than one firewire port ? I'd like to be able to connect my canon HV30 camera as well as my firewire external HD at the same time so I can use firewire to upload the videos I've taken. Is this possible?
    TIA

    Hi ginestre-
    Many FireWire hard drives have 2 firewire ports so that you can daisy-chain devices and connect the camera that way.
    Daisy-chaining is not the most reliable method, but it works, so you could buy a FireWire hub.
    Luck-
    -DP

  • I downloaded pictures onto my iPhone from computer twice by mistake now when i uncheck/sync then check and sync again  i keep getting two lots of pics..how can i get just the one set again? thnx

    I downloaded pictures onto my iPhone from computer twice by mistake now when i uncheck/sync then check and sync again  i keep getting two lots of pics..how can i get just the one set again? thnx

    You're welcome.
    All photos transferred from your computer are stored in the iPhone's Photo Library regardless if you select a single album or folder of photos to be transferred or multiple albums or folders. The photos on the albums or folders of photos include a pointer to the original photos stored in the Photo Library. The photos are not duplicated taking up double the storage space. This way you can view the photos in an album or folder of photos only by selecting the album or folder, or all photos in all albums or folders by selecting Photo Library.
    Makes more sense when transferring multiple albums or folders of photos which cannot be changed when transferring only a single album or folder of photos.
    The same applies with iTunes and music playlists. A song can't be in a playlist unless it is in the main iTunes library. Placing a song in a playlist does not duplicate the song.

  • In which IT To Date is not allowed & not having more than one record

    Hi all,
    Could you please tell me "In which IT To Date is not allowed & not having more than one record ?"
    Thanks in advance
    Regards,
    Asiya

    Hi,
    Just go through IT0003 and see if it fulfills the requirements or not.
    Param

Maybe you are looking for