How to repeat binding dates in header row when tadaset in table must be paginated?

I need to make a form which is filled by XDP file (this file is made by other SW (payroll)).
This form contains table. There are some binded (filled) text fields in a header row and some filled text fields in a body row. (For example - name is in header row, some personal dates are in body row). Body row is dynamic, count of body rows is different for each name.
When the table overflows the page, I need to repeat the header row with name on the second page.
And here is a problem. Header row is repeated, but text field (with name) is empty.
Files for example are : http://www.ulozto.net/soubory/strelenkas/documents/
Thank you very much

loop at ot into wa.
at first header one
write second header.
endloop.
declear one internal table append both values in come internal table .
pass the header in comen internal table.
Message was edited by:
        Karthikeyan Pandurangan

Similar Messages

  • How to prevent Oracle from using an index when joining two tables ...

    How to prevent Oracle from using an index when joining two tables to get an inline view which is used in an update statement?
    O.K. I think I have to explain what I mean:
    When joining two tables which have many entries sometimes it es better not to use an index on the column used as join criteria.
    I have two tables: table A and table B.
    Table A has 4.000.000 entries and table B has 700.000 entries.
    I have a join of both tables with a numeric column as join criteria.
    There is an index on this column in table A.
    So I instead of
      where (A.col = B.col)I want to use
      where (A.col+0 = B.col)in order to prevent Oracle from using the index.
    When I use the join in a select statement it works.
    But when I use the join as inline view in an update statement I get the error ORA-01779.
    When I remove the "+0" the update statement works. (The column col is unique in table B).
    Any ideas why this happens?
    Thank you very much in advance for any help.
    Regards Hartmut

    I think you should post an properly formatted explain plan output using DBMS_XPLAN.DISPLAY including the "Predicate Information" section below the plan to provide more details regarding your query resp. update statement. Please use the \[code\] and \[code\] tags to enhance readability of the output provided:
    In SQL*Plus:
    SET LINESIZE 130
    EXPLAIN PLAN FOR <your statement>;
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);Usually if you're using the CBO (cost based optimizer) and have reasonable statistics gathered on the database objects used the optimizer should be able to determine if it is better to use the existing index or not.
    Things look different if you don't have statistics, you have outdated/wrong statistics or deliberately still use the RBO (rule based optimizer). In this case you would have to use other means to prevent the index usage, the most obvious would be the already mentioned NO_INDEX or FULL hint.
    But I strongly recommend to check in first place why the optimizer apparently seems to choose an inappropriate index access path.
    Regards,
    Randolf
    Oracle related stuff:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle:
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • How do you freeze the tablix header row in an Excel export file in SSRS 2008?

    So this is totally killing me.
    I've found out how to make a tablix header row repeat on each page of a PDF export file in SSRS 2008 (which I won't even get started on because all I can say is that 2005 is way better), but I cannot figure out how to make a simple header row of a tablix
    freeze in an Excel export file.  The tablix is right at the top of the body and spans the entire width of the design area.  How in the world do you get it to freeze in the Excel export file?

    Rashiki777,
    From your information, I get that you want to freeze the tablix header when view the report in Excel. Please follows
    these steps:
     Click
    the header row
    Click
    View menu on  top of the toolbar, then you will Freeze Panes
    Select one kind of Freeze based on your requirement.
    This link supplies the detailed steps
    http://inpics.net/tutorials/excel2007/vis5.html If you have any concern, please feel free to ask.
    Of course,
    you could utilize the list control to display a certain rows on one sheet, then every sheet in Excel will have one header, the steps are following:
    Drag a list into report body, right-click
    Details in Row Groups panel to select Group Properties….
    Click
    Add button, then type in expression =ceiling(RowNumber(nothing)/25)
    in the textbox Note: 25 is just 25 rows per page, you could reset this value based on your requirement.
    Drag the table control into this list control.
    If you want to display every page in every sheet, you could add a page break to the table control in the list.
    Best regards,
    Challen Fu

  • Missing Header Row When Exporting Data to Excel and Program Runs Slow

    Hello all,
    I am new to programming. I’ve dabbled with VB.NET at times over the years but this is the first time I’m trying C#. Although, it’s been quite a while since I’ve done any type of programming other than writing SQL queries at work. For the sake of trying to
    learn I have given myself a project that is something I can actually use at work. Right now I'm doing it at home. I’m querying a database on SQL Server 2008 R2; putting the data from the DB into a DataViewGrid and then exporting the data into Excel and saving
    the file on my C:\ drive. On the form I have two buttons; one that queries the DB and the other to do the export. The code below does work but I have two issues that I need assistance with:
    All of the SQL table data goes into Excel properly with the exception of it is missing the header row.
    After I click the Export button it takes a long time to create the Excel file. It takes between 2.5 and 3 minutes. It is not a big file (only 447 rows and 125 KB in size) so I don’t know why it takes so long. Does it have anything to do with the number
    of times Microsoft.Office.Interop.Excel is being referenced? I read somewhere online that is an old COM method although I’m not familiar with what a COM method is
    and why it would make things run so slow.
    When I click the button to run the SQL query and load the DataGridView it runs immediately.
    I plan on taking this project further such as adding date parameters including validation on the dates and then maybe adding buttons that can be used to insert, update and delete records. But I don’t want to go any further until the two issues mentioned
    above are resolved. Any assistance / guidance will be greatly appreciated. Here’s the code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using Exccel = Microsoft.Office.Interop.Excel;
    using System.IO;
    namespace Bills_DB_DataGridView
        public
    partial
    class
    Form1 :
    Form
    SqlCommand sqlCMD;
    SqlDataAdapter sqlDA;
            SqlCommandBuilder sqlCB;
    DataSet sqlDS;
    DataTable sqlDT;
    public Form1()
    InitializeComponent();           
    private
    void btnExit_Click(object sender,
    EventArgs e)
    this.Close();
    private
    void btnLoad_Click(object sender,
    EventArgs e)
    string sqlCon =
    "Data Source = localhost\\DAVE_DB; Initial Catalog=Bills;Integrated security = true;";
    string sqlQry =
    "SELECT * FROM Acct ORDER BY Name, PaymentDate";
    SqlConnection connection =
    new
    SqlConnection(sqlCon);
    connection.Open();
    sqlCMD = new
    SqlCommand(sqlQry, connection);
    sqlDA = new
    SqlDataAdapter(sqlCMD);
           sqlCB = new
    SqlCommandBuilder(sqlDA);
    sqlDS = new
    DataSet();
    sqlDA.Fill(sqlDS, "Acct");
    sqlDT = sqlDS.Tables["Acct"];
    connection.Close();
    dataGridView1.DataSource = sqlDS.Tables["Acct"];
                dataGridView1.SelectionMode =
    DataGridViewSelectionMode.FullRowSelect;
    private
    void btnExport_Click(object sender,
    EventArgs e)
    Microsoft.Office.Interop.Excel.Application xlApp;
    Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
    Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    Int32 i, j;
    xlApp = new Microsoft.Office.Interop.Excel.Application();        
    xlWorkBook = xlApp.Workbooks.Add(misValue);
    xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);          
    for (i = 0; i <= dataGridView1.RowCount - 2; i++)
    for (j = 0; j <= dataGridView1.ColumnCount - 1; j++)
    xlWorkSheet.Cells[i + 1, j + 1] = dataGridView1[j, i].Value.ToString();
    xlWorkSheet.Cells[1, 2].EntireColumn.NumberFormat = "@";
    //Format column 2 to text
    xlWorkSheet.Cells[1, 2].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight;
    xlWorkBook.SaveAs(@"c:\Bills\Bills.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,
    misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
    xlWorkBook.Close(true, misValue, misValue);
    xlApp.Quit();
    releaseObject(xlWorkSheet);
    releaseObject(xlWorkBook);
    releaseObject(xlApp);
    private
    void releaseObject(object obj)
    try
    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
    obj = null;
    catch (Exception ex)
    obj = null;
    MessageBox.Show("Exception Occured while releasing object "
    + ex.ToString());
    finally
    GC.Collect();
    Thank you,
    Dave
    David Young

    Hello again Kristin,
    I tried the code snippet to include the headers in the Excel file but it didn't work for me. Maybe I put the code in the wrong place? Again I have put the code below including where I placed the snippet. I get no error message and the application runs. Am
    I doing something wrong?
    Thank you,
    Dave
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using Exccel = Microsoft.Office.Interop.Excel;
    using System.IO;
    namespace Bills_DB_DataGridView
        public partial class Form1 : Form
            SqlCommand sqlCMD;
            SqlDataAdapter sqlDA;
            SqlCommandBuilder sqlCB;
            DataSet sqlDS;
            DataTable sqlDT;
            public Form1()
                InitializeComponent();            
            private void btnExit_Click(object sender, EventArgs e)
                this.Close();
            private void btnLoad_Click(object sender, EventArgs e)
                string sqlCon = "Data Source = localhost\\DAVE_DB; Initial Catalog=Bills;Integrated security = true;";
                string sqlQry = "SELECT * FROM Acct ORDER BY Name, PaymentDate";
                SqlConnection connection = new SqlConnection(sqlCon);
                connection.Open();
                sqlCMD = new SqlCommand(sqlQry, connection);
                sqlDA = new SqlDataAdapter(sqlCMD);
                sqlCB = new SqlCommandBuilder(sqlDA);
                sqlDS = new DataSet();
                sqlDA.Fill(sqlDS, "Acct");
                sqlDT = sqlDS.Tables["Acct"];
                connection.Close();
                dataGridView1.DataSource = sqlDS.Tables["Acct"];
                dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            private void btnExport_Click(object sender, EventArgs e)
                Microsoft.Office.Interop.Excel.Application xlApp;
                Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
                object misValue = System.Reflection.Missing.Value;
                Int32 i, j;
                xlApp = new Microsoft.Office.Interop.Excel.Application();         
                xlWorkBook = xlApp.Workbooks.Add(misValue);
                // storing header part in Excel
                xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);  
                for (int h = 1; h < dataGridView1.Columns.Count + 1; h++)
                    if (dataGridView1.Columns[h - 1].Visible)
                        xlWorkSheet.Cells[1, h] = dataGridView1.Columns[h - 1].HeaderText;
                xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);           
                for (i = 0; i <= dataGridView1.RowCount - 2; i++)
                    for (j = 0; j <= dataGridView1.ColumnCount - 1; j++)
                        xlWorkSheet.Cells[i + 1, j + 1] = dataGridView1[j, i].Value.ToString();
                        xlWorkSheet.Cells[1, 2].EntireColumn.NumberFormat = "@"; //Format column 2 to text
                        xlWorkSheet.Cells[1, 2].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight;
                xlWorkBook.SaveAs(@"c:\Bills\Bills.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
    misValue, misValue, misValue, misValue, misValue);
                xlWorkBook.Close(true, misValue, misValue);
                xlApp.Quit();
                releaseObject(xlWorkSheet);
                releaseObject(xlWorkBook);
                releaseObject(xlApp);
            private void releaseObject(object obj)
                try
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                    obj = null;
                catch (Exception ex)
                    obj = null;
                    MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
                finally
                    GC.Collect();
    David Young

  • How to process a block for each row in an internal table....

    Hi experts....
    In po approval workflow the scenario is like this.... for each po there may be more than one approver. approvers list i am maintaining in the ztable. list of approvers(no of approvers) is decided by the po value. I have collected these approvers into internal table. now i have to process a block ( approving or rejecting the po... )in the workflow for each row in the internal table.
    how can i do this. based on the decision of the 1st approver  approves the po then it should go to next approver in the internal table...otherwise end the workflow.....
    Please help me......

    i have created an internal table in the workflow container in which i am getting the list of approvers....
    how can i loop the internal table in the workflow...?
    how can i know the index of the loop in the workflow.....(will sy-index work here....? so that i can use loop until step in the main workflow to call the subworkflow..so that if sy-index is greater than no of entires in the itab then i can come out of the loop)

  • How to get parents data from a leaf in a recursive table

    I want to get a list of all parents data related to a leaf in a table.
    The table has 3 rows id, description, parent.
    if I have the id of one of this items I want to get all his parents, is there a way to get this with a select or with connect by prior?

    Maybe
    select substr(sys_connect_by_path(to_char(empno),','),2) parant_chain
      from emp
    where connect_by_isleaf = 1
    start with empno = 7369
    connect by empno = prior mgr
    PARANT_CHAIN
    7369,7902,7566,7839
    Regards
    Etbin

  • PLease Help: Does anyone know how to retain the Scope in the Header Tag when converting a table in

    I am trying to convert aa Word Document with Tables containing Data and Header Columns to retain the Scope="col" when it is converted to PDF.
    After the PDF is created, I check my Header Tags and everything looks fine however the Scope is null and I need to somehow retain scope=columes in order to certify this report is 508 compliant.
    For those who are interested; the html should be:
    <th scope="col"> Color </th>
    My html is coming across the PDF distiller is only <th >     </th>
    Maybe there is another piece of software that does this correctly? I tried OpenOffice - the same problem occurs.
    Thank you
    Mark

    Please post in the Acrobat forum. This forum is for the Adobe Distiller SERVER product. Your question does not involve Distiller Server.

  • How to execute the data in the form when the data is already avaliable

    Hi,
    I am working with forms 6i. I have a problem while executing the data in the form
    Actually, the data is already present in the form. But when i run the form, the data is not displayed.
    can anyone please help me how to execute the data. below is the code
    Set_Alert_Property(alert_id,ALERT_MESSAGE_TEXT,'Do you want to refresh new Data for that Year and Field ? (it will take a time).') ;
                   SET_ALERT_BUTTON_PROPERTY(alert_id, ALERT_BUTTON1, LABEL, 'Yes');
                   SET_ALERT_BUTTON_PROPERTY(alert_id, ALERT_BUTTON2, LABEL, 'No');
                   SET_ALERT_BUTTON_PROPERTY(alert_id, ALERT_BUTTON3, LABEL, 'Cancel');
                   button_number :=Show_Alert(alert_id) ;
                   synchronize;
                   if button_number != ALERT_BUTTON3 then
                        if button_number = ALERT_BUTTON1 then
                             :param.field := :control.f_cd;
                             :param.year := :control.year;
                             build_tables;
                             fields;
    -- areas(:param.field);
                             PUT_PARAM;
                             COMMIT_FORM;
                        go_block('wet_criterias');
                        end if;
                        if button_number = ALERT_BUTTON2 then
                             :exhibits.field_display := :control.f_name || ' - Exhibits';
                             go_block('RESERVOIR');
                             execute_query;
                        end if;
                   end if;
              end if;
    else
         message('Fields must be entered...');
    end if;
    else
    message('Fields must be entered...');
    end if;

    It's hard to know what logic you are trying to implement.
    However, by looking at your code, it seems that if the user select 'Yes' to the question "Do you want to refresh", nothing is done except the go_block('wet_criterias'). Should there be an 'Execute_Query' ?
    No idea...

  • How to Down load Data in Application server into the Internal Table

    hi freinds,
    iam having a file in the application server.
    now i need to send the data in the file to the internal table.
    is there any Function Module?
    i need with out using the OPEN DATA SET and CLOSE DATA SET Keywords.
    is there any possible?
    Regard's,
    Ranjith.

    Hi,
    There is no other option for uploading the data from the application server to the internal table without using OPEN DATASET and CLOSE DATASET. Even if you find the FM internal logic in FM uses these keywords to read the data from Application server.

  • How to retrieve the data type of a column of a table?

    Hi,
    I want to retrieve the data type of a column of a table. At the moment I am querying "OCI_ATTR_DATA_TYPE" attribute but it is returning SQLT_CHR for both varchar2 and nvarchar2 data type columns. I need to distinguish between these two data types columns separately. Is there any API through which I could get the exact data type of a column i.e. "nvarchar2"?
    Thanks in advance.
    Hashim

    Hi,
    This is the Oracle C++ Call Interface (OCCI) forum - I'm not sure if you are using OCCI or OCI (Oracle Call Interface - the C interface) since you reference "OCI_ATTR_DATA_TYPE" which is more of an OCI focus than OCCI.
    In any case, you might take a look at "OCI_ATTR_CHARSET_FORM" which takes the following values:
    #define SQLCS_IMPLICIT 1     /* for CHAR, VARCHAR2, CLOB w/o a specified set */
    #define SQLCS_NCHAR    2                  /* for NCHAR, NCHAR VARYING, NCLOB */So, if you have a datatype of SQLT_CHR and OCI_ATTR_CHARSET_FORM is SQLCS_IMPLICIT then you have a varchar2 if it is SQLCS_NCHAR then you have an nvarchar2.
    If you are using OCCI and not OCI then take a look at MetaData::ATTR_DATA_TYPE and MetaData::ATTR_CHARSET_FORM which expose OCI_ATTR_DATA_TYPE and OCI_ATTR_CHARSET_FORM respectively.
    Perhaps that will get you what you want.
    Regards,
    Mark

  • Unselect all the rows when display my table the first time

    Hi all,
    When I execute my webdynpro the first time my table is displayed with the first row selected, but this is false, this line is not selected.
    If i execute the method get_selected_elements don't return anything in the table, but if i do a Click in this row then works fine.
    I tried to unselect all the rows when i display the table the first time in the method WDDOINIT doing the following;
    DATA lo_nd_my_table TYPE REF TO if_wd_context_node.
      DATA: lt_elements TYPE wdr_context_element_set,
                 lo_element TYPE REF TO if_wd_context_element,
                 lo_node TYPE REF TO if_wd_context_node.
      lo_nd_my_table = wd_context->get_child_node( name = wd_this->wdctx_my_table ).
      lt_elements = lo_nd_my_table->get_elements( ).
      LOOP AT lt_elements INTO lo_element.
        lo_element->set_selected( SPACE ).
      ENDLOOP.
    But, doesn't work...
    How can i do it?
    Thanks in advance.

    hi,Husalban RM     .
    You don't need to DE-SELECT each element of the context node.
    You can try the following:
    lo_node->set_lead_selection_index( -1 ).
    "lo_node is the context node which is bound to your table.
    Hope it can help you a little.
    Best wishes.

  • 4.0 EA3 - Data Default not duplicated when copying a table

    I noticed that when copying a table from one schema to another, if a column has a data default property it is not preserved.
    Steps to recreate:
    Copy a table that has at least one column with a non-null DATA_DEFAULT property (right click on table -> table -> copy)
    Double click on the new table, and open the Columns tab. Notice that all values under DATA_DEFAULT are null.

    The same behavious exists in 3.2.20.09 and whether the table has existing data or not.

  • Spry:repeat display data in multiple rows/columns

    I know how to use spry:repeat to display data in table rows,
    one item per row.
    Is there a way to tell spry to display data in a grid of x
    rows by y columns?
    I'm trying to maximize the page's real estate. Here is the
    page
    http://www.jannah.com/mp3/browse.html
    Click on "Artist/Scholar" in "STEP1" section. "STEP2" section
    gets filled with a list. I'm trying to display that list in 3
    columns and as many rows as needed. How do I do that?
    While I'm at it, I also can't figure out why the spry:select
    is not working for "STEP2" section; I need to click twice on the
    same item to get it highlighted. the other spry selects on the page
    work ok. Can someone take a look.
    Greatly appreciated.

    You can't use Spry with tables to do this, but if you're up
    to using a div based layout/presentation, it is possible. Check out
    the Zuggest sample:
    http://labs.adobe.com/technologies/spry/samples/data_region/ZuggestSample.html
    It uses floated divs to get the same effect. The nice thing
    about using divs, is that more columns dynamically appear as the
    horizontal real-estate is expanded.
    --== Kin ==--

  • How to display Column data in one row

    Hello,
    I have one Employee with 4 effective date displayed in one column. Effective date is drived by Reason of : New Hire, Rehire, Transfer etc.
    I want to show the effective dates for one reason in one single row. For example a person was rehired 4 times it will show as
    1006555     6/12/2006     1/2/2007     6/11/2007     5/12/2008     12/29/2008     5/17/2010
    It's currntly showing as:
    AUDITEFFECTIVEDATE_3
    6/12/2006
    1/2/2007
    6/11/2007
    5/12/2008
    5/17/2010

    Well that's a little tougher... For a solution to work, you're going to need to find a way to differentiate between the the specific hiring events.  Without seeing what data is available, I'd say start looking at the use of running totals... or in this case a running count.
    Set it up to reset on EmployeeID and count each "event", incrimenting up with each instance.
    Then your formula would look more like this...
    IF {EventType} = "Rehire" AND {#RTotal1} = 1 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Exit" AND {#RTotal1} = 1 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Rehire" AND {#RTotal1} = 2 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Exit" AND {#RTotal1} = 2 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Rehire" AND {#RTotal1} = 3 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Exit" AND {#RTotal1} = 3 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Rehire" AND {#RTotal1} = 4 THEN AUDITEFFECTIVEDATE_3
    IF {EventType} = "Exit" AND {#RTotal1} = 4 THEN AUDITEFFECTIVEDATE_3
    This issue then becomes an issue of space on the report. You end up wasting 1/2 of your horizontal space trying to allot for one odd ball... You'll also get to re-work the report if the same employee goes for rounds 5, 6 or 7...
    HTH,
    Jason

  • How to select match data in one row

    hello,
    here is my query and its output
    select stud.si_roll_no, stud.si_name, stud.si_father_name,stud.si_class, stud.si_father_nic_no ,sp.spi_amount,sp.spi_paid_date from si_student_info stud inner join spi_student_package_info sp on sp.spi_roll_no= stud.si_roll_no where stud.si_roll_no = 'IC10326'
    "OUTPUT"
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          25000     12-AUG-09
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          12500     07-OCT-09
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          12000     07-DEC-09
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          13250     26-APR-10
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          16800     23-AUG-10
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          5000     06-SEP-10
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          7000     06-DEC-10
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          15300     15-FEB-11
    whereas i want to the output looks like this
    IC10326     MUNEEB JAVIAD KHAN     JAVEED KHAN     901          25000     12-AUG-09  12500     07-OCT-09  12000     07-DEC-09 13250     26-APR-10 and so on
    is there any function that can do that or any smart way  to handle this ?

    with the use of aggregate functions we can get the required output here.
    select * from
    (select si_roll_no, si_name, si_father_name,si_class,
    si_father_nic_no ,spi_amount,spi_paid_date,
    Lead(spi_amount,1,NULL) OVER (PARTITION BY si_roll_no order by ROWNUM) ,
    Lead(spi_paid_date,1,NULL) OVER (PARTITION BY si_roll_no order by ROWNUM) ,
    Lead(spi_amount,2,NULL) OVER (PARTITION BY si_roll_no order by ROWNUM) ,
    Lead(spi_paid_date,2,NULL) OVER (PARTITION BY si_roll_no order by ROWNUM) ,
    Lead(spi_amount,3,NULL) OVER (PARTITION BY si_roll_no order by ROWNUM) ,
    Lead(spi_paid_date,4,NULL) OVER (PARTITION BY si_roll_no order by ROWNUM)
    FROM
    (select stud.si_roll_no, stud.si_name, stud.si_father_name,stud.si_class,
    stud.si_father_nic_no ,sp.spi_amount,sp.spi_paid_date,count(*) over ()
    from si_student_info stud inner join spi_student_package_info sp
    on sp.spi_roll_no= stud.si_roll_no
    where stud.si_roll_no = 'IC10326'))
    where rownum < 2;
    Thanks,
    Pavan

Maybe you are looking for