Should not raise no data found error
Hi Experts,
I am using select into statement in procedure and put some condition in select statement.
I want if condition failed then it sould put null in to target variable . It should not raise no data found error
e.g
select abc into v_abc from table
where cond1=cond;
if this select statement no give any record it should put null into v_abc and not raise no data found error
pls suggest something
UG
You could do...
SQL> ed
Wrote file afiedt.buf
1 declare
2 v_abc varchar2(20);
3 begin
4 SELECT
5 CASE
6 WHEN (select COUNT(*) from emp where empno = 1234) > 0 THEN
7 (select ename from emp where empno = 1234)
8 ELSE
9 null
10 END
11 INTO v_abc
12 FROM dual;
13* end;
SQL> /
PL/SQL procedure successfully completed.But that's no better than doing a check first as a seperate SQL in the PL/SQL.
I would do this... (if I really didn't want the no_data_found exception)
SQL> ed
Wrote file afiedt.buf
1 declare
2 v_abc varchar2(20);
3 begin
4 SELECT max(ename)
5 INTO v_abc
6 FROM
7 (
8 SELECT ename from emp where empno = 1234
9 UNION
10 SELECT null from dual
11 );
12 dbms_output.put_line(NVL(v_abc,'!null!'));
13* end;
SQL> /
!null!
PL/SQL procedure successfully completed.
SQL> ed
Wrote file afiedt.buf
1 declare
2 v_abc varchar2(20);
3 begin
4 SELECT max(ename)
5 INTO v_abc
6 FROM
7 (
8 SELECT ename from emp where empno = 7782
9 UNION
10 SELECT null from dual
11 );
12 dbms_output.put_line(NVL(v_abc,'{null}'));
13* end;
SQL> /
CLARK
PL/SQL procedure successfully completed.
SQL>
Similar Messages
-
ORA-01403: no data found Error in PLSQL code raised during plug-in processing.
Hello OTN community,
We are having the access to APEX problem. a New user was setup to access the APEX application. When I test to login as a new user, I get the message "ORA-01403: no data found Error in PLSQL code raised during plug-in processing.". When click OK to the disply message, the application will take me out of the sstem. I need help to even understand what is happening. I didn't develop the application, there is no documentation for this application, I am just supporting the application whenever there is a problem and I am new to APEX. As you can see I need help to figure this thing out. Your help is dearly appreciated.
Thank you OTNTry to check the query that is executed and check if there is data or not
-
No data found error on Form on a Table with report
Hi Everyone, I'm using Application Express 4.1.0.00.32 on Windows 7. I built a Form on a table with report. Earlier I was using rowid as a passing parameter but then I had to change it to primary key column from report to form.
So in the "Fetch row process" I changed the "Items containing primary key value" and "Primary Key column" to P1004_PERSON_ID and PERSON_ID respectively. Which is my primary key.
My Form is working exactly fine but at on point it throws "no data found error".
I have a required date field in the form. So if the user doesn't fill in the date field and try to save the form, it throws the "Feild required error" and then when user enters date and try to save then it throws the error "No data found.". here is the snapshot... snapshot
How can I fix this error.I'm really stuck.
I checked debubber..it is as follows... in debughger it's still showing rowid. I don't know why. How can I fix that.
Execution
Message
Level
Graph
0.00233
0.00932
S H O W: application="101" page="1004" workspace="" request="" session="123235901404364"
4
0.01161
0.00102
Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us
4
0.01261
0.00046
alter session set nls_language="AMERICAN"
4
0.01307
0.00042
alter session set nls_territory="AMERICA"
4
0.01348
0.00053
NLS: CSV charset=WE8MSWIN1252
4
0.01401
0.00042
...NLS: Set Decimal separator="."
4
0.01443
0.00053
...NLS: Set NLS Group separator=","
4
0.01495
0.00050
...NLS: Set g_nls_date_format="DD-MON-RR"
4
0.01545
0.00051
...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM"
4
0.01597
0.00050
...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"
4
0.01647
0.00079
...Setting session time_zone to -05:00
4
0.01726
0.00046
Setting NLS_DATE_FORMAT to application date format: DD-MON-YYYY
4
0.01772
0.00060
Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DD-MON-YYYY HH24.MI.SSXFF
4
0.01832
0.00092
...NLS: Set g_nls_date_format="DD-MON-YYYY"
4
0.01924
0.00049
...NLS: Set g_nls_timestamp_format="DD-MON-YYYY HH24.MI.SSXFF"
4
0.01973
0.00083
...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"
4
0.02056
0.00099
NLS: Language=en-us
4
0.02154
0.00157
Application 101, Authentication: PLUGIN, Page Template: 5091946581246503
4
0.02312
0.00065
...fetch session state from database
4
0.02377
0.00106
fetch items
4
0.02483
0.00065
...fetched 103 session state items
4
0.02548
0.00194
Authentication check: NTLM (NATIVE_CUSTOM)
4
0.02742
0.00188
...Execute Statement: begin declare begin wwv_flow.g_boolean := f_ntlm_page_sentry_parm; end; end;
4
0.02930
0.00050
... sentry+verification success
4
0.02980
0.00042
...Session ID 123235901404364 can be used
4
0.03021
0.00114
...Application session: 123235901404364, user=VARMAN01
4
0.03135
0.00162
...Check for session expiration:
4
0.03297
0.00075
Session: Fetch session header information
4
0.03372
0.00113
...Setting session time_zone to -5:00
4
0.03485
0.00080
Branch point: Before Header
4
0.03565
0.00598
Fetch application meta data
4
0.04165
0.00081
...metadata, fetch computations
4
0.04245
0.00076
...metadata, fetch buttons
4
0.04321
0.00086
Setting NLS_DATE_FORMAT to application date format: DD-MON-YYYY
4
0.04406
0.00058
Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DD-MON-YYYY HH24.MI.SSXFF
4
0.04464
0.00049Just an observance... SQL is still showing the rowid instead of the P1004_PERSON_ID ??
where "PERSON_ID" = :p_rowid;
should it not be :
where "PERSON_ID" = :P1004_PERSON_ID:
thx, Bill -
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. -
ORA-01403 No Data Found error on Update
I am having difficulty troubleshooting a form (6i) where the data can not be updated. This form was recently modified by another developer (who is no longer w/ us) and we removed a unique key from the items list in the data block, however the particular field is still contained in the table. There are no constraints on any fields in this table.
I have a button pallette in the form and when I try to update and save, I get the "No Data Found" error message. However, I know there is data in the record but I can not figure out why the error.
When I display the error, the sql code looks something like this:
UPDATE db.temp
SET P_ID=:1,S_ID=:2
WHERE ROWID=:3
I put a message in the do_key('list_values') trigger to show me the rowid but nothing comes up. I wonder if this has something to do with that and if so, why and how do I fix it?
Appreciate any direction any of you can provide in coming to a solution on this. Thank you.I don't explicitly say ROWID=:3, what I mean, I
didn't code the update query. My understanding is
that it is done behind the scenes given the items in
the data block. Ok, I couldn't tell from the post whether it was explicit or not. This is from
Oracle FAQ:
"I get 'NO DATA FOUND' errors. How does one handle this?
An ORA-1403 (No Data Found) error is signalled within a replicated environment when there is a conflict in data. Here is an illustration of what happens in most scenarios featuring this error:
Let's say we need to update a table and set column x=1 where x=9. When the first change occurs on the source database, Oracle checks to ensure that x=9. Once this transaction commits, it is queued for execution on the destination site(s). When the transaction is applied to the destinations, Oracle first check to verify that x=9 (the old value); if it does, then Oracle applies the update (update table set x = 1 where x = 9); if it does not, an entry to the DEFERROR table is logged indicating ORA-1403.
If the application is updating primary key values, one can also expect plenty "NO DATA FOUND" errors. Primary keys should NEVER be updated. If one updates primary key values, conflict resolution also becomes extremely difficult. "
Check your pll file and anywhere else you are using db.temp. Then check the the update using PLSQL. -
Hello,
I have text item called 'store' in my form. When the user keys in a store#, it should either provide a LOV of stores (if the store already exists in my tables). Else it should simply enable a bunch of fields/blocks in the form. However, when I key in a store that does not exist in my tables, it throws the '0RA-01403: No data found' error. The exception is supposed to catch it right? why does still it show that message in the form?
Below is my code:
DECLARE
v_prop_id number;
v_user varchar2(10);
v_user_id varchar2(10) := fnd_global.user_id;
v_status boolean;
v_chk number;
BEGIN
IF :PAY_HEAD.STORE is not null THEN
IF length(:PAY_HEAD.STORE) = 5 THEN
NULL;
ELSE
IF length(:PAY_HEAD.STORE) <= 4 THEN
IF :PAY_HEAD.STORE > 6999 THEN
:PAY_HEAD.STORE := '7' || lpad(:PAY_HEAD.STORE,4,'0');
ELSE
:PAY_HEAD.STORE := '1' || lpad(:PAY_HEAD.STORE,4,'0');
END IF;
--message(:PAY_HEAD.STORE);
SELECT COUNT(*)
INTO v_chk
FROM PN_PROPERTIES_ALL
WHERE property_name like :PAY_HEAD.STORE || '%';
IF v_chk > 1 THEN
v_status := SHOW_LOV('STORE_LIST');
END IF;
END IF;
END IF;
BEGIN
SELECT property_id
into v_prop_id
FROM PN_PROPERTIES_ALL
WHERE property_name = :PAY_HEAD.STORE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
message('test5');
:GLOBAL.PAY_STATUS := 0;
:GLOBAL.PROPERTY_STATUS := 'NEW';
SET_ITEM_PROPERTY('PAY_HEAD.INSERT',LABEL,'Save');
SET_ITEM_PROPERTY('PAY_HEAD.APPROVE',ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY('PAY_HEAD.SUBMIT',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('PAY_HEAD.INSERT',ENABLED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('PAY_DETAIL_ACCTS',INSERT_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('PAY_DETAIL_RECON',INSERT_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('PAY_DETAIL_COMM',INSERT_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('PAY_HEAD.ST_CITY',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('PAY_HEAD.ST_STATE',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('PAY_HEAD.LOCATION_TYPE',ENABLED,PROPERTY_TRUE);
END;
END IF;
END;Thanks,
Chiru
Edited by: Megastar_Chiru on May 3, 2010 2:57 PMIf you are able to run your Form from the Forms Builder, I suggest you turn Debug Messages on then run your form. The Debug Messages will display an Alert informing you of the trigger that is about to execute. This is a help debugging step, just don't forget to turn the Debug Message off again! :D
To turn Debug Messages on, go to Edit - > Preferences - > Runtime Tab -> Debug Messages checkbox.
If your Form is web deployed and you are unable to configure Form Builder so you can run your form locally, I suggest you work with your application server admin to temporarily enable Forms Runtime Diagnostics (FRD). Check out My Oracle Support (formerly Metalink) documents:
Forms Runtime Diagnostics (FRD) [ID 372323.1] (Forms 6i)
or
How to run Forms Runtime Diagnostics (FRD) in 10gR2 Forms. [ID 745280.1]
Craig... -
Uploading CSV using browse item ( getting no data found error )
Hi,
i am using below procedure to upload CSV into my table.
CSV is having null values in some places ex: 1,
2,0.999
3,
4,0.696
below procedure working fine when i am uploading CSV like : 1,0
2,0.999
3,0
4,0.696.
My table is having only two columns, and i am getting no data found error when uploading null values CSV file.
I went through Import data in excel to database table but no use..
Please help me on this.
Procedure
===========
DECLARE
v_blob_data BLOB;
v_blob_len NUMBER;
v_position NUMBER;
v_raw_chunk RAW(10000);
v_char CHAR(1);
c_chunk_len number := 1;
v_line VARCHAR2 (32767) := NULL;
v_data_array wwv_flow_global.vc_arr2;
BEGIN
-- Read data from wwv_flow_files
select blob_content into v_blob_data from wwv_flow_files
where UPDATED_BY = (select max(UPDATED_BY) from wwv_flow_files where UPDATED_BY = :APP_USER)
AND id = (select max(id) from wwv_flow_files where updated_by = :APP_USER);
v_blob_len := dbms_lob.getlength(v_blob_data);
v_position := 1;
-- Read and convert binary to char
WHILE ( v_position <= v_blob_len ) LOOP
v_raw_chunk := dbms_lob.substr(v_blob_data,c_chunk_len,v_position);
v_char := chr(hex_to_decimal(rawtohex(v_raw_chunk)));
v_line := v_line || v_char;
v_position := v_position + c_chunk_len;
-- When a whole line is retrieved
IF v_char = CHR(10) THEN
-- Convert comma to : to use wwv_flow_utilities
v_line := substr(v_line, 1, length(v_line)-2);
v_line := REPLACE (v_line, ',', ':');
-- Convert each column separated by : into array of data
v_data_array := wwv_flow_utilities.STRING_to_table (v_line);
-- Insert data into target table
EXECUTE IMMEDIATE 'insert into table_name@Schema1 (col1,col2)
values (:1,:2)'
USING
v_data_array(1),
v_data_array(2);
-- Clear out
v_line := NULL;
END IF;
END LOOP;
END;regards
Chandran
Edited by: Chandran on Sep 26, 2012 10:52 AM
Edited by: Chandran on Sep 26, 2012 10:25 PM
Edited by: Chandran on Sep 27, 2012 1:58 AMChandran,
You can use wwv_flow_utilities.array_element to avoid no_data_found error. The function does not raise errors. So, for the line which only have one array value when you expect 2, it may be useful.
EXECUTE IMMEDIATE 'insert into table_name@Schema1 (col1,col2)
values (:1,:2)'
USING
wwv_flow_utilities.array_element(v_data_array,1),
wwv_flow_utilities.array_element(v_data_array,2);Regards,
Christina -
Weird no data found error in Pro*C
Hi,
I am getting a no data found error when I am making a query on all_constraints and all_cons_columns in my pro*C program. It is sure that the row exists.
I am writing here the block of pro*C code. The count returned by printf statement gives 7, which means 7 records are there. But the second query raise no data found exception. Please note that both the queries have same where clause. Pls suggest.
EXEC SQL SELECT count(*) INTO :count:h_count
FROM ALL_CONSTRAINTS AC,
ALL_CONS_COLUMNS ACC
WHERE AC.TABLE_NAME = ACC.TABLE_NAME
AND AC.CONSTRAINT_NAME = ACC.CONSTRAINT_NAME
AND AC.TABLE_NAME = 'CDA_BOOK_STATUS';
printf(" The count of constraints is %d\n",count);
/* this raises no data found ??? **/
EXEC SQL SELECT SUBSTR(AC.TABLE_NAME,1,30) table_name,
SUBSTR(ACC.COLUMN_NAME,1,30) column_name,
SUBSTR(ACC.CONSTRAINT_NAME,1,30) constraint_name,
AC.CONSTRAINT_TYPE INTO :constraint_arr INDICATOR :h_constraint_arr
FROM ALL_CONSTRAINTS AC,
ALL_CONS_COLUMNS ACC
WHERE AC.TABLE_NAME = ACC.TABLE_NAME
AND AC.CONSTRAINT_NAME = ACC.CONSTRAINT_NAME
AND AC.TABLE_NAME = 'CDA_BOOK_STATUS';Are you getting the 'NO DATA FOUND 'error when you use 4 sets of normal and indicator variables?
For example,
EXEC SQL SELECT SUBSTR(AC.TABLE_NAME,1,30) table_name,
SUBSTR(ACC.COLUMN_NAME,1,30) column_name,
SUBSTR(ACC.CONSTRAINT_NAME,1,30) constraint_name,
AC.CONSTRAINT_TYPE INTO :col1_arr INDICATOR :col1_ind,
:col2_arr INDICATOR :col2_ind,:col3_arr INDICATOR :col3_ind,:co14_arr INDICATOR :col4_ind
FROM ALL_CONSTRAINTS AC,
ALL_CONS_COLUMNS ACC
WHERE AC.TABLE_NAME = ACC.TABLE_NAME
AND AC.CONSTRAINT_NAME = ACC.CONSTRAINT_NAME
AND AC.TABLE_NAME = 'CDA_BOOK_STATUS';Indicator variables may not be necessary (there may not be any null values in your select statement). -
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 -
No Data Found Error in Transaction Source Types Form
Hi All,
We are using 11.5.10.2 version of Oracle Apps.
When i navigate to INV responsibility, Setup -> Transactions -> Source Types, upon the opening of the Transaction Source Types form, i get a series of "No Data Found" error pop up messages. I searched in metalink too but couldn't find any resolution for the same.
Does anyone know as to how to resolve this issue? Is there any patch that needs to applied? Kindly help.
Regards,
HemanthHi Julie,
On the "Process Row of..." process, make sure that it is unconditional and that the Delete opertion checkbox is ticked. Deletions from the main table should only be triggered by a DELETE request which should be issued by the "Delete" button.
On the "Apply MRD" process, make sure that the condition is "Request is Contained within Expression 1" and Expression 1 is: APPLY_CHANGES_MRD,SAVE
This process should be triggered by the "Delete Checked" button, which should have a URL target of:
javascript:confirmDelete(htmldb_delete_message,'APPLY_CHANGES_MRD');This triggers the confirmation popup and submits the page with APPLY_CHANGES_MRD as the REQUEST value which should be picked up by the "Apply MRD" process only.
Andy -
Hi all ,
Following code throwing no data found error.
It is working properly for IF x <> 0 condition but when count(*) is 0 then it's thrrowing error.
earlier same code working properly as our client is using this application.
code on when_button_pressed trigger:
DECLARE
user1 VARCHAR2(20);
x NUMBER(4);
BEGIN
FOR c1 IN( SELECT COUNT(*) x
FROM vinay.file_proc
WHERE sector = :sector
and block = :block1
and plot_no= :plotno
and plot_size = :plotsize)
LOOP
x := c1.x;
END LOOP;
IF x <> 0 THEN
MESSAGE('Record Exists');
MESSAGE(' ');
RAISE FORM_TRIGGER_FAILURE;
END IF;
MESSAGE(' after if');
MESSAGE(' after if');
win_api_utility.copy_file(ltrim(rtrim(:ADRIVE1)),ltrim(rtrim(:DESTINATION)),TRUE,TRUE);
MESSAGE(' copy file');
MESSAGE(' ');
SELECT user INTO user1 FROM DUAL;
INSERT INTO vinay.file_proc values(:sector,:block1,:plotno,:plotsize,user1,sysdate);
COMMIT;
MESSAGE(' ');
CLEAR_BLOCK(NO_VALIDATE);
END;
:block2.path1:=:global.drive1;
GO_ITEM('BLOCK2.ADRIVE');Hi,
I think there is a problem with WIN_API_UTILITY.copy_file can anybody tell me if there is any restriction with this package. -
AFTER INSERT TIGGER, ora-01403: no data found error
Hi all,
I'm trying to create a fairly simple trigger which fires after an insert on a table.
The trigger is based on a function, defined within a package. The function is as follows...
FUNCTION check_contract_length (V_playerId IN NUMBER)
RETURN BOOLEAN
IS
months NUMBER;
months2 NUMBER;
BEGIN
SELECT months_between(contract_end, contract_start), contract_length
INTO months, months2
FROM player
WHERE playerId = v_playerId;
IF months <> months2 THEN
RETURN (true);
END IF;
RETURN (false);
END check_contract_length;The trigger operates when an insert is made on to the player table, it as defined as follows...
CREATE OR REPLACE TRIGGER play_ins_con
AFTER INSERT ON player
FOR EACH ROW
DECLARE
isover BOOLEAN;
BEGIN
IF INSERTING THEN
isover := player_constr_pkg.check_contract_length(:new.playerId);
IF isover THEN
RAISE_APPLICATION_ERROR(-30001, 'Contract length incorrect');
END IF;
END IF;
END play_ins_con;My problem is, is that every time I try to insert a row into the player table, the trigger fires and produces a "ora-01403: no data found" error. I was under the impression that as the trigger fires after an insert, this shouldn't be a problem.
I'm also aware that this constraint can probably be implemented using a CHECK constraint, however it would be a learning curve for me to work it out this way.
Any help would be much appreciated!!
Cheers guys.I'm also aware that this constraint can probably be implemented using a CHECK constraint,
however it would be a learning curve for me to work it out this way.Starting out by doing stuff the wrong way only increases the learning curve when it comes to doing things the right way. A check constraint is definitely the best way of doing it. However, if you must do it with a trigger this is the way to go:
CREATE OR REPLACE TRIGGER play_ins_con BEFORE INSERT ON player
FOR EACH ROW
BEGIN
IF months_between(:NEW.contract_end, :NEW.contract_start) <> :NEW.contract_length
THEN
RAISE_APPLICATION_ERROR(-30001, 'Contract length incorrect');
END IF;
END play_ins_con;
/Incidentally, as CONTRACT_LENGTH is wholly derivable from the other columns your table structure is obviously insufficiently normalised.
Also, note that only errors between -20999 and -20000 are reserved for our use. Any other number may be used by Oracle for its own purposes.
Cheers, APC -
APEX bug:9879227 (ORA-01403: no data found error when using validations)
Hi,
We are getting the
ORA-01403: no data found error
when the APEX page has validations AND a tabular form is also present on the page.
I did see a couple of other forum links discussing the issue (bug id: 9879227 ?? ).
But what i want to get a confirmation on is, in which release was this bug really fixed ?
i see the release notes of 4.0.1.00.03 claiming that it is fixed
in the release.
we are on 4.0.1.00.03. is this bug really solved in release 4.0.1.00.03?
are there any known work-arounds ? i tried re-creating the report multiple times, but that did not help.
Any suggestions or work-arounds will greatly help us.
Regards,
RamakrishnanRamakrishnan,
If you are talking about getting no data found when trying to save the report then take a look at the last message in this thread:
{message:id=9971445}
Cheers,
Tyson Jouglet -
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 processing validation
Dear all
I hope to find a solution for this error.
ORA-01403 - No Data Found - Error processing validation
Best RegardsDear Patrick,
Thank you for your response.
I solved or worked around the problem by adding exception handling lines to the end of all PL/SQL validation functions used in this page
For example, if a function used in equation, it is not allowed to return null so I made it return 0 in case of exceptions (as in below code)
-- NO_DATA_FOUND is ORA-01403
EXCEPTION
WHEN NO_DATA_FOUND THEN return(0);
Sincerely Yours
Mahmoud Rabie
Maybe you are looking for
-
Hi With Input Schedules in BPC for Excel, is there an easy way to see which cells get uploaded ?, for example, if I open a report written by another person, how can I easily see which cells get upload when MNU_ESUBMIT_REFRESH runs ?. Thanks in advanc
-
My ipad has a "hang up" I can´t get pas! What to do?
I can´t even turn it off!
-
How to install XP - need the idiots version
Hi there I have read through a number of the threads on this board regarding installing XP in a partition and I understand that you need to go to the Toshiba site and download all the drivers for XP first and then put them on a CD (?) and then start
-
Memory leak with AS3 Crypto Wrapper library
Hello We're using the AS3 Crypto Wrapper library project and finding it significantly faster than Google code as3crypto to the point where our new project depends upon its performace. Hwoever we have run in to a major problem regarding memory managem
-
Problems with TED video podcast in ipod classic 80gb
I have a lot of TED video podcast on my itunes on PC but i can't listen and view it on my ipod, i've red somewhere that video podcast with 46kbps are no longer supported by ipod classic? is that right? there are any solutions? please help me, i'm rea