Total no of records in a recordset?

I creating an application in which I send a query to database. Then loop through the ResultSet object and increment a counter to find the total no. of records in it, and then a generate JLabel array equal to the size of counter which is application's requirement. But it's not an effecient way. I looked in API for the ResultSet's methods but i didn't find any method which should return the total no. of records in a ResultSet object. any other way?

Sir,
No.There is no direct way. There wasn't last week. There wasn't last year. There isn't one now. There won't be next week.
There are three ways to do it.
1) You can call next through each row and increment a counter.
2) You can jump to the last row and call getRow which will return you the row number of the last row aka the number of rows in the Result Set. (Note you need a scrollable cursor for this one. )
3) You can make use of SQL COUNT. Either have a seperate query that is the same as your select but it returns COUNT instead of columns or use COUNT as a field you select. (Note this method will be fastest and should be the least resource intensive if you only want the count of rows but it can have problems if for example your query uses GROUP in which the COUNT will be something else then...)
Sincerely,
Slappy

Similar Messages

  • Hw to find total number of records

    Hi All,
    Can anyone help from these
    1. how to find total number of reports for a particular cube/ods... need step - step solution
    2. how to find total number of records for a particular Cube and ODS and Aggr's to till date.
    3.what is sandbox,mirror sys,instance of a sys..?
    4.what r TWS(Tivoli Workload Scheduler) jobs? how these r different to standard schedulers?
    Thanks in ADv
    Linda

    Hello Linda,
    As you have lots of answers on first 2 so i'll start from 3rd onward.
    3. Sandbox is mostly practice system where you can do all kind of R&D, mirror sys can be mirror image of any system depends on the organization and instance of system is again mirror image of one system.
    4. TWS is third party tool for scheduling which doesn't come along with SAP like standard scheduler as TWS has been prepared specially for this purpose so it has some more features than standard.
    Hope it helps.
    San.

  • How to find total number of records in a BDoc?

    Dear all,
    I have replicated about BP 1088 records from ISU into CRM system with block size 100. Technically on SMW01, for each successfully processed BDoc, there will be 100 records (corresponds to 100 block size). But due to some failed BDocs, not all "successfully" BDocs will have 100 records each, some may have only 1 record inside...or 30...or 88 for example. So, may i know how to find or is there a report i can look into to find the total number of records clearly shown for each of the successfully processed green status BDocs???
    Please help and points will be rewards!!
    Thank You
    Best Regards,
    CK

    I am just showing this to show how to get the rowcount along with the cursor, if the program has so much gap of between verifying the count(*) and opening the cursor.
    Justin actually covered this, he said, oracle has to spend some resources to build this functionality. As it is not most often required, it does not makes much sence to see it as a built-in feature. However, if we must see the rowcount when we open the cursor, here is a way, but it is little bit expensive.
    SQL> create table emp_crap as select * from emp where 1 = 2;
    Table created.
    SQL> declare
      2   v_cnt     number := 0;
      3   zero_rows         exception;
      4  begin
      5    for rec in (select * from (select rownum rn, e.ename from emp_crap e) order by 1 desc)
      6     loop
      7        if v_cnt = 0 then
      8           v_cnt := rec.rn;
      9        end if;
    10     end loop;
    11     if v_cnt = 0 then
    12        raise zero_rows;
    13     end if;
    14   exception
    15    when zero_rows then
    16      dbms_output.put_line('No rows');
    17   end;
    18  /
    No rows
    PL/SQL procedure successfully completed.
    -- Now, let us use the table, which has the data
    SQL> declare
      2   v_cnt     number := 0;
      3   zero_rows         exception;
      4  begin
      5    for rec in (select * from
      6          (select rownum rn, e.ename from emp e)
      7          order by 1 desc)
      8     loop
      9        if v_cnt = 0 then
    10           v_cnt := rec.rn;
    11           dbms_output.put_line(v_cnt);
    12        end if;
    13     end loop;
    14     if v_cnt = 0 then
    15        raise zero_rows;
    16     end if;
    17   exception
    18    when zero_rows then
    19      dbms_output.put_line('No rows');
    20   end;
    21  /
    14
    PL/SQL procedure successfully completed.Thx,
    Sri

  • How to find total count of records in a cursor

    Aassume below is the cursor i defined
    cursor c1 is select * from emp;
    now, i want to find the total count of records in this cursor using an existing function etc., using one line statement.
    FYI: c1%rowcount is always giving 0, so i cant rely on this.
    Any thoughts, please share.
    Thanks in advance.

    I am just showing this to show how to get the rowcount along with the cursor, if the program has so much gap of between verifying the count(*) and opening the cursor.
    Justin actually covered this, he said, oracle has to spend some resources to build this functionality. As it is not most often required, it does not makes much sence to see it as a built-in feature. However, if we must see the rowcount when we open the cursor, here is a way, but it is little bit expensive.
    SQL> create table emp_crap as select * from emp where 1 = 2;
    Table created.
    SQL> declare
      2   v_cnt     number := 0;
      3   zero_rows         exception;
      4  begin
      5    for rec in (select * from (select rownum rn, e.ename from emp_crap e) order by 1 desc)
      6     loop
      7        if v_cnt = 0 then
      8           v_cnt := rec.rn;
      9        end if;
    10     end loop;
    11     if v_cnt = 0 then
    12        raise zero_rows;
    13     end if;
    14   exception
    15    when zero_rows then
    16      dbms_output.put_line('No rows');
    17   end;
    18  /
    No rows
    PL/SQL procedure successfully completed.
    -- Now, let us use the table, which has the data
    SQL> declare
      2   v_cnt     number := 0;
      3   zero_rows         exception;
      4  begin
      5    for rec in (select * from
      6          (select rownum rn, e.ename from emp e)
      7          order by 1 desc)
      8     loop
      9        if v_cnt = 0 then
    10           v_cnt := rec.rn;
    11           dbms_output.put_line(v_cnt);
    12        end if;
    13     end loop;
    14     if v_cnt = 0 then
    15        raise zero_rows;
    16     end if;
    17   exception
    18    when zero_rows then
    19      dbms_output.put_line('No rows');
    20   end;
    21  /
    14
    PL/SQL procedure successfully completed.Thx,
    Sri

  • How to find total no of records in DSO

    How to find the total no of records in a DSO?

    Hi,
    To check the num of entries in DSO,
    in DSO the data always comes from Active data table(Since DSO has 3 tables-> New data,Active data, Change log tables)
    just right click on DSO and go to manage DSO, then select "Active data table"  tab and go to Contents.. There u can see the data which you loaded in to DSO... So there u can get num of entries..
    Or
    go to TCODE : SE11 and give ur Active DATA table name.. and click display....
    then press ctrlshiftF5 to see the contents of tha table....
    Thanks And Regars
    MAnjunath P

  • How to find total no of record in cube

    Hi Experts,
    How to find total no of records in a cube.
    Thanks in Advance.

    Hi
    If you want total number of records in a CUBE then you have to check in both F Table and E table.
    Go to LISTSCHEMA tcode in your system, give your CUBE name and execute.
    You will fine two table E and F table
    goto SE16 -->give the table name and click on number of entries.You will get number of records.
    Check the below thread
    No of records in /size of Info cube
    Regards,
    Venkatesh

  • Asp code does not render for first record in looped recordset

    I have posted this question on a javascript forum as it
    contains javascript code however it was believed to be an asp
    issue.
    The following head section javascript code contains the
    function showBigImage( isource,bigImage,header ) function call of
    discussion:
    var currentImage;
    function showBigImage( isource,bigImage,header ) {
    var theImage = document.getElementById( 'largeimage' );
    theImage.src = isource;
    currentImage = bigImage;
    document.getElementById( 'photoHeader' ).innerHTML=header;
    document.getElementById( 'largeimage' ).alt=header;
    The following rendered looped recordset code illustrates how
    the "header" parameter of this showBigImage(
    isource,bigImage,header ) function call does not render ONLY FOR
    THE FIRST RECORD OF THE RECORDSET as it is blank:
    <a href= "javascript:;" > <td height=36
    valign="middle" class="small_img" onmouseover="showBigImage(
    'imagescript.asp?path=images/portable_stage.jpg&width=250','images/portable_stage.jpg',''
    )"> <img
    src="imagescript.asp?path=images/portable_stage.jpg&width=36"
    border="0" alt="" /> </td> </a>
    <a href= "javascript:;" > <td height=36
    valign="middle" class="small_img" onmouseover="showBigImage(
    'imagescript.asp?path=images/seated_riserset.jpg&width=250','images/seated_riserset.jpg', 'Portable
    stage configuration using 9 units of the 3 ft x 8 ft platforms in 3
    different heights' )"> <img
    src="imagescript.asp?path=images/seated_riserset.jpg&width=36"
    border="0" alt="" /> </td> </a>
    <a href= "javascript:;" > <td height=36
    valign="middle" class="small_img" onmouseover="showBigImage(
    'imagescript.asp?path=images/Stageset.jpg&width=250','images/Stageset.jpg','Portable
    stage configuration using 16 units of the 4 ft x 8 ft platforms'
    )"> <img
    src="imagescript.asp?path=images/Stageset.jpg&width=36"
    border="0" alt="" /> </td> </a>
    <a href= "javascript:;" > <td height=36
    valign="middle" class="small_img" onmouseover="showBigImage(
    'imagescript.asp?path=images/Runset.jpg&width=250','images/Runset.jpg','Portable
    stage runset configuration' )"> <img
    src="imagescript.asp?path=images/Runset.jpg&width=36"
    border="0" alt="" /> </td> </a>
    Because of this problem, the caption text does not display
    for this first image record once the thumbnail images are moused
    over. You can view this page example at
    http://www.canchair.com/new_web_product_detail.asp?ProductID=198&ProductFamily=1&ProductFa milySub=10

    Please help with this issue!!!

  • Time stamp and total no of records in ALV

    Hi everybody,
    i need to display
    Time:
    Total No of Records:
    in my excel report downloaded from ALV.
    can any body help me out as how to keep the specified above  in my ALV to get in the Exel output.

    Hi,
    For the header - pls use top-of-page event.
    For Number of records u can use - Describe table ITAB lines lv_lines. ( declare lv_lines as i). After this statement, your lv_lines will contain the number of records in your final internal table which you are using to display the output.
    For the time stamp, just pass the sy-uzeit.
    Thanks,
    Guru

  • Displaying the total no of records in ALV ouput.

    Hi everybody,
    I am displaying the output in ALV.
    I want display the total number of records at the top of page.( before the columns).
    Can any one throw light on this plz.
    Karunakar reddy

    To get the number of entries in your displayed table use:
    <i>DESCRIBE TABLE tab LINES wg_lines.</i>
    To display the value in a ALV Grid Control, use something like this:
    <i>DATA: sl_layout   TYPE lvc_s_layo.
    sl_layout-grid_title = wl_lines.
    CALL METHOD og_alv->set_table_for_first_display
          EXPORTING
            is_layout                     = sl_layout
            ....</i>
    Regards,
    Martin

  • How can i find total no of records in a cursor

    Hi
    Its very helpful if anybody reply my doubt
    I have a cursor declared in a procedure.
    i opened that cursor, i want to know the count of records in the opened cursor, means total count of records.
    is it possible??
    Pls reply ASAP

    HI,
    this is a simple example with a cursor over user_tables view:
    set serveroutput on
    DECLARE
       CURSOR c_test IS
          SELECT table_name FROM user_tables;
       type t_reg is table of varchar2(30);
       l_reg t_reg;
    BEGIN
       OPEN c_test;
       fetch c_test bulk collect into l_reg;
       dbms_output.put_line(c_test%ROWCOUNT);
    END;
    /Output:
    SQL>
    SQL> set serveroutput on
    SQL> DECLARE
      2     CURSOR c_test IS
      3        SELECT table_name FROM user_tables;
      4     type t_reg is table of varchar2(30);
      5     l_reg t_reg;
      6  BEGIN
      7     OPEN c_test;
      8 
      9     fetch c_test bulk collect into l_reg;
    10 
    11     dbms_output.put_line(c_test%ROWCOUNT);
    12  END;
    13  /
    42
    PL/SQL procedure successfully completed
    SQL> Regards,
    Edited by: Walter Fernández on Nov 29, 2008 8:59 AM - Adding output...

  • Total number of records in given range.

    total number of records in given range.
    Hi all ,
    I have the Requirement as follows.
    I Have a Table which Contains Duplicate Dates like
    22.11.2006
    15.11.2006
    31.10.2006
    15.09.2006
    15.09.2006
    14.09.2006
    15.09.2006
    14.09.2006
    16.09.2006
    etc...
    The input is monday of any week of a Year. Suppose 3 rd week starts from 15.11.2006 and ends to 21.11.2006. Weekly 5 days are working days. If i ienter the 15.09.2006 as input.....
    The Required out put is : 5 Records ( In above example 15.09.2006 to 21.09.2006 total Number of records is 5. I mean 15.09.2006 is Found 4 times + 16.09.2006 is found 1 time in the Specied Range.
    total: 4+1 = 5 records.)
    Simply...my requirement is to find total number of Records(with Duplicates) in the Given range .
    thanks in Advance
    sivaranga& Krish...

    this is the code. Where i have to make changes..
    this is the program which they given
    Report Title:         /GIL/ZZKWKBKS
    Author:               XNIMKARP
    Creation Date:        29.09.2006
    ZSAO System:          <&system>  (blue)
    ZSAO System Fct.:     <&sf>      (green)
    DER:                  DER&
    HLD:                  HLD&
    Request number:
    Description (technical)
    ===================================================================
    Modification History  (recent on top / refs: MODnnn+ or MODnnn-)
    Modification Number:  MODnnn
    Modifier:             &userid
    Modification Date:    &
    Change object:        DER, TPR, Clarify number
    Request number:
    Description
    Modification Number:  MOD001
    Modifier:             &userid
    Modification Date:    &
    Change object:        DER, TPR, Clarify number
    Request number:
    Description
    REPORT /GIL/ZZKWKBKS
             MESSAGE-ID  ??               "....
           NO STANDARD PAGE HEADING
           LINE-COUNT 65(0)
           LINE-SIZE 132.
    eject*******************************************************
    Data Declaration Section                                   *
    TABLE declarations for select-options only                 *
    TABLES: /GIL/ZZKDERMAST ,
            /GIL/ZZKCOMBOOK ,
            /GIL/ZZKWEEKID .
    SELECT-OPTIONS and PARAMETERS                              *
    SELECT-OPTIONS:
        S_STRWK   FOR /GIL/ZZKWEEKID-STRWK  NO INTERVALS .          "....
    "PARAMETERS:
    "    P_????  TYPE ????-????? DEFAULT ?,   "description ????
    "    PX_??? AS CHECKBOX                   "description ????
    TYPES                                                      *
    TYPES:
          begin of T_IT_OUTTAB  ,
              STRWK like  /GIL/ZZKCOMBOOK-STRWK ,
              CSTMZ like  /GIL/ZZKDERMAST-CSTMZ ,
              NAME_TEXT like ADRP-NAME_TEXT ,
              DERNO like  /GIL/ZZKCOMBOOK-DERNO ,
              BNAME like  /GIL/ZZKCOMBOOK-BNAME ,
              HRSBK like  /GIL/ZZKCOMBOOK-HRSBK ,
              STATS like  /GIL/ZZKDERMAST-STATS ,
              CLSDT like  /GIL/ZZKDERMAST-CLSDT ,
              MNTHI like  /GIL/ZZKWEEKID-MNTHI ,
              QRTRI like  /GIL/ZZKWEEKID-QRTRI ,
        end of T_IT_OUTTAB  .
    TYPES:
        begin of  T_IT_WEEKSUM ,
            STRWK  like  /GIL/ZZKCOMBOOK-STRWK ,
            MNTHI like  /GIL/ZZKWEEKID-MNTHI ,
            QRTRI like  /GIL/ZZKWEEKID-QRTRI ,
            DEVHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            CUSHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            TOTHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            DVMHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            CSMHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            TOMHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            DVQHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            CSQHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            TOQHRS like  /GIL/ZZKCOMBOOK-HRSBK ,
            TOTDER like  /GIL/ZZKCOMBOOK-HRSBK ,
            TOMDER like  /GIL/ZZKCOMBOOK-HRSBK ,
            TOQDER like  /GIL/ZZKCOMBOOK-HRSBK ,
        end of  T_IT_WEEKSUM .
    TYPES:
        begin of  T_IT_DEVSUM ,
            NAME_TEXT like ADRP-NAME_TEXT ,
            HRSBK like  /GIL/ZZKCOMBOOK-HRSBK ,
        end of  T_IT_DEVSUM .
    "TYPES: T_FL_???  TYPE ????-?????.          "description ???
    "TYPES: T_IT_???  TYPE ????-?????.          "description ???
    VARIABLES                                                  *
    "DATA: V_???   TYPE ????-?????.          "field description
    "DATA: VX_???  TYPE ????-?????.          "flag description
    DATA:  VIT_DATATAB TYPE T_IT_OUTTAB occurs 0 with header line.
    DATA:  VIT_WEEKSUM TYPE T_IT_WEEKSUM occurs 0 with header line.
    DATA:  VIT_DEVSUM TYPE T_IT_DEVSUM occurs 0 with header line.
    constants                                                  *
    CONSTANTS: C_BR1    TYPE C VALUE '(' ,
               C_BR2    TYPE C VALUE ')' ,
               C_DASH   TYPE C VALUE '-' ,
               C_005    TYPE I VALUE '5' ,
               C_006    TYPE I VALUE '6' ,
               C_030    TYPE I VALUE '30' ,
               C_031    TYPE I VALUE '31' ,
               C_055    TYPE I VALUE '55' ,
               C_056    TYPE I VALUE '56' ,
               C_080    TYPE I VALUE '80' ,
               C_081    TYPE I VALUE '81' ,
               C_105    TYPE I VALUE '105' ,
               C_106    TYPE I VALUE '106' ,
               C_125    TYPE I VALUE '126' ,
               C_130    TYPE I VALUE '130' ,
               C_150    TYPE I VALUE '150' .
    eject*******************************************************
    program section  (EVENTS)                                  *
    start of database access                                   *
    START-OF-SELECTION.
    PERFORM FETCH_BOOKING_DATA .
    PERFORM FETCH_USER_DATA .
    PERFORM WEEKLY_CUMULATION .
    TOP-OF-PAGE.
       PERFORM WRITE_HEADER .
    *&      Form  FETCH_BOOKING_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM FETCH_BOOKING_DATA .
        select a~STRWK
              a~DERNO
              a~BNAME
              a~HRSBK
              b~STATS
              b~CLSDT
              b~CSTMZ
              c~MNTHI
              c~QRTRI
        into corresponding fields of table VIT_DATATAB
        from  /GIL/ZZKCOMBOOK as a
        inner join /GIL/ZZKDERMAST as b
        on   bBNAME = aBNAME
        and  bDERNO = aDERNO
        inner join /GIL/ZZKWEEKID as c
        on cSTRWK = aSTRWK
        where a~STRWK in S_STRWK .
        if SY-SUBRC <>  0 .
            WRITE /10 TEXT-001.
            EXIT .
        endif .
    ENDFORM.                    " FETCH_BOOKING_DATA
    *&      Form  FETCH_USER_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM FETCH_USER_DATA .
    DATA:
        BEGIN OF LIT_USER OCCURS 0 ,
            BNAME like  /GIL/ZZKCOMBOOK-BNAME ,
            NAME_TEXT like ADRP-NAME_TEXT ,
        END OF LIT_USER .
    DATA : L_SY_TABIX LIKE SY-TABIX .
        LOOP AT VIT_DATATAB .
          MOVE-CORRESPONDING VIT_DATATAB TO LIT_USER .
          APPEND LIT_USER .
        ENDLOOP .
        DELETE ADJACENT DUPLICATES FROM LIT_USER COMPARING BNAME .
         if LIT_USER[] is not initial .
               SELECT BBNAME ANAME_TEXT
               INTO corresponding fields of table LIT_USER
               FROM ADRP AS A
               INNER JOIN USR21 AS B
               ON BPERSNUMBER = APERSNUMBER
               for all entries in LIT_USER
               WHERE B~BNAME = LIT_USER-BNAME .
         endif.
        loop at VIT_DATATAB .
          L_SY_TABIX = SY-TABIX .
          read table LIT_USER with key BNAME = VIT_DATATAB-BNAME .
          if sy-subrc = 0 .
              VIT_DATATAB-NAME_TEXT = LIT_USER-NAME_TEXT .
               modify VIT_DATATAB index L_SY_TABIX .
          endif .
        endloop.
    ENDFORM.                    " FETCH_USER_DATA
    *&      Form  WEEKLY_CUMULATION
          text
    -->  p1        text
    <--  p2        text
    FORM WEEKLY_CUMULATION .
    DATA:
        L_PREV_MNTHI  like /GIL/ZZKWEEKID-MNTHI ,
        L_PREV_QRTRI  like /GIL/ZZKWEEKID-QRTRI ,
        LFL_DATATAB_WA  TYPE T_IT_OUTTAB .
      SORT VIT_DATATAB BY STRWK CSTMZ NAME_TEXT .
      loop at VIT_DATATAB .
          move-corresponding VIT_DATATAB to LFL_DATATAB_WA .
          AT END OF NAME_TEXT .
              SUM .
              VIT_DEVSUM-NAME_TEXT =  VIT_DATATAB-NAME_TEXT .
              VIT_DEVSUM-HRSBK = VIT_DATATAB-HRSBK .
              APPEND VIT_DEVSUM .
          ENDAT .
          AT END OF CSTMZ .
              SUM .
              if LFL_DATATAB_WA-CSTMZ IS INITIAL .
                  VIT_DEVSUM-NAME_TEXT =  TEXT-011 .
              else.
                  VIT_DEVSUM-NAME_TEXT =  TEXT-012 .
              endif.
              VIT_DEVSUM-HRSBK = VIT_DATATAB-HRSBK .
              APPEND VIT_DEVSUM .
          ENDAT .
          AT END OF STRWK .
            CLEAR: VIT_WEEKSUM-DEVHRS ,
                  VIT_WEEKSUM-CUSHRS ,
                  VIT_WEEKSUM-TOTHRS .
            VIT_WEEKSUM-STRWK = LFL_DATATAB_WA-STRWK .
            VIT_WEEKSUM-MNTHI = LFL_DATATAB_WA-MNTHI .
            VIT_WEEKSUM-QRTRI = LFL_DATATAB_WA-QRTRI .
            SUM .
            VIT_WEEKSUM-TOTHRS = VIT_DATATAB-HRSBK .
            VIT_DEVSUM-NAME_TEXT =  TEXT-013 .
            VIT_DEVSUM-HRSBK = VIT_DATATAB-HRSBK .
            APPEND VIT_DEVSUM .
            SELECT SUM( HRSBK )
            INTO VIT_WEEKSUM-CUSHRS
            from /GIL/ZZKWEKBK
            where STRWK = LFL_DATATAB_WA-STRWK
            AND   CSTMZ NE  SPACE .
            VIT_WEEKSUM-DEVHRS =
                VIT_WEEKSUM-TOTHRS - VIT_WEEKSUM-CUSHRS .
           IF LFL_DATATAB_WA-MNTHI <> L_PREV_MNTHI .
              if week falls in differnet month .
                 L_PREV_MNTHI = LFL_DATATAB_WA-MNTHI  .
                CLEAR: VIT_WEEKSUM-DVMHRS ,
                       VIT_WEEKSUM-CSMHRS ,
                       VIT_WEEKSUM-TOMHRS .
                SELECT SUM( HRSBK )
                INTO VIT_WEEKSUM-DVMHRS
                from /GIL/ZZKWEKBK
                where MNTHI =  LFL_DATATAB_WA-MNTHI
                AND   CSTMZ EQ SPACE .
                SELECT SUM( HRSBK )
                INTO VIT_WEEKSUM-CSMHRS
                from /GIL/ZZKWEKBK
                where MNTHI =  LFL_DATATAB_WA-MNTHI
                AND   CSTMZ NE  SPACE .
                VIT_WEEKSUM-TOMHRS =
                    VIT_WEEKSUM-DVMHRS + VIT_WEEKSUM-CSMHRS  .
            ENDIF .
          IF LFL_DATATAB_WA-QRTRI <> L_PREV_QRTRI .
                L_PREV_QRTRI = LFL_DATATAB_WA-QRTRI .
                SELECT SUM( HRSBK )
                INTO VIT_WEEKSUM-DVQHRS
                from /GIL/ZZKWEKBK
                where QRTRI = LFL_DATATAB_WA-QRTRI
                AND   CSTMZ EQ SPACE .
                SELECT SUM( HRSBK )
                INTO VIT_WEEKSUM-CSQHRS
                from /GIL/ZZKWEKBK
                where QRTRI = LFL_DATATAB_WA-QRTRI
                AND   CSTMZ NE  SPACE .
                VIT_WEEKSUM-TOQHRS =
                    VIT_WEEKSUM-DVQHRS + VIT_WEEKSUM-CSQHRS  .
          ENDIF .
          APPEND VIT_WEEKSUM .
          NEW-PAGE .
          PERFORM WRITE_WEEKLY_STATISTICS .
          PERFORM WRITE_DEVELOPER_STATISTICS .
          ENDAT .
       endloop .
    ENDFORM.                    " WEEKLY_CUMULATION
    *&      Form  WRITE_DEVELOPER_STATISTICS
          text
    -->  p1        text
    <--  p2        text
    FORM WRITE_DEVELOPER_STATISTICS .
    SKIP 2.
    WRITE AT: /C_005 TEXT-014 .
      ULINE AT /C_005(C_125) .
      WRITE AT:/C_005 SY-VLINE ,
                C_006 TEXT-014 ,
                C_080 SY-VLINE ,
                C_081 TEXT-015 ,
                C_130 SY-VLINE .
       WRITE AT: C_005 SY-VLINE ,
                C_080 SY-VLINE ,
                C_130 SY-VLINE .
        ULINE AT /C_005(C_125) .
        loop at VIT_DEVSUM .
              CASE VIT_DEVSUM-NAME_TEXT .
              WHEN TEXT-011 .
                  WRITE AT:/C_005 SY-VLINE ,
                            C_006 VIT_DEVSUM-NAME_TEXT COLOR COL_NEGATIVE  ,
                            C_080 SY-VLINE ,
                            C_081 VIT_DEVSUM-HRSBK COLOR COL_NEGATIVE   ,
                            C_130 SY-VLINE .
               WHEN TEXT-012 .
                  WRITE AT:/C_005 SY-VLINE ,
                            C_006 VIT_DEVSUM-NAME_TEXT COLOR COL_NEGATIVE  ,
                            C_080 SY-VLINE ,
                            C_081 VIT_DEVSUM-HRSBK COLOR COL_NEGATIVE   ,
                            C_130 SY-VLINE .
               WHEN TEXT-013 .
                    WRITE AT:/C_005 SY-VLINE ,
                            C_006 VIT_DEVSUM-NAME_TEXT COLOR COL_TOTAL  ,
                            C_080 SY-VLINE ,
                            C_081 VIT_DEVSUM-HRSBK COLOR COL_TOTAL    ,
                            C_130 SY-VLINE .
                WHEN OTHERS .
                    WRITE AT:/C_005 SY-VLINE ,
                            C_006 VIT_DEVSUM-NAME_TEXT   ,
                            C_080 SY-VLINE ,
                            C_081 VIT_DEVSUM-HRSBK     ,
                            C_130 SY-VLINE .
               ENDCASE .
               WRITE AT: C_005 SY-VLINE ,
                C_080 SY-VLINE ,
                C_130 SY-VLINE .
               ULINE AT /C_005(C_125) .
        endloop .
        REFRESH VIT_DEVSUM .
        CLEAR VIT_DEVSUM .
    ENDFORM.                    " WRITE_DEVELOPER_STATISTICS
    *&      Form  WRITE_WEEKLY_STATISTICS
          text
    -->  p1        text
    <--  p2        text
    FORM WRITE_WEEKLY_STATISTICS .
       SKIP 2.
       ULINE AT C_005(C_125) .
       WRITE AT: /C_005 SY-VLINE ,
                  C_006 TEXT-003 ,
                  C_030 SY-VLINE ,
                  C_031 TEXT-004 ,
                  C_055 SY-VLINE ,
                  C_056 TEXT-005 ,
                  C_080 SY-VLINE ,
                  C_081 TEXT-006 ,
                  C_105 SY-VLINE ,
                  C_106 TEXT-007 ,
                  C_130 SY-VLINE .
       WRITE AT: /C_005 SY-VLINE ,
                  C_030 SY-VLINE ,
                  C_031 /GIL/ZZKWEEKID-STRWK ,
                  41    C_DASH ,
                  43    /GIL/ZZKWEEKID-ENDWK ,
                  C_055 SY-VLINE ,
                  C_056 VIT_WEEKSUM-MNTHI ,
                  C_080 SY-VLINE ,
                  C_081 VIT_WEEKSUM-QRTRI ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
        WRITE AT: /C_005 SY-VLINE ,
                  C_030 SY-VLINE ,
                  C_055 SY-VLINE ,
                  C_080 SY-VLINE ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
         ULINE AT C_005(C_125) .
        WRITE AT: /C_005 SY-VLINE ,
                  C_006 TEXT-008 ,
                  C_030 SY-VLINE ,
                  C_031 VIT_WEEKSUM-DEVHRS ,
                  C_055 SY-VLINE ,
                  C_056 VIT_WEEKSUM-DVMHRS ,
                  C_080 SY-VLINE ,
                  C_081 VIT_WEEKSUM-DVQHRS ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
        WRITE AT: /C_005 SY-VLINE ,
                  C_030 SY-VLINE ,
                  C_055 SY-VLINE ,
                  C_080 SY-VLINE ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
        ULINE AT C_005(C_125) .
        WRITE AT: /C_005 SY-VLINE ,
                  C_006 TEXT-009 ,
                  C_030 SY-VLINE ,
                  C_031 VIT_WEEKSUM-CUSHRS ,
                  C_055 SY-VLINE ,
                  C_056 VIT_WEEKSUM-CSMHRS ,
                  C_080 SY-VLINE ,
                  C_081 VIT_WEEKSUM-CSQHRS ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
        WRITE AT: /C_005 SY-VLINE ,
                  C_030 SY-VLINE ,
                  C_055 SY-VLINE ,
                  C_080 SY-VLINE ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
        ULINE AT C_005(C_125) .
        WRITE AT: /C_005 SY-VLINE COLOR COL_TOTAL,
                  C_006 TEXT-010 COLOR COL_TOTAL,
                  C_030 SY-VLINE COLOR COL_TOTAL ,
                  C_031 VIT_WEEKSUM-TOTHRS COLOR COL_TOTAL,
                  C_055 SY-VLINE COLOR COL_TOTAL,
                  C_056 VIT_WEEKSUM-TOMHRS COLOR COL_TOTAL,
                  C_080 SY-VLINE COLOR COL_TOTAL,
                  C_081 VIT_WEEKSUM-TOQHRS COLOR COL_TOTAL,
                  C_105 SY-VLINE COLOR COL_TOTAL,
                  C_130 SY-VLINE COLOR COL_TOTAL.
        WRITE AT: /C_005 SY-VLINE ,
                  C_030 SY-VLINE ,
                  C_055 SY-VLINE ,
                  C_080 SY-VLINE ,
                  C_105 SY-VLINE ,
                  C_130 SY-VLINE .
        ULINE AT C_005(C_125) .
    ENDFORM.                    " WRITE_WEEKLY_STATISTICS
    *&      Form  WRITE_HEADER
          text
    -->  p1        text
    <--  p2        text
    FORM WRITE_HEADER .
    SKiP 1 .
    SELECT SINGLE *
    FROM /GIL/ZZKWEEKID
    WHERE STRWK = VIT_WEEKSUM-STRWK .
    WRITE AT:  5 TEXT-002 INTENSIFIED ON .
    WRITE AT:  47 /GIL/ZZKWEEKID-MNTHI ,
                55 /GIL/ZZKWEEKID-WEEKI ,
                65 C_BR1 ,
                67 /GIL/ZZKWEEKID-STRWK ,
                78 C_DASH ,
                80 /GIL/ZZKWEEKID-ENDWK ,
                91 C_BR2
                INTENSIFIED ON  .
    ENDFORM.                    " WRITE_HEADER

  • SQ02 InfoSet Get Count of Total Number of Records that will be processed

    I am developing a query (SQ01) and am currently working on building an InfoSet (SQ02). 
    The Infoset was set up using a 'Direct read of table'.  Next, I'm adding some various fields and then going to Extras and trying to define some code to get the total number of records that my query will be processing.  I'm not sure if SAP pulls a filtered result set into a temporary table (by default - if so how could I reference it?) that I can reference or is just pulling in a row at a time in the record processing code, but my question is in regards to getting a record count of how many records are returned in my result set PRIOR TO going through all of the records.
    Overall, I'd like to be able to have a field that says Record X of Y.  I can get the X part for each line, but cannot get 'Y' until the very end.  Any help or ideas would be much appreciated.  I've looked around a bunch, but haven't found anything like what I'm requesting.
    Query Output would look something like:
    Record X1 of Y | Title1 | Amount1
    Record X2 of Y | Title2 | Amount2

    Hi Subin,
         I have tossed around this idea in my head, but am trying to figure out how to get the values and selection options from the query screen to incorporate into my Select statement within my infoset.  The problem I'm running into is that my user enters a group of account numbers and an ending date that has to be pulled from the SQ01 query screen to the SQ02 infoset code.  I've looked around for examples on pulling the data from the query screen, but have been unsuccessful thus far.  Say for instance I have 15 specific accounts that the user is entering in and they want any records that have been submitted prior to the end of the current month and the start of the business year.
         On my query screen they would enter in something like
    Business Year:  2011
    Reporting End Date:  <= 31.03.2011 (Which equates to all records between 01.01.2011 AND 31.03.2011)
    Account #s:  0000, 0001, 0003, 0005, ..., 9999  (These are a variable amount of accounts entered and could include options such as not equal to or even between ranges etc)
    In my START-OF-SELECTION code I would need a select like:
    NOTE:  This is just a pseudo code format, not checked for syntax here
    SELECT count(*)
    FROM TABLE
    WHERE BusinessYear = '2011' AND
        RecordDate Between 01.01.2011 AND 31.03.2011 AND
        Accounts IN (0000, 0001, 0003, 0005, ..., 9999).
    So In this select I need to reference the values in the SQ01.  How would I reference the account #'s and whether or not the user has entered an account number and said Not Equal on it etc.  This select statement would have to be built on the fly, since it's not guaranteed to be the same for each run.
    Thanks,
    Mark

  • Total number of records loaded into ODS and in case of Infocube

    hai
    i loaded some datarecords from Oracle SS in ODS and Infocube.
    My SOurceSytem guy given some datarecords by his selection at Oracle source system side.
    how can i see that 'how many data records are loaded into ODS and Infocube'.
                     i can check in monitor , but that not correct(becz i loaded second , third time by giving the ignore duplicate records). So i think in monitor , i wont get the correct number of datarecords loaded in case of ODS and Infocube.
    So is there any transaction code or something to find number records loaded in case of ODS and Infocube .
    ps tell me
    i ll assing the points
    bye
    rizwan

    HAI
    I went into ODS manage and see the 'transferred' and 'added' data records .Both are same .
    But when i total the added data records then it comes 147737.
    But when i check in active table(BIC/A(odsname)00 then toal number of entries come 1,37,738
    why it is coming like that difference.......
    And in case of infocube , how can i find total number of records loaded into Infocube.(not in infocube).
               Like any table for fact table and dimension tables.
    pls tell me
    txs
    rizwan

  • Total number of records in a file

    hello experts,
    I am getting a file to upload the data.... This file is containing one header record one trailor record and remaining data records...
    how to read all the data into one internal table along with header and tralor record.
    Because i have to control record validation. In the trailer record the amount what they were giving is the total number of records along with header and trailor
    can anyone guide me how to do that
    SRI

    If thats an excel file then you can use function module
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_fnam
          i_begin_col             = 1
          i_begin_row             = 1
          i_end_col               = 100
          i_end_row               = 30000
        TABLES
          intern                  = iexcel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        WRITE: / 'EXCEL UPLOAD FAILED ', p_fnam, sy-subrc.
        STOP.
      ENDIF.
    Instead of passing 1 in i_begin_row you, if you know how many lines the header is going to be then you can ignore those lines and pass the number of the row which has the first data record. You can hard code the header because this is giong to constant.
    Just a suggestion. Hope this works for you.
    Thanks.
    Message was edited by:
            mg s

  • Count total no of records in csv file

    hello
    i made a function which count total no of records in csv file.
    but it always return 0 goes in the exception when no data found which
    it also display the total no of records in another parameter.
    code is here
    CREATE OR REPLACE FUNCTION COUNT_RECORDS_CSV (storeid1 number ) RETURN NUMBER
    IS
    wfile_handl UTL_FILE.FILE_TYPE;     
    v_file varchar(100);
    S VARCHAR2(32767);
    c number :=0;
    v_dir VARCHAR2 (50) := 'REPORTS';
    BEGIN
    v_file :='DATA_'||storeid1 ||'.CSV';
    DBMS_OUTPUT.PUT_LINE('V_FILE='||v_file);
    wfile_handl := UTL_FILE.FOPEN(v_dir,'DATA_5138.CSV','R');
    LOOP
    UTL_FILE.GET_LINE(wfile_handl,S);
    C := C + 1;
    END LOOP;
    UTL_FILE.FCLOSE(wfile_handl);
    RETURN C;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    RETURN 0;
    END COUNT_RECORDS_CSV;
    if i print the values of c it show me correct result but it always return 0 can any body told me why its happening.
    thanks

    The fact that you have written this:
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        RETURN 0;means you didn't bother to read this.

Maybe you are looking for