ORA-03113 End-of-file and SDO_INTERSECTION - Spatial

I have been able to isolate two geometries which cause ORA-03113 when finding their SDO_INTERSECTION.
My question is: Does anyone know just why these two should cause that error? The geometries are a rectangle and a cross (a block and a road intersection) which intersect on their corners by 0.00016m.
select mdsys.sdo_geom.sdo_intersection(MDSYS.SDO_GEOMETRY(2003,NULL,NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1, 5, 6,
1, 2, 1,
3, 2, 1,
5, 2, 1,
7, 2, 1,
9, 2, 1,
11, 2, 1),
MDSYS.SDO_ORDINATE_ARRAY(212782.67891823, 609473.74893106,
212829.84975953, 609513.51803678,
212822.37760577, 609520.48616014,
212818.52736173, 609517.24007086,
212803.90045802, 609530.88032407,
212759.29925825, 609493.27639844,
212782.67891823, 609473.74893106)),
MDSYS.SDO_GEOMETRY(2003,NULL,NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1, 5, 36,
1, 2, 1,
3, 2, 1,
5, 2, 1,
7, 2, 1,
9, 2, 1,
11, 2, 2,
15, 2, 2,
19, 2, 1,
21, 2, 1,
23, 2, 1,
25, 2, 1,
27, 2, 1,
29, 2, 1,
31, 2, 2,
35, 2, 2,
39, 2, 1,
41, 2, 1,
43, 2, 1,
45, 2, 1,
47, 2, 1,
49, 2, 1,
51, 2, 1,
53, 2, 1,
55, 2, 1,
57, 2, 1,
59, 2, 1,
61, 2, 1,
63, 2, 1,
65, 2, 2,
69, 2, 1,
71, 2, 1,
73, 2, 1,
75, 2, 1,
77, 2, 1,
79, 2, 1,
81, 2, 1),
MDSYS.SDO_ORDINATE_ARRAY(212227.3009476, 609005.47830368,
212353.0161595, 609111.4946842,
212782.6786674, 609473.7493582,
212806.43201442, 609453.90999131,
212806.4250008, 609453.87905712,
211488.79957881, 608342.97000905,
211426.896693918, 608279.795169061,
211378.05132867, 608206.05808301,
211333.198626351, 608100.183082809,
211307.85937216, 607988.02603769,
211307.07660297, 607982.17244467,
211311.91333884, 607981.52565427,
211069.48661755, 606168.64418699,
211039.27589995, 606172.68410118,
211281.24053475, 607982.11005913,
211282.48579237, 607991.42216729,
211325.158740504, 608153.147863394,
211406.52963185, 608299.28122483,
211435.747349403, 608334.50869866,
211468.9280099, 608366.03160621,
211478.28972079, 608373.92460004,
211446.82485139, 608431.31046683,
211413.59471159, 608481.26802691,
211338.27286842, 608572.31649476,
211250.02765963, 608652.34016003,
210513.35006355, 609225.31196099,
210488.39667775, 609239.28652849,
210473.59928404, 609243.13636476,
210405.78829924, 609367.84696502,
210417.54424104, 609380.67557503,
210414.16887508, 609394.31763224,
210444.27773721, 609404.85177533,
210454.2941921, 609377.4558355,
210492.355864098, 609306.153939814,
210548.6176608, 609248.1258308,
210894.75979917, 608978.90400901,
210940.37799854, 608943.3765549,
211275.54476918, 608682.69113535,
211366.9721113, 608599.81411133,
211465.48446888, 608480.78013455,
211567.88621171, 608449.51620375,
212227.3009476, 609005.47830368)),
0.000005)
from dual
/

A bit more info has surfaced on this problem.
When run on 8.1.6 and 9.2 the command crashes with ORA-03113. When run on 8.1.7 it works, but delivers two points as the intersection. The intersection is actually a narrow rectangle 0.00016m wide.
SDO_GEOMETRY(2005, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 2),
SDO_ORDINATE_ARRAY(212782.679047909, 609473.74904039, 212782.678537726,
609473.74924887))
Also, if the tolerance is increased to 0.005 the command returns a line, which is correct for that tolerance.
Again, it would seem that an algorithm to predict the correct tolerance is required. Or perhaps one to determine if the tolerance specified in the function clashes with that held in the metadata diminfo.
Any ideas?
John 

More investigation of this problem has produced a workaround:
1. Ensure that the geometries interact with SDO_RELATE.
2. Remove the arcs from the geometries with SDO_ARC_DENSIFY.
3. Find the distance between the geometries with SDO_DISTANCE.
4. If the distance is less than the tolerance you intend to use
with the SDO_INTERSECTION function then:
a) Don't bother finding the intersection just assume it is zero. Or
b) Use a tolerance greater than the distance. This will produce a
line or a point intersection geometry.
Good Luck.
John

Related

Discoverer Condition on Time Dimension table

Hi,
We have a time dimension table TIME_DIM like this:
DATE_ID, YEAR, QUARTER, MONTH, WEEK, DAY
1, 2005, 1, 1, 1, '01-JAN-2005'
2, 2005, 1, 1, 2, '02-JAN-2005'
3, 2005, 1, 1, 2, '03-JAN-2005'
4, 2005, 1, 1, 2, '04-JAN-2005'
5, 2005, 1, 1, 2, '05-JAN-2005'
6, 2005, 1, 1, 2, '06-JAN-2005'
7, 2005, 1, 1, 2, '07-JAN-2005'
8, 2005, 1, 1, 2, '08-JAN-2005'
9, 2005, 1, 1, 3, '09-JAN-2005'
10, 2005, 1, 1, 3, '10-JAN-2005'
......
The week starts from a sunday and there are 52 weeks in a year. So, in 2005,
Week 52 will have all th days starting Dec-18 till Dec-31.
DATE_ID, YEAR, QUARTER, MONTH, WEEK, DAY
352, 2005, 4, 12, 52, '18-DEC-2005'
353, 2005, 4, 12, 52, '19-DEC-2005'
354, 2005, 4, 12, 52, '20-DEC-2005'
355, 2005, 4, 12, 52, '21-DEC-2005'
356, 2005, 4, 12, 52, '22-DEC-2005'
357, 2005, 4, 12, 52, '23-DEC-2005'
358, 2005, 4, 12, 52, '24-DEC-2005'
359, 2005, 4, 12, 52, '25-DEC-2005'
360, 2005, 4, 12, 52, '26-DEC-2005'
361, 2005, 4, 12, 52, '27-DEC-2005'
362, 2005, 4, 12, 52, '28-DEC-2005'
363, 2005, 4, 12, 52, '29-DEC-2005'
364, 2005, 4, 12, 52, '30-DEC-2005'
365, 2005, 4, 12, 52, '31-DEC-2005'
The condition we would like to have defined is as follows:
Last week(Or Previous Week)
If today is Jan-10, 2005. Current week number is 3 and hence Previous week is 2. So, i should get a condition as follows:
DATE_ID in (Select Date_ID from TIME_DIM where week=(select week - 1 from TIME_DIM where day = sysdate))
Discoverer does not allow subqueries in conditions. How to implement this?
Any help will be appreciated.
The problem is similar to accounting periods that do not correspond to the Gregorian calendar. For gregorian calendar, we can use the date functions to acheive the functionality.
Regards,
Ramesh 
The best soultion would probably be to create a database function and register it through Discoverer Administration edition. You can then call the funciton in your condition, to replace the need for a sub-query

apex_application.g_f error

Hello all
I have created a tabular report using apex_application.g_f101 it is created successfully, but when I am writing the update sql process for this form I am getting this error:
ORA-06550: line 8, column 139: PLS-00302: component 'G_F101' must be declared ORA-06550: line 9, column 18: PLS-00302: component 'G_F102' must be declared ORA-06550: line 10, column 18: PLS-00302: component 'G_F104' must be declared ORA-06550: line 11, column 18: PLS-00302: component 'G_F103' must be declared ORA-06550: line 12, column 18: PLS-00302: component 'G_F105' must be declared ORA-06550: line 12, column 18: PLS-00302: component 'G_F105' must be declared ORA-06550: line 11, column 32: PL/SQL: ORA-
I have created other reports using apex_application.g_f31 and it is working fine. I dont know what is the error.
When I am changing it to apex_application.g_f31 then it is allowing to create the update process but when I am running the page I am getting this error
report error:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Please help me out on this, its very urgent.
Thanks
Edited by: T999 on Jun 21, 2010 12:09 AM 
The first problem is solved
But now when I am running the report it is giving me the same error:
report error:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Here is my Query:
select
apex_item.hidden (18, '#ROWNUM#')
||apex_item.select_list_from_lov
(19,
'1',
'BUSS_ST_COU','onblur="f_set_multi_items_tabular1(this.value,''#ROWNUM#'''||')"
onchange="f_set_multi_items_tabular(this.value,''#ROWNUM#'''
|| ')"',
'YES',
'1',
'- Select Business -',
'f29_' || '#ROWNUM#',
NULL
) Select_bussname,
apex_item.text (21,null,10,20,'onKeyUp="dodacheck(this);"','f31_' || '#ROWNUM#',NULL) first_name,
apex_item.text (22,null,10,20,'onKeyUp="dodacheck(this);"','f32_'||'#ROWNUM#',NULL) last_name,
apex_item.text (23,null,10,20,null,'f33_'||'#ROWNUM#',NULL) email,
apex_item.text (24,null,10,20,null,'f34_'||'#ROWNUM#',NULL) office_number,
apex_item.text (25,null,10,20,null,'f35_'||'#ROWNUM#',NULL) mobile_number,
apex_item.text (26,null,10,100,null,'f36_'||'#ROWNUM#',NULL) address,
apex_item.text (27,null,10,40,'onKeyUp="dodacheck(this);"','f37_'||'#ROWNUM#',NULL) city,
apex_item.text (28,null,10,25,null,'f38_'||'#ROWNUM#',NULL) state,
apex_item.text (29,null,6,5,'onKeyUp="dodacheck1(this);"','f39_'||'#ROWNUM#',NULL) zip,
apex_item.text (30,null,10,20,null,'f40_'||'#ROWNUM#',NULL) country
from apex_collections
where collection_name = 'OWLOT'
Please help me I dont know what is the problem, it was running yesterday today it is giving me this error.
Regards

whats wrong in my Anonymous block...

Create Page Process
Create Process
Page:     13 - T3
Point:     On Submit - After Computations and Validations
Enter PL/SQL Page Process
DECLARE
BEGIN
TO_DATE(:P13_DATE3,'DD-MON-YYYY'):=TO_DATE(:P13_DATE1,'DD-MON-YYYY')+2;
END;
ERROR
1 error has occurred
ORA-06550: line 4, column 1: PLS-00306: wrong number or types of arguments in call to 'TO_DATE' ORA-06550: line 4, column 1: PL/SQL: Statement ignored
Edited by: 794244 on Feb 21, 2011 4:11 AM
Edited by: 794244 on Feb 21, 2011 4:20 AM 
Hi,
Well first of all - you cannot add two dates together like that.
Second of all, you can't assign the value like that...
More likely:
:Px_SOME_ITEM := to_char(to_date(:Px_SOME_DATE, 'dd-mon-yyyy')+days, 'dd-mon-yyyy' );
Ta,
Trent
Edited by: trent on Feb 21, 2011 11:23 PM
See here for useful date functions: http://www.techonthenet.com/oracle/functions/ Under the subheading 'Date Functions' 
Thanks trent....

APEX German Wsp Login d'not work ! with english Login works !

Hi,  if I try to login with the German language....after entering the Password nothing happens. Then I change to English.....and now it works !!If I change the language in the Builder, I fly straight to the login screen ! Env:Windows 7 DB: XE 11 R2Apex Updated to 4.2.2 nls_lang=AMERICAN_AMERICA.AL32UTF8run #load_de.sql i got errors at the last statements:.....................post import process...doneAdjust instance settings    wwv_flow_security.g_security_group_id := 10;    *ERROR at line 2:ORA-06550: line 2, column 5:PLS-00201: identifier 'WWV_FLOW_SECURITY.G_SECURITY_GROUP_ID' must be declaredORA-06550: line 2, column 5:PL/SQL: Statement ignoredORA-06550: line 5, column 23:PL/SQL: ORA-00942: table or view does not existORA-06550: line 4, column 16:PL/SQL: SQL Statement ignoredORA-06550: line 8, column 16:PL/SQL: ORA-00942: table or view does not existORA-06550: line 8, column 9:PL/SQL: SQL Statement ignoredORA-06550: line 13, column 16:PL/SQL: ORA-00942: table or view does not existORA-06550: line 13, column 9:PL/SQL: SQL Statement ignoredORA-06550: line 16, column 5:PLS-00201: identifier 'WWV_FLOW_SECURITY.SET_INTERNAL_COOKIE_NAME' must bedeclaredORA-06550: line 16, column 5:PL/SQL: Statement ignoredthis can be a problem?brAlfred
Hi Alfred, It seems that you did not perform step 3 at 3.3.11.1 at http://docs.oracle.com/cd/E37097_01/doc/install.42/e35123/otn_install.htm#BABBHFGD 
ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
 Please try this before running #load_de.sql. I hope this helps. Joel
now it works.thxAlfred

[032116_085002634][][EXCEPTION] SQLException encounter while executing data trigger

I have use database trigger in XML for bursting. It is not showing error just this message.Data Template Code: CMPC_AP_INV_PO_MATCH_RPTData Template Application Short Name: CMPC_APDebug Flag: N{p_checkrun_name=18-APR-2014-DAY, p_start_date=2014/04/18 00:00:00, p_end_date=2014/04/20 00:00:00}Calling XDO Data Engine...[032116_085002634][][EXCEPTION] SQLException encounter while executing data trigger....java.sql.SQLException: ORA-06550: line 2, column 28:PLS-00302: component 'P_CHECKRUN_NAME' must be declaredORA-06550: line 2, column 1:PL/SQL: Statement ignoredORA-06550: line 3, column 28:PLS-00302: component 'P_START_DATE' must be declaredORA-06550: line 3, column 1:PL/SQL: Statement ignoredORA-06550: line 4, column 28:PLS-00302: component 'P_END_DATE' must be declaredORA-06550: line 4, column 1:PL/SQL: Statement ignoredORA-06550: line 5, column 28:PLS-00302: component 'P_EMAIL_ID' must be declaredORA-06550: line 5, column 1:PL/SQL: Statement ignored at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:202)at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1005)at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3550)at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4710)at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)at oracle.apps.xdo.dataengine.XMLPGEN.executeTriggers(XMLPGEN.java:650)at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:262)at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:334)at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:294)at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
Can anyone help me why I am getting this error, I have to deliver this code please suggest me. I have not used like this name in dataTrigger  'AFTER_REPORT' how is it showing this error?This is sample I have used for calling the dataTrigger<dataTrigger name="afterReportTrigger" source="CMPC_XML_TRIGGERS_PKG.afterreport(:fnd_global.conc_request_id,l_email_address)"/> XDO Data Engine Version No: 5.6.3Resp: 50037Org ID : 2Request ID: 37829260All Parameters: p_checkrun_name=18-APR-2014-DAY:p_start_date="2014/04/18 00:00:00":p_end_date="2014/04/20 00:00:00":p_email_id=nandakumar.shankar#compucom.comData Template Code: CMPC_AP_INV_PO_MATCH_RPTData Template Application Short Name: CMPC_APDebug Flag: N{p_checkrun_name=18-APR-2014-DAY, p_start_date=2014/04/18 00:00:00,  p_end_date=2014/04/20 00:00:00}Calling XDO Data Engine...[032216_074155869][][EXCEPTION] SQLException encounter while executing data trigger....java.sql.SQLException: ORA-06550: line 4, column 33:PLS-00302: component 'AFTER_REPORT' must be declaredORA-06550: line 4, column 1:PL/SQL: Statement ignored at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:202)at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1005)at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3550)at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4710)at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)at oracle.apps.xdo.dataengine.XMLPGEN.executeTriggers(XMLPGEN.java:650)at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:275)at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:334)at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:294)at oracle.apps.fnd.cp.request.Run.main(Run.java:157) +---------------------------------------------------------------------------+Start of log messages from FND_FILE+---------------------------------------------------------------------------+

Categories

Resources