How to print all values in record datatype?

Hello friends ,
I wrote one function which returned the  departments record type.
when  ever I called the function that returned departments record type and stored  in department record type variable..I have to print all the values in record...
What  can I do???
My code is like this...
set serveroutput on
declare
type depcur is ref cursor return departments%rowtype;
dep depcur;
rec departments%rowtype;
function ref_cur_demo(ref1  in depcur) return departments%rowtype
is
v_dep departments%rowtype;
begin
loop
fetch ref1 into v_dep;
exit when ref1%notfound;
end loop;
return v_dep;
end;
begin
open dep for select *from departments;
rec:=ref_cur_demo(dep);
--Here I have to print all the record variables;
end;

Hi Gopi,
You have to write the program in different way. In your case the function always returns only one value. You can see only one department detail as output.
To display a record type variable you need to use record type variable name .(dot) field name.
SQL> set serveroutput on
SQL> declare
  2  type depcur is ref cursor return departments%rowtype;
  3  dep depcur;
  4  rec departments%rowtype;
  5  function ref_cur_demo(ref1  in depcur) return departments%rowtype
  6  is
  7  v_dep departments%rowtype;
  8  begin
  9  loop
10  fetch ref1 into v_dep;
11  exit when ref1%notfound;
12  end loop;
13  return v_dep;
14  end;
15  begin
16  open dep for select *from departments;
17  rec:=ref_cur_demo(dep);
18  --Here I have to print all the record variables;
19  dbms_output.put_line(rec.department_id||'  '|| rec.department_name||'    '|| rec.manager_id||'    '||rec.location_id);
20  end;
21  /
270  Payroll        1700
PL/SQL procedure successfully completed.
Here is the sample code which will demonstrates using ref cursors.
SQL> create or replace function get_dept_detail
  2  return sys_refcursor
  3  is
  4
  5     x_res sys_refcursor;
  6
  7  begin
  8
  9     open x_res for select * from departments;
10     return x_res;
11
12  end get_dept_detail;
13  /
Function created.
SQL>
SQL>
SQL> -- Execution
SQL>
SQL> declare
  2
  3      res sys_refcursor;
  4      l_rec departments%rowtype;
  5
  6  begin
  7
  8     res := get_dept_detail;
  9
10     loop
11        fetch res into l_rec;
12        exit when res%notfound;
13        dbms_output.put_line( l_rec.department_id||'  '||l_rec.department_name);
14     end loop;
15
16  end;
17  /
10  Administration
20  Marketing
30  Purchasing
40  Human Resources
50  Shipping
60  IT
70  Public Relations
80  Sales
90  Executive
100  Finance
110  Accounting
120  Treasury
130  Corporate Tax
140  Control And Credit
150  Shareholder Services
160  Benefits
170  Manufacturing
180  Construction
190  Contracting
200  Operations
210  IT Support
220  NOC
230  IT Helpdesk
240  Government Sales
250  Retail Sales
260  Recruiting
270  Payroll
PL/SQL procedure successfully completed.
SQL>
SQL> -- In SQL*PLUS
SQL>
SQL> var res refcursor
SQL> execute :res := get_dept_detail;
PL/SQL procedure successfully completed.
SQL>
SQL> print res;
DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID LOCATION_ID
           10 Administration                        200        1700
           20 Marketing                             201        1800
           30 Purchasing                            114        1700
           40 Human Resources                       203        2400
           50 Shipping                              121        1500
           60 IT                                    103        1400
           70 Public Relations                      204        2700
           80 Sales                                 145        2500
           90 Executive                             100        1700
          100 Finance                               108        1700
          110 Accounting                            205        1700
DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID LOCATION_ID
          120 Treasury                                         1700
          130 Corporate Tax                                    1700
          140 Control And Credit                               1700
          150 Shareholder Services                             1700
          160 Benefits                                         1700
          170 Manufacturing                                    1700
          180 Construction                                     1700
          190 Contracting                                      1700
          200 Operations                                       1700
          210 IT Support                                       1700
          220 NOC                                              1700
DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID LOCATION_ID
          230 IT Helpdesk                                      1700
          240 Government Sales                                 1700
          250 Retail Sales                                     1700
          260 Recruiting                                       1700
          270 Payroll                                          1700
27 rows selected.
SQL>
Cheers,
Suri ;-)

Similar Messages

  • How to Print all values stored in an Associative array

    DB version:10gR2
    There can be multiple results(multiple rows) for the below query. So, i'll have to declare the variables v_sid_serial, v_orauser, v_objectname,v_objecttype as associative arrays.
    SELECT l.session_id||','||v.serial# sid_serial, l.ORACLE_USERNAME,o.object_name,o.object_type,
           into v_sid_serial, v_orauser, v_objectname,v_objecttype
    FROM dba_objects o, v$locked_object l, v$session v
    WHERE o.object_id = l.object_id
          and l.SESSION_ID=v.sid;But I want to store the results from the above query in flat file. I want the result set to look like
    SID_SERIAL      ORA_USER               OBJECT_NAME           
    742,32914    SCOTT                        EMP
    873,49832    HR                           EMPLOYEES
    893,9437     mytestschema                 emp_dtls
    .            .How can i print the values in Associative arrays in the above manner so that i can spool the result set to a flat file?
    Edited by: user10373231 on Sep 29, 2008 5:19 AM

    user10373231 wrote:
    is there any way to print all values stored in an Associative arrayPrint to where?
    You could use DBMS_OUTPUT to get the output on the screen within SQL*Plus.
    You could also output (pipe) the data from PL/SQL using a pipelined function that you select from SQL. An example of a pipelined function...
    SQL> CREATE OR REPLACE TYPE myrec AS OBJECT
      2  ( col1   VARCHAR2(10),
      3    col2   VARCHAR2(10)
      4  )
      5  /
    Type created.
    SQL>
    SQL> CREATE OR REPLACE TYPE myrectable AS TABLE OF myrec
      2  /
    Type created.
    SQL>
    SQL> CREATE OR REPLACE FUNCTION pipedata(p_str IN VARCHAR2) RETURN myrectable PIPELINED IS
      2    v_str VARCHAR2(4000) := REPLACE(REPLACE(p_str, '('),')');
      3    v_obj myrec := myrec(NULL,NULL);
      4  BEGIN
      5    LOOP
      6      EXIT WHEN v_str IS NULL;
      7      v_obj.col1 := SUBSTR(v_str,1,INSTR(v_str,',')-1);
      8      v_str := SUBSTR(v_str,INSTR(v_str,',')+1);
      9      IF INSTR(v_str,',')>0 THEN
    10        v_obj.col2 := SUBSTR(v_str,1,INSTR(v_str,',')-1);
    11        v_str := SUBSTR(v_str,INSTR(v_str,',')+1);
    12      ELSE
    13        v_obj.col2 := v_str;
    14        v_str := NULL;
    15      END IF;
    16      PIPE ROW (v_obj);
    17    END LOOP;
    18    RETURN;
    19  END;
    20  /
    Function created.
    SQL>
    SQL> create table mytab (col1 varchar2(10), col2 varchar2(10));
    Table created.
    SQL>
    SQL> insert into mytab (col1, col2) select col1, col2 from table(pipedata('(1,2),(2,3),(4,5)'));
    3 rows created.
    SQL>
    SQL> select * from mytab;
    COL1       COL2
    1          2
    2          3
    4          5... which you can easily adapt to output whatever data you want e.g. you could loop through your associative array and pipe out the values within it.

  • How to print all the pages in wad

    HI i am having a report with 3000 records when opened in wad, but when we print the Report, it is giving us records(60) on only first page, how do we print all the 3000 records from all the pages by clciking on print only once.
    Thank You,
    Kris.

    i am not able to print any pages after inserting the code, am i placing the code in the right place.
    <HTML>
    <!-- BW data source object tags -->
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_DATA_PROVIDER"/>
             <param name="NAME" value="DATAPROVIDER_2"/>
             <param name="DATA_PROVIDER_ID" value=""/>
             DATA_PROVIDER:             DATAPROVIDER_2
    </object>
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_DATA_PROVIDER"/>
             <param name="NAME" value="DATAPROVIDER_1"/>
             <param name="QUERY" value="ZPARAMTEST"/>
             <param name="INFOCUBE" value="ZEMPPRM"/>
             DATA_PROVIDER:             DATAPROVIDER_1
    </object>
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_PROPERTIES"/>
             <param name="TEMPLATE_ID" value="ZEMPPARM"/>
             TEMPLATE PROPERTIES
    </object>
    <td>
    <table class="SAPBEXBtnStdBorder" cellspacing="0" cellpadding="0" border="0"><tr><td nowrap>
    <table border="0" cellpadding="0" cellspacing="1"><tr><td nowrap class="SAPBEXBtnStdIe4">
    <A class=SAPBEXBtnStd title="Print via Web Button" href="<SAP_BW_URL cmd="PROCESS_HELP_WINDOW" help_service="ZPRINTING" item="GR1Table">" target=_blank><nobr> Print</nobr> </A>
    </td></tr></table>
    </td></tr></table>
    </td>
    <td width="100%">  </td>
    </tr></table>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft DHTML Editing Control">
    <TITLE>BW Web Application</TITLE>
          <link href="/sap/bw/Mime/BEx/StyleSheets/BWReports.css" type="text/css" rel="stylesheet"/>
    </HEAD>
    <BODY>
    <P><object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="EMPLOYEE_TABLE"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
             <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
             <param name="BLOCK_SIZE" value="5"/>
             ITEM:            EMPLOYEE_TABLE
    </object></P>
    </BODY>
    </HTML>

  • How To Print Field Value in TOP-OF-PAGE During Line Selection.

    How To Print Field Value in TOP-OF-PAGE During Line Selection when double click on field.

    (If my memory serves me well (not used for long time ago)
    Assign values to system fields sy-tvar0 - sy-tvar9, they will replace the placeholders "&0" through "&9" in the list headers and column headers.
    TOP-OF-PAGE DURING LINE-SELECTION.
         WRITE: / 'Interactive Report &3'.
      WRITE record-vbeln TO sy-tvar3.
    Regards,
    Raymond

  • How to print Jtable values in one A4 size paper

    Hi,
    i am having JPanel , this panel have Jtbale, Jtextfield, Jlable, i search the code for Printing Jpanel, its work fine and print whole JPanel including, jtable, textbox, everything.
    my Jtable have Scroll bar to see all the values in the table,my problem is when i was print the JPanel the Jtable print only the display values in Jtable, cannot print all the values from Jtable,(eg. Jtable have 50 rows, screen display 20 rows only, move the scrollbar to see remaining,) .
    i want to print 50 rows how to print the values anyone can help me
    thanks in advance.

    Duplicate post. Mods please do your duty.

  • How to print all columns in one page

    Hi,
    Can anybody explain me how to print all columns in one page.we have around 15 to 20 columns for 4 reports and all these reports are build on one multiprovider.we are using BW 3.5.
    Can anyone explain me  how to print ALL COLUMNS IN ONE PAGE  .currently they are getting all columns in 2 to 3 pages. They are using PORTAL to run the reports here.
    Is it possible to do by customizing Webtemplate or by macros in Workbook.Please help me
    Edited by: kotha123 on Oct 11, 2010 5:58 PM

    Hi,
    Your best bet is to use a workbook template or else Excel to pdf option...Thanks

  • How to read all values of a queue

    Hi All,
    In Message mapping I am checking condition for field value based on incoming value.
    In test cases i can see the second or third  occurence is getting supressed and first value fails the condition and mapping node not created.
    I would like to know how to read multiple values from queue and check condition for each value and if correct value present condition should pass.
    I tried all possible context changes but no luck.
    Any ideas how to read all values coming .
    Thanks.

    <?xml version="1.0" encoding="UTF-8"?>
    <msg version="" dbName="">
       <rowOp isLast="" cmitLSN="" cmitTime="" authID="" correlationID="" planName="">
          <updateRow subName="" srcOwner="" srcName="" intentSEQ="" rowNum="" hasLOBCols="">
             <col name="END_RSN_CDE" isKey="852369" invalidData="" rawData="">
                <smallint>
                   <beforeVal invalidData="" rawData=""/>
                   <afterVal invalidData="" rawData=""/>
                </smallint>
                <date>
                   <beforeVal invalidData="" rawData=""/>
                   <afterVal invalidData="" rawData=""/>
                </date>
                <char>
                   <beforeVal invalidData="" rawData=""/>
                   <afterVal invalidData="" rawData=""/>
                </char>
             </col>
             <col name="SVC_USER_SDT" isKey="789654" invalidData="" rawData="">
                <smallint>
                   <beforeVal invalidData="" rawData=""/>
                   <afterVal invalidData="" rawData=""/>
                </smallint>
                <date>
                   <beforeVal invalidData="" rawData=""/>
                   <afterVal invalidData="" rawData=""/>
                </date>
                <char>
                   <beforeVal invalidData="" rawData=""/>
                   <afterVal invalidData="" rawData=""/>
                </char>
             </col>
          </updateRow>
       </rowOp>
    </msg>

  • How to show "ALL" Values by default in Page Drop-Down Lists in Pivot Tables

    Hi Everyone,
    Iam stuck with 1 problem please can any 1 help me if u know the solution.
    Here is my problem:
    How to show "ALL" Values by default in Page Drop-Down Lists in Oracle BI Pivot Tables?
    For example, if you place Region in the pages area, a Region drop-down list allows the user to select a particular region, and see the data for only that region, rather than seeing all the Regions,But by default its not showing "ALL" option in the drop down list ,rather than doing that its showing result for only 1 region by default.
    And an other problem with this pages area is, if we palce the multiple attributes in the Pages area in the pivot table, the (Fields)result is showing in vertically, the attributes 1 by 1(Every attribute in a new line) ,rather than showing like that, is there any way to show the results in horizantally?(We want to have it as a seperate drop drown list for every field horizantally not as a concatenated list).

    Thanks Nikhil. But I am fetching the values from the LOVCache.java.
    I am using <af:selectManyChoice>. Is there any way I can use LOVCache.java value for selecting default values instead of hard coding?
    I mean to say can I write
    unselectedLabel="#{LOVCache.entityTypeSelectionList.anyValue}"
    where LOVCache.entityTypeSelectionList is used to populate the drop down box.
    Regards,
    Aseet

  • How to print the value of a field of  type FLTP

    hi experts,
    pls tell me how to print the value of a field of  type FLTP. i.e in decimal format not in exponential format.
    thankyou.
    krishna

    Hi ,
    I dont think in Floating point u can able to go for the decimal point display as it is for the minimum precission display..
    Define the variable as the 'packed' type and then u can able to define the decimal point...
    Cheers,
    SImha.

  • How to print all records in database ?

    Hello,
    I am developing a small Database System. Which is used to store some information about student and then print that record, which I want to print. I have used JPanel for Printing single record. As like When I insert student id in TextBox. which is unique. then Click on Search button that is use for searching Record from database. After that the information shown in belowing JPanel. Then using one button for printing this record. It is printing only one record that I have searched. Now what is the problem, I want to print All record from database(can be 500 or 5000) without mentioning any student id in textbox.
    Any type of help Appreciated.
    Thanks in advance.
    Manveer

    Hello Manveer,
    your problem is neither Swing-related or in any other way java specific.
    If you manage to get the data of one student, excellent. Now modify your db-query in the way that the result set returns all students. Loop over the result set and print as usual.

  • How to remove all values from column

    Hi all
    I have one table and in that i have one column which contain some null value.now i want add a not null constraint on that column but it already contain null values.
    how shuld i delete that column value only or how should i proceed now please help me

    What do you mean by REMOVE?
    All values for that column are null or not? if not, then can those value removable?
    NULL means no value, how can you remove non-existing value?
    Update the null column to default value is one way.
    the other is to drop the column and add it again together with your not -null constraint.
    But I definitely wouldn`t recommend this approach in your case since some of your records have values for that column.

  • How to print the values of type Object?

    Hi All,
    I am not able to print values of the following can anyone telme where i am wrong and what i can do in this regard.
    Object one = request.getAttribute("values");
    When i try to print these values as following
    System.out.println("one ="+one);
    am not getting the values in a different format something like [Ljava.lang.String;@1234f. I tried to convert the following Object to String still its not working. Can some one please suggest me what i can do in this regard.
    Thanks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    ferrari_sun wrote:
    I am getting a Null pointer exception if i typecast it to a string array. Not sure what to do nowThe hell you are. You don't get Null pointers out of casting. However you might be accessing null elements of the array afterwards.
    You really should throw away the code, go fetch some "How to learn basic Java with Wiggles The Bear" ebook and then start learning the basics instead of tripping on every single line of your code which is too complicated for you.

  • How to print Excise values in Purchase Order Smartform

    Hi, Experts,
    I am developing the Purchase Order Smartform as per the my client requirment. For this i took the copy of standard Smartform for PO. The name of the standard smartform is 'YBIN_MMPO'. My requirment is to print all the excise values {BED,CESS,ECESS and VAT/CST} of every item. How to get these conditions to print in PO. I serched the table KONV, but the conditions which are under the taxes button are not stored in this table.
    For this I found one FM "CALCULATE_TAX_FROM_AMOUNT'. This is also not helpful if client goes to manual excise to create PO.
    Is there any other table to get these conditions? or is there any function modules to get these conditions?
    Please give me the solution.
    Thanks & regards,
    Jagadeesh.

    Hi,
    I used this piece of code to get the excise values in PO.
    SELECT SINGLE * FROM EKPO INTO
                    W_EKPO
             WHERE EBELN EQ IS_EKKO-EBELN AND
                   EBELP EQ <FS>-EBELP.
    CALL FUNCTION 'J_1I4_COPY_PO_DATA'
        EXPORTING
          Y_EKPO        = W_EKPO
        EXCCOM        =
    CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
    EXPORTING
    i_bukrs                 =  <FS>-BUKRS
    i_mwskz                 =  <FS>-MWSKZ
      I_TXJCD                 =
    i_waers                 = IS_EKKO-WAERS
    i_wrbtr                 =  <FS>-NETWR
      I_ZBD1P                 = 0
      I_PRSDT                 =
      I_PROTOKOLL             =
      I_TAXPS                 =
      I_ACCNT_EXT             =
    IMPORTING
      E_FWNAV                 =
      E_FWNVV                 =
      E_FWSTE                 =
      E_FWAST                 =
    tables
    t_mwdat                 = ITAB_TAXDATA
    EXCEPTIONS
       BUKRS_NOT_FOUND         = 1
       COUNTRY_NOT_FOUND       = 2
       MWSKZ_NOT_DEFINED       = 3
       MWSKZ_NOT_VALID         = 4
       KTOSL_NOT_FOUND         = 5
       KALSM_NOT_FOUND         = 6
       PARAMETER_ERROR         = 7
       KNUMH_NOT_FOUND         = 8
       KSCHL_NOT_FOUND         = 9
       UNKNOWN_ERROR           = 10
       ACCOUNT_NOT_FOUND       = 11
       TXJCD_NOT_VALID         = 12
       OTHERS                  = 13
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.
    regards,
    Jagadeesh T.

  • How to print all pages using ALV from CL_SALV_TABLE?

    Dear friends,
    I have a report which displays a dynamic internal table using CL_SALV_TABLE. The display format is normal list.
    And since this dynamic internal table is big, I have divided it into a sub internal table which displays 10 columns in one page at one time. And each page is displayed using a customized button that I set as MyFunction.
    The problem is, when I click List->Print or Ctrl-P, the system will only send to spool the current page even though in the Print dialog box, I choose Print All option.
    Is there a way to rectify this? Thanks.

    Hi,
    Try this..code...the above FM expects purchasing organization..revised code below mentioned..
    please try..
    DATA: kdy_val(8) VALUE '/110'.
      SET PARAMETER ID 'LIF' FIELD 'VENDOR'.   " Pass the vendor
      SET PARAMETER ID 'KDY' FIELD KDY_VAL.
      CALL TRANSACTION 'XK03' AND SKIP FIRST SCREEN.
    Thanks
    Naren

  • How to print a value in text format

    hello,
            I want to print a value for eg. 1083.00 in word like one thousand eighty three only......can anybody tell me is there any function module present in SAP to do same.......<removed by moderator>
    Edited by: Mike Pokraka on Aug 4, 2008 6:42 PM

    Hi hav a luk @ below code,
    REPORT  zmdamountwords.
    TABLES: spell,
                  komk.
    *&      Form  get_amt_words
    *       text
    *      -->AMT        text
    *      -->WORDS      text
    FORM get_amt_words TABLES  in_tab  STRUCTURE itcsy
                               out_tab STRUCTURE itcsy.
      DATA : value1 LIKE bseg-dmbtr.
      DATA : value(18).
      DATA : t_value(18).
      DATA : value_s1(18).
      DATA : value_s2(19),
             value_s3(19),
             value_s4(19),
             rs_str(256),
             len TYPE i,
             words LIKE spell.
      CLEAR : value,value1,t_value.
      READ TABLE in_tab WITH KEY 'KOMK-FKWRT'.
      REPLACE ALL OCCURRENCES OF ',' IN in_tab-value  WITH  space.
      CONDENSE in_tab-value.
      value = in_tab-value.
      value1 = value.
      CALL FUNCTION 'Z_SPELL_AMOUNT_INR'
        EXPORTING
          amount     = value1
        IMPORTING
          rupees_str = rs_str
        EXCEPTIONS
          OTHERS     = 1.
      CONDENSE rs_str.
      READ TABLE out_tab WITH KEY 'RS_STR'.
      IF sy-subrc = 0.
        out_tab-value = rs_str.
        MODIFY out_tab INDEX sy-tabix.
      ENDIF.
    ENDFORM.                    "GET_AMT_WORDS
    Let me know if you have any doubt.
    Reward if useful.
    Warm Regards,
    Mohandoss P.

Maybe you are looking for