Debugging "ORA-01403: no data found" with print_lcr
After reading several of the posts, google and the documentation, I am hoping to find some further help. Using print_lcr as suggested by a number of fine folks in this forum, I have found that one of our date fields seems to be the problem in an update statement. The documentation (Chapter 11) suggests that "you can use a DML handler to modify an LCR so that it matches the table". If the incoming date is lacking hours, minutes and seconds, how would one create such a dml handler? I can find examples in the documentation, but I cannot wrap my head around how one would grab the granular data. And to make things more fun, our 3rd-party application "cannot" be changed.
Environment is 10.2.0.2 on Solaris with a couple Streams related patches (I can provide details if they are important). Using Downstream (and non-local) capture which is then propagated and applied on a target database.
tia
Did you change default nls_date_format before using print_lcr?
alter session set nls_date_format='MM/DD/YYYY HH24:MI:SS'
Regards,
Sergey
Similar Messages
-
I have a new table, the PK is a varchar2(5) column, when I allow the default query in the report to do its work, I get all the expected data. when I click on the edit icon (pencil), I get an error screen indicating ORA-01403: no data found. I'm hosed! This was generated by the app! no changes were made to anything in the app, except to turn off tabs at create time. I even left the default name.
My ARF is hitting the right table with the PK column, but finds nothing. I have the "success" message showing me the PK value. What could be going on here, and how can it be addressed? Today is the 1st time I have seen this matter.
I'm running 4.22 as the workspace admin, I have other apps that work fine (to expectation), my browser is FF22, though I plan a downgrade to 18. Our DB is 11.1.0.7.Jorge, thanks for your attention to my problem, I appreciate any insights, although there is a little clarification I can offer. Also, if you can, please remind me the tags to use in my text that would properly set off the code snippets or prior message content?
[you wrote]
You said you have a "success" message showing you the PK value. Can you elaborate on this?
The form page, under the ARF, allows for the display of a "success" message and a "failure" message. I have seen my "success" message appear, but it didn't show my key field as a brought-back value (which I told it to include), and I think now this is not relevant any longer. I found that there was a link on the report attributes page between #ROWID# and a P2_ROWID that was incorrect (probably from an earlier stage of dev in the app), and I changed this to my key field, and this altered the outcome of the ARF action. This leads to ....
[you wrote]
Can you see the correct PK value in the URL? Does the item parameter match what you expect (correct page item and value)? Perhaps share that full URL here?
I have expected values in my URL. The URL does show my key value (tail end of URL underlined here):
../apex/f?p=120:2:7519563874482::NO::P2_VCODE:RB15
[you wrote]
Debug the page and see which process, item or step is actually failing. You could be running some other process on the form page and that could be what actually fails. Treat it as if the ARF works correctly and see what else could be happening.
I can add the detail that my 1st message was based on testing with a table where I set the PK as data type VARCHAR2, but in more testing on the actual app (whose URL piece is above) I am using a PK which is CHAR.
The result of the debug effort is that APEX has built its own query for pulling back the row in the ARF, and it is joining on my PK field to an APEX item P_ROWID which I don't think I created. Nor does it appear to offer me any avenue for correcting it. debug snippet: where "VCODE" = :p_rowid; end; -
Help with ORA-01403: no data found please.
First off I'd like to apologise for my lack of PL/SQL experience, what follows may seem naive, but I guess we all have to start somewhere.
I'm trying to create a function which determines an employee's Annual Holiday Entitlement by comparing their length of service against a lookup of entitlement values. Due to the complexity of the application I'm targeting there are a number of other factors to be take into consideration, but this is the basic idea of what I want to achieve.
I've started by taking a working SQL Server 2005 function and converted this using the translation scratch pad in SQL Developer 1.5.1 I'm now hand cranking the subtleties into the script but when I debug the code I'm getting "ORA-01403: no data found" at almost every SELECT. In fact the only successful select is from the ABS_SYSTEM_CONTROLS table. I can handle the first few failures by setting default values in the variables that I'm trying to load, but this isn't an option when it comes to selecting the DATE_OF_START from the PERSON table.
I've sure I've probably made some fundamental error, but can't spot it myself. Any help would be most welcome.
I've included the entire script below for your entertainment ;-)
Thanks
Phil.
create or replace
function mygetannualholidayentitlement
( v_empNo in varchar2
, v_inputDate in DATE
) return number as
-- Declare variables here
v_entitlement FLOAT(53);
v_holidayPlan VARCHAR2(20);
v_contServiceOption VARCHAR2(255);
v_postNo CHAR(16);
v_lengthOfService NUMBER(10,2) ; -- Need to give this a default value else the CURSOR (below) won't initialise.
v_empStartDate DATE;
-- Load up our loacal variable for each row in the loop and the final value is the one we want.
v_selectedLOF FLOAT(53);
v_selectedDateEffective DATE;
v_selectedAmount FLOAT(53);
v_effectiveDate DATE;
-- Cursor declaration
-- Holiday plan details are also keyed on DATE_EFFECTIVE. Need to identify which row is active as at our @effectiveDate.
CURSOR holDefCursor
IS SELECT length_of_service,
date_effective,
amount
FROM holiday_plan_def
WHERE hplan_code = v_holidayPlan
AND length_of_service < v_lengthOfService
ORDER BY date_effective ASC,
length_of_service ASC;
BEGIN
-- Initialise variables --
-- truncate any hours/Mins & secs from effective date
v_effectiveDate := trunc(v_inputdate);
v_entitlement := 0;
v_contServiceOption := 0;
v_lengthOfService := 0;
BEGIN
SELECT HPLAN_CODE
INTO v_holidayPlan
FROM APPT_HOLIDAY_BALANCE
WHERE emp_no = v_empNo
-- post_no = @postNo and
AND ( v_effectiveDate BETWEEN HOLIDAY_YEAR_START AND HOLIDAY_YEAR_END );
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_holidayplan:=NULL;
WHEN OTHERS THEN
raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
END;
-- Still no hoildayPlan? Then use the default plan code from ABS_SYSTEM_CONTROLS.
IF v_holidayPlan IS NULL THEN
SELECT HPLAN_CODE
INTO v_holidayPlan
FROM ABS_SYSTEM_CONTROLS ;
END IF;
BEGIN
SELECT OPTION_VALUE
INTO v_contServiceOption
FROM PS_OPTIONS
WHERE OPTION_NAME = 'CONTINUOUS_SERVICE_OPTION';
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_contServiceOption := 'N' ;
WHEN OTHERS THEN
raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
END;
IF v_contServiceOption = 'Y' THEN
BEGIN
-- Need to take into account the employees CONTINUOUS_SERVICE_DATE when calculating length of service
BEGIN
SELECT CONTINUOUS_SERVICE_DATE
INTO v_empStartDate
FROM person
WHERE emp_no = v_empNo;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_empStartDate := NULL;
WHEN OTHERS THEN
raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
END;
-- If we can't get a CONTINUOUS_SERVICE_DATE we will fall back to PERSON.DATE_OF_START
IF v_empStartDate IS NULL THEN
BEGIN
SELECT DATE_OF_START
INTO v_empStartDate
FROM PERSON
WHERE emp_no = v_empNo;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
END;
END IF;
END;
ELSE
BEGIN
-- Need to use employees DATE_OF_START when calculating length of service
SELECT DATE_OF_START
INTO v_empStartDate
FROM PERSON
WHERE emp_no = v_empNo;
END;
END IF;
-- Now we can get length of service
v_lengthOfService := sqlserver_utilities.datediff('MONTH', v_empStartDate, v_effectiveDate) / 12.00;
OPEN holDefCursor;
FETCH holDefCursor INTO v_selectedLOF,v_selectedDateEffective,v_selectedAmount;
WHILE ( sqlserver_utilities.fetch_status(holDefCursor%FOUND) = 0 )
LOOP
BEGIN
IF v_selectedDateEffective < v_effectiveDate THEN
v_entitlement := v_selectedAmount;
END IF;
-- Get the next value.
FETCH holDefCursor INTO v_selectedLOF,v_selectedDateEffective,v_selectedAmount;
END;
END LOOP;
CLOSE holDefCursor;
-- Return the result of the function
RETURN v_entitlement;
END;Edited by: user4395499 on 27-Oct-2008 04:04
Edited by: user4395499 on 27-Oct-2008 04:05
Edited by: user4395499 on 27-Oct-2008 07:10Your code is extremely procedural - whilst you could ultimately get it to work like this, it is not the most efficient way of doing it.
You should think about reducing your code to one sql statement if at all possible - this reduces the amount of context switching that needs to take place (eg. Going from PL/SQL to SQL back to PL/SQL to SQL, etc) and is usually much easier to maintain and test. You could do this by joining the various tables together, (and you might want to think about using nvl() to combine the two queries on the PERSON table!).
Also, you've labelled your parameters "v_" and your variables "v_" ... common convention uses "p_" for parameters, to allow for easy distinction between parameters passed in and variables declared during the course of the procedure/function.
As to the char() defined column - is there any chance that you could change that? As you've found out, chars are usually not a good datatype to use! Storing numbers in a char/varchar2 column is a no-no too, as you then run the risk of having invalid numbers stored in the column. -
Error saving column settings with ORA-01403: no data found Error
Hi
I have a region with multi row report updatable.
When I am trying to change the query I am getting below error.
Anybody let me know what will be the problem.
ORA-01403: no data found
Error saving column settings
Regards
KiranHi
I was using below query for this region.
SELECT
result.segment1 Item#,
result.inventory_item_id,
result.revision,
result.lot_number,
result.Lot_Onhand,
result.Heat,
result.Cert_Site_Number Cert_Site_Number_Display,
result.status_code Status_Code_Display,
result.Cert_ID Cert_ID_Display,
result.Cert_Site_Number,
result.status_code,
result.Cert_ID,
result.transaction_id,
result.po_header_id,
result.po_line_id,
result.rcv_transaction_id,
result.shipment_header_id,
result.shipment_line_id
FROM
SELECT
msi.segment1,
mmt.inventory_item_id,
mmt.revision,
mtln.lot_number,
xx_utility_pkg.get_available_qty(mmt.inventory_item_id,mmt.organization_id,mmt.subinventory_code,mtln.lot_number,'ONHAND') Lot_Onhand,
mtln.attribute1 Heat,
mtln.attribute2 Cert_Site_Number,
mms.status_code,
( SELECT clx.cert_id
FROM xxqc.cert_mst cm,
xxqc.cert_lot_xref clx
WHERE cm.cert_id = clx.cert_id
AND cm.cert_type='MILL'
AND clx.lot_no = mtln.lot_number
) Cert_ID,
mmt.transaction_id,
rsl.po_header_id,
rsl.po_line_id,
mmt.rcv_transaction_id,
rt.shipment_header_id,
rsl.shipment_line_id
FROM mtl_material_transactions mmt,
mtl_transaction_lot_numbers mtln,
mtl_material_statuses_tl mms,
rcv_transactions rt,
rcv_shipment_headers rsh,
rcv_shipment_lines rsl,
mtl_system_items_b msi
WHERE mmt.transaction_id = mtln.transaction_id
AND mmt.organization_id = mtln.organization_id
AND mtln.status_id = mms.status_id
AND rt.transaction_id = mmt.rcv_transaction_id
AND rsh.shipment_header_id = rt.shipment_header_id
AND rsl.shipment_header_id = rsh.shipment_header_id
AND rsh.organization_id = mmt.organization_id
AND rsl.item_id = mmt.inventory_item_id
AND msi.inventory_item_id=rsl.item_id
AND msi.organization_id = mmt.organization_id
AND rsl.po_line_id = DECODE(:P5_PO_LINE_NUMBER, 0,rsl.po_line_id,:P5_PO_LINE_NUMBER)
AND rsl.po_header_id IN ( SELECT po_header_id
FROM po_headers_all
WHERE segment1 = :P5_PO_NUMBER
AND org_id = :P5_ORG_ID)
AND mtln.status_id = 90 -- Which is 'T' Status means Temporary
AND mmt.transaction_action_id = 27
AND mmt.transaction_source_type_id = 1
AND mmt.transaction_type_id = 18
) result
WHERE result.Lot_Onhand > 0
when I use above query I am able to update the region perfectly.
But when I comment last WHERE CONDITION I am getting above problem.
What could be the possilbe reason for this?
Regards
Kiran Akkiraju -
Login on user group with redirect ORA-01403: no data found
Hi,
i have 3 home page, one for each user group
I would like to address the home page based on the value the group's
i tried to do this with a process on login page
:FSP_AFTER_LOGIN_URL := null;
declare l_page varchar2(30);
begin
SELECT gr.GRP_ID
into :P101_GRP_ID
FROM DB1USG ug, DB0USR us
WHERE
AND us.USR_ID=:P101_USERNAME
AND us.USR_ID=ug.USG_USR_ID;
if :P101_GRP_ID = 'CPY' then l_page := '5007';
elsif :P101_GRP_ID = 'TRF' then l_page := '5005';
elsif :P101_GRP_ID = 'VND' then l_page := '7051';
else l_page := '1'; -- default home page
end if;
wwv_flow_custom_auth_std.login(
P_UNAME => :P101_USERNAME,
P_PASSWORD => :P101_PASSWORD,
P_SESSION_ID => v('APP_SESSION'),
P_FLOW_PAGE => :APP_ID||':'||l_page
end;
after password input i received ORA-01403: no data found error
Any help?
Thanks in advance
kmHi Scott,
first access
user USR1--> page afer login --> 7051 ->OK
logout
user USR2-->page right 5007
page afer login --> 7051 --> no 5007
Scott,
in process on login page i added the line
:P0_FIRST_PAGE_ID := l_page;
and
i modified logout URL on my Authentication Scheme
wwv_flow_custom_auth_std.logout?p_this_flow=&APP_ID.&p_next_flow_page_sess=&APP_ID.:&P0_FIRST_PAGE_ID.
Many thanks
km -
Import job failes with ORA-01403: no data found ORA-06512: at "SYSMAN.MGMT
Hello everyone,
I need a help on importing data from a schema in server 1 to the same schema in server 2 via network link. I receive following error when I try to submit a job on Enterprise Manager:
Import Submit Failed
ORA-01403: no data found ORA-06512: at "SYSMAN.MGMT_JOB_ENGINE", line 5806 ORA-06512: at "SYSMAN.MGMT_JOB_ENGINE", line 7812 ORA-06512: at "SYSMAN.MGMT_JOB_ENGINE", line 8608 ORA-01403: no data found ORA-06512: at "SYSMAN.MGMT_JOBS", line 273 ORA-06512: at "SYSMAN.MGMT_JOBS", line 86 ORA-06512: at line 1
Sql of the job:
declare
h1 NUMBER;
begin
h1 := dbms_datapump.open (operation => 'IMPORT', job_mode => 'FULL', remote_link => 'B_PROD_LINK', job_name => 'BIMPORTFRMPRDTORPT4', version => 'COMPATIBLE');
dbms_datapump.set_parallel(handle => h1, degree => 1);
dbms_datapump.add_file(handle => h1, filename => 'IMPORT.LOG', directory => 'DATA_PUMP_DIR', filetype => 3);
dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0);
dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1);
dbms_datapump.set_parameter(handle => h1, name => 'ESTIMATE', value => 'BLOCKS');
dbms_datapump.set_parameter(handle => h1, name => 'REUSE_DATAFILES', value => 0);
dbms_datapump.set_parameter(handle => h1, name => 'TABLE_EXISTS_ACTION', value => 'TRUNCATE');
dbms_datapump.set_parameter(handle => h1, name => 'SKIP_UNUSABLE_INDEXES', value => 0);
dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
dbms_datapump.detach(handle => h1);
end;
It says network link is active when I test the network link to make sure its connectivity. I create the network link as a system account. I'm trying to do an import from an Oracle database 10.2.0.2 to 11.2.0.1. My 10g database is on ms windows 2003x64 while my 11g database is on OEL 5.4x64.
What should I do for now?
Thank you.
Edited by: user12144220 on Nov 4, 2012 5:02 AMIt will be wise to run the Oracle supply streams health check script to check your existing streams environment.
From the result, you can also open a tar with Oracle to see if they can help you with the setup.
In addition to the ORA-01403 error, you can also run some of the Oracle Streams packages (Managing Apply Errors) to see the full detail of what is missing that caused the Ora-01403 error.
I will also try to implement a smoke test using the simple heartbeat table suggested by Oracle Streams, if that is working, then you can begin your full scale setup in your environment knowing that the base Streams Structure is setup correctly.
HTH -
Issue with Advanced Replication - ORA-01403: no data found
Hi,
got into this weird issue with my replicated environment (9.2.0.5.0 on solaris). We have a bidirectionally replicated table which has been working fine for years but is now showing issues on certain records.
We had to manually update locally some fields but that's something we did in the past, ensuring both sides were aligned, but this time it does not work.
The two records are identical but when we try to update on one side the far end fires:
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1", line 442
ORA-06512: at "SYS.DBMS_DEFER_SYS", line 1854
ORA-06512: at "SYS.DBMS_DEFER_SYS", line 1900
ORA-06512: at line 1
Thoutght there could be some field out of sync, but the update we execute is quite easy:
Records on current DBs:
9495411494 EA10CARD 10 169 0 used 1.0000E+17 31-DEC-99 E-VOUCHER_10_CARD 28-MAR-13 12 10 949541
9495411494 EA10CARD 10 169 0 used 1.0000E+17 31-DEC-99 E-VOUCHER_10_CARD 28-MAR-13 12 10 949541
Trying to:
update ucms_batches set batch_status='new' where serial_no=9495411494;
commit;
I see the change locally applied but I see an error reported on the far end. Could not decode the content of the user_data completely, the only thing I could get was:
3.45.53207 0 0 ?
OPS$SCNCRAFT? UCMS_BATCHES$RP?
REP_UPDATE? ?A
!? used? new?EA10CARD??Y
7
Y?'
!?AE-VOUCHER_10_CARD??AF!????_`*!??!?A
!????_`*_!?E
!??? NSMS_MASTERDEF.RMS? N
Is there anyway I could verify the SQL attempted on the far end with the data used to match the record?
Thanks
MikeFound a solution using dump function to get the data decoded and compare them across nodes.
It came out a date field was not matching the hh:mm:ss values.
Thanks
Mike -
PLSQL function body returning an sql report returns ORA-01403 No Data Found
I am on APEX 3.1.2.00.02 and Oracle 10g.
I am developing a report with SQL Query (PL/SQL function body returning SQL query) type. But on running the report I am getting
report error:
ORA-01403: no data found
Region Source
declare
qry varchar2(32767);
begin
--Procedure call
my_pkg.get_query(qry);
htp.p(qry);
return /*select 1 from dual */ qry;
end;
Procedure
PROCEDURE get_query (V_QRY OUT VARCHAR2)
IS
qry varchar2(32767);
begin
qry := ' select name
, max(decode(to_char(service_date,''Mon-YY''), ''Jan-09'', value, null)) as "Jan-09"
, max(decode(to_char(service_date,''Mon-YY''), ''Jan-09'', value, null)) as "Feb-09"
from MY_TABLE
group by name ';
V_QRY := qry;
end;
The query will be enhanced later to add more months and year based on user parameters once I am successfull in running report on this.
I wish to use Query Specific Column names. I have seen this suggestion from Scott in a number of threads to use /*select 1 from dual */ with query but not working in my case.
Can someone please suggest what can I do to make it working?
Regards,
AmirFirstly, have you unit tested the procedure (namely, within the SQL Workshop, SQL*Plus, SQL Developer,etc, etc.) to see if it produces the right output in the first place?
If you have, and the query string generated is valid, try assigning the output to a page item (thus allowing you to view it in the session browser) or even pass the procedure output into the debug window (with the use of the wwv_flow.debug function). This might reveal some state or session change which is causing it not to return.You might find this easier to achieve if you change from a 'procedure and out parameter' combination to a 'function returning string' approach.
Alternatively, try re-creating the report in a new region - occasionally I've come across weird bugs with report regions which resolved themselves in this manner. -
Misterious "ORA-01403: no data found" error
Hi,
I've been searching through the forum and the Internet with no results, so I'm posting here hoping you can help me.
Here is the situation: I had a page 30 with a tree branching to a form on a view.This worked fine until one day that suddenly, we got the "ORA-01403: no data found" error when loading the page. I guess that's normal, since the form shows the data filtered in the tree (in the tree we click on an element and pass its ROWID to the form), and when we load the page no ROWID is selected. So, the first question would be, how can I manage this situation? My first option was to have a condition in the Automatic Fetch for the Form, so that it's executed only when the ROWID item is not null. It worked a couple of times. After a while, it crashed again.
Tired of trying things, we decided to copy this page 30 to another page (page #80). Surprisingly, page #80 worked meanwhile #30 crashed. And they are completely the same, the data has not changed either.
Could it be that page #30 somehow is corrupted? It's really strange that the same exact copy of the page works with one ID but not with another one.
Has someone experienced this situation? it makes me feel like the app is unsecure and unstable. Any ideas, please?
Apex version: 4.1.1 on APEX listener.
Thanks,
Elena.fac586 wrote:
Elena.mtc wrote:
Thanks for your response. The form is a single row (a form on a table or view). Here is what I've found out thanks to your tips:
It affects to all the three users that I have access with.Try it with a new user that has never accessed the page before.
I used the debug mode (new to me, so I'm kind of slow on this, still) and wrote an exception message on the Automatic Fetch Row and I managed to know the ROWID that the fetch process is using in the where clause. Of course this ROWID does not exist in the table, so the first question that comes to my mind is "how come and from where is the page getting this ROWID?". I don't know and can't comment because I can't see the app. ;-)
If the ROWID is stored in an item, check the Maintain session state property isn't set to Per User.I changed this and seemed to work. But it crashed later. I made a computation process to set to null the rowid's when loading the page. After reset, I deleted the computations (due to application functionality) and it worked. However, I do not trust this page anymore. So we created a new fresh app and copied this page. Luckily we are on development environment :)
>
So, I made a computation to initialize to null the item that saves the ROWID, and now it worked.
This page that I'm testing on is #30, but the valid page is #80 (it has changes made on the look and feel of the page). So, I deleted page #30, and copied page #80 (which works perfectly) into #30. And it crashes again (obvius, since it doesn't have the computation that gives null to the rowid item). What's "interesting" is that I still see the exception message I wrote in the older version of page #30. So, it seems that some values need to be purged and that the delete is not clean, but how? I'm not entirely clear on what you've been doing there, but it does indeed all sound rather odd.
I suspect that you wouldn't be able to reproduce this problem on apex.oracle.com. However, it would probably be helpful if you could upload the app and provide developer credentials to the workspace so we could see how it works and if there's anything obvious (or not) that might cause this problem.Unluckily I cannot do this. Thank you anyway for the help, it's hard to explain when something so weird happens.
Thanks!
Elena. -
Ora-01403: no data found error in stead off messag
Hi all,
In a form there is a button that calls a stored procedure. In this procedure certain checks are made and if violated, QMS$ERRORS.SHOW_MESSAGE is called. Normally we can see the message text from the messages table. However, in this paricular situation we receive ora-01403: no data found. The message shows up later, when another message is invoked.
So, our conclusion is that the stack is not correctly read.
Problem occurs in Client server as in Webforms.
Architecture:
- Designer 6.0.3.9.0
- Forms 6.0.5.34.0
- Oracle 8.0.5.2.1
- Windows NT 4.0 SP5 on Client as on Server
- Oracle Forms Generator 6.0.3.2.0
- Headstart Template Package 5.0.4
Template Form (qmstpl50) 5.0.2
Object Library (qmsolb50 (WEB)) 5.0.4
Event Handler Library (qmsevh50) 5.0.3.2
Core Library (qmslib50) 5.0.4
Thanks in advance,
Joep Hendrix
[email protected]Sandra,
It just happens that I am confronted with the same ora message (0ra-01403) raised apparently under similar conditions. The solution you presented, however, does not help much I am afraid in my case.
I use a qms$errors.show_message statement in a procedure stored in a package on the database. This raises the same error that Joep receives (ora-01403). If I remove the qms$errors.show_message statement from the package no error is raised. If I use the statement in a form trigger I also do not encounter any problems. It therefore appears that the statement can not be raised from the serverside although according to the headstart 5.0.3 documentation that problem is resolved (issue 792479).
In the headstart documentation I find a reference to qms$errors.DisplayServerQMSError. However, maybe this is outdated. This component is not included the qms$error package I have.
Any suggestions to solve this?
My system
Forms 6.0.8.10.3
Designer 7.04
Headstart 5.04
Oracle 8i Enterprise Edition 8.1.7
Windows NT4
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Headstart Team:
Joep,
If you don't use the CDM RuleFrame version of the Headstart Template Package, normally only one message should be on the stack. It seems like in this case you have 2 messages on the stack: ORA-01403 and your custom message, and only the first is shown.
It should not occur that there are 2 messages on the stack. Have you debugged what causes the ORA-01403? Can you catch the exception so that only your own custom message is shown?
Hope this helps,
Sandra<HR></BLOCKQUOTE>
null -
My customer has an issue, and error message as below:
<PRE>Oracle error 1403: java.sql.SQLException: ORA-01403: no data found ORA-06512:
at line 1 has been detected in FND_SESSION_MANAGEMENT.CHECK_SESSION. Your
session is no longer valid.</PRE>
Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
And customer’s statement is: Upgrade from EBS 11.5.10 to 12.1.3. Login the EBS, open any forms and put it in idle. Then refresh the form, error happens
Then, I checked ISP, and found two notes:
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid (Doc ID 1284094.1)
Note 1319380.1: Webadi Gl Journal Posting Errors After Atg R12.1.3 (Doc ID 1319380.1)
But these two notes are both WebADI.
Following is the data collection from customer:
1. Run UNIX command to check .class file version:
strings $JAVA_TOP/oracle/apps/bne/utilities/BneViewerUtils.class | grep Header--> S$Header: BneViewerUtils.java 120.33.12010000.17 2010/11/21 22:19:58 amgonzal s$
2. Run SQL to check you patch level:
SELECT * FROM fnd_product_installations WHERE patch_level LIKE '%BNE%';--> R12.BNE.B.3
3. Run SQL to check patch '9940148' applied or not:
SELECT * FROM ad_bugs ad WHERE ad.bug_number = '9940148';--> No Rows returned
4. Run SQL to check patch '9785477' applied or not:
SELECT * FROM ad_bugs WHERE bug_number in ('9785477');-->
BUG_ID APPLICATION_SHORT_NAME BUG_NUMBER CREATION_DATE ARU_RELEASE_NAME CREATED_BY LAST_UPDATE_DATE LAST_UPDATED_BY TRACKABLE_ENTITY_ABBR BASELINE_NAME GENERIC_PATCH LANGUAGE
576982 11839583 2011/8/7 上午 08:20:36 R12 5 2011/8/7 上午 08:20:36 5 pjt B n US
516492 9785477 2011/6/12 上午 11:42:45 R12 5 2011/6/12 上午 11:42:45 5 bne B n US
546109 9785477 2011/6/12 下午 01:17:41 R12 5 2011/6/12 下午 01:17:41 5 bne B n ZHT
5. Run SQL to check the status of object ‘FND_SESSION_MANAGEMENT’
SELECT * FROM dba_objects do WHERE do.object_name = 'FND_SESSION_MANAGEMENT';-->
OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME
APPS FND_SESSION_MANAGEMENT 219425 PACKAGE 2004/10/30 下午 01:52:35 2011/8/7 上午 08:18:39 2011-08-07:08:18:26 VALID N N N 1
APPS FND_SESSION_MANAGEMENT 226815 PACKAGE BODY 2004/10/31 上午 01:05:40 2011/8/7 上午 08:18:54 2011-08-07:08:18:27 VALID N N N 2
So, my question is: Customer’s BneViewerUtils.java version is already 120.33.12010000.17, which greater than 120.33.12010000.14. Is there any others solutions for this issue? Does customer still need to apply patch '9940148' based on action plan of
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid?
Customer's EBS version is 12.1.3; OS is HP-UX PA-RISC (64-bit); DB is 11.2.0.2.
Thanks,
JackieAnd customer’s statement is: Upgrade from EBS 11.5.10 to 12.1.3. Login the EBS, open any forms and put it in idle. Then refresh the form, error happens
Idle for how long? Is the issue with all sessions?
Please see these docs/links
User Sessions Get Timed Out Before Idle Time Parameter Values Are Reached [ID 1306678.1]
https://forums.oracle.com/forums/search.jspa?threadID=&q=Timeout+AND+R12&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Then, I checked ISP, and found two notes:
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid (Doc ID 1284094.1)
Note 1319380.1: Webadi Gl Journal Posting Errors After Atg R12.1.3 (Doc ID 1319380.1)
But these two notes are both WebADI.Can you find any details about the error in Apache log files and in the application.log file?
Any errors in the database log file?
So, my question is: Customer’s BneViewerUtils.java version is already 120.33.12010000.17, which greater than 120.33.12010000.14. Is there any others solutions for this issue? No.
Does customer still need to apply patch '9940148' based on action plan ofIf the issue not with Web ADI, then ignore this patch. However, if you use Web ADI you could query AD_BUGS table and verify if you have the patch applied.
Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid?
Customer's EBS version is 12.1.3; OS is HP-UX PA-RISC (64-bit); DB is 11.2.0.2.If you could not find any details in the logs, please enable debug as per (R12, 12.1 - How To Enable and Collect Debug for HTTP, OC4J and OPMN [ID 422419.1]).
Thanks,
Hussein -
ORA-01403: no data found Problem when using AUTOMATIC ROW FETCH to populate
ORA-01403: no data found Problem when using AUTOMATIC ROW FETCH to populate a form.
1) Created a FORM on EMP using the wizards. This creates an AUTOMATIC ROW FETCH
TABLE NAME - EMP
Item Containing PRIMARY KEY - P2099_EMPNO
Primary key column - EMPNO
By default the automatic fetch has a ‘Process Error Message’ of ‘Unable to fetch row.’
2) Created a HTML region. Within this region add
text item P2099_FIND_EMPNO
Button GET_EMP to submit
Branch Modified the conditional branch created during button creation to set P2099_EMPNO with &P2099_FIND_EMPNO.
If I then run the page, enter an existing employee number into P2099_EMPNO and press the GET_EMP button the form is populated correctly. But if I enter an employee that does not exist then I get the oracle error ORA-01403: no data found and no form displayed but a message at the top of the page ‘Action Processed’.I was expecting a blank form to be displayed with the message ‘Unable to fetch row.’
I can work around this by making the automated fetch conditional so that it checks the row exists first. Modify the Fetch row from EMP automated fetch so that it is conditional
EXIST (SQL query returns at least one row)
select 'x'
from EMP
where EMPNO = :P2099_EMPNO
But this means that when the employee exists I must be fetching from the DB twice, once for the condition and then again for the actual row fetch.
Rather than the above work around is there something I can change so I don’t get the Oracle error? I’m now wondering if the automatic row fetch is only supposed to be used when linking a report to a form and that I should be writing the fetch process manually. The reason I haven’t at the moment is I’m trying to stick with the automatic wizard generation as much as I can.
Any ideas?
Thanks PeteHi Mike,
I've tried doing that but it doesn't seem to make any difference. If I turn debug on it shows below.
0.05: Computation point: AFTER_HEADER
0.05: Processing point: AFTER_HEADER
0.05: ...Process "Fetch Row from EMP": DML_FETCH_ROW (AFTER_HEADER) F|#OWNER#:EMP:P2099_EMPNO:EMPNO
0.05: Show ERROR page...
0.05: Performing rollback...
0.05: Processing point: AFTER_ERROR_HEADER
I don't really wan't the error page, either nothing with the form not being populated or a message at the top of the page.
Thanks Pete -
"ORA-01403 no data found" on TableAdapter Update
I have a C# application with an Oracle TableAdapter with which I am calling an insert function like this:
mtTestResultsTableAdapter.InsertResults(grp_dscr, grp_id, tst_id, tran_type_dscr, tran_mod_dscr, tst_dts, c_rslt, vb6_rslt, cmp_rslt, c_tm, vb6_tm, tst_errs);
I am getting Oracle exception "ORA-01403 no data found" on this call. I am not sure why I'm getting the error, this is the SQL it is supposed to run:
INSERT INTO "TEST_UTIL_RESULTS" ("GRP_DSCR", "GRP_ID", "TST_ID", "TRAN_TYPE_DSCR", "TRAN_MOD_DSCR", "TST_DTS", "C#_RSLT", "VB6_RSLT", "CMP_RSLT", "C#_TM", "VB6_TM", "TST_ERRS") VALUES (:GRP_DSCR, :GRP_ID, :TST_ID, :TRAN_TYPE_DSCR, :TRAN_MOD_DSCR, :TST_DTS, :C#_RSLT, :VB6_RSLT, :CMP_RSLT, :C#_TM, :VB6_TM, :TST_ERRS)
I ran the SQL directly from TOAD, and it worked fine with no issues. Maybe the TableAdapter is running some other sort of query before calling Insert?
Everything I tried still gave me the same error. I posted this on MSDN but got no reply. It is very frustrating, has anyone encountered this, or does anyone have any idea how to debug this? Thank you in advance.I changed my function to use a Stored Procedure instead of direct sql, but that made no difference. I think the problem has something to do with the fact that 4 of the fields (C#_RSLTS, VB6_RSLTS, CMP_RSLTS, and TST_ERRS) are of type "Clob" in the DB. What do I need to do to get it to work with my Clob fields?
-
I am getting ORA-01403: no data found error while calling a stored procedur
Hi, I have a stored procedure. When I execute it from Toad it is successfull.
But when I call that from my java function it gives me ORA-01403: no data found error -
My code is like this -
SELECT COUNT(*) INTO L_N_CNT FROM TLSI_SI_MAST WHERE UPPER(CUST_CD) =UPPER(R_V_CUST_CD) AND
UPPER(ACCT_CD)=UPPER(R_V_ACCT_CD) AND UPPER(CNSGE_CD)=UPPER(R_V_CNSGE_CD) AND
UPPER(FINALDEST_CD)=UPPER(R_V_FINALDEST_CD) AND UPPER(TPT_TYPE)=UPPER(R_V_TPT_TYPE);
IF L_N_CNT >0 THEN
DBMS_OUTPUT.PUT_LINE('ERROR -DUPlicate SI-1');
SP_SEL_ERR_MSG(5,R_V_ERROR_MSG);
RETURN;
ELSE
DBMS_OUTPUT.PUT_LINE('BEFORE-INSERT');
INSERT INTO TLSI_SI_MAST
( CUST_CD, ACCT_CD, CNSGE_CD, FINALDEST_CD, TPT_TYPE,
ACCT_NM, CUST_NM,CNSGE_NM, CNSGE_ADDR1, CNSGE_ADDR2,CNSGE_ADDR3,
CNSGE_ADDR4, CNSGE_ATTN, EFFECTIVE_DT, MAINT_DT,
POD_CD, DELVY_PL_CD, TRANSSHIP,PARTSHIPMT, FREIGHT,
PREPAID_BY, COLLECT_BY, BL_REMARK1, BL_REMARK2,
MCC_IND, NOMINATION, NOTIFY_P1_NM,NOTIFY_P1_ATTN , NOTIFY_P1_ADDR1,
NOTIFY_P1_ADDR2, NOTIFY_P1_ADDR3, NOTIFY_P1_ADDR4,NOTIFY_P2_NM,NOTIFY_P2_ATTN ,
NOTIFY_P2_ADDR1,NOTIFY_P2_ADDR2, NOTIFY_P2_ADDR3, NOTIFY_P2_ADDR4,
NOTIFY_P3_NM,NOTIFY_P3_ATTN , NOTIFY_P3_ADDR1,NOTIFY_P3_ADDR2, NOTIFY_P3_ADDR3,
NOTIFY_P3_ADDR4,CREATION_DT, ACCT_ATTN, SCC_IND, CREAT_BY, MAINT_BY
VALUES( R_V_CUST_CD,R_V_ACCT_CD,R_V_CNSGE_CD,R_V_FINALDEST_CD,R_V_TPT_TYPE,
R_V_ACCT_NM,R_V_CUST_NM ,R_V_CNSGE_NM, R_V_CNSGE_ADDR1,R_V_CNSGE_ADDR2, R_V_CNSGE_ADDR3,
R_V_CNSGE_ADDR4,R_V_CNSGE_ATTN, R_V_EFFECTIVE_DT ,SYSDATE, R_V_POD_CD,R_V_DELVY_PL_CD,R_V_TRANSSHIP ,R_V_PARTSHIPMT , R_V_FREIGHT,
R_V_PREPAID_BY ,R_V_COLLECT_BY ,R_V_BL_REMARK1 ,R_V_BL_REMARK2,R_V_MCC_IND,
R_V_NOMINATION,R_V_NOTIFY_P1_NM, R_V_NOTIFY_P1_ATTN, R_V_NOTIFY_P1_ADD1, R_V_NOTIFY_P1_ADD2,
R_V_NOTIFY_P1_ADD3, R_V_NOTIFY_P1_ADD4, R_V_NOTIFY_P2_NM, R_V_NOTIFY_P2_ATTN, R_V_NOTIFY_P2_ADD1,
R_V_NOTIFY_P2_ADD2, R_V_NOTIFY_P2_ADD3, R_V_NOTIFY_P2_ADD4, R_V_NOTIFY_P3_NM, R_V_NOTIFY_P3_ATTN,
R_V_NOTIFY_P3_ADD1, R_V_NOTIFY_P3_ADD2, R_V_NOTIFY_P3_ADD3, R_V_NOTIFY_P3_ADD4,
SYSDATE,R_V_ACCT_ATTN,R_V_SCC_IND,R_V_USER_ID,R_V_USER_ID
DBMS_OUTPUT.PUT_LINE(' SI - REC -INSERTED');
END IF;Hi,
I think there is a part of the stored procedure you did not displayed in your post. I think your issue is probably due to a parsed value from java. For example when calling a procedure from java and the data type from java is different than expected by the procedure the ORA-01403 could be encountered. Can you please show the exact construction of the call of the procedure from within java and also how the procedure possible is provided with an input parameter.
Regards, Gerwin -
Forms application returns "ORA-01403 no data found" exception on Windows 7
Hi everyone,
I am currently involved in an application compatibility project for an O/S migration from Windows XP to Windows 7.
We have a legacy Oracle Dev6i P18 Forms application that has been working perfectly on Windows XP for the last decade or so. When we installed the same application on Windows 7, it returned a pop-up error message with the text: "ORA-01403 no data found" when performing a certain operation (clicking on a Submit button in a specific form). The same operation works successfully on Windows XP displaying the message "Submit has been successful".
This error is well documented and the solution involves adding an exception handler to the faulting SQL statement(s) in order to handle the ORA-01403 exception. Unfortunately, the application is composed of compiled forms (.FMX) and we no longer have the source code so I can't implement this solution.
I ran a file comparison utility (WinDiff from the Windows SDK) and confirmed that all the files in the application folder and the Oracle Dev6i P18 folder are identical on both the Windows XP and Windows 7 systems.
I enabled tracing in SQLNet.ORA by configuring TRACE_LEVEL_CLIENT=SUPPORT (I know, too verbose) and other related settings on both systems and have uploaded the traces to my SkyDrive for public viewing:
http://sdrv.ms/10BNYtI
The traces show that the "ORA-01403" exception occurs many times on both Windows XP and Windows 7 systems as a result of various SQL statements being executed, for instance:
SELECT TASK_ID,TASK_DETAIL_STATUS,ASSIGNED_DATE FROM TASK_DETAILS WHERE TASK_ID = :b1 AND TASK_DETAIL_STATUS = (SELECT ID FROM V_TASK_STATUS WHERE ABBREVIATION = 'PLANNED' ) FOR UPDATE OF TASK_DETAIL_STATUS,ASSIGNED_DATE
UPDATE TASK_DETAILS SET ASSIGNED_DATE=NTMS_UTIL.GET_SERVER_DATE,TASK_DETAIL_STATUS=(SELECT ID FROM V_TASK_STATUS WHERE ABBREVIATION = 'ASSIGNED' ) WHERE ROWID = :b1
ORA-01403: no data found.
So the same error happens on both Windows XP and Windows 7.
On Windows XP, the error is somehow handled, and does not cause the "Submit" operation to fail.
On Windows 7, however, the error bubbles to the surface and is displayed to the user, thus halting the "Submit" operation.Thank you. I'm well aware that adding an exception handler is the classic solution to the ORA-01403 error. However, like I mentioned in my original post, I don't have the source code. All I have are the compiled .FMX forms so I can't implement such a solution:
From my original post:
This error is well documented and the solution involves adding an exception handler to the faulting SQL statement(s) in order to handle the ORA-01403 exception. Unfortunately, the application is composed of compiled forms (.FMX) and we no longer have the source code so I can't implement this solution.
Maybe you are looking for
-
Performance Impact of Using Sessions
All, I have a general question regarding the performance impact of using Sessions within a Servlet. Specifically, I'm working with a group that wants to use the Session object to store customer contacts temporarily. The application is expected to ser
-
How to login as root in mountain lion?
i've already enabled the root function in directory utility. i CANT find how to login as root user. in login window there's just the one for my admin account. please help, i want to change the name of my home folder.. [p/s: i've done this previously
-
I am getting old values after changind the data in CRM ISA B2B.
Hi, I am modifying Standard CRM ISA B2B application. Under "My Account" section. there are two options 1) Password change and 2) Address Change. I changed "addresschange.jsp" for Look and feel. I also changed Telephone and Fax input filed by braking
-
HT1349 iphone 4S - my wifi keeps dropping or it comes up with a message "unable to connect"
iphone 4S - my wifi keeps dropping or it comes up with a message "unable to connect"
-
User Mail folder under Lion Server? Where....?
Does anyone know where the mail Postbox in the lion Server file system are stored if i use open Directory? The local users have the mail folder in their home folder, (user/Mail/Dovecot/cur/) but where is the folder for the Domain Users? Hint: i use M