ORA-20001: The current row is locked

Hi Team
I find below mentioned error message in my log table .Please can you suggest why we are getting this error .
Some time back we had our OS migration from one server to another ,can it be related to that as we have noticed this error message after such migration.
Please suggest what can be done in order to avoid such error.
ERROR IN hr_person_api.update_person api failed -step4 -ORA-20001: The current row is locked
Cause:        You are trying to lock a row in the per_people_f table which is currently being locked by another user. 
Action:        Re-query and attempt to lock the row again
ERROR IN hr_assignment_api.update_emp_asg API - STEP8.2 - ORA-20001: The current row is locked
Cause:        You are trying to lock a row in the per_all_assignments_f table which is currently being locked by another user. 
Action:        Re-query and attempt to lock the row again.
Regards
Anima

Hi Everyone
Can anyone help me with this .Why we are getting this error and how can it be handled.
Please suggest what can be done in order to avoid such error.
ERROR IN hr_person_api.update_person api failed -step4 -ORA-20001: The current row is locked
Cause:        You are trying to lock a row in the per_people_f table which is currently being locked by another user. 
Action:        Re-query and attempt to lock the row again
ERROR IN hr_assignment_api.update_emp_asg API - STEP8.2 - ORA-20001: The current row is locked
Cause:        You are trying to lock a row in the per_all_assignments_f table which is currently being locked by another user. 
Action:        Re-query and attempt to lock the row again.

Similar Messages

  • Updating the current row in vo which is bind to af:table.

    Dear all.
    I have created af table by dragging datacontrol on page.. i also have a form and onclick of button i want to update the current selected row in table..
    I am getting the current row properly but when i am trying to update the row.. it gives me following exception.
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: Failed to lock the record, another user holds the lock.
    oracle.jbo.AlreadyLockedException: JBO-26030: Failed to lock the record, another user holds the lock.
    Following is my update code.
    public void update(){
    //BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Create").execute();
    BindingContext bc = BindingContext.getCurrent();
    JUApplication japp =
    (JUApplication)bc.getCurrentBindingsEntry().get("Entries_AMDataControl");
    Entries_AMImpl ampl = (Entries_AMImpl)japp.getApplicationModule();
    ViewObjectImpl vo=ampl.getEntries_VO1();
    Entries_VORowImpl row=(Entries_VORowImpl)vo.getCurrentRow();
    row.setSubject(subject);
    ClobDomain c=new ClobDomain(toXML().toString());
    row.setXmlcontent(c);
    row.setDescription("");
    //vo.setCurrentRow(row);
    //vo.executeQuery();
    //BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Execute").execute();
    BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Commit").execute();
    So please can anyone there tell me how can solve this problem.
    Thanks,
    Regards
    jdev version 11.1.1.4.0

    Hi Frank
    in your AM configuration, set the locking behavior to optimisticIts already optimistic.
    is bad coding practice. You should perform updates through teh ADF binding layer and not directlxy against the Application Module Impl class. You can get the >current row from the iterator the table is bound to and set the attributes on itI changed my code to following
    RowKeySet rs = getCalcTable().getSelectedRowKeys();
    Iterator it = rs.iterator();
    DCBindingContainer bindings =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding empIter =
    bindings.findIteratorBinding("Entries_VO1Iterator");
    StringBuilder sb = new StringBuilder();
    RowSetIterator empRSIter = empIter.getRowSetIterator();
    Row currentRow = null;
    while (it.hasNext()) {
    Key key = (Key)((List)it.next()).get(0);
    currentRow = empRSIter.getRow(key);
    break;
    Entries_VORowImpl row=(Entries_VORowImpl)currentRow;
    row.setSubject(subject);
    ClobDomain c=new ClobDomain(toXML().toString());
    row.setXmlcontent(c);
    row.setDescription("");
    BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Commit").execute();
    But it still gives me same error.
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: Failed to lock the record, another user holds the lock.
    oracle.jbo.AlreadyLockedException: JBO-26030: Failed to lock the record, another user holds the lock.
    Any suggestion appreciated..
    Thanks
    Regards.

  • Maintain the current row position of a table after refresh.

    Hi,
    I use a poll to refresh tables continuously. when a table is refreshed, the current referring row is reset.
    To maintain the current row position after a refresh I use the following poll method.
    public void refreshTableT1(PollEvent pollEvent) {
    FacesContext fctx = FacesContext.getCurrentInstance();
    ValueBinding dcb = fctx.getApplication().createValueBinding("#{bindings}");
    DCBindingContainer bindings1 = (DCBindingContainer) dcb.getValue(fctx);
    DCIteratorBinding dciter = bindings1.findIteratorBinding("<VOIterator>");
    if(dciter!=null){
    if(dciter.getCurrentRow()!=null){   
    Key current_row_key = dciter.getCurrentRow().getKey();
    dciter.executeQuery();
    if(current_row_key!=null){
    try{
    dciter.setCurrentRowWithKey(current_row_key.toStringFormat(true));
    }catch(Exception ex) {
    System.out.println("Exception in current_row_key");
    }This works for normal tables well. But when I use it to master-detail tables (pair of tables) it does not.
    At the master-detail tables, before the first data fetch, it works well. if we go below the first data fetch, it sets the current row into another position.
    how can I overcome this...??
    Thanks,
    Dinuka.

    Hi Mr.Frank,
    I have an association in two VOs.
    for example: There are 2 tables called Emp and Dept. Every Department has Employees. so there is an association (both tables have a common column). Master table is the Dept table. when you click on one record of the Dept table Detail table will show the details of the employees belongs to that selected department. That's what I referred as master-detail tables. first one is master table; second one is detail table.
    When the web page loads all the table data is not fetched from the db (it will depend on the fetch size). when we scroll down the table data fetch happens again and again.
    think my data fetch size is 25 rows per time.
    Suppose we use mine poll method and think I have clicked on the 20 ^th^ row of table1(master table). then the table2 will display details belongs to selected department. that is OK even after refresh. that works well.
    when I go to 30 ^th^ row data fetch will happen (my fetch size = 25)
    when I click on the 30 ^th^ row of the table1(master table), table2 will display details belongs to selected department. but after the poll method is called the selected row at the table1 disappears and is set to another position. now the 30 ^th^ row is not in the 30 ^th^ position. but it is the selected row and table2 displays correct details.
    I think you have got the problem now. :D
    Thanks a lot.
    Dinuka.

  • ORA-20001: The printing engine..Is this related to a BIP licensing issue?

    Hello all,
    The error "ORA-20001: The printing engine could not be reached because either the URL..." happens in 2 cases:
    <pre>
    1. When our BIP is down or being bumped
    2. As an APEX administrator, in workspace environment settings, the print server is set to OFF.
    </pre>
    I'm thinking that this is a licensing issue but I need some clarification on what is causing the error, because all we are trying to do is bring up a PDF report that a user can open or save. BIP is not involved at this point. Is it because the report was developed using BIP that APEX needs BIP up? How does APEX even know the report was developed using BIP? Were are using APEX 3.2.1.00.12 and BIP 10.1.3.4.1
    The error happens when a user clicks on a PDF icon that calls an "After Submit Process". The following is the code and the report that was created in BIP is loaded into APEX with a "Named Columns (RTF)" layout type.
    Alex.
    declare
      l_xml                         clob;
      l_template                    clob;
      l_request_blob                blob;
      l_response                    blob;
    begin
       ...call up a stored proc to populate l_xml with report data
      -- Fetch template
      select page_template
      into   l_template
      from   apex_030200.wwv_flow_report_layouts
      where  flow_id = :app_id
      and    report_layout_name = 'pdf_report';
      -- Convert CLOB to BLOB
      l_request_blob := wwv_flow_utilities.clob_to_blob(l_xml);
      -- Call unsupported and undocumented APEX function
      l_response :=
        apex_030200.wwv_flow_print_util.convert(
          p_report_data   => l_request_blob,
          p_template      => l_template,
          p_template_type => 'rtf',
          p_output        => 'pdf'
      -- Set correct mime type and download response                                           
      owa_util.mime_header('application/pdf', false);
      htp.p('Content-length: ' || dbms_lob.getlength(l_response));
      htp.p('Content-Disposition: attachment; filename="Claim_details.pdf"');
      owa_util.http_header_close;
      apex_application.g_page_text_generated := true;
      apex_application.g_unrecoverable_error := true;
      wpg_docload.download_file(l_response);

    See, http://www.oracle.com/technetwork/developer-tools/apex/configure-printing-093060.html
    http://download.oracle.com/docs/cd/E17556_01/doc/install.40/e15513/otn_install.htm#CBHBJDDE
    (excerpt copied here, for you convenience)
    7. Enabling Network Services in Oracle Database 11g
    By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if running Oracle Application Express with Oracle Database 11g release 1 (11.1), use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the FLOWS_030100 database user. Failing to grant these privileges results in issues with PDF/report printing, specifically, you will get the following error message:
    ORA-20001: The printing engine could not be reached because either the URL specified is incorrect or a proxy URL needs to be specified.
    Follow the steps mentioned in the Oracle Application Express Installation Guide, Enabling Network Services in Oracle Database 11g. Also refer to the troubleshooting section in case you receive an ORA-44416: Invalid ACL error after running the previous script.

  • Is there a way to make the current row not editable

    Hi, I'm using JDev 11.1.1.2
    In my usecase I have a Form , navigateable with next/previous , and for every row a I have a calculation which makes the row editable or not.
    For now I made it with disabled property on every input component set to some bean property which is calculated every time.
    My question is if there is some general way to make an Entity not updateable ?
    I tried with doDML() ... but the problem there is that this method is not called when switching the current row but rather when commiting. So the user can modified several rows and when pressing commit it will prevent some of the to be committed which would be confusing.
    Is there a method in the ViewObject that i can overwrite which is called every time the current row is changed? So I can see if the row was modified or not.
    Thanks, agruev

    Yes, there is always isAttributeUpdateable() in the ViewRowImpl, which you can override and enable/disable your attributes based on an enabling/disabling condition.
    Here is an example:
    public boolean isAttributeUpdateable(int i) {
    boolean updateable = false; /disable by default all arguments
    // enable, if your condition is met
    if ( meets_your_condition )
    updateable = super.isAttributeUpdateable(i); // let the framework decide based on your declarative settings
    return updateable; // return true/false indicator
    Nick

  • Issue in finding the current row

    I am rendering rows of a VO using an iterator component. One of the component I am rendering is a declarative component created by me.
    In this component there is a clickable link on which i can write any method to achieve desired functionality.
    Since, iterator is used so the current row is set to the last row. Now on clicking the link in the declarative component i need to do some operation based on the current row (pk of that row). So, how to find the current row id?
    Note: If it would be a simple adf component like a commandLink i could have inserted a setServerListener inside it and could have put the id in to requestScope to access it. But as this is the declarative component in which i cannot create a serverListener so I am looking for some other solution.

    Hi john,
    My table have the selection listener.
    Thanks in advance

  • Fetch the current row in executeQueryForCollection

    Here is what I have:
    Master-detail-detail
    VO1
    --VO2 via VO1VO2Link
    -----VO3 via VO2VO3Link
    I am editing or creating new record in VO3 (Say UIX input form) but want to implement 'rollback' button and go back to the CURRENT row in VO2 (WITHOUT RESETING ITERATORS!!!!!!!). For the sake of this thread let's just say that the process of doing this is extremely frustrating and that I have to debug certain things so my idea was to take a look into the WHATEVER is the CURRENT row in executeQueryForCollection of VO2:
    //in VO2ViewImpl.java
    protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
        // TODO:  Override this oracle.jbo.server.ViewObjectImpl method
        Row currentRow = this.getCurrentRow();
        if (currentRow != null)
           Object[] o = currentRow.getAttributeValues();
      //    if (o!=null)
            //System.out.println("val[0]= " + o[0]);
            //System.out.println("val[0]= " + o[1]);
            //System.out.println("val[0]= " + o[6]);
            //System.out.println("val[0]= " + o[8]);
    }My application breaks at Object[] o = currentRow.getAttributeValues();
    for some reason? Why???
    The error displayed is:
    JBO-26100: An error occurred after commit was performed.
    The bottom line question is what is the current query in executeQueryForCollection?

    Here is what I have:
    Master-detail-detail
    VO1
    --VO2 via VO1VO2Link
    -----VO3 via VO2VO3Link
    I am editing or creating new record in VO3 (Say UIX input form) but want to implement 'rollback' button and go back to the CURRENT row in VO2 (WITHOUT RESETING ITERATORS!!!!!!!). For the sake of this thread let's just say that the process of doing this is extremely frustrating and that I have to debug certain things so my idea was to take a look into the WHATEVER is the CURRENT row in executeQueryForCollection of VO2:
    //in VO2ViewImpl.java
    protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
        // TODO:  Override this oracle.jbo.server.ViewObjectImpl method
        Row currentRow = this.getCurrentRow();
        if (currentRow != null)
           Object[] o = currentRow.getAttributeValues();
      //    if (o!=null)
            //System.out.println("val[0]= " + o[0]);
            //System.out.println("val[0]= " + o[1]);
            //System.out.println("val[0]= " + o[6]);
            //System.out.println("val[0]= " + o[8]);
    }My application breaks at Object[] o = currentRow.getAttributeValues();
    for some reason? Why???
    The error displayed is:
    JBO-26100: An error occurred after commit was performed.
    The bottom line question is what is the current query in executeQueryForCollection?

  • Change the current row in an iterator and reflect the change on page

    Hi there,
    I have a jspx with a creation form created as usual draging and droping the data control. In same page, I inserted a commandButton which ActionListener executes a method in a managed bean called validate(). Through such a method what Im trying to do is to fill the form with data from specified entry of the database if certain condition is true. I know it is kinda twisted but unfortunately is the requirement for the page.
    So basically in "validate" method, if the condition I mentioned is reached, I do the following:
    // execute a Rollback (included in Page Definition) in order to cancel the previous auto-invoked "Create".
    FacesContext context = FacesContext.getCurrentInstance();
    Application app = context.getApplication();
    BindingContainer bindings =(BindingContainer)app.getVariableResolver().resolveVariable(context,"bindings");
    OperationBinding opBinding = bindings.getOperationBinding("Rollback");
    opBinding .execute();
    //get the iterator and asociated VO from the binding container
    ValueBinding vb = app.createValueBinding("#{bindings.AccountsVOIterator}");
    DCIteratorBinding dciter = (DCIteratorBinding) vb.getValue(FacesContext.getCurrentInstance());
    ViewObject view = dciter.getViewObject();
    //and set the current row with the specified entry I have mentioned above.
    Object keyValues[] = new Object[2];
    keyValues[0] = "1"; keyValues[1] = "98543";
    Row[] row = view.findByKey(new Key(keyValues),1);
    AccountsVpnVORowImpl client = (AccountsVpnVORowImpl)row[0];
    view.setCurrentRow(client);
    view.executeQuery();
    dciter.setCurrentRowWithKey(client.getKey().toStringFormat(true));
    dciter.executeQuery();
    opBinding = bindings.getOperationBinding("Execute");
    opBinding.execute();
    All this works perfectly when I debbug it but I cannot see the changes in the page(even refreshing browser). I need that when such a condition is met, the creation form turns into a modify-specific entry form, filling all fields with the specific data in order user can modify it, and all in the same page.
    Any clue?
    Thanks so much in advance for your time.

    Hi,
    I could see the problem with call to executeQuery and execute methods at the end of your method which re-sets the current row.
    Once you set the current row you should not call execute or executequery methods. Try removing those calls and also make sure that you have added partialTriggers property on the table is set to commandbutton id and partialSubmit property is set to true on commandButton to refresh the table partially on click of a button
    Sireesha

  • Select the current row in read only querry VO

    Hi.,
    I am using jdev 11.1.1.5
    I had created a Finyear EO with corresponding VO
    I had also created a read only querry VO [PostdGLhdlnVO]
    I had created a viewlink between FinyearVO and PostdGlhdlnVO with following conditions
    FinyearVO.bu = PostdGLhdlnVO.bu
    FinyearVO.year = PostdGLhdlnVO.year
    I need to select the current row and print that row using println statement. as i am using readonly querry while i drag and drop the PostdGLhdlnVO i cant able to select the current line (i.e., when user clicks the current row)
    My scenario:
    I need to create a non database checkbox for every row in that table [PostdGLhdlnVO] which will get the current row
    can anyone help me to create a nondatabase checkbox for that table

    Try,
    This may help:
    Re: ADF Table Multiple row selection by Managed Bean-Prasad

  • Differentiating the current Row

    Hi
    I am using Jdeveloper 9.0.5.1. All my pages are designed in UIX.. My client is asking me to help him navigating among a list or record by giving the current row a different visual attributes..
    Please help
    ammar

    Perhaps you can set a transient field in your view object that determines what visual attribute would be shown, and then in your uix code for each row determine the style class based on that value using jstl tags. I don't have an example with setting the class, but I can't see why that wouldn't work.
    You could code the visual attributes into your css file.

  • Losing the current row without doing anything

    I using 10g and my page have a VOR (viewobject readonly) to control form data but...
    I'm losing several times the current row ... for example I put this code in a button:
    public String clickAction() {
    AdminUCAtoCartorarioAMImpl am = null;
    try {
    am = ( AdminUCAtoCartorarioAMImpl )super.getApplicationModule( "AdminUCAtoCartorarioAMDataControl" );
    am.getAmbienteEscaninhoVOR().getCurrentRow(); //Here, sometimes brings me null.
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }

    User,
    You give us the symptom of the problem, but
    I'm losing several times the current rowdoesn't help anyone to help you pinpoint what might be the cause. Under what circumstances does the current row come across as null? Are you manually iterating through the VO's row set somewhere? What happens before the current row is "lost?" What specific version (your tag indicates 10g, but specifically which version) of JDeveloper/ADF are you using? Does this occur only when deployed, or does it occur when running in the embedded OC4J.
    One thing for you to try... if it occurs "sometimes," seemingly randomly under load, try turning off Application Module Pooling and re-test. If it occurs every time with pooling turned off, you are likely seeing some issue related to passivation/activation - which is why it would be critical to mention the exact version; there are known issues with specific versions, and there are patches available.
    John

  • Select the current row

    hi.,
    I am using jdev 11.1.5
    can any would please tell me how to select the current row in a table and perform operations in it.,
    My Scenario:
    I had created a table.,
    If the user clicks the button named post it must check the attribute [
    Year] and the Status must be updated to all the year
    For eg;
    St Year
    N 201011
    N 201112
    if the user clicks the button The st attribute should be updated with corresponding Year
    so that the N must be updated to P with the year 201011 now my output should be
    st Year
    P 201011
    N 201112
    any one can pls help me

    Hi..
    You can try this using In built Bindings.For that Table need row selection single and need form using same VO.for update drag Commit operation as a button to form.
    http://www.mandsconsulting.com/adf-table-row-selection-event-update-form

  • Can any one tell me how to change the current row header in FB1LN tcode

    Hi,
    can any one tell me how to change the current row header in FB1LN tcode.
    I want to show input date also in the layout.
    Regards
    Mave

    Hi
    I know two ways:
    - transaction obvu: here you can insert new fields, but only if these fields are included in certain table (like BKPF, BSEG, BSIS.....
    - if your field isn't included in those table, you have to modify the structure RFPOS and manage it in the BTE 1650. After updating RFPOS you have to run the program RFPOSXEXTEND to update the structure RFPOSXEXT.
    Max

  • Getting the current row in a datatable

    Hi,
    I am using datatable. How do I get the current row in the datatable
    and use it for my processing in the JSP page
    or I want to just output that value with out using any jsf tags.
    Examples
    <h:dataTable styleClass="dataTable" id="table1" border="0"                    value="#{myTrainingHandler.myMediaTraining}" var="dataIt">
    <h:column id="column1">
    <f:facet name="header">
    <h:outputText styleClass="outputText" value="Course Name"id="text1"></h:outputText>
    </f:facet>
    <!---------------------------------------------- how do I get the value of #{dataIt.name} and use it in the JSP way
    Reason: I just want to output the value. If I am using h:outputText then it inserts <span>... </span>
    or, I want to transfer that value to another another attribute in the session or something like that.
    ---------------------!>
    <h:outputText styleClass="outputText" id="text2" value="#{dataIt.name}"></h:outputText>
    </h:column>
    </h:dataTable>
    -Aswath

    It looks like good idea!Unfortunately this is just workaround. Indeed your
    suggestion is real JSF-feeling solution but due to the
    bug (or rather pure design of RI implementation???) it
    is dangerous.
    I had some doubt about is it bug or my incompetence.
    Unfortunately this seems is really bug.
    Hope this problem will be solved in the next releases.from blueprints catalog:
    Component bindings (e.g. <h:inputText binding="#{MyBean.lastNameComponent}" />) should always be stored in request scope since their value is no longer valid after a request has been processed anyway. The component tree is reconstituted during each incoming request, changing the physical instances these component bindings will point to.
    as you see there is really problem in using session backing bean with component binding
    so that means idea with parameter looks better now because we don't need to use table binding.
    Or probably we can define some kind of pattern like couple of beans with request scope and session scope.
    for example:
    Catalog - session scope
    CatalogView - request scope
    Catalog will keep session data and CatalogView will provide some presentation logic (including some stricly visual oriented data) and access to business methods of Catalog class.
    I will send you example by e-mail (on friday) if you not mind.
    >
    Thank you for your suggestion!
    Probably I will use your idea in my application.
    By the way I'm from Kiev also.Hello from Kiev :-)
    I have one suggestion.
    I'm working on JSF form that suppose to add, editand
    delete records from table.
    Also I wanna to use scrolling by page and sorting.
    I'm trying to make this form somehow clean and
    universal as much as possible.Seems I have same tasks for now.Great! I will send some code soon.
    And maybe we can discuss every aspect how to do good JSF based application including config oriented information and utilities classes.
    -how do you work with tables without primary keyI dont' have tables without primary key :)
    -how do you make pagination by universal wayWe need just make good component for that.
    We already started in this direction.

  • Error ORA-20001: The payment cannot be fully paid with the monetary units a

    Hi All,
    I have got the following error, when I am trying to run Pre-Payments. The error is coming for employees who are having Payment Method as "Cash".....
    Error ORA-20001: The payment cannot be fully paid with the monetary units available.
    ORA-06512: at "APPS.HR_UTILITY", line 937
    ORA-06512: at "APPS.HR_PRE_PAY", line 1454
    ORA-06512: at "APPS.HR_PRE_PAY", line 1944
    I am not sure why that error is coming.
    Can anyone tell me what needs to be done for rectifying that error.....
    Regards,
    Phani

    What is the application release?
    Please see these docs.
    ORA-20001: APP-06442 The Payment Cannot Be Fully Paid With The Monetary Units Available Processing PrePayments [ID 250010.1]
    ORA-20001: The Payment Cannot Be Fully Paid With The Monetary Units Available [ID 1226804.1]
    Pre-payments Error when Paying an Employee in Currency other that USD or CA : The Payment Cannot be Fully Paid with the Monetary Units [ID 249746.1]
    Thanks,
    Hussein

Maybe you are looking for