HELP!! Create source system failed in BW ( ORA-01403: no data found)
Hi,
I cannot create Oracle DB as a source system in my BW (7.01).
In system log, I got the following information.
============================
Database error 1403 at CON
> ORA-01403: no data found
============================
How can I fix this issue?
It's kind of urgent.
Thanks!
Regards,
Steven
Edited by: Wen Steven on Sep 30, 2011 6:09 PM
Hi Steven,
Please check the below thread
SQL/Buffer trace RC=1403
Regards,
Venkatesh
Similar Messages
-
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 -
Deferred transaction fails due to a "ORA-01403: no data found" error
I recently acticated replication between two Oracle instances.
(one being the master definition site and the other one being
a second master site).
Everything was going well until two weeks ago, when i realized
that some datas were different between the two Oracle instances.
I tried to figure out why and found that some deferred transation
failed to propagate due to a "ORA-01403: no data found" error.
Not all transaction fail, only a few.
All the errors are stored in the DEFERROR table of the second
master site, the DEFERROR table is empty in the master definition
site.
For every error, the source is the master definition site and the
destination is the second master site, which is OK because the
second master site is supposed to be "read-only". But why are the
errors stored in the DEFERROR table of the second master site
(and not in the master definition site (the source)).
Most errors occur on UPDATE statements but a few of them occur
on DELETE statements. Given the fact that the record actually is
in the second master site, how is it possible to get a
"ORA-01403: no data found" error on a delete statement ???????
I can't figure out what data cannot be found,
Thanks for your help,
Didier.What if i tell you the first transaction in error is an UPDATE
statement on a record that actually is in the destination table
in the second master site. So the data is there, it should be
found ...
I've tried an EXECUTE_ERROR on that very first transaction
in error but it doesn't work. Here's the call (as repadmin) :
begin
DBMS_DEFER_SYS.EXECUTE_ERROR (
DEFERRED_TRAN_ID => '6.42.271',
DESTINATION => 'AMELIPI.SENAT.FR'
end ;
And here's the full message :
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1" line 430
ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1632
ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1678
ORA-06512: at line 2
I thought it could be because the primary key constraint on the
destination table wasn't activated but it was. Could it
be a problem with the corresponding index ?
Thanks for your help,
Didier. -
Failed to parse SQL query: ORA-01403: no data found
I'm going to post and answer my own question in the hope that others will not have to struggle with this error.
Using a report of the type PL/SQL Function Body Returning SQL and using generic columns you may run into this error
failed to parse SQL query:
ORA-01403: no data found
The SQL will run stand alone but the report fails.
There is a setting just below the source you should check:
"Maximum number of generic report columns"
In my case the number of columns was dynamic and when it exceeded the number set as the maximium number of generic columns I received the 1403 error.
Hope this helps someone.
GregThanks for much for the pointer. For anyone else struggling with this too, I found that my generic columns had unordered themselves. Reordering them solved the problem for me.
Edited by: user11096971 on Jul 22, 2010 3:19 AM -
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. -
NEED HELP IN CONFLICT HANDLER ERROR ORA-01403: no data found
Hi All,
I am using Oracle Streams to replicate the data...
I need to update the records on the destination with some particular condition like if USER_COUNTRY = 'XXX' then the data need to be updated in the destination side else skip ...
I wrote the procedure ..below .. the data is not replicating and found the below error from dba_apply_error..
ORA-01403: no data found
ORA-06512: at "SYS.LCR$_ROW_RECORD", line 419
Table called history_row_lcrs is created in the strmadmin to store the lcr values...
CREATE OR REPLACE PROCEDURE proc_test(in_any sys.anydata)IS
lcr sys.lcr$_row_record;
rc pls_integer;
v_type varchar2(20);
col_1 sys.anydata;
lcr_usercountry varchar2(20);
TRANS varchar2(20);
skip_routine Exception;
BEGIN
rc:=in_any.GetObject(lcr);
v_type:=lcr.get_command_type();
col_1:=lcr.get_value('NEW','USER_COUNTRY');
rc:=col_1.GetVarchar2(lcr_usercountry);
for x in ( select user_country from TEST.TESTREP1
where USER_COUNTRY=lcr_usercountry)
Loop
IF (x.USER_COUNTRY = 'XXX')
THEN
insert into strmadmin.history_row_lcrs VALUES (SYSDATE, lcr.GET_SOURCE_DATABASE_NAME(), lcr.GET_COMMAND_TYPE(),
lcr.GET_OBJECT_OWNER(), lcr.GET_OBJECT_NAME(), lcr.GET_TAG(), lcr.GET_TRANSACTION_ID(), lcr.GET_SCN(),
lcr.GET_COMMIT_SCN,lcr.GET_VALUES('old'), lcr.GET_VALUES('new', 'n'));
lcr.EXECUTE(true);
ELSE
Raise Skip_routine;
END IF;
END Loop;
Exception
when skip_routine Then
null;
END;
BEGIN
DBMS_APPLY_ADM.SET_DML_HANDLER(
object_name => 'TEST.TESTREP1',
object_type => 'TABLE',
operation_name => 'UPDATE',
error_handler => false,
user_procedure => 'STRMADMIN.PROC_TEST',
apply_database_link => NULL,
apply_name => NULL);
END;
Please try to help me if am doing something wrong...because I need to update only one colums am using DML_HANDLER instead of SET_UPDATE_CONFLICT_HANDLER...
Any other inputs are also appreciated...
Thanks In Advance and appreciate for the quick reply...I fired the query, am not getting any output from dbms_output.put_line('..|USER_COUNTRY..');
Is that no data is reading or may be any reason else..
in this table store_id is the primary key ..
SQL> set serveroutput on
SQL> CREATE OR REPLACE PROCEDURE test(in_any sys.anydata) IS
2 lcr sys.lcr$_row_record;
3 rc pls_integer;
4 v_type varchar2(20);
5 col_1 sys.anydata;
6 col_2 sys.anydata;
7 lcr_usercountry varchar2(20);
8 lcr_storeid number;
9 TRANS varchar2(20);
10 store_id number;
11 USER_COUNTRY varchar2(20);
12
13 BEGIN
14 rc:=in_any.GetObject(lcr);
15 v_type:=lcr.get_command_type();
16 col_1:=lcr.get_value('NEW','USER_COUNTRY');
17 rc:=col_1.GetVarchar2(lcr_usercountry);
18 col_2:=lcr.get_value('NEW','STORE_ID');
19 rc:=col_2.getnumber(lcr_storeid);
20 select user_country into user_country from dev03.testrep1 where user_country=lcr_usercountry and store_id=lcr_storeid;
21 dbms_output.put_line('---------||USER_COUNTRY ||-----------');
22 END;
23 /
Procedure created.
Thanks for your help .... -
Ora-01403 no data found cursor error - Please help.
DECLARE
name1 talent.candidate_name%TYPE; -- Declare variables
name2 long; -- Declare variables
emp_id talent_id.emplid%TYPE;
NO_DATA_FOUND EXCEPTION;
CURSOR c1 IS
select candidate_name,(''''||trim(upper(candidate_name))||'''') as tst from talent ;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO name1, name2;
EXIT WHEN c1%NOTFOUND; -- TRUE when FETCH finds no more rows
select distinct emplid
INTO emp_id
from names a
where a.name_type = 'PRI'
and upper(a.last_name)||', '||upper(a.first_name) = name2;
INSERT INTO talent_id VALUES (emp_id, name1);
END LOOP;
CLOSE c1;
COMMIT;
Question: Above queries prompt me error msg ora-01403 no data found for emplid. I try but fail to solve it. Please help me. Thank you
Edited by: user12051088 on Mar 4, 2010 1:38 AM
Edited by: user12051088 on Mar 4, 2010 1:40 AMYes, this is very helpful :-)
My testing to insert table where emplid is null but still having error ora-01403 no data found when i remove on dbms_output.put_line as shown below:
Anyway, if i dint remove the dbms_output.put_line. It is working to insert emp_id is not null. How do I include record which emp_id is null? Thank you.
begin
select distinct emplid
INTO emp_id
from gdw_names a
where a.name_type = 'PRI'
and upper(a.last_name)||', '||upper(a.first_name) = name1;
IF emp_id is null THEN
RAISE no_data_found;
else
INSERT INTO gdw_talent_id VALUES (emp_id, name1);
end if;
exception
when no_data_found then
INSERT INTO gdw_talent_id VALUES (null, name1);
--when too_many_rows then
-- dbms_output.put_line('too many rows for ' || name1);
-- when others then
-- dbms_output.put_line('Unknown error for ' || name1);
end;
Edited by: user12051088 on Mar 4, 2010 9:11 PM -
Apex file loader 4.1 create page error: ORA-01403: no data found
I am trying to create a page where csv files can be uploaded using the wizard in Apex 4.1.0.00.32
However after completing the wizard and pressing the finish button, the following message shows up:
Error Error creating page .
ORA-01403: no data found
All I can do then is press an OK button which takes me back to the summary screen before submitting.
I've already tried the wizard using other tables, empty and ones with data in it, but with the same result.
The strange thing is that I have used the wizard with success, but now it won't work anymore in this application.
The other strange thing is that the wizard is still working for other application within the same workspace, even on the same table...
Anyone has got any ideas to fix this (making a new application from scratch is my last resort considering the amount of work I've already put into this one)
Thanks!Alright, I got the wizard working again. This is how:
By doing some searching on google I found that the errorlogs of Apache are logged in the folder: apache\apache\logs\
I found that there were some error logs in there that created new lines each time I used the wizard:
[Fri Jan 27 17:45:41 2012] [error] [client 172.18.40.211] [ecid: 1327682741:10.10.10.128:2380:2616:373,0] File does not exist: d:/oracle/product/10.2.0/ohs_1/apache/images/css/apex_builder_4_0.css
[Fri Jan 27 17:45:44 2012] [error] [client 172.18.40.211] [ecid: 1327682744:10.10.10.128:2380:2536:480,0] File does not exist: d:/oracle/product/10.2.0/ohs_1/apache/images/css/apex_builder_4_0.css
So I figured maybe if I copy the existing apex_builder_4_1.css in the folder and rename it to apex_builder_4_0.css it would work.
After doing that the error messages stopped in the error log, but still the wizard failed.
After that I changed the theme of the application and the wizard started working again!
Don't no what will happen when I change the theme back to the one I was using, maybe I will try that later.
For now I am happy!
Thanks Patrick for putting time into it
(btw my application was not imported, but I did play around with the themes a fair bit)
Edited by: Merijn8106997 on 27-jan-2012 9:27 -
Dear Legends,
My requirement is to call store procedure from BPEL. So for I created a BPEL with 2 assign activity and 1 Invoke activity to Invoke the DB adapter. After Deploying I tested the process but it shows the following error:
<bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'DB_SBL_SPROCS1' failed due to: Interaction processing error.
Error while processing the execution of the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API interaction.
An error occurred while processing the interaction for invoking the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API. Cause: java.sql.SQLException: ORA-01403: no data found
ORA-06512: at line 1
Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-1403" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers.
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
</summary></part><part name="detail"><detail>ORA-01403: no data found
ORA-06512: at line 1
</detail></part><part name="code"><code>1403</code></part></bindingFault></bpelFault></fault><faultType>
<message>0</message></faultType></messages></details></event><event sid="BpPrc0.1" cat="2" n="16" date="2013-08-08T05:39:39.121-04:00" type="4"><message>"BPELFault" has not been caught by a catch block.</message></event><event sid="BpPrc0.1" cat="2" n="17" date="2013-08-08T05:39:39.270-04:00" type="3"><message>The transaction was rolled back. The work performed for bpel instance "960968" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.</message></event></audit-trail>
What does the above error says?
1. Whether concern Grant or Execute Privileges is not properly provided to the user?
2. Is there any Dangling Privileges are prevailing?
3. Is that the Store Procedure to be Handled with an Error Handling by means of Exception?
4. Is that I have been giving wrong test data?
5. Is that No data being existing in the Procedure?
6. Is that anything related to XA and NON-XA Data Source?
Any kind of help would be much appreciated. Thanks in Advance.
Thanks,
KarthikCan you check the following ?
a. Hopefully the when you execute the procedure using sql tool it works fine and returns data.
b. Is there any input parameter available for procedure ?
c. IF yes, is the parameter is mapped with the procedure parameter and populated with value before calling the procedure ?
d. In the audit trial, you can see from the invoke activity to see whether the parameter is populated with value or not ?
e. Check the input parameter by executing the procedure with sql tool to see whether this request is receiving any data in return or not ?
Thanks,
Vijay -
Strange problem: ORA-01403: no data found when report has a sort
Hi,
I have a report which behaves very strangely but only for one particular user. The report runs fine when no columns are set as sort-by in the report attributes. As soon as I try and set a column to sort (any column, it doesn't matter) this user gets the error message:
failed to parse SQL query:
ORA-01403: no data found
appear where the report should be on the page. The rest of the page displays OK. No other users are affected. If I remove the sort then the report is OK for this user (unsorted though!)
The report is a structured query with custom column headings, nothing unusual, quite basic. I have tried exporting and reimporting the page but it doesn't fix it. Same behaviour for this particular page in our test system as well.
I could rebuild the page but I'd rather know what is wrong in case it happens to some other region.
Thanks,
SteveSteve,
The reports engine stores the sort settings in the user preferences. This is done so that when you return to a report, it maintains the earlier sort settings. Like in your response to the HTML DB studio posting, you would keep your report sorted by "Created On" descending or ascending even when you come back another time. It's save to remove those preferences; all that's going to happen is that your users will see the report using the report's default settings the next time they go to that page. I will try to investigate this problem further, whatever additional information you can provide, will be helpful,
Marc -
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. -
Hi All,,
--API - AR Invoice (Transaction) Creation
CREATE OR REPLACE procedure APPS.xxx_ar_invoice_api
is
l_return_status varchar2(1);
l_msg_count number;
l_msg_data varchar2(2000);
l_batch_source_rec ar_invoice_api_pub.batch_source_rec_type;
l_trx_header_tbl ar_invoice_api_pub.trx_header_tbl_type;
l_trx_lines_tbl ar_invoice_api_pub.trx_line_tbl_type;
l_trx_dist_tbl ar_invoice_api_pub.trx_dist_tbl_type;
l_trx_salescredits_tbl ar_invoice_api_pub.trx_salescredits_tbl_type;
l_cust_trx_id number;
--l_batch_id number;
--l_batch_id number;
BEGIN
begin
MO_GLOBAL.SET_POLICY_CONTEXT('S',85);
end;
fnd_global.apps_initialize(1153,50642,222);
l_batch_source_rec.batch_source_id := 1002;
l_trx_header_tbl(1).trx_header_id := 5555;
l_trx_header_tbl(1).trx_date := sysdate;
l_trx_header_tbl(1).trx_currency := 'INR';
l_trx_header_tbl(1).cust_trx_type_id := 1;
l_trx_header_tbl(1).bill_to_customer_id := 24059;
l_trx_header_tbl(1).term_id := 1000;
l_trx_header_tbl(1).finance_charges := 'Y';
-- l_trx_header_tbl(1).status_trx := 'OP';
-- l_trx_header_tbl(1).printing_option := 'NOT';
--l_trx_header_tbl(1).reference_number := '1111';
l_trx_lines_tbl(1).trx_header_id := 5555;
l_trx_lines_tbl(1).trx_line_id := 501;
l_trx_lines_tbl(1).line_number := 1;
l_trx_lines_tbl(1).inventory_item_id := 10008;
--l_trx_lines_tbl(1).description := 'TUBRO 100 SAE 20W40 - 5 * 20 LTR Carton;
l_trx_lines_tbl(1).quantity_invoiced := 10;
l_trx_lines_tbl(1).unit_selling_price := 12; --Price
l_trx_lines_tbl(1).uom_code := 'Nos';
l_trx_lines_tbl(1).line_type := 'LINE';
-- l_trx_dist_tbl(1).trx_dist_id := 501;
--l_trx_dist_tbl(1).trx_line_id := 501;
--l_trx_dist_tbl(1).ACCOUNT_CLASS := 'REV';
--l_trx_dist_tbl(1).percent := 100;
--l_trx_dist_tbl(1).CODE_COMBINATION_ID := 1012;
--Here we call the API to create Invoice with the stored values
AR_INVOICE_API_PUB.create_invoice
(p_api_version => 1.0
--,p_commit => 'T'
,p_batch_source_rec => l_batch_source_rec
,p_trx_header_tbl => l_trx_header_tbl
,p_trx_lines_tbl => l_trx_lines_tbl
,p_trx_dist_tbl => l_trx_dist_tbl
,p_trx_salescredits_tbl => l_trx_salescredits_tbl
,x_return_status => l_return_status
,x_msg_count => l_msg_count
,x_msg_data => l_msg_data
dbms_output.put_line('Created:'||l_msg_data||l_return_status);
IF l_return_status = fnd_api.g_ret_sts_error OR
l_return_status = fnd_api.g_ret_sts_unexp_error THEN
dbms_output.put_line(l_return_status||':'||sqlerrm);
Else
dbms_output.put_line(l_return_status||':'||sqlerrm);
If (ar_invoice_api_pub.g_api_outputs.batch_id IS NOT NULL) Then
Dbms_output.put_line('Invoice(s) suceessfully created!') ;
Dbms_output.put_line('Batch ID: ' || ar_invoice_api_pub.g_api_outputs.batch_id);
Dbms_output.put_line('customer_trx_id: ' || l_cust_trx_id);
Else
Dbms_output.put_line(sqlerrm);
End If;
end if;
commit;
End;
exec xxx_ar_invoice_api;
when im running this im getting error " Error in AR_INVOICE_UTILS.validate_tax_exemption ORA-01403: no data found" pls send me solutionPls mention you app/db and OS version.
Please see if below MOS notes helps:-
LNS: Billing Fails With Error In AR_INVOICE_UTILS.validate_tax_exemption ORA - 01403 no data. [ID 797974.1]
Oracle Receivables Invoice API: Known Issues and Patches [ID 1306471.1]
Thanks,
JD -
Getting - ORA-01403: no data found - When I Run expdp
Oracle database version 11.1.0.7.0 on Windows 32-bit.
When I run:
expdp system schemas=vms dumpfile=data_pump_dir:vms_bjw%u.dmp logfile=data_pump_dir:vms_bjw.log parallel=2
Connected to: Oracle Database 11g Enterprise Edition Release *11.1.0.7.0* - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 736
ORA-39080: failed to create queues "" and "" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1665
ORA-01403: no data found
I turned on tracing like this:
1.) Set the Error Stack 1403 to know exactly which SQL is failing:-
SQL> alter system set events '1403 trace name errorstack level 3';
Re-ran the datapump export to reproduce the error then disable the events.
SQL> alter system set events '1403 trace name errorstack off';
The trace file, oddly enough, shows that this is the failing SQL:
Error Stack Dump
ORA-01403: no data found
Current SQL Statement for this session (sql_id=3n58uzvnuw2hj) -----
SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET'
Under that, I get the call stack.
I ran this SQL manually and I get:
SQL> SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
VALUE
AL32UTF8
Any ideas as to why I'm getting the ORA-01403 when I run expdp?
Thank youHello,
Your error looks like what is descibed into the Metalink Note 345198.1.
But this note apply to 10.1.0.4 not to 11.1.0.7.
So, you should open an issue to My Oracle Support.
Best regards,
Jean-Valentin -
ORA-01403: no data found in alert.log
Dear All,
I am getting ORA-01403: no data found in alert.log.Could you pls help me out what could be reasons behind it..Due to this i m getting loads of alerts.Pls suggest.
ThanksORA-01403 No Data Found
Typically, an ORA-01403 error occurs when an apply process tries to update an existing row and the OLD_VALUES in the row LCR do not match the current values at the destination database.
Typically, one of the following conditions causes this error:
Supplemental logging is not specified for columns that require supplemental logging at the source database. In this case, LCRs from the source database might not contain values for key columns. You can use a DML handler to modify the LCR so that it contains the necessary supplemental data. See "Using a DML Handler to Correct Error Transactions". Also, specify the necessary supplemental logging at the source database to prevent future errors.
There is a problem with the primary key in the table for which an LCR is applying a change. In this case, make sure the primary key is enabled by querying the DBA_CONSTRAINTS data dictionary view. If no primary key exists for the table, or if the target table has a different primary key than the source table, then specify substitute key columns using the SET_KEY_COLUMNS procedure in the DBMS_APPLY_ADM package. You also might encounter error ORA-23416 if a table being applied does not have a primary key. After you make these changes, you can reexecute the error transaction.
The transaction being applied depends on another transaction which has not yet executed. For example, if a transaction tries to update an employee with an employee_id of 300, but the row for this employee has not yet been inserted into the employees table, then the update fails. In this case, execute the transaction on which the error transaction depends. Then, reexecute the error transaction.
There is a data mismatch between a row LCR and the table for which the LCR is applying a change. Make sure row data in the table at the destination database matches the row data in the LCR. When you are checking for differences in the data, if there are any DATE columns in the shared table, then make sure your query shows the hours, minutes, and seconds. If there is a mismatch, then you can use a DML handler to modify an LCR so that it matches the table. See "Using a DML Handler to Correct Error Transactions".
Alternatively, you can update the current values in the row so that the row LCR can be applied successfully. If changes to the row are captured by a capture process at the destination database, then you probably do not want to replicate this manual change to destination databases. In this case, complete the following steps:
Set a tag in the session that corrects the row. Make sure you set the tag to a value that prevents the manual change from being replicated. For example, the tag can prevent the change from being captured by a capture process.
EXEC DBMS_STREAMS.SET_TAG(tag => HEXTORAW('17'));
In some environments, you might need to set the tag to a different value.
Update the row in the table so that the data matches the old values in the LCR.
Reexecute the error or reexecute all errors. To reexecute an error, run the EXECUTE_ERROR procedure in the DBMS_APPLY_ADM package, and specify the transaction identifier for the transaction that caused the error. For example:
EXEC DBMS_APPLY_ADM.EXECUTE_ERROR(local_transaction_id => '5.4.312');
Or, execute all errors for the apply process by running the EXECUTE_ALL_ERRORS procedure:
EXEC DBMS_APPLY_ADM.EXECUTE_ALL_ERRORS(apply_name => 'APPLY');
If you are going to make other changes in the current session that you want to replicate destination databases, then reset the tag for the session to an appropriate value, as in the following example:
EXEC DBMS_STREAMS.SET_TAG(tag => NULL);
In some environments, you might need to set the tag to a value other than NULL. -
ORA-01403: no data found when displaying a value from an array
I have a very simple pl/sql procedure like below which gives an error
SQL> exec p_ks2;
BEGIN p_ks2; END;
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "KINASE.P_KS2", line 21
ORA-06512: at line 1
if i uncomment the for loop the procedure works ... the loop has nothing to do with my array or what i am doing after it..
could anyone help me to understand why i need a loop like that or what i am doing wrong when i am not having the loop there.
---- procedure
CREATE OR REPLACE
PROCEDURE p_ks2 as
TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
data1 mdata;
k integer;
m number;
begin
data1(1) := 10;
data1(2) := 20;
data1(3) := 30;
data1(4) := 40;
data1(5) := 50;
k :=3;
--for mm in 10..11
--loop
-- m := mm;
--end loop;
dbms_output.put_line('value of data(' || k || '): ' || data1(k));
end;
/here is what i am trying.. when i do not have the for loop it fails. when I have the for loop it works eventhough for loop is really not doing anything related to my array.
and in 10.x both works without error.
I noticed you have the for loop uncommented when you posted the screen. Did it work when you have commented those lines out?
SQL> select * from v$version
2 ;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
SQL> CREATE OR REPLACE
2 PROCEDURE p_ks2 as
3
4 TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
5 data1 mdata;
6 k integer;
7 m number;
8
9 begin
10 data1(1) := 10;
11 data1(2) := 20;
12 data1(3) := 30;
13 data1(4) := 40;
14 data1(5) := 50;
15
16 k :=3;
17 --for mm in 10..11
18 --loop
19 -- m := mm;
20 --end loop;
21
22 dbms_output.put_line('value of data(' || k || '): ' || data1(k));
23
24
25 end;
26 /
Procedure created.
SQL>
SQL> exec p_ks2;
BEGIN p_ks2; END;
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "KINASE.P_KS2", line 21
ORA-06512: at line 1
SQL>
SQL> CREATE OR REPLACE
2 PROCEDURE p_ks2 as
3
4 TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
5 data1 mdata;
6 k integer;
7 m number;
8
9 begin
10 data1(1) := 10;
11 data1(2) := 20;
12 data1(3) := 30;
13 data1(4) := 40;
14 data1(5) := 50;
15
16 k :=3;
17 for mm in 10..11
18 loop
19 m := mm;
20 end loop;
21
22 dbms_output.put_line('value of data(' || k || '): ' || data1(k));
23
24
25 end;
26 /
Procedure created.
SQL> exec p_ks2;
value of data(3): 30
PL/SQL procedure successfully completed.
SQL>
Maybe you are looking for
-
Retrieve front end values of editable alv in same format
I have a problem to retrieve the front end values in editable alv filled by user. I am able to get it from MODIFIED CELL method but it gives the values after alv automatically conversion. For example if user filled 1 in cell of type numc then i want
-
My iPod iTunes thing is be a pain in the you know what and won't let download anything cause my account verified thing keeps popping up and I put my security code in but it won't work and I have my iTunes redeem card and it wo t let me use it.please
-
LINK TO A PDF FILE WITH DVD ACCESS
Hello to everybody! This is the first time I use this discussions area. I'm desperate! I used the manual and all kind of online helps but still can't figure out how to link a pdf file inside dvd studio pro3. I enabled the dvd access but it doesn't wo
-
my n70,has a problem in showing the clips when i have recorde with hiqh quality.how could i delete pvplayer or replace by breal player to see the clips directly from gallery
-
Save & Release of Time Sheet in ESS.
Hi all, The requirement is to provide two options after reviewing the time sheet in ESS, first one as per standard 'SAVE' which will save the time sheet (then employee will release later) and second one is customized one 'SAVE & RELEASE' which will s