Counting number of records in a data block

hi folks,
Simple question for you guys: How can I count number of records in a data block.
In other words, say I have 10 detail records listed on a data block (one of my columns is a non-database item for entering a number). Now I just want to do somethin like:
Select count(*) From <data_block> into lnRecCount
Where <non-database column> <> 0 ;
Can I do this in a button trigger? I can't get it to work?
Thanks,
bob

You should make a routine that go through records of the block and count the records that agree with your condition.

Similar Messages

  • Count number of records in a internal table

    hi
    i want to count number of records in internal table
    pls let me know how to count the number of records in a internal table.
    regards
    Arora

    hi
    one way is
    data field type i.
    Decribe table itab lines field.
    write: / field.
    displays the no of records in tha internal table
    or if u want to write logic.
    data:
      w_count type i.
    loop at itab.
    w_count = w_count + 1.
    endloop.
    write: / w_count.
    displays the no of records.
    reward points if useful.

  • To count number of records in an internal table for a condition

    Hello All,
            I want to count number of records in an internal table for a condition.
    For e.g. -- I have one internal table IT which having fields F1, F2, F3, F4, F5.
                     Now, I want number of records in itnternal table IT where F1 = 'ABC'.
    Is it possible to do..?? If yes, then how.??
    Thanks in advance...!!
    Regards,
    Poonam.

    Hi,
    If you mean an internal table, there are a few ways to do this.
    1 One would be to loop over the table with a WHERE clause and increment a counter.
    data: lv_counter type i.
    clear lv_counter.
    loop at itab where fld1 = 'ABC'.
    lv_counter = lv_counter + 1.
    endloop.
    lv_counter now has the number of rows per the condiction.
    2  Well, you may want to try this as well, and compare to the LOOP way. Not sure what kind of overhead you may get doing this way. Here ITAB is our main internal table, and ITAB_TMP is a copy of it. Again I think there may be some overhead in doing the copy. Next, delete out all records which are the reverse of your condition. Then whatever is left is the rows that you want to count. Then simply do a LINES operator on the internal table, passing the number of lines to LV_COUNT.
    data: itab type table of ttab.
    data: itab_tmp type table of ttab.
    itab_tmp[] = itab[].
    delete table itab_tmp where fld1  'ABC'.
    lv_count = lines( itab_tmp ).
    Thanks & Regards,
    ShreeMohan

  • Number of records in the data dictionary

    Which data dictionary I can find the number for records in each table

    You could use the _TABLES (ALL, DBA, USER) views, however, these counts are based on statistics collected by Oracle. Therefore they may not represent the actual number of rows in the table.                                                                                                                                                                                                                                                                                                                                                                                           

  • Retrieving records from a Data Block same as retrieving records from cursor

    Dear Gurus,
    Is it possible to retrieve records from a datablock same as retrieving records from a cursor,
    Eg:
    I am having two data blocks in two different tabs, Say B1 in Tab1, B2 in Tab2
    B1 is filled with two records, now when I switch to Tab2,
    I want all records of B1 in B2, assuming that blocks are having the same structure.
    The code I wish to write is,
    Goto B1,
    Take all the records like a cursor,
    Goto B2,
    loop
    insert
    end loop;
    Is this possible???

    I need to show it before saving,
    I tried this and it is successful somehow, do not know about any further problems,
    I took the record count of both blocks
    if :B1.reccount <> :B2.reccount
                   then
                   go_block('B1');
                   first_record;
                   for i in 1..:B1.reccount
                   loop
                        go_block('B1');
                        go_record(i);
              assign values from B1 to variables.
              go_block('B2');
              assign values from variables to B2
              next_record;
                   end loop;
                   clear_record;
              end if;
    This is working, Now I just want to know, if my block is having numerous fields, say more than 100 (may not be a value for large databases)
    how can I replace these variables here.
    I mean is it possible to declare something like a cursor record type.
    For eg : r1 cursor%rowtype

  • Difference between records in two data blocks

    Can you suggest me the best method to find difference (minus) between records in two similar data blocks.
    Thanks!

    What's your database version? Does this work? It can make the job a lot easier as you only have to loop through each block once.
    -- create collection types
    CREATE TYPE myobj AS object(col1 NUMBER, col2 NUMBER);
    CREATE TYPE mytab AS TABLE OF myobj;
    -- in the form:
    DECLARE
      b1 mytab := mytab();
      b2 mytab := mytab();
    BEGIN
      -- loop through blocks and populate collections
      b1.extend;
      b1(1) := myobj(1,1);
      b1.extend;
      b1(2) := myobj(2,1);
      b1.extend;
      b1(3) := myobj(3,5);
      b1.extend;
      b1(4) := myobj(4,2);
      b2.extend;
      b2(1) := myobj(1,1);
      b2.extend;
      b2(2) := myobj(2,2);
      b2.extend;
      b2(3) := myobj(3,5);
      -- find the difference (you might need to pass collections as parameters to a
      -- server-side function and do the query there)
      FOR rec IN (
        SELECT col1, col2 FROM TABLE(CAST(b1 AS mytab))
        MINUS
        SELECT col1, col2 FROM TABLE(CAST(b2 AS mytab))
      ) LOOP
        Dbms_Output.put_line(rec.col1||'-'||rec.col2);
      END LOOP;   
    END;
    /

  • Updating record in a data block based on view in oracle forms

    hi all ,
    We have two data blocks in our custom oracle form.The first data block is for search criteria provided with buttons 'GO' and 'ADD ROW' and the second data block is based on a view that fetches record when user clicks on GO based on the the criteria specified in the above block. The Below block contains one SAVE button too.
    We have a requirement when GO button is pressed and corresponding records are shown in the below block, user should be able to edit the record. Want to know how to make it editable?
    Help appreciated....!!!

    Your view is based on how many tables and does it include all NOT NULL fields from all tables?

  • Inserting multiple records in a data block

    Hi, how do i insert multiple rows from a record group into a data block. Thanks

    You do it manually. Copy the values and move to the next record in the record group and in the block.
    You might like the concept of basing a block on a stored procedure better. Check out the stored procedure based block sample that comes with the Oracle Forms demos.

  • Count Number of Records in Oracle Database Table

    Please help me to see if I "set" and "return" the number of records in my database table correctly (I am using the Oracle 9i):
       public int getNumberOfRecipientBeans() throws AssertionException, DatabaseException
          Connection conn = null;
          PreparedStatement stmt = null;
          String query = "SELECT count(*) FROM ContactEntry WHERE ContactTypeID = 6";
          ResultSet rs = null;
          try
             conn = DBConnection.getDBConnection();
             stmt = conn.prepareStatement( query );
             rs = stmt.executeQuery();
             // do I have to set anything here?
             if ( !rs.next() )
                throw new AssertionException("Assertion in servuce.getNumberOfRecipients");
              // Am I returning the counts here?
              return rs.getInt( 1 );
          catch( SQLException sqle )
             sqle.printStackTrace();
             throw new DatabaseException( "Error executing SQL in service.getNumberOfRecipients." );
          finally
             if ( conn != null )
                try
                   stmt.close();
                   stmt = null;
                   conn.close();
                catch( Exception Ex )
                   System.out.println( "Problem occurs while closing " + Ex );
                conn = null;

    public class MyE extends Exception {
        public MyE() {
            super(); // this line is not necessary. An empty method would suffice
        public MyE(String msg) {
            super(msg);
        // Check the API for Exception or Throwable--I may have the args backward
        public MyE(String msg, Throwable cause) {
            super(msg, cause);
        public MyE(Throwable cause) {
            super(cause);
    // Replace the log_warn() calls with appropriate logging calls for your context
    public class Closer {
        public static final void close(ResultSet closeMe) {
            if (closeMe != null) {
                try {
                    closeMe.close();
                catch (Throwable th) { log_.warn("Closing " + closeMe + ": ", th); }
        public static final void close(Statement closeMe) {
            if (closeMe != null) {
                try {
                    closeMe.close();
                catch (Throwable th) { log_.warn("Closing " + closeMe + ": ", th); }
        public static final void close(Connection closeMe) {
            if (closeMe != null) {
                try {
                    closeMe.close();
                catch (Throwable th) { log_.warn("Closing " + closeMe + ": ", th); }
        public static final void close(ResultSet rs, Statement stmt, Connection con) {
            close(rs);
            close(stmt);
            close(con);
    }

  • Less number of Records while loading data from one cube to another

    Hi,
    We are in the process of doing major changes in the existing InfoCube.
    Before making any changes, we had planned to make a copy of the cube with data.
    For this we did the following steps :
    1. Created the new cube from the original cube.
    2. Generated Datasource on the Orignal cube.
    3. Made a update rule on the new cube by selecting the Orinal cube.
    4. Made a InfoPack on Infosouce which got created with 8<original cube>.
    5. Uploaded the data into the new cube.
    We have uploaded the data successfully from the original cube to the new cube.
    However, New cube shows less number of records as compared to the original cube.
    But the query is showing the same figures from both the cubes.
    Can anyone please advise what could be the reason for this less number of records and how the figures are showing same when we run the query from both the cubes.
    Please help.
    Thanks
    Ramesh Ganji

    Hi Ramesh,
    this is possible coz when u have loaded yr original cube, it may be loaded on daily/weekly basis. so in the cube there are many requests. Also if in the same request, if there are two records with same dimension keys ther are automatically added aggregating them.
    if req 1 has following records
    cust mat amt
    1      1     100
    1      1       50
    it will add
    1      1     150
    and if the records are seperated by different req, then both will b added individually.
    therefore when u r loading yr new cube from original cube, all records that has same dimension key gets aggregated coz they are loaded into single request. so it showing less no of records as added.
    hope this helps.
    Regards,
    Purvang
    Assigning Point is to say Thanks in SDN *

  • Single and  Multiple Records On Same Data Block?

    Hi all,
    Im using forms 6i with db 9i.
    Im having a nested table which contains a column of datatype TYPE(table of varchar2(100)).
    Now i want to create a data block based on the nested table.
    So, I want only one column should be multirecord in the block.
    When i set the block level NO OF RECORDS PROPERTY to multiple, then all the items in the block getting changed as
    multi records.
    Is that possible to have multirecord for a particular field OR how to fix this issue?
    Regards
    Sankar MN
    Edited by: SankarMCA on Oct 17, 2010 9:55 PM

    Hi Baiq,
    Thanks for your responses. I moved the multirecord item into a separate block(control block) and it worked.
    But still im having a doubt regarding this.
    How can we map a db column which has datatype of TYPE(Collection) to a particular item in forms?
    Because when i try to create a new datablock based on that table im not able to move that collection column from
    the available columns to database items in the datablock wizard. It seems like disabled and tree node structure and
    im not able to select the same.
    Next thing, Even though we assigned those column manually, How the commit_form save that multirecord column
    with multiple values?
    So kindly let me know how to solve this case if possible.
    Regards
    Sankar MN
    Edited by: SankarMCA on Oct 18, 2010 7:14 AM

  • Hi Gurus! how to count number of records in any column of ALV Grid report

    Hi Guys!
    I want to know how can we count the number of records in any column selected by the user. Like for oe customer there might be 20 sale order that means for 10 customer there will be 200 Sale order. So if i select cutomer number column ti should give 10 out put and whern select sale order it should give 200 as output.
    -Anurag Jain

    Hi,
    Either you can use the hotspot_click event or double_click to show the Pop-up info of the Sales Order count or customer Count depending on the selection.
    In the hotspot_click event  method you have E_ROW_ID E_COLUMN_ID..using these you can find the Sales Ordert or customer Number.. Loop the internal table and find the Count.
    In the double_click event  method you have E_ROW E_COLUMN..using these you can find the Sales Ordert or customer Number.. Loop the internal table and find the Count.

  • How to count number of sundays between two dates

    Hi
    I want number of Sundays between two dates
    example
    number of Sundays count between '01-04-2013' and '30-04-2013' in one select query I have to include this as sub query in my select statement.

    Hi,
    ChakravarthyDBA wrote:
    Hi
    I want number of Sundays between two dates
    example
    number of Sundays count between '01-04-2013' and '30-04-2013' in one select query I have to include this as sub query in my select statement.Here's one way:
    SELECT       early_date
    ,       late_date
    ,       ( TRUNC (late_date + 1, 'IW')
           - TRUNC (early_date,        'IW')
           ) / 7       AS sundays
    FROM       table_x
    ;This does not depend on your NLS settings.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and also post the results you want from that data.
    Point out where the statment above is getting the wrong results, and explain, using specific examples, how you get the right results from the given data in those places.
    Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
    See the forum FAQ {message:id=9360002}

  • Create Store Procedure to Count Number of records in Database for each table

    Hello,
    I have created the code which counts the number of records for each table in database. However, I want create store procedure for this code this code that when ever use execute the Store Procedure can provide the database name to execute it and as a result
    table will display number of records in each table.
    Below you will find the code its working:
    CREATE
    TABLE #TEMPCOUNT
    (TABLENAME
    NVARCHAR(128),
    RECORD_COUNT BIGINT)
    -- Creating a TEMP table
    EXEC
    sp_msforeachtable
    'insert #tempcount select ''?'', count(*) from ? with (nolock)'
    SELECT
    * FROM
    #TEMPCOUNT
    ORDER
    BY TABLENAME
    DROP
    TABLE #TEMPCOUNT
    This code need to be convert in store procedure and user can give database name when execute the procedure in order to count the records.
    Looking forward for your support.
    Thanks.
    SharePoint_Consultant_EMEA

    Something like:
    set quoted_identifier off
    go
    create procedure usp_TableCounts
    @DBName as varchar(1000)
    as
    set nocount on
    declare @SQLToExecute varchar(1000)
    CREATE TABLE #TEMPCOUNT (TABLENAME NVARCHAR(128), RECORD_COUNT BIGINT) -- Creating a TEMP table
    set @SQLToExecute = @DBName + ".dbo.sp_msforeachtable 'insert into #tempcount select ''?'', count(*) from ? with (nolock)'"
    print @SQLToExecute
    exec (@SQLToExecute)
    SELECT * FROM #TEMPCOUNT
    ORDER BY TABLENAME
    DROP TABLE #TEMPCOUNT
    GO
    Satish Kartan www.sqlfood.com

  • How to count number  of records for a field based on condition?

    Hi guys,
    I want to know how to find count of records coming from the database for a particular field based on some condition.
    I need to use this count to suppress some headers. Because of this i am not able to use running totals. Is there any other way?
    Ex scenario:
    I have account number and currency fields, those are coming from database. And i need to count the number of accounts whose currency is not Euro.
    Thanks in advance,
    Vijay.

    A simple formula can do that:
    //Formula begin
    if {your account field}<>"Euro" then 1
    //Formula end
    This formula can be summarized. (by group or report)
    Bryan Tsou@Taiwan

Maybe you are looking for

  • How to refresh the list of select one choice which is inside a table?

    Hello I am using Jdeveloper Version 11.1.2.1.0. The table is a normal table that is made to look like a treeTable. For some rows are or can be parents with Parent_vo_group_id = null and other are children with parent_vo_group_id = vo_group_id of the

  • How can I pass a custom value to the ecommerce invoice?

    I would like to pass a barcode or an image to the ecommerce invoice once they buy my product. The idea is that they would print the email or pdf attached to it and reclaim their products on my physical store in case shipping is not allowed for their

  • Page down/scroll in iTunes store jumps back to top of page

    I can't scroll/page down in the iTunes store without it jumping back to the top of the page after about 1 second. Tried using keyboard arrows/page down, mouse click/drage scroll bar, mouse scroll button. Just downloaded the latest update but didn't f

  • Portlet - dataUrl JSF

    Hi, I have a requirement to make an AJAX call to a JSF Portlet to retrieve some data. I coed as per the steps given in Weblogic portal JSF whitepaper (page 90). But when i make the AJAX call to the dataUrl, i get the data with the mark-up as a portle

  • Windows XP Sound Blaster Audigy FX Support

    How do I get my Sound Blaster Audigy FX to work with Windows XP. First it doesn't find the device. Then the cd that came with it says it needs Windows Vista to work. Please Help!