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.0Hi 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, agruevYes, 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 tableTry,
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
ammarPerhaps 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 -
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 meHi..
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
MaveHi
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>
-AswathIt 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,
PhaniWhat 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
-
Need help on how to re-install​/wipe OS on my BB Torch 9860
Can anyone in the house please give me a breakdown on how I can wipe completely my blackberry torch 9860 device and re-install a new OS without any fuss, thank you.
-
I just restored my ipod to get rid of cydia, it worked, but I forgot the password I saved to my backup. I would like help on either resetting the password, or the actual password itself. Thank you
-
Will text, applications and videos moved over to a HDTV with 1920x1080 resolution, connected via MiniDisplay Port to HDMI, look the same if I used a Monitor that has the same 1920x1080 resolution and connected via the MiniDisplay Port?
-
Hi I installed Nerscape 6.01 on my Solaris-8 Intel system. (Removed the previous one) Updated the PATH. When I click on the browser icon on the Front Panel the Netscape is not being fired up. And when I issue the #netscape the error message says " C
-
Dear Expert, We have a situation with VAT. There is one material code which when purchased as consumables VAT credit can be availed. But when used for repair and maintenance we cannot avail the VAT Credit. We have created Non deductible condition typ