B1DE Invalid row

Hi.
I developed an addon using B1DE 2005SP01 1.3 VS2005.
With B1 2005 SP01 PL 12 all works correctly.
Alter installed PL 14, the code fails in following routine
Public Class Menu__SCZ_Scadenziario
      Inherits B1XmlFormMenu
      Public Sub New()
         MyBase.New()
         MenuUID = "SCZ_Scadenziario"
         'GENERATED CODE
         Me.LoadXml(Common.xmlForm)
      End Sub
after exit from constructor with the following error
<b>EXCEPTION: Form__xxxx.CTOR raised
Invalid row</b>
Anyone can help me?
Ciao. Nicola

Hi Martella,
There's a bug in PL14. The issue is that the observer dll is not updated correctly. Try removing the SM_OBS_DLL folfer (that's on your temp folder). That should do it.
Hope this helps,
Ian

Similar Messages

  • B1DE: GetByKey() - Invalid row

    Hello,
    I am using the B1DE to update UDO with GeneralService by using GetByKey () .
    The problem is when I do GetByKey () to one of records that its child table has blank entries,
    I receive the error message "Invalid Row".
    Does anyone know why this happens? What should I do?
    Thanks.

    Hi,
    I found my problem.
    In my code I deleted empty rows to child table, before the GetByKey().
    If there is a child table of the UDO that empty for one DocEntry, then B1DE failed in GetByKey for this DocEntry.

  • 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

  • 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

  • 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

  • Invalid row id

    I have emp table as below..
    Empid Empname Departmentid salary
    101 ss 10 20000
    102 skll 20 25000
    etc...
    I created a simple cursor to increase salary by 1000 where dept is 10 (instead of writing update statement)
    DECLARE
    v_recemp emp%rowtype;
    cursor cur_emp is select * from emp where departmentid = 10 for update of salary nowait;
    begin
    open cur_emp;
    LOOP
    fetch cur_emp into v_recemp;
    update emp set salary=salary+1000 where current of cur_emp;
    exit when cur_emp%notfound;
    end loop;
    close cur_emp;
    end;
    But I am getting
    Error at line 1 :
    ORA - 01410 : invalid ROWID
    ORA -06512 : at line 8
    Why this is happening ?

    You are trying to update BEFORE checking if row was actually fetched. Move EXIT WHEN one line up:
    SQL> DECLARE
      2  v_recemp emp%rowtype;
      3  cursor cur_emp is select * from emp where deptno = 10 for update of sal nowait;
      4  begin
      5  open cur_emp;
      6  LOOP
      7  fetch cur_emp into v_recemp;
      8  update emp set sal=sal+1000 where current of cur_emp;
      9  exit when cur_emp%notfound;
    10  end loop;
    11  close cur_emp;
    12  end;
    13  /
    DECLARE
    ERROR at line 1:
    ORA-01410: invalid ROWID
    ORA-06512: at line 8
    SQL> DECLARE
      2  v_recemp emp%rowtype;
      3  cursor cur_emp is select * from emp where deptno = 10 for update of sal nowait;
      4  begin
      5  open cur_emp;
      6  LOOP
      7  fetch cur_emp into v_recemp;
      8  exit when cur_emp%notfound;
      9  update emp set sal=sal+1000 where current of cur_emp;
    10  end loop;
    11  close cur_emp;
    12  end;
    13  /
    PL/SQL procedure successfully completed.
    SQL> SY.

  • BC4J - how to remove invalid Row from ViewObject

    See the simplified code below. I want to insert a number of records in a table in one transaction. For every insert any occuring error is handled (stored) and after all inserts the errors are reported.
    private void insert(ViewObject vo, int id, String flag) {
    try {
    Row row = vo.createRow();
    row.setAttribute("Id", new Integer(id));
    row.setAttribute("Flag", flag);
    vo.insertRow(row);
    appMod.getTransaction().postChanges();
    catch (JboException exc) {
    handleError(exc);
    // appMod.getTransaction().rollback();
    So when inserting 3 records as below:
    insert(vo, 1, "A");
    insert(vo, 2 ,"BB");
    insert(vo, 3, "C");
    a "JBO-27010: Attribute set with value BB for Flag in Testtab has invalid precision/scale" exception will occur in the second record on the statement row.setAttribute("Flag", flag); as the Flag attribute is a varchar2(1). When the 3rd record gets inserted still an error occurs. It seems that the 2nd record is still cached somewhere; it's not been inserted into the ViewObject (from using the debugger I get the impression it's in the Entity object cache). BC4J tries to insert the 2nd row, that only has an Id attribute and no Flag attribute which is defined not null. So the 3rd record which is ok doesn't get inserted....
    How can I get rid of the second row ? Doing a rollback when an exception occurs doesn't work because then the first record which is ok is lost.
    Cheers Hans

    It turns out to be pretty simple - row.remove() does the trick.
    If only I'ld look in the right place first time everytime... :P

  • Error While Trying To Populate Data .....Invalid Row ID

    Hi ,
    I have created a form wherein the user enters details and presses save . The data on the form level is populated in a Custom Table . Some attributes of the table are programatically populated and some attributes are tagged to UI Components on the Form Level.
    When the user presses Save the following Error Occurs
    oracle.apps.fnd.framework.OAException: oracle.jbo.DMLException: JBO-26080: Error while selecting entity for TcsAssocFrontEndSegLookUpEO
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:888)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1145)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1408)
         at oracle.apps.fnd.framework.webui.OAPageBean.processFormData(OAPageBean.java:2517)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1647)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:497)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:418)
         at OA.jspService(OA.jsp:40)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    java.sql.SQLException: ORA-01410: invalid ROWID
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1983)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1141)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2487)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2854)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:622)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:550)
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelect(OracleSQLBuilderImpl.java:614)
         at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:4962)
         at oracle.apps.fnd.framework.server.OAEntityImpl.doSelect(OAEntityImpl.java:1684)
         at oracle.jbo.server.EntityImpl.populate(EntityImpl.java:4122)
         at oracle.jbo.server.EntityDefImpl.findFromDatabase(EntityDefImpl.java:889)
         at oracle.jbo.server.EntityDefImpl.findByPrimaryKey(EntityDefImpl.java:1069)
         at oracle.jbo.server.QueryCollection.findByKey(QueryCollection.java:2944)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:3072)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:3004)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:2998)
         at oracle.jbo.server.ViewObjectImpl.findByKey(ViewObjectImpl.java:6450)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.findByKey(OAViewObjectImpl.java:456)
         at oracle.apps.fnd.framework.webui.OAWebBeanDataAttributeHelper.checkAttributes(OAWebBeanDataAttributeHelper.java:1129)
         at oracle.apps.fnd.framework.webui.OAWebBeanDataAttributeHelper.getViewObjectRow(OAWebBeanDataAttributeHelper.java:773)
         at oracle.apps.fnd.framework.webui.OAWebBeanDataAttributeHelper.setValue(OAWebBeanDataAttributeHelper.java:496)
         at oracle.apps.fnd.framework.webui.OAWebBeanFormElementHelper.setValue(OAWebBeanFormElementHelper.java:445)
         at oracle.apps.fnd.framework.webui.OAWebBeanTextInputHelper.setValue(OAWebBeanTextInputHelper.java:161)
         at oracle.apps.fnd.framework.webui.OAWebBeanFormElementHelper.processFormAttribute(OAWebBeanFormElementHelper.java:407)
         at oracle.apps.fnd.framework.webui.OAWebBeanFormElementHelper.processFormDataAfterController(OAWebBeanFormElementHelper.java:340)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:757)
         at oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean.processFormData(OAMessageTextInputBean.java:488)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OACellFormatBean.processFormData(OACellFormatBean.java:416)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OARowLayoutBean.processFormData(OARowLayoutBean.java:352)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OATableLayoutBean.processFormData(OATableLayoutBean.java:354)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OAContentContainerBean.processFormData(OAContentContainerBean.java:353)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processFormData(OAHeaderBean.java:394)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.OASubTabLayoutHelper.processFormData(OASubTabLayoutHelper.java:524)
         at oracle.apps.fnd.framework.webui.beans.layout.OASubTabLayoutBean.processFormData(OASubTabLayoutBean.java:470)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processFormData(OAStackLayoutBean.java:356)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormData(OAPageLayoutBean.java:1574)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormData(OAFormBean.java:390)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataIndexedChildren(OAWebBeanHelper.java:1068)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1024)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormDataChildren(OAWebBeanHelper.java:1018)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormData(OAWebBeanHelper.java:758)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormData(OAWebBeanContainerHelper.java:662)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormData(OABodyBean.java:358)
         at oracle.apps.fnd.framework.webui.OAPageBean.processFormData(OAPageBean.java:2505)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1647)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:497)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:418)
         at OA.jspService(OA.jsp:40)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    java.sql.SQLException: ORA-01410: invalid ROWID
    I am wondering if the error is occuring due to the fact that i am partly populating the data declaratively and partly programatically ?
    Kindly Help ,
    Thanks

    Thanks Mani ,
    The table being populated is a customised table . It has[b] no primary key . All the columns are[b] nullable . The VO that i am using is taking rowid as Primary Key By default. I am not explicitly setting rowId .

  • Supress Invalid rows after Drilldown

    Hi Experts
    I have a BEx query with row and column structures, where within the row structure I am using a hierarchy of (SEM-BCS) items columns are key figures.  Within Analyzer, when I select from the navigation menu add drilldown according to items, I would expect that the query would expand to include only the relevant items within each row.  Instead, every value of an item including zero values are added to each row thus exploding the report unnecessarily.
    This occurs from both the filter and row specific right click menu.
    Zero suppression is activated for the query for both rows and columns (Query properties -> Rows/Columns tab) Supress zero = Active for both rows and columns.
    Zero suppress is also activated from the row and column key figure structure via Display tab u2013 Structure as Group Only apply suppress when all elements are 0.  I turned this off too and tried without success.
    Any ideas to correct this?
    Thank you in advance.
    Eyal Feiler

    Eyal,
    Let me just say that I wish it worked like you are expecting it to work .....
    Now an explanation of my previous post:
    Suppose you have a query where Rows have InfooBject A and InfoObject B. Zero suppression eliminates rows where both are blank.
    Now lets us say you have  Structure S in rows with two elements in the structure E1 and E2. Then you drill down by InfoObject B. In this case system treats Structure S equivalent to InfoOBject A with two values E1 and E2. This will never be blank and will never be elimnated by zero suppression. You might have defined element E1 as InfoObject B = Values V1 and V2, but the drill down by InfoOBject B will show all the values of InfoObject B, because the definition of structure element is only used to compute the value of the structure element and doesn't behave the same way as using the InfoObject. I guess this is becuase the structure element definitions can be very complex and it may not be possible to evaluate the relvancy fo drill-down rows in all conditions.
    Hope it helps
    Thanks
    Vineet

  • Error loading from csv - how to integrate valid rows and drop invalid?

    Hello,
    Log from execution (step: load csv data):
    ODI-1228: Task SrcSet0 (Loading) fails on the target ORACLE connection ODI_STAGE.
    Caused By: java.sql.BatchUpdateException: ORA-12899: wartość zbyt duża dla kolumny "ODI_STAGE"."C$_0URZADZENIA"."C1_ZWIAZKI" (obecna: 17, maksymalna: 6)
    So, it's clear. There are too long fields in csv, maximum is 6, current: 17. But, some rows are good (with ZWIAZKI lenght >=6). I need to load valid rows, integrate them, sent to destination table. Invalid rows should be isolated in external csv - it happens. But how can I integrate valid rows and prevent entire interface fail?

    I don't think something exists to really be prepared for every situation (invalid length, invalid format, ...).
    Here is an idea but it's not beautifull and I'm not sure it's the good way to do that :
    -First you should have a unique key (easier if it is on only one column).
    -Then Develop an new IKM to insert on a row-by-row insert/commit basis with an ORDER BY clause on the UK in the select. Before the insert step, the value of the UK for the current row should be stored in an ODI variable.
    -Create your interface and put a filter on your UK : UK_FIELD > :CURRENT_UK
    -Create a package, set CURRENT_UK to a value you know will be less than the possible min and refresh a new variable MAX_UK with a query to find the MAX(UK_FIELD). Then put your interface in the package and do a loop around it so it ends only when CURRENT_UK = MAX_UK. You should redirect both OK and KO arrows from the interface to the testing condition.
    @Phil : Sorry for "stealing" your reply :P. Nice to see you agree with me.

  • Message: Row - Invalid index

    Hello,
    I have a big problem. I created simple form (only one matrix with three columns) with screenpainter. I added datasources to this form, bind data for this form. I used my function for get data from datasource.
    Here is code of function.
    private void getDataFromDataSourceCiselnikUrovni(SAPbouiCOM.Form oForm,
          SAPbouiCOM.Matrix oMatrix, string tableName, string tableMatrix) {
          SAPbouiCOM.DBDataSource oDBDataSource =
            oForm.DataSources.DBDataSources.Item("@" + tableName);
          SAPbouiCOM.UserDataSource oUserDataSource =
            oForm.DataSources.UserDataSources.Item(tableMatrix);
          oDBDataSource.Query(null);
          for (int i = 0; i < oDBDataSource.Size; i++) {                    
            //oUserDataSource.Value = "nejaka hodnota";
            oDBDataSource.Offset = i;
            oUserDataSource.Value = ((int)(i + 1)).ToString();
            oMatrix.AddRow(1, -1);
          SAPbouiCOM.EditText oEditText =
               (SAPbouiCOM.EditText)oMatrix.Columns.Item("Col2").Cells.Item(oMatrix.RowCount).Specific;
          if (oEditText.Value != ""){
               switch (oForm.Type){
                    case 2000060302:{ //-- Ciselnik urovni
                         setUpNewRowCiselnikUrovni(oForm, oMatrix, oForm.DataSources.UserDataSources,oDBDataSource);
                             break;
    When i want open form the system write message: Row - invalid index. I dont know what does it means. I used the same function at SAP B1 6.5 and everything is OK.
    Thanks for your answer?

    Alexey, you are right, I didn't read well, sorry...!
    Does the AddRow method accepts '-1' as position parameter? That looks a invalid row to me... (I could be wrong)
    My code, for something simular:
    <b>Code (C#):</b>
    oMatrix.AddRow(oDBDataSource.Size, 0);
    for(int i = 1; i <= oDBDataSource.Size; i++)
      oUserDataSource.Value = i.ToString();
      oDBDataSource.Offset = i - 1;
      oMatrix.SetLineData();
    Hope it helps!

  • Get Error while update the User defined row table through DSK Code

    Hi experts,
    I have got an error while updating the user row defined table.
    Error is - "Invalid row"
    I have created one master table "@CBF_FARM " and Child table "@CBF_FAR1"
    First i inserted 5 record in the child table so in my my child table there are 5 Line id (1,2,3,4,5 one for each row).
    after that i delete 2 rows (3rd & 4th row) from child table now in my child table there are 3 rows( Line id 1, 2, 5). Please See attachment.
    Now i am updating  the last record of child table through Code  (Line id is 5)  from other form, then i got error  invalid row.
    Following Code used for updating the user defined child table.
      SAPbobsCOM.GeneralService oGeneralService1 = null;
                                    SAPbobsCOM.GeneralData oGeneralData1 = null;
                                    SAPbobsCOM.GeneralDataParams oGeneralParams1 = null;
                                    SAPbobsCOM.CompanyService sCmp1 = null;
                                    SAPbobsCOM.GeneralData oChild1 = null;
                                    SAPbobsCOM.GeneralDataCollection oChildren1 = null;
                                    sCmp1 = clsAddOn.LDNA_Company.GetCompanyService();
                                    oGeneralService1 = sCmp1.GetGeneralService("CBF_FARM");
                                    // Get UDO record
                                    oGeneralParams1 = ((SAPbobsCOM.GeneralDataParams)(oGeneralService1.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams)));
                                    oGeneralParams1.SetProperty("Code", oForm.Items.Item("edtFarmCd").Specific.Value);
                                    oGeneralData1 = oGeneralService1.GetByParams(oGeneralParams1);
                                    // Add lines on UDO Child Table
                                    oChildren1 = oGeneralData1.Child("CBF_FAR1");
                                    // Create data for rows in the child table
                                    SAPbouiCOM.Item oItem = oForm.Items.Item("cmbShed");
                                    oCombo = oItem.Specific;
                                    string ShedCode = oCombo.Selected.Value;
                                    ldna_Rec = clsAddOn.LDNA_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                                    string strQuery1 = "select LineId from [@CBF_FAR1] where U_ShedCd = " + ShedCode;
                                    ldna_Rec.DoQuery(strQuery1);
                                    oChild1 = oChildren1.Item(ldna_Rec.Fields.Item("LineId").Value - 1);
                                    oChild1.SetProperty("U_Status", "Ready For Schedule");
                                    //Update the UDO Record
                                    oGeneralService1.Update(oGeneralData1);
    Please Help me it is an urgent requirement,
    -Regards
    Vikas

    hi.
    Error is - "Invalid row"
    Now i am updating  the last record of child table through Code  (Line id is 5)  from other form, then i got error  invalid row.
    As per my knowledge
    What i understood is you have 5 lines and you are going to be update 5th line
    am i correct..
    while u are updating the line in child table
    you have to consider like this..
    line number         u have to update like
    1                                        0
    2                                        1
    3                                        2
    4                                        3
    5                                        4
    which means in child table treat
    line 1  as 0
    line 2 as  1
    line 5 as 4
    If you want to update the line 5 u have to mention 4 th line

  • Trying to fetch a row ID from the address bar

    Hello,
    I am creating a website that will strickly be run on a touch
    screen and saved locally. I am using spry.
    I have a Category page with a list of 4 products (Each a
    large link button). All of them link to the same html document like
    so:
    href="product.html?thisID=0" and then the next one "thisID=1"
    and so forth.
    On the product.html page I wrote a little javascript function
    to read the address bar and get me the id number. Here is the
    javascript function that runs on page load:
    function fetchID() {
    var varArray = document.location.href.split("?");
    var thisID = varArray[1].split("=");
    dsProducts.setCurrentRowNumber(thisID[1]);
    alert(thisID[1] + " | " + dsProducts.getCurrentRowNumber());
    When I click the first product with thisID=0 the alert says
    "0 | 0"
    And spry gives me an error saying "Invalid Row Number: 0"
    When I click on the second product (thisID=1) the alert
    correctly says "1 | 0" and once again I get an invalid row number:
    1
    How can I set the current row using the variable in the
    address bar? My javascript correctly gets me the integer that I
    pass.
    Thanks,
    Braxo

    Hi Braxo,
    To do what you want is no need to parse the whole url to get
    the id number.
    You can add an observer for your dataset. When the dataset
    will be populated with the values from xml, you can set the current
    id to the url parameter.
    You have to this because when page loads and your code runs
    no data is present . This is because data loads asynchronous.
    You should add something like this into your code:
    dsProducts.addObserver({ onPostLoad: function(ds, type) {
    dsProducts.setCurrentRow(params.thisID); }
    Until the end of this week, on labs will be posted an
    complete example that covers your situation and you can follow the
    example from there.
    Hope this helps,
    Diana

  • Validation for transient VO/table rows

    Hi,
    I have 2 pages:
    1. First page is an entry page with an editable table like this (It's backed by a transient VO which I initialize with some blank lines.) and a submit button:
    Part Type (dropdown)          Part num (text box)          Quantity (text box)     
    2. Second page is a read only table that shows results from the same transient VO with additional info.
    Part Type          Part num          quantity     price
    When hitting the submit button on the first page, I'd like to run a custom validator that validates each row in the entry page table.
    Since it's a transient VO and has no entity object, I didn't know how to do it in the model. The validation should use the part type and part code values and call a database API to do tha validation, and then display the message from the API in the part code text box.
    I got it to (sort of) work using a validator method in a backing bean.
    This is how I implemented the part validation (on first page).
         - Make part type autosubmit = true.
         - Make the editable table bind to the backing bean - it basically has a getTable1() and setTable1 method.
         - Add validator to Part num column.
         - In the validator code in the backing bean, use
              it3_validator(FacesContext facesContext,
                                  UIComponent uIComponent, Object object)
                 FacesCtrlHierNodeBinding q = (FacesCtrlHierNodeBinding)this.getTable1().getRowData();
                 Row currentRow  = q.getRow();
              OperationBinding method = getBindings().getOperationBinding("validateItem");  //call database api in AM
                     method.getParamsMap().put("item_number_in",(String)object);
                 method.getParamsMap().put("item_type_in",(String)currentRow.getAttribute("PartType"));
              map = (HashMap)method.execute();
                 if (map.get("valid_item")!= null && map.get("valid_item").toString().compareToIgnoreCase("Y") != 0)
                          String msgS = (String)map.get("error_msg");
                          FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, msgS, msgS);
                          facesContext.addMessage(uIComponent.getClientId(facesContext), message);
                          ((RichInputText)uIComponent).setValid(false);                        
         It works, but once a part no in a row becomes invalid it doesn't recognize changes in the part type in that row. How can I set it so that when I change part type, the validation recognizes that I've change the part type? So if I enter a correct part num but wrong pary type, and then change part type to correct value, it should not throw error message again.
    Should I even be doing this in the backing bean? Is there some way I can just implement it in the model so I don't have to worry about getting row level info from getTable1?
    I'd posted on this before, but the solution I tried didn't really work at all (the implementing-custom-generic-plsql uses entity object to execute the db api)
    Re: Validation using a DB function
    I'm using JDev 11.1.1.2.0
    thanks,
    Kalp

    Thank you Timo that helps me understand the validation behavior..
    I added this in the AM and it'scalling the validation:
            Row[] rows = vo.getAllRowsInRange();
            for (Row row : rows)
                row.validate();
            }and I added more code to the validation:
        @Override
        public void validate(){
            System.out.println("Validate in transient vo");
            System.out.println("getPartType from rowimpl:"+getPartType());
            System.out.println("getPartCode from rowimpl:"+getPartCode());       
            HashMap map = new HashMap();
            map = validateItem(getPartCode().toString(),getPartType().toString());
            if (map.get("valid_item")!= null && map.get("valid_item").toString().compareToIgnoreCase("Y") != 0)
                throw new JboException(map.get("error_msg").toString());
            super.validate();
        }   The message then appears as a popup which shows the error message for the first invalid row and also doesnt stop the navigation to next page.
    So I changed to:
       @Override
        public void validate(){
            System.out.println("Validate in transient vo");
            System.out.println("getPartType from rowimpl:"+getPartType());
            System.out.println("getPartCode from rowimpl:"+getPartCode());       
            HashMap map = new HashMap();
            map = validateItem(getPartCode().toString(),getPartType().toString());
            if (map.get("valid_item")!= null && map.get("valid_item").toString().compareToIgnoreCase("Y") != 0)
                FacesContext fctx = FacesContext.getCurrentInstance();
                String msgS = (String)map.get("error_msg");
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, msgS, msgS);
                fctx.addMessage(null, message);
            super.validate();
        }   This is better, but still I don't know how to tie the error message to a UI component. This shows the list of validation messages in the popup but I want to tie the corresponding error message to the part code for the invalid row in the editable table UI.
    I want it to have the same look/feel/behavior as when I add something like a Compare validator on an attribute in the VO. If I add a validator like Compare to 10, then the message is tied to the specific cell
    in the UI table and it stops navigation.
    How can I mimic this "seeded" type of behavior?
    Thanks for your help on this!
    thanks,
    Kalp

  • Row validation with Browser navigation (back button)

    I have created two pages for adding/editing rows in a view object (one for the add/edit page and the other for the DataEditComponent page) as per posting:
    Re: New user's access to views
    Scenario:
    * User fills in only part of the form leaving at least one mandatory field blank.
    * The form is displayed again with the error message as per the JboException (specifically the AttrValException).
    * The user then hits the Back button on the browser to go to some other page that uses a <jbo:RowsetIterate> tag to display the values in some other ViewObject.
    * It seems that validation occurs whenever the current row is changed in the framework. So eventhough a different RowSet is being displayed on the other page, the same execption is thrown.
    How should this incomplete row that is now in the cache be handled when the user navigates to a different page using the back button.
    It is inevitable that the current row will be changed by some other page in the site, so how should "invalid" rows be handled.
    I wouldn't be able to assume that other RowSet iteration logic will not affect the current row.
    Seems like it would be a problem, whether the new row is created on the DataEditComponent page or on the add/edit page itself, after the form is submitted.
    Thoughts?

    I have created two pages for adding/editing rows in a view object (one for the add/edit page and the other for the DataEditComponent page) as per posting:
    Re: New user's access to views
    Scenario:
    * User fills in only part of the form leaving at least one mandatory field blank.
    * The form is displayed again with the error message as per the JboException (specifically the AttrValException).
    * The user then hits the Back button on the browser to go to some other page that uses a <jbo:RowsetIterate> tag to display the values in some other ViewObject.
    * It seems that validation occurs whenever the current row is changed in the framework. So eventhough a different RowSet is being displayed on the other page, the same execption is thrown.
    How should this incomplete row that is now in the cache be handled when the user navigates to a different page using the back button.
    It is inevitable that the current row will be changed by some other page in the site, so how should "invalid" rows be handled.
    I wouldn't be able to assume that other RowSet iteration logic will not affect the current row.
    Seems like it would be a problem, whether the new row is created on the DataEditComponent page or on the add/edit page itself, after the form is submitted.
    Thoughts?

Maybe you are looking for

  • Two similar queries and different result.

    Hi! I have a problem and with sc as (select * from nc_objects where object_type_id = 9122942307013185081 and project_id=9062345122013900768), cid as (select sccid.value AS CIRCUIT_ID,sc.description AS DESCRIPTION from sc, nc_params sccid where sccid.

  • XSLT Namespaces URGENT

    Hello everyone: Can anyone give a brief description of the precautions to take when creating xsl's that handle xml documents with namespaces. Do translets handle namespaces? There is a code sample for my problem a couple of topics below. Thanks in ad

  • Java error while configuring Mail Store

    As per the documentation provided on otn for Collaboration suite single box installation handbook for Windows, I installed the collaboration suite on Windows 2000 server. While executing the umconfig.bat provided in oes\bin folder I encounter the fol

  • Illustrator CS5 crash on startup

    Hey all. My illustrator wont start . I have tried all the guide on adobe´s forum with no luck. i have the dump file, but i cant find the problem :/ Does anyone have a solution i should try?? Best Regards Michael.

  • Plugging in a usb drive results in 4 windows coming up.

    as you can see i have a bit of a problem. When i stick a usb <anything> it will pop up 4 windows. What is up with that?