Matrix - invalid row number

Hello,
Has anyone come across the following error:
"Matrix - invalid row number" ?
Full error:
System.Runtime.InteropServices.COMException (0xFFFFF043): Matrix - invalid row number
at SAPbouiCOM.IEditText.get_Value()
Please note that this error is different than the more
known:
"Row - Invalid index".
Thanks,
Erez

Michael, here you go:
For i = 1 To oMatrix.RowCount
   sLineID = ServicesMethods.GetCellEdit
                        (oMatrix.Columns, "mycol", i).Value
Next
Tjaard, I think you are mistaken.
The 0 row is the header row.
It would be correct if I were using DBDatasource iteration
Thanks,
Erez

Similar Messages

  • Error when seelcting serial numbers - Matrix - invalid row number

    When selecting serial numbers in the Inventory posting screen, we are getting the following error.  can you please assist.
    HDserialselection:0: Matrix - invalid row number

    The error message sounds like from Add-on, not B1.  Do you have any add-on installed?
    Thanks,
    Gordon

  • Invalid Row Number with Gallery Widget

    Hi all,
    I'm having some trouble with selecting the correct gallery
    with the gallery widget. Instead of using the dropdown as shown in
    the demo, I want to use a query string for selecting the gallery.
    This is what I've done:
    <script type="text/javascript">
    function selectPortfolio() {
    var _wl = window.location.toString();
    var _pId = _wl.substring(_wl.lastIndexOf('=') + 1,
    _wl.length);
    dsGalleries.setCurrentRowNumber(_pId.toString());
    </script>
    </head>
    <body onload="selectPortfolio();">
    When I try to hit the following URL:
    my_website/portfolio.html?id=1, I'm trying to set the
    currentRowNumber to 1. When I debug through the the SpryData.js
    file I see the following function getting executed:
    Spry.Data.DataSet.prototype.setCurrentRowNumber =
    function(rowNumber)
    if (!this.data || rowNumber >= this.data.length)
    Spry.Debug.trace("Invalid row number: " + rowNumber + "\n");
    return;
    I can see rowNumber coming through as 1. However, this.data
    is coming back as null.
    Anyone see anything wrong with what I've done here?
    Sean

    Try to mkae it simple ;
    &Total=0;
    &RS_LEVEL0 = GetLevel0();
    &Row_LEVEL0=&RS.Getrow(1);
    &RS_LEVEL1=&Row.Getrowset(Scroll.JournalLine1);
    For &I=1 to &RS_LEVEL1.Activerowcount;
    &Row_LEVEL1=&RS_LEVEL1.Getrow(&I);
    &Record_LEVEL1=&Row_LEVEL1.GetRecord(Record.JournalLine1);
    &Field_LEVEL1=&Record_LEVEL1.GetField(Field.Amount);
    &Amount=&Field_LEVEL1.Value;
    &Total=&Total + &Amount;
    end-for;
    Your_Level_0_Record_Name.LEVEL_0_TOTAL_FIELD_NAME.value=&Total;
    Hope it will work!!!
    Don't do any declearation it will automaytically decleared.
    Thanks,
    Amit

  • Open system form and select a row number on matrix by click on button

    Hi experts,
    I have to open the purchase order form and select a specific row number from the matrix by clicking a button on sales order form.
    is it possible ?
    can anyone help me to achieve it?
    Thanks in advance.
    Best regards
    Andrea

    Andrea,
    To Do? Clicking on a Button on Sales Order -> Opens a PO form, and selects the row?
    In the eventhandler of a button click if the PO is not linked to SO by SAP B1 standard functionality
    step 1. call ActivateMenu ("2305") of Sbo_application , this opens the PO form
    step 2. Change the form to Find mode
    step 3. enter po number to the Item UID "8" which is the document number.
    step 4. Send enter key, or Clikc On button UID "1" which finds the PO
    step 5.read the value from SO form, from matrix "38" line where you selected
    step 6. use the code above to locate the line in PO (use # column for position numbers which UID is 0)
    at step 5, i think you should select a line from SO matrix which you would like to open.
    IN sales order, If you used PO chekcbox on logistics tab to create the PO, you can find a direct link between PO and SO (only in docentries are linked not positions) on sales order,  Column UID 158 field name: potrgnum.  If this connection is exists, you have an easy way:
    SO form, when a user clicks on COlumn 158 (po number), you can implement an eventhandler, which
    step 1.read the value from SO form, from matrix "38" line where you selected
    step 2. use the code above to locate the line in PO (use # column for position numbers which UID is 0)
    By processing theses steps, you can build up you solution.
    Regards
    János

  • Problem obtaining row number in a TableView

    I have a TableView configured by means of a MapValueFactory as it is shown in the code below:
    private void configureColumns() {
        getColumns().clear();
        List<String> nonAnonymousVariablesNames = getNonAnonymousVariablesNames();
        if(nonAnonymousVariablesNames != null && !nonAnonymousVariablesNames.isEmpty()) {
            for(String nonAnonymousVarName : nonAnonymousVariablesNames) {
                TableColumn<Map<String, Term>, Term> dataColumn = new TableColumn<>(nonAnonymousVarName);
                dataColumn.setCellValueFactory(new MapValueFactory(nonAnonymousVarName));
                dataColumn.setMinWidth(130);
                Callback<TableColumn<Map<String, Term>, Term>, TableCell<Map<String, Term>, Term>>
                    cellFactoryForMap = new Callback<TableColumn<Map<String, Term>, Term>, TableCell<Map<String, Term>, Term>>() {
                        @Override
                        public TableCell call(TableColumn p) {
                            TextFieldTableCell tableCell = new TextFieldTableCell();
                            TableRow row = tableCell.getTableRow();
                            final int index = row.getIndex();
                            StringConverter sc = new StringConverter() {
                                @Override
                                public String toString(Object t) {
                                    //return something based on the current row and the object t
                                @Override
                                public Object fromString(String string) {
                                    return null;
                            tableCell.setConverter(sc);
                            return tableCell;
                dataColumn.setCellFactory(cellFactoryForMap);
                getColumns().add(dataColumn);
    I am trying to get the row number before printing the content of a cell. However, the call to row.getIndex(); triggers the following exception:
    SEVERE: javafx.scene.control.Control impl_processCSS The -fx-skin property has not been defined in CSS for TableRow[id=null, styleClass=cell indexed-cell table-row-cell]
    SEVERE: javafx.scene.control.Control loadSkinClass Failed to load skin 'StringProperty [bean: TableRow[id=null, styleClass=cell indexed-cell table-row-cell], name: skinClassName, value: com.sun.javafx.scene.control.skin.TableRowSkin]' for control TableRow[id=null, styleClass=cell indexed-cell table-row-cell]
    java.lang.NullPointerException
        at org.jpc.commons.prologbrowser.model.QueryResultModel$1.call(QueryResultModel.java:74)
        at org.jpc.commons.prologbrowser.model.QueryResultModel$1.call(QueryResultModel.java:1)
        at com.sun.javafx.scene.control.skin.TableRowSkin.recreateCells(TableRowSkin.java:224)
        at com.sun.javafx.scene.control.skin.TableRowSkin.<init>(TableRowSkin.java:87)
        at sun.reflect.GeneratedConstructorAccessor6.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at javafx.scene.control.Control.loadSkinClass(Control.java:1044)
        at javafx.scene.control.Control.access$500(Control.java:70)
        at javafx.scene.control.Control$12.invalidated(Control.java:972)
        at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:127)
        at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:161)
        at com.sun.javafx.css.StyleableStringProperty.set(StyleableStringProperty.java:71)
        at javafx.scene.control.Control$12.set(Control.java:964)
        at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:59)
        at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:31)
        at com.sun.javafx.css.StyleableProperty.set(StyleableProperty.java:70)
        at com.sun.javafx.css.StyleHelper.transitionToState(StyleHelper.java:902)
        at javafx.scene.Node.impl_processCSS(Node.java:7415)
        at javafx.scene.Parent.impl_processCSS(Parent.java:1146)
        at javafx.scene.control.Control.impl_processCSS(Control.java:1154)
        at com.sun.javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1598)
        at com.sun.javafx.scene.control.skin.VirtualFlow.addTrailingCells(VirtualFlow.java:1114)
        at com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1007)
        at javafx.scene.Parent.layout(Parent.java:1018)
        at javafx.scene.Parent.layout(Parent.java:1028)
        at javafx.scene.Parent.layout(Parent.java:1028)
        at javafx.scene.Parent.layout(Parent.java:1028)
        at javafx.scene.Parent.layout(Parent.java:1028)
        at javafx.scene.Parent.layout(Parent.java:1028)
        at javafx.scene.Scene.layoutDirtyRoots(Scene.java:516)
        at javafx.scene.Scene.doLayoutPass(Scene.java:487)
        at javafx.scene.Scene.access$3900(Scene.java:170)
        at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2203)
        at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:363)
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:460)
        at com.sun.javafx.tk.quantum.QuantumToolkit$9.run(QuantumToolkit.java:329)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:76)
    Is this a bug in JavaFX ? otherwise which is the correct way to obtain the row number in the string converter of the TextFieldTableCell ?

    To get the content of a cell you have to make  setCellSelectionEnabled(true);
    To get the selected row or selected column you can use the following: 
    {code}
            table.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
            table.getSelectionModel().setCellSelectionEnabled(true);
            table.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
                @Override
                public void changed(ObservableValue observable, Object oldvalue, Object newValue) {
                    for (TablePosition t : (ObservableList<TablePosition>) table.getSelectionModel().getSelectedCells()) {
                        System.out.println("The selected column is: " + t.getColumn());
                        System.out.println("The selected row is: " + t.getRow());
    {code}
    If you need only the selected row  (TextFieldTableCell  selected)you can use the following:
    {code}
            table.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue observable, Number oldvalue, Number newValue) {
                    System.out.println("Selected row is " + newValue);
    {code}

  • How to limit row number per group without change new page in crystal report

    Hi All Expert,
    Is there any way to limit row number per group without change new page in crystal report 2008. The reason i do that is due to customer using printer EPSON LQ 300 (dot matrix) always will print in landscape if detech my layout in landscape. Because they need the record always print in 1 page (Letter size) for 2 groups and each group must show 5 records. Example:
    But, in CR2008, if you set the row per group from group section expert, definitely it will change to new page, but I do not want it change to new page. Any Idea?
    In one page (Letter size):
    Group Name: Customer-ABC
    NO  INVOICE  AMOUNT
    1)   INV001     USD100
    2)   INV002     USD100
    3)   INV003     USD100
    4)   INV004     USD100
    5)   INV005     USD100
    Group Name: Customer-ABC
    NO  INVOICE  AMOUNT
    6)   INV006     USD100
    7)   INV007     USD100
    8)   INV008     USD100
    9)   INV009     USD100
    10)  INV010     USD100

    Hi Angie.....
    I guess it is not possible.
    Because if you have one common group for all the 10 records then in one page it will show 10 records under one group.
    I mean i think it is not possible but m not completely sure......
    Lets wait for expert advise....
    Regards,
    Rahul

  • ORA-01465: invalid hex number on form field having values like $0-$10k...

    Hi
    I have a form item (SPEND) of select list having values like
    $0 - $10k
    $10k - $50k
    $50k - $100k
    $100k - $250k
    $250k+
    For the new record, when I hit "SAVE” buttons it inserts the new records to the table with values ($0-$10k...)
    BUT when i edited the same record, and then try to "Apply Changes” getting following error message
    ORA-01465: invalid hex number
    Again when I change the value to null it simply allows the record to UPDATE.
    Again I changed the item to a text field i am getting same error when I try with charter (ABc...). BUT it allows to the number (123..)
    Column attribute is SPEND VARCHAR2 (15 BYTE)
    ie - when I try to update the SPEND field with the values ($0 - $10k,$10k - $50k,$50k - $100k,$100k - $250k,$250k+) I am getting above error message.
    ORA-01465: invalid hex number
    Environment:
    Oracle Apex- 4.1
    DB-11g
    Thanks,
    Amu
    Edited by: Amuly on Jul 16, 2012 5:00 PM

    Use utl_raw.cast_to_raw() function when you convert HEX value into RAW(), e.g.:
    SQL> create table ztest (ff raw(1000));
    Table created
    SQL> insert into ztest (ff) values
      2  (utl_raw.cast_to_raw('596F75207765726520646973636F6E6E65637465642066 726 F 6D207468652041494D207365727669996365207768656E20796F752073696
      3  76E656420696E2066726F6D20616E6F74686572206C6F636174'));
    1 row inserted

  • SP2-0226: Invalid line number

    How can I look up error codes? Also, does anybody know what this means? It doesn't seem to affect the way the procedure runs.

    How can I look up error codes?http://www.oracle.com/pls/db92/db92.error_search?remark=homepage&prefill=ORA-
    As you can see below, there is no line number 10 in the current SQL buffer to goto.
    hence the error.
    SQL> select
      2  *
      3  from
      4  scott.emp
      5  where
      6  rownum < 10 ;
         EMPNO ENAME      JOB              MGR HIREDATE           SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 17-DEC-1980        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-1981       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-1981       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-1981       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-1981       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-1981       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-1981       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-1987       3000                    20
          7839 KING       PRESIDENT            17-NOV-1981       5000                    10
    9 rows selected.
    SQL> l10
    SP2-0226: Invalid line number
    SQL>Message was edited by:
    Kamal Kishore

  • Row Number() over partition by Order by in OBIEE Physical SQL

    Hi ,
    I created a OBIEE report in Dev using Answers. When I move the same report to Live, the count of rows was more in Live environment when compared to Dev.
    The objects count is same in both Dev and Production.
    WheniI verified the log file, I found that the Physical SQL in test has
    ROW_NUMBER ()
    OVER
    PARTITION BY c1, c4, c5 order by c1,c4,c5) whereas the physical SQL in Production has
    ROW_NUMBER ()
    OVER
    PARTITION BY c1, c4, c5, c8,c9 order by c1,c4,c5,c8,c9)
    How this Partiton is done in OBIEE. I have just copied the report from catalog and moved to production.There is no changes in report.
    Whether there are any settings to control it? HOw OBIEE does this Row Number() Partiton ? How can get this similiar to Test?
    Please help!
    Thanks
    Johnny

    Hi Saichand,
    The links were helpful. But i am not getting how it is working in test and not in live.
    I found one difference while deploying . The column names of the object both in Test and Production had spaces.For E.g: Full Name
    When this column Full Name is pulled to the repsository in test , it automatically put double quotes for the column names in the physical sql when it hits the database.
    But, In production , when I pulled the column the report gave error as Invalid Identifier since OBIEE generated column name as Full Name without double quotes.
    Then I changed the column in Phyiscal Layer repository by having double Quotes for all columns. Afte that report worked fine.
    Whether this has caused any issue in Row Partition.
    Is there any setting to have column name in Double Quotes ?
    Thanks,
    Johnny

  • 10g Lite  SYNC Error  --   POL-3201 "Invalid Slot Number"

    Hi,
    I am Using Oracle Lite 10g R3, I am doing manual SYNC Process.
    Today I started the manual Sync Process i encountered the Error Message in the Screen "POL-3201 Invalid Slot Number"
    Oracle document States that
    POL-3201 Invalid slot number
    Cause: Internal error caused by referencing an object that has been deleted. Each
    object in the database, such as a row has a unique object identifier (OID) that
    identifies the location of the object in secondary storage. Each database file is
    divided into fixed size chunks called disk pages. An OID can become invalid
    when the:
    ■ disk page being referred by the OID does not exist in the database file.
    ■ physical read or write of the disk page fails due to an operating system related
    error.
    ■ address of the object (as indicated by the internal encoding in the OID) in the
    disk page is outside the page.
    ■ object is not found in the page.
    Has anyone faced this error and resolved it successfully?
    Please advice.
    Thank U
    SHAN

    Hi,
    I am getting the following information in the debug file
    CONNECT SQL sipdb=72310728
    cmd:SELECT CONSTRAINT_NAME,TABLE_NAME FROM ALL_CONSTRAINTS WHERE CONSTRAINT_TYPE='R'
    cmd:SELECT CONSTRAINT_NAME,TABLE_NAME FROM ALL_CONSTRAINTS WHERE CONSTRAINT_TYPE='U'
    14:23:34.511 startOfPublication()end
    Error at C:\ADE\omeprod_ol103021\olite\db\build\win\ocapi\..\..\..\src\ocapi\processop.cpp line:735 rc:-3201
    Build date Nov 18 2008
    okErr=(invalid slot number)
    mess=(SYS_LSI_AGE)
    AddLog(-3201 "ERROR",POL-3201,"04/30/2009 13:24:28","invalid slot number:SYS_LSI_AGE","DURBAN2008")
    14:23:34.527 ROLLBACK OKAPI conscli
    ROLLBACK SQL sipdb
    ROLLBACK OKAPI sipdb
    14:23:34.527 okDis(env=3816c84)
    DISCONNECT OKAPI conscli okEnv=3816c84
    14:23:34.527 okFinal 0
    14:23:34.527 DISCONNECT SQL sipdb
    14:23:34.527 okDis(env=4454fac)
    DISCONNECT OKAPI sipdb okEnv=4454fac
    Free SQL ENV
    14:23:34.527 okFinal 0
    DoProcess()=-3201
    in prepareErrorReport
    m_okEnv=4454fac
    okSetTimeout(20000)=0
    getDsnAttribute0(DURBAN2008_conscli)=0
    14:23:34.527 okConnect1()... 14:23:34.543 okConnect1(F:\mobileclient\oldb40\DURBAN2008\conscli.odb)=2633737
    CONNECT OKAPI conscli=2633737 okEnv=4454fac
    makeFnameBase(00000000000000000)
    BeginTranz(0 0)
    EndTranz nDirty=2
    EndTranz(0 0)
    14:23:34.543 okDis(env=4454fac)
    DISCONNECT OKAPI conscli okEnv=4454fac
    14:23:34.636 okFinal 0
    ocDoSyncronize done 14:23:34.636
    Please Advice
    Thank U
    SHAN

  • Data Source - Bad Field Size (Row Number)

    Hi,
    I get following Exception "Data Source - Bad Field Size" when I run:
    oForm_ActivityView.DataSources.DataTables.Item("mtx_C").ExecuteQuery("SELECT...
    The Select statement run fine in SQL 2005.
    I am using following SQL statement to get the row number:
    ROW_NUMBER()OVER (ORDER BY OCLG.ClgCode) AS RowNumber,
    If I remove the statement it works fine.
    How do I get the row number in B1 to my Matrix?
    Thank you,
    Rune

    I fought with this in the past too and solution for me was:
    original query
    select ROW_NUMBER() OVER (ORDER BY ItemCode) AS RowNumber, *  from oitm
    new query
    select t.* from (select ROW_NUMBER() OVER (ORDER BY ItemCode) AS RowNumber, *  from oitm) t
    or convert the rownumber to nvarchar instead of integer as
    convert(nvarchar(10),  ROW_NUMBER() OVER (ORDER BY ItemCode) ) as RowNumbver
    check it and let me know

  • Process Lockbox: Invalid matching number

    We are upgrading from 11.5.10 to R12.1.3. When trying to process a transmission we encounter Error: 42440 - Invalid Matching Number for few invoices in the batch. These invoices are open in the system. Trying to run lockbox by navigating to Interfaces > Lockbox and Submit Validation. I am able to create a receipt manually and select this particular invoice and apply it. Not sure why process lockbox is saying Invalid matching number. Same file processed fine in 11i.
    Log of process lockbox:
    Receivables: Version : 12.0.0 Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved. ARLPLB module: Process Lockboxes +---------------------------------------------------------------------------+ Current system time is 18-SEP-2013 11:25:05 +---------------------------------------------------------------------------+ Starting ARLPLB Input parameters: N 24745 14690463 hjnonocr0918-2 N 1060 Y N 2013/08/31 00:00:00 A Y N N 570 N 1 L Scoring model Id is NULL Lockbox id is NULL. autoapply_flag : N 1662 24745 6 4 416423N 7 N rows updated : 0Transmission control count does not equal validated count. Transmission control amount does not equal validated amount. AR-ARLPLB: If custom code exists, error found. No errors found in standard code. AR-ARLPLB: Commited infomation... p_set_of_books_name='BSGUSD' Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are : American_America.WE8ISO8859P1 ' ' Enter Password: REP-0004: Warning: Unable to open user preference file. MSG-00100: no_data_found was raised Report Builder: Release 10.1.2.3.0 - Production on Wed Sep 18 11:25:07 2013 Copyright (c) 1982, 2005, Oracle. All rights reserved. +---------------------------------------------------------------------------+ Start of log messages from FND_FILE +---------------------------------------------------------------------------+ +---------------------------------------------------------------------------+ End of log messages from FND_FILE +---------------------------------------------------------------------------+ Exiting ARLPLB +---------------------------------------------------------------------------+ Start of log messages from FND_FILE +---------------------------------------------------------------------------+ +---------------------------------------------------------------------------+ End of log messages from FND_FILE +---------------------------------------------------------------------------+
    Did anyone face this issue? Any help appreciated. Thanks!!

    No one encountered this issue so far?

  • How to fill the first column '#' of matrix  with row id in user form?

    Hi All,
    I am having a user defined form in which, I m having a matrix and m populating the matrix with the output of an sql query.
    something like this:
    SQL_Str= "select col1,col2,......from.... "
    OPopDBTable.ExecuteQuery(SQL_Str)
    oMatrix.AddRow()
    oMatrix.Columns.Item("Col3").DataBind.Bind("PopTable", "col1")
    oMatrix.Columns.Item("Col2").DataBind.Bind("PopTable", "col2")
    oMatrix.LoadFromDataSource()
    Now, in this, how can I assign row number to first column ('#' column ) ??
    regards,
    Binita

    Ah...the ROW_NUMBER() was posted by Petr - also thank you (again)
    With my example-query from the other thread:
    SELECT
         CAST(
                 ROW_NUMBER() OVER (ORDER BY T1.U_LogNo ASC) AS INT
            ) AS RowCnt,
         T1.Code,
         T1.U_ParcelNo,
         T1.U_LogNo
    FROM
         [@XXX_EXAMPLE] T1
    WHERE
         T1.U_ParcelNo='132006' 
    ORDER BY
         T1.U_LogNo ASC
    ...this works for me (it's quickly copied from several subs/func. - I hope it's not too much disordered):
    DtLogs.ExecuteQuery(query)
    oMtxLogs.Columns.Item("0").DataBind.Bind("DT_LOGS", "RowCnt")
    oMtxLogs.Columns.Item("1")........
    oMtxLogs.LoadFromDataSource()

  • How to get row number in the fetch row itself in Sql Query ?

    Hi,
    i am fetching some rows from a sql query . Is there any way to get row number as well in each row while all rows are fetched ?
    like this :
    RowNum data1 data2
    1 abc ere
    2 bnh ioi

    Hello
    Ofcourse you can get the rownum inside a query, just keep in mind that the rownum is the number of order in which the records were fetched from the table, so if you do an order by, the rownum will not be sequential, unless you query the information in a subquery first.
    SELECT rown, col1, col1
    FROM table
    Or
    SELECT rownum, col1, col2
    FROM (SELECT col_1, col_2 FROM table ORDER BY col1)
    Regards
    Johan

  • Find row number of first cell in a relative range that is less than $B$3

    Thanks for any help. I've spent hours searching, trying, and reading iWork Help
    Example:   $B$3 = 3
    Column C
    1:  9
    2:  2
    3:  9
    4:  2
    5:  3
    6:  9
    7:  9
    Find the first occurrence that is less than $B$3 (=3) in the range C3:C6. Return the row # (relative to the range, or actual row number, I don't care)
    Fill Down the formula, so the next cell looks at the range C4:C7
    In this case, I want it to return Row 4 (not 5 or 2)
    Tried this with MATCH (last argument -1 or 1) which almost works, but if it finds an exact match, it returns that row (5) instead of the first one (4)

    The single formula in D2, filled down that column, returns the row number of every row where the value in column C is less than or equal to the value in $B$3.
    The second formula, which I placed in B4, but which can go wherever it's needed, searches a limited range of column D for the minimum value in that range.
    In the example, based on your initial question, the range is three cells.  In B4, it's D2:D4; in B5 it's D3:D5, etc., with Numbers automatically adjusting the cell references as the formula is filled down the column. In each case, the formula returns the minimum value it finds in the three cell range, which is the row number on which the value in column C first meets the condition (less than or equal to $B$3) within that three cell range.
    In the second example, the formula retrieves the same value (the row number) as above, but instead of displaying it, uses it as the row-offset value in an OFFSET statement to return the Date from the row where the row number was collected.
    NOTE: Looking back at it, I see that in my rush to other duties I made an error in this formula, setting the row offset too high. Revise the formula as shown below to get the date from the correct row:
    Existing: =IF(MAX(D2:D4)=0,"",OFFSET($A$1,MIN(D2:D4),0))
    Revised: =IF(MAX(D2:D4)=0,"",OFFSET($A$1,MIN(D2:D4)-1,0))
    You wrote:
    If I'm following the logic, it would require one column (like D in this example) for every set of rows searched (in my example, B5:B15  filled down, so the next search is B6:B16 and so on).
    No. Provided the values of X and Y are constant for each set of searches, you'll need an auxiliary column for each column of values to be searched. One auxiliary column is used to mark the rows in which the value in B meets the condition ">x", the second to mark the rows where the value in C meets the condition "<y".
    The search formula (above) searches a subset of its column and returns the lowest row number where the condition for that column is met,and either displays that number or uses it to return and display a date.
    Regards,
    Barry

Maybe you are looking for