Missing parenthesis
Hi all
With the following query am getting the following error and i tried parenthesis every where i could,pls give some advice
(select distinct a.contract_comp_method_code,a.amendment_id,a.contract_id,c.contract_number,contract_type_code
, ROW_NUMBER ( ) OVER ( PARTITION BY contract_number ORDER BY contract_number)
rn
from amendment a,contract_information c
where (contract_comp_method_code IN (5,1)
and contract_type_code='O')
where rn=1
error:
ORA-00907 missing right parenthesis
Cause: A left parenthesis has been entered without a closing right parenthesis, or extra information was contained in the parentheses. All parentheses must be entered in pairs.
Action: Correct the syntax and retry the statement.
select *
from (select distinct a.contract_comp_method_code, a.amendment_id,
a.contract_id, c.contract_number, contract_type_code,
row_number () over (partition by contract_number order by contract_number)
rn
from amendment a, contract_information c
where ( contract_comp_method_code in (5, 1)
and contract_type_code = 'O'
where rn = 1
Similar Messages
-
Infuriatingly complex missing parenthesis problem!!
Hi
Im new to this forum but just wondering could anybody help me with this problem (or suggest another solution in sql).
Im developing an application to calculate the distance in kilometres between 2 sets of longtitude and latitude points. Im using the Haversine formula, which in javascript is:
var R = 6371; // km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad();
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
"d" is the distance in km's. Im converting this to sql (im using coldfusion to output variables latitude1 and longitude1, which are hardcoded to cartain values at the moment). To find "a", the sql is:
select
Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
+ Cos(<cfoutput>#latitude1#</cfoutput> * 3.14159/180)
* Cos(L.Latitude * 3.14159/180)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)
FROM
tblLocations L
This works find and gives me the correct answer for "a". So next i need to find the value of "c" (using the formula var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a))). Im substituting the sql to find "a" for "a" in that formula. So:
select 2 * Atan2(Sqrt(a), Sqrt(1-a)) from tblLocations
becomes
select 2 * Atan2(Sqrt((Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
+ Cos(<cfoutput>#latitude1#</cfoutput> * 3.14159/180)
* Cos(L.Latitude * 3.14159/180)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2))), Sqrt(1-(Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
+ Cos(<cfoutput>#latitude1#</cfoutput> * 3.14159/180)
* Cos(L.Latitude * 3.14159/180)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)))) As "KM"
from tblLocations L
There are 33 "(" parenthesis and 33 ")" parenthesis. But im getting an error "missing parenthesis". Sql should automatically execute the most embedded formulas first and work outwards. But it seems to be failing. Am I forgetting something? Or maybe theres another apporach I could use? I tried embedding a select within a select but I cannot use the "a" answer in the embedded select for calculations in the outer select....its all very baffling!
Thanks
Markya thats true:) i changed it slightly:
select 2 * Atan2(Sqrt(Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
+ Cos(<cfoutput>#latitude1#</cfoutput> * 3.14159/180)
* Cos(L.Latitude * 3.14159/180)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)), Sqrt(1-(Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Latitude - <cfoutput>#latitude1#</cfoutput>) * 3.14159/180)/2)
+ Cos(<cfoutput>#latitude1#</cfoutput> * 3.14159/180)
* Cos(L.Latitude * 3.14159/180)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)
* Sin(((L.Longitude - <cfoutput>#longitude1#</cfoutput>) * 3.14159/180)/2)))) As "KM"
FROM
tblLocations L
It now works fine! Anyway, i'll use the sdo_geom.sdo_distance function. much tidier. thanks a lot for the help!
Mark -
HELP Can you see the missing parenthesis ?!
Dear People,
I am doing a simple program that creates a ContactBook and allows keyboard entry of lastName, telephoneNumber and emailAddress.
I have a few error messages that say parenthesis missing but I don't
see any missing ! :
"Note.java": Error #: 200 : '{' expected at line 15
"Note.java": Error #: 200 : '}' expected at line 59
"TryContactBook.java": Error #: 200 : ')' expected at line 30
"TryContactBook.java": Error #: 200 : ')' expected at line 42
below is the coding
thank you in advance
Stan
import java.util.*;
public class TryContactBook
private Note note;
public static void main(String[] args)
ContactBook myContactBook = new ContactBook();
FormattedInput input = new FormattedInput();
Note note = new Note();
System.out.println("Enter the number of new notes you wish to record ");
int numberOfNotes = input.readInt();
System.out.println("Ready to record " + numberOfNotes + "note(s) ");
for (int i = 0; i < numberOfNotes; i++)
try
System.out.print("Enter a last name: ");
note.setLastNaame(input.readString());
System.out.println("last name input is: " + notes.getLastName());
catch (InvalidUserInputException e)
System.out.println("InvalidUserInputException thrown when inputting last name. \n" +
e.getMessage());
try
System.out.println("Enter a telephone number ");
note.setTelephoneNumber(input.readString();
System.out.println("telephone number input is: " + notes.getTelephoneNumber());
catch (InvalidUserInputException e)
System.out.println("InvalidUserInputException thrown when inputting last name. \n" +
e.getMessage());
try
System.out.println("Enter an e-mail address ");
note.setTelephoneNumber(input.readString();
System.out.println("e-mail address input is: " + notes.getEmailAddress());
catch (InvalidUserInputException e)
System.out.println("InvalidUserInputException thrown when inputting last name. \n" +
e.getMessage());
=====================================================================
import java.util.*;
* A class to maintain an arbitrarily long list of contacts.
* Notes are numbered for external reference by a human user.
* In this version, note numbers start at 0.
* @author Stan Dominski
public class ContactBook
// Storage for an arbitrary number of notes.
private ArrayList notes;
* Perform any initialization that is required for the
* notebook.
public ContactBook()
notes = new ArrayList();
* Store a new note into the notebook.
* @param note The note to be stored.
public void storeNote(String note)
notes.add(note);
* @return The number of notes currently in the notebook.
public int numberOfNotes()
return notes.size();
* Show a note.
* @param noteNumber The number of the note to be shown.
public void showNote(int noteNumber)
if(noteNumber < 0 || noteNumber > numberOfNotes())
// This is not a valid note number, so do nothing.
else
// This is a valid note number, so we can print it.
System.out.println(notes.get(noteNumber));
* Remove a note from the notebook if it exists.
* @param noteNumber The number of the note to be removed.
public void removeNote(int noteNumber)
if(noteNumber < 0 || noteNumber > numberOfNotes())
System.out.println("noteNumber is not valid.");
else
notes.remove(noteNumber);
* List all the notes in the notebook
public void listNotes()
Iterator i = notes.iterator();
Iterator myIterator = notes.iterator();
while(i.hasNext() && myIterator.hasNext())
System.out.print(notes.indexOf(i.next() ) + ":" );
System.out.println("" + myIterator.next());
=======================================================================
import java.util.*;
public class Note
private ArrayList contactInfo;
private String lastName;
private String telephoneNumber;
private String emailAddress;
public class Note()
contactInfo = new ArrayList();
this.lastName = lastName;
this.telephoneNumber = telephoneNumber;
this.emailAddress = emailAddress;
public void setLastName(String lastName)
this.lastName = lastName;
public String getLastName()
return lastName;
public void setTelephoneNumber(String telephoneNumber)
this.telephoneNumnber = telephoneNumber;
public String getTelephoneNumber()
return telephoneNumber;
public void setEmailAddress(String emailAddress)
this.emailAddress = emailAddress;
public String getEmailAddress()
return emailAddress;
======================================================================
import java.io.*;
import java.util.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class FormattedInput
public String readString() throws InvalidUserInputException
if(readToken() == tokenizer.TT_WORD || ttype == '\"' || ttype == '\'')
return tokenizer.sval;
else
throw new InvalidUserInputException(" readString() failed. ..... Input data is not a string");
// Method to read an int value
public int readInt() throws InvalidUserInputException
if (readToken() != tokenizer.TT_NUMBER)
throw new InvalidUserInputException(" readInt() failed. " + " input data not numeric");
else
return (int)tokenizer.nval; // value is numeric so return as int
//helper method to read the next token
private int readToken()
try
ttype = tokenizer.nextToken();
return ttype;
catch(IOException e)
e.printStackTrace(System.err);
System.exit(1);
return 0;
//object to tokenize input from the standard input stream
private StreamTokenizer tokenizer = new StreamTokenizer(
new BufferedReader(
new InputStreamReader(System.in)));
private int ttype; //stores the token type code
======================================================================
import java.io.StreamTokenizer;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class InvalidUserInputException extends Exception
public InvalidUserInputException() { }
public InvalidUserInputException(String message)
super(message);I have out comments on the errors I found. There might be more.
I couldn't get the indentation to work so it will look a bit funny.
//David
"Note.java": Error #: 200 : '{' expected at line 15
"Note.java": Error #: 200 : '}' expected at line 59
"TryContactBook.java": Error #: 200 : ')' expected at
line 30
"TryContactBook.java": Error #: 200 : ')' expected at
line 42
import java.util.*;
public class TryContactBook
private Note note;
public static void main(String[] args)
ContactBook myContactBook = new ContactBook();
FormattedInput input = new FormattedInput();
Note note = new Note();
System.out.println("Enter the number of new notes you wish to record ");
int numberOfNotes = input.readInt();
System.out.println("Ready to record " + numberOfNotes + "note(s) ");
for (int i = 0; i < numberOfNotes; i++)
try
System.out.print("Enter a last name: ");
note.setLastNaame(input.readString());
System.out.println("last name input is: " +
is: " + notes.getLastName());
catch (InvalidUserInputException e)
System.out.println("InvalidUserInputException
xception thrown when inputting last name. \n" +
e.getMessage());
try
System.out.println("Enter a telephone
telephone number ");
note.setTelephoneNumber(input.readString()); // 1 error
System.out.println("telephone number input
er input is: " + notes.getTelephoneNumber());
catch (InvalidUserInputException e)
System.out.println("InvalidUserInputException
xception thrown when inputting last name. \n" +
e.getMessage());
try
System.out.println("Enter an e-mail address
l address ");
note.setTelephoneNumber(input.readString()); // 2 error
System.out.println("e-mail address input
ss input is: " + notes.getEmailAddress());
catch (InvalidUserInputException e)
System.out.println("InvalidUserInputException
xception thrown when inputting last name. \n" +
e.getMessage());
=======================================================
=============
import java.util.*;
* A class to maintain an arbitrarily long list of
contacts.
* Notes are numbered for external reference by a human
user.
* In this version, note numbers start at 0.
* @author Stan Dominski
public class ContactBook
// Storage for an arbitrary number of notes.
private ArrayList notes;
* Perform any initialization that is required for
for the
* notebook.
public ContactBook()
notes = new ArrayList();
* Store a new note into the notebook.
* @param note The note to be stored.
public void storeNote(String note)
notes.add(note);
* @return The number of notes currently in the
the notebook.
public int numberOfNotes()
return notes.size();
* Show a note.
* @param noteNumber The number of the note to be
o be shown.
public void showNote(int noteNumber)
if(noteNumber < 0 || noteNumber >
umber > numberOfNotes())
// This is not a valid note number, so do
mber, so do nothing.
else
// This is a valid note number, so we can
, so we can print it.
System.out.println(notes.get(noteNumber));
* Remove a note from the notebook if it exists.
* @param noteNumber The number of the note to be
o be removed.
public void removeNote(int noteNumber)
if(noteNumber < 0 || noteNumber >
mber > numberOfNotes())
System.out.println("noteNumber is not
is not valid.");
else
notes.remove(noteNumber);
* List all the notes in the notebook
public void listNotes()
Iterator i = notes.iterator();
Iterator myIterator = notes.iterator();
while(i.hasNext() && myIterator.hasNext())
System.out.print(notes.indexOf(i.next() )
f(i.next() ) + ":" );
System.out.println("" +
println("" + myIterator.next());
=======================================================
===============
import java.util.*;
public class Note
private ArrayList contactInfo;
private String lastName;
private String telephoneNumber;
private String emailAddress;
public class Note()
contactInfo = new ArrayList();
this.lastName = lastName;
this.telephoneNumber = telephoneNumber;
this.emailAddress = emailAddress;
public void setLastName(String lastName)
this.lastName = lastName;
public String getLastName()
return lastName;
public void setTelephoneNumber(String
neNumber(String telephoneNumber)
this.telephoneNumnber =
telephoneNumnber = telephoneNumber;
public String getTelephoneNumber()
return telephoneNumber;
public void setEmailAddress(String
lAddress(String emailAddress)
this.emailAddress = emailAddress;
public String getEmailAddress()
return emailAddress;
}} // 3 error
=======================================================
==============
import java.io.*;
import java.util.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class FormattedInput
public String readString() throws
rows InvalidUserInputException
if(readToken() == tokenizer.TT_WORD || ttype ==
ype == '\"' || ttype == '\'')
return tokenizer.sval;
else
throw new InvalidUserInputException("
eption(" readString() failed. ..... Input data is not
a string");
// Method to read an int value
public int readInt() throws
InvalidUserInputException
if (readToken() != tokenizer.TT_NUMBER)
throw new InvalidUserInputException(" readInt()
nt() failed. " + " input data not numeric");
else
return (int)tokenizer.nval; // value is numeric
eric so return as int
//helper method to read the next token
private int readToken()
try
ttype = tokenizer.nextToken();
return ttype;
catch(IOException e)
e.printStackTrace(System.err);
System.exit(1);
return 0;
//object to tokenize input from the standard
andard input stream
private StreamTokenizer tokenizer = new
= new StreamTokenizer(
new
new
new
new BufferedReader(
new
new
new
new
new
new
new
new InputStreamReader(System.in)));
private int ttype; //stores
stores the token type code
=======================================================
==============
import java.io.StreamTokenizer;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class InvalidUserInputException extends
Exception
public InvalidUserInputException() { }
public InvalidUserInputException(String
tring message)
super(message); -
Sql*plus missing parenthesis
hi, experts,
I use sqlplus to run this command.
CALL dbms_stats.gather_table_stats(ownname => 'XXXX',tabname => 'XXX_TBL',estimate_percent => dbms_stats.auto_sample_size,cascade => TRUE,degree => dbms_stats.default_degree,method_opt => 'FOR ALL COLUMNS SIZE SKEWONLY')
the sql*plus version is 9.2.0.1.0
the database version is 9.2.0.7.0
is my syntax correct?
but it returns this error.
ERROR at line 1:
ORA-00907: missing right parenthesis
is the syntax not allowed in sql*plus?Hi,
Forreging wrote:
Dear Frank Kulash,
I run this at the SQL> prompt AND on one line
do you mean this is not allowed to use call directly in SQL*PLUS?No, it's fine in SQL*Plus. I was just saying it won't work in PL/SQL.
Another way to call it from SQL*Plus is to say EXEC instead of CALL:
SQL> EXEC dbms_stats.gather_table_stats(ownname => 'XXXX',tabname => 'XXX_TBL');What happens when you call it with just 2 arguments? -
Hi,
I'm trying to extract schema DDL from a database (10.2.0.4.0 - 64bit Enterprise Edition on Solaris 10). I run the query below and get an ORA-00907: missing right parenthesis error.
SELECT DBMS_METADATA.GET_DDL( REPLACE(object_type,' ','_') AS object_type, object_name) FROM user_objects WHERE object_type NOT IN ('TABLE_PARTITION','INDEX_PARTITION','LOB');
This is the output when running the above in sqlplus worksheet
select DBMS_METADATA.GET_DDL( REPLACE(object_type,' ','_') as object_type, object_name) FROM user_objects where object_type not in ('TABLE_PARTITION','INDEX_PARTITION','LOB')
ERROR at line 1:
ORA-00907: missing right parenthesis
removing the where clause gives the following:
select DBMS_METADATA.GET_DDL( REPLACE(object_type,' ','_') as object_type, object_name) FROM user_objects
ERROR at line 1:
ORA-00907: missing right parenthesis
Any pointers would be gratefully received. I know I could get the DDL out using exp/imp but I want to understand why I'm getting the missing parenthesis error.
cheers,
EwanSELECT DBMS_METADATA.GET_DDL( REPLACE(object_type,' ','_') AS object_type, object_name) FROM user_objects WHERE object_type NOT IN You don't need an alias here. Get rid of " AS object_type" and it should work.
-
Right parenthesis problem !!
Hello
I'm trying to make something simple work, and it doesnt.
When trying that :
declare
solde number;
journal varchar2(2);
dossier varchar2(12);
begin
journal:='21';
dossier:='1707029205';
execute immediate 'select sum(a.debi)-sum(a.cred)
into solde
from auxiloc a,
dossier d,
client c
where d.clie =c.code
and a.doss in (select o.code from dossier o where o.clie=c.code )
and a.cmpt =4111
and a.xdate <=
(select dar2 from qt:1 where doss=d.code
and d.jqt =:2
and d.code=:3' using journal,journal,dossier;
end;I get a "Missing right parenthesis" on line 8, which is the line with the execute immediate.
Obviously, there's no missing parenthesis, I'm must be missing something else, but what ?
The request as :
select sum(a.debi)-sum(a.cred)
--into solde
from auxiloc a,
dossier d,
client c
where d.clie =c.code
and a.doss in (select o.code from dossier o where o.clie=c.code )
and a.cmpt =4111
and a.xdate <=
(select dar2 from qt21 where doss=d.code
and d.jqt =21
and d.code=1707029205;is working without a glitch...
clues ?OK, I was (wrongly) assuming that execute immediate statments were working just as a regular one, now it's corrected and it works with:
create or replace
FUNCTION sc_ar
dossier IN varchar,
journal IN varchar )
RETURN number
AS
solde number(11,2);
begin
execute immediate 'select sum(a.debi)-sum(a.cred)
from auxiloc a,
dossier d,
client c
where d.clie =c.code
and a.doss in
(select o.code from dossier o where o.clie=c.code
and a.cmpt =''4111''
and a.xdate <=
(select dar2 from qt'||journal||' where doss=d.code
and d.jqt =:1
and d.code=:2' into solde using journal,dossier;
RETURN solde;
END sc_ar;thx for your help. -
I have the following query in the report.
select b.sup_name,vendor_number,
decode(div,null,'ANY',div) div,
decode(dept,null,'ANY',dept) dept,
decode(per,100,'ANY',(100-per)) per,
decode(per,0,'ANY',1) rate,
decode(per,0,'COMPLETE DISALLOW','RULE') exception,
a.creation_date,
a.start_date,
a.end_date,
a.last_update_date,
a.last_updated_by,
'VENDOR_DAMAGES' chargeback_desc,
a.cb_no
from ap_cb_exceptions a,
sups b
where a.VENDOR_NUMBER = lpad(b.supplier,6,0)
and a.cb_no = 600
and b.sup_status in (decode(:p_status,'Active','A','Inactive','I',('A','I')))
union
select b.sup_name,vendor_number,
decode(div,null,'ANY',div) div,
decode(dept,null,'ANY',dept) dept,
decode(per,100,'ANY',(100-per)) per,
decode(per,0,'ANY',1) rate,
decode(per,0,'COMPLETE DISALLOW','RULE') exception,
a.creation_date,
a.start_date,
a.end_date,
a.last_update_date,
a.last_updated_by,
'TICKETING CHARGE' chargeback_desc,
a.cb_no
from ap_cb_exceptions a,
sups b
where a.VENDOR_NUMBER = lpad(b.supplier,6,0)
and a.cb_no = 410
and b.sup_status in (decode(:p_status,'Active','A','Inactive','I',('A','I')))
union
select b.sup_name,vendor_number,
decode(div,null,'ANY',div) div,
decode(dept,null,'ANY',dept) dept,
decode(per,100,'ANY',(100-per)) per,
decode(per,0,'ANY',1) rate,
decode(per,0,'COMPLETE DISALLOW','RULE') exception,
a.creation_date,
a.start_date,
a.end_date,
a.last_update_date,
a.last_updated_by,
'OTHER' chargeback_desc,
a.cb_no
from ap_cb_exceptions a,
sups b
where a.VENDOR_NUMBER = lpad(b.supplier,6,0)
and a.cb_no not in (410,600)
and b.sup_status in (decode(:p_status,'Active','A','Inactive','I',('A','I')))The user's can pass in 'Active', 'Inactive' or null (run it without an input param) as the input parameter.
If they don't give an input param, then the status in the above query can be either 'A' or 'I' i.e, it needs to pick up data for both.
When I try to run the above query in TOAD, it gives the error message "ORA-00907: missing parenthesis"
How can I make it work?
Thanks,
Chiru
Message was edited by:
Megastar_Chiru
Message was edited by:
Megastar_ChiruFind the line missing the parenthesis and add it?
Or hope you find a human compiler somewhere here in the forum.....which i guess was the approach you've undertaken.
Ugh...decode caught my eye, guess i'm a human compiler.
You can't use DECODE like that, try this.
and
b.sup_status in (decode(:p_status,'Active','A','Inactive','I'))
OR :p_status IS NULL
) Message was edited by:
Tubby -
Flex sdk incremental build will lose swc information
I have a mxmlc ant task job like this
<mxmlc
file="${trunk_dir}/main/src/main.mxml"
output="${local_tmp}/app/bin/main.swf"
>
<load-config filename="${basedir}/flex-config-sea.xml"/>
<source-path path-element="${FLEX_HOME}/frameworks"/>
</mxmlc>
in flex-config-sea.xml I put this in for incremental compile and swc build
<include-libraries>
<library>/opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/libs/Mate_08_9.swc</library>
<library>/opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/libs/xprogress.swc</library>
<library>/opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/libs/component.swc</library>
</include-libraries>
<incremental>true</incremental>
the first time build is ok, but the second time after I changed one single file, the output is
[mxmlc] Loading configuration file /opt/cruisecontrol-bin-2.8.4/projects/cc/flex-config-sea.xml
[mxmlc] Recompile: /opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/src/C.as
[mxmlc] Reason: The source file or one of the included files has been updated.
[mxmlc] Files changed: 1 Files affected: 0
[mxmlc] Required RSLs:
[mxmlc] textLayout_2.0.0.232.swz with 1 failover.
[mxmlc] framework_4.6.0.23201.swz with 1 failover.
[mxmlc] rpc_4.6.0.23201.swz with 1 failover.
[mxmlc] mx_4.6.0.23201.swz with 1 failover.
[mxmlc] spark_4.6.0.23201.swz with 1 failover.
[mxmlc] sparkskins_4.6.0.23201.swz with 1 failover.
[mxmlc] /tmp/sea_local/app/bin/main.swf (426617 bytes)
but the output swf is complaining lack of some swc when running, which didn't show up in the first time
ReferenceError: Error #1065: Variable _shared_maps_GlobalMapWatcherSetupUtil is not defined.
at global/flash.utils::getDefinitionByName()
at shared.maps::GlobalMap()
at main/_main_GlobalMap1_i()
at main()
at _main_mx_managers_SystemManager/create()
at mx.managers.systemClasses::ChildManager/initializeTopLevelWindow()
at mx.managers::SystemManager/initializeTopLevelWindow()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/timerHandler()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
this message normally shows up when there's no Mate_08_9.swc found at runtime. but this shouldn't happen.
is there anyway to work around this? thanks a lot
here is the full flex-config-sea.xml:
<flex-config>
<!-- benchmark: output performance benchmark-->
<!-- benchmark usage:
<benchmark>boolean</benchmark>
-->
<compiler>
<!-- compiler.accessible: generate an accessible SWF-->
<accessible>true</accessible>
<!-- compiler.actionscript-file-encoding: specifies actionscript file encoding. If there is no BOM in the AS3 source files, the compiler will use this file encoding.-->
<!-- compiler.actionscript-file-encoding usage:
<actionscript-file-encoding>string</actionscript-file-encoding>
-->
<!-- compiler.allow-source-path-overlap: checks if a source-path entry is a subdirectory of another source-path entry. It helps make the package names of MXML components unambiguous.-->
<allow-source-path-overlap>false</allow-source-path-overlap>
<!-- compiler.as3: use the ActionScript 3 class based object model for greater performance and better error reporting. In the class based object model most built-in functions are implemented as fixed methods of classes.-->
<as3>true</as3>
<!-- compiler.compress usage:
<compress>boolean</compress>
-->
<!-- compiler.context-root: path to replace {context.root} tokens for service channel endpoints-->
<!-- compiler.context-root usage:
<context-root>context-path</context-root>
-->
<!-- compiler.debug: generates a movie that is suitable for debugging-->
<debug>false</debug>
<!-- compiler.defaults-css-files usage:
<defaults-css-files>
<filename>string</filename>
<filename>string</filename>
</defaults-css-files>
-->
<!-- compiler.defaults-css-url: defines the location of the default style sheet. Setting this option overrides the implicit use of the defaults.css style sheet in the framework.swc file.-->
<!-- compiler.defaults-css-url usage:
<defaults-css-url>string</defaults-css-url>
-->
<!-- compiler.define: define a global AS3 conditional compilation definition, e.g. -define=CONFIG::debugging,true or -define+=CONFIG::debugging,true (to append to existing definitions in flex-config.xml) -->
<!-- compiler.define usage:
<define>
<name>string</name>
<value>string</value>
<value>string</value>
</define>
-->
<!-- compiler.enable-runtime-design-layers usage:
<enable-runtime-design-layers>boolean</enable-runtime-design-layers>
-->
<!-- compiler.es: use the ECMAScript edition 3 prototype based object model to allow dynamic overriding of prototype properties. In the prototype based object model built-in functions are implemented as dynamic properties of prototype objects.-->
<es>false</es>
<extensions>
<!-- compiler.extensions.extension usage:
<extension>
<extension>string</extension>
<parameters>string</parameters>
</extension>
-->
</extensions>
<!-- compiler.external-library-path: list of SWC files or directories to compile against but to omit from linking-->
<external-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/player/11.1/playerglobal.swc</path-element>
</external-library-path>
<fonts>
<!-- compiler.fonts.advanced-anti-aliasing: enables advanced anti-aliasing for embedded fonts, which provides greater clarity for small fonts.-->
<advanced-anti-aliasing>true</advanced-anti-aliasing>
<!-- compiler.fonts.flash-type: enables FlashType for embedded fonts, which provides greater clarity for small fonts.-->
<!-- compiler.fonts.flash-type usage:
<flash-type>boolean</flash-type>
-->
<languages>
<!-- compiler.fonts.languages.language-range: a range to restrict the number of font glyphs embedded into the SWF-->
<!-- compiler.fonts.languages.language-range usage:
<language-range>
<lang>string</lang>
<range>string</range>
<range>string</range>
</language-range>
-->
</languages>
<!-- compiler.fonts.local-font-paths usage:
<local-font-paths>
<path-element>string</path-element>
<path-element>string</path-element>
</local-font-paths>
-->
<!-- compiler.fonts.local-fonts-snapshot: File containing system font data produced by flex2.tools.FontSnapshot.-->
<!-- compiler.fonts.managers: Compiler font manager classes, in policy resolution order-->
<managers>
<manager-class>flash.fonts.JREFontManager</manager-class>
<manager-class>flash.fonts.BatikFontManager</manager-class>
<manager-class>flash.fonts.AFEFontManager</manager-class>
<manager-class>flash.fonts.CFFFontManager</manager-class>
</managers>
<!-- compiler.fonts.max-cached-fonts: sets the maximum number of fonts to keep in the server cache. The default value is 20.-->
<max-cached-fonts>20</max-cached-fonts>
<!-- compiler.fonts.max-glyphs-per-face: sets the maximum number of character glyph-outlines to keep in the server cache for each font face. The default value is 1000.-->
<max-glyphs-per-face>1000</max-glyphs-per-face>
</fonts>
<!-- compiler.headless-server: a flag to set when Flex is running on a server without a display-->
<!-- compiler.headless-server usage:
<headless-server>boolean</headless-server>
-->
<!-- compiler.include-libraries: a list of libraries (SWCs) to completely include in the SWF-->
<!-- compiler.include-libraries usage:
<include-libraries>
<library>string</library>
<library>string</library>
</include-libraries>
-->
<include-libraries>
<library>/opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/libs/Mate_08_9.swc</library>
<library>/opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/libs/xprogress.swc</library>
<library>/opt/cruisecontrol-bin-2.8.4/projects/sea_client/trunk/main/libs/component.swc</library>
</include-libraries>
<!-- compiler.incremental: enables incremental compilation-->
<!-- compiler.incremental usage:
<incremental>boolean</incremental>
-->
<incremental>true</incremental>
<!-- compiler.isolate-styles: enables the compiled application or module to set styles that only affect itself and its children-->
<!-- compiler.isolate-styles usage:
<isolate-styles>boolean</isolate-styles>
-->
<!-- compiler.keep-all-type-selectors: disables the pruning of unused CSS type selectors-->
<!-- compiler.keep-all-type-selectors usage:
<keep-all-type-selectors>boolean</keep-all-type-selectors>
-->
<!-- compiler.keep-as3-metadata: keep the specified metadata in the SWF-->
<!-- compiler.keep-as3-metadata usage:
<keep-as3-metadata>
<name>string</name>
<name>string</name>
</keep-as3-metadata>
-->
<!-- compiler.keep-generated-actionscript: save temporary source files generated during MXML compilation-->
<keep-generated-actionscript>false</keep-generated-actionscript>
<!-- compiler.library-path: list of SWC files or directories that contain SWC files-->
<library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/flash-integration.swc</path-element>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/authoringsupport.swc</path-element>
<path-element>/opt/flexsdk/4.6.0/frameworks/locale/{locale}</path-element>
</library-path>
<!-- compiler.locale: specifies the locale for internationalization-->
<locale>
<locale-element>en_US</locale-element>
</locale>
<!-- compiler.minimum-supported-version usage:
<minimum-supported-version>string</minimum-supported-version>
-->
<!-- compiler.mobile: specifies the target runtime is a mobile device-->
<mobile>false</mobile>
<mxml>
<!-- compiler.mxml.compatibility-version: specifies a compatibility version. e.g. -compatibility-version=2.0.1-->
<!-- compiler.mxml.compatibility-version usage:
<compatibility-version>version</compatibility-version>
-->
<!-- compiler.mxml.minimum-supported-version usage:
<minimum-supported-version>string</minimum-supported-version>
-->
<!-- compiler.mxml.qualified-type-selectors usage:
<qualified-type-selectors>boolean</qualified-type-selectors>
-->
</mxml>
<namespaces>
<!-- compiler.namespaces.namespace: Specify a URI to associate with a manifest of components for use as MXML elements-->
<namespace>
<uri>http://ns.adobe.com/mxml/2009</uri>
<manifest>/opt/flexsdk/4.6.0/frameworks/mxml-2009-manifest.xml</manifest>
</namespace>
<namespace>
<uri>library://ns.adobe.com/flex/spark</uri>
<manifest>/opt/flexsdk/4.6.0/frameworks/spark-manifest.xml</manifest>
</namespace>
<namespace>
<uri>library://ns.adobe.com/flex/mx</uri>
<manifest>/opt/flexsdk/4.6.0/frameworks/mx-manifest.xml</manifest>
</namespace>
<namespace>
<uri>http://www.adobe.com/2006/mxml</uri>
<manifest>/opt/flexsdk/4.6.0/frameworks/mxml-manifest.xml</manifest>
</namespace>
</namespaces>
<!-- compiler.omit-trace-statements: toggle whether trace statements are omitted-->
<omit-trace-statements>true</omit-trace-statements>
<!-- compiler.optimize: Enable post-link SWF optimization-->
<optimize>true</optimize>
<!-- compiler.preloader: Specifies the default value for the Application's preloader attribute. If not specified, the default preloader value is mx.preloaders.SparkDownloadProgressBar when -compatibility-version >= 4.0 and mx.preloaders.DownloadProgressBar when -compatibility-version < 4.0.-->
<!-- compiler.preloader usage:
<preloader>string</preloader>
-->
<!-- compiler.report-invalid-styles-as-warnings: enables reporting of invalid styles as warnings-->
<!-- compiler.report-invalid-styles-as-warnings usage:
<report-invalid-styles-as-warnings>boolean</report-invalid-styles-as-warnings>
-->
<!-- compiler.report-missing-required-skin-parts-as-warnings: Use this option to generate a warning instead of an error when a missing required skin part is detected.-->
<!-- compiler.report-missing-required-skin-parts-as-warnings usage:
<report-missing-required-skin-parts-as-warnings>boolean</report-missing-required-skin-parts-as-warnings>
-->
<!-- compiler.services: path to Flex Data Services configuration file-->
<!-- compiler.services usage:
<services>filename</services>
-->
<!-- compiler.show-actionscript-warnings: runs the AS3 compiler in a mode that detects legal but potentially incorrect code-->
<show-actionscript-warnings>true</show-actionscript-warnings>
<!-- compiler.show-binding-warnings: toggle whether warnings generated from data binding code are displayed-->
<show-binding-warnings>true</show-binding-warnings>
<!-- compiler.show-invalid-css-property-warnings: toggle whether invalid css property warnings are reported-->
<!-- compiler.show-invalid-css-property-warnings usage:
<show-invalid-css-property-warnings>boolean</show-invalid-css-property-warnings>
-->
<!-- compiler.show-shadowed-device-font-warnings: toggles whether warnings are displayed when an embedded font name shadows a device font name-->
<show-shadowed-device-font-warnings>false</show-shadowed-device-font-warnings>
<!-- compiler.show-unused-type-selector-warnings: toggle whether warnings generated from unused CSS type selectors are displayed-->
<show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
<!-- compiler.source-path: list of path elements that form the roots of ActionScript class hierarchies-->
<source-path>
</source-path>
<!-- compiler.strict: runs the AS3 compiler in strict error checking mode.-->
<strict>true</strict>
<!-- compiler.theme: list of CSS or SWC files to apply as a theme-->
<!-- compiler.use-resource-bundle-metadata: determines whether resources bundles are included in the application.-->
<use-resource-bundle-metadata>true</use-resource-bundle-metadata>
<!-- compiler.verbose-stacktraces: save callstack information to the SWF for debugging-->
<verbose-stacktraces>false</verbose-stacktraces>
<!-- compiler.warn-array-tostring-changes: Array.toString() format has changed.-->
<warn-array-tostring-changes>false</warn-array-tostring-changes>
<!-- compiler.warn-assignment-within-conditional: Assignment within conditional.-->
<warn-assignment-within-conditional>true</warn-assignment-within-conditional>
<!-- compiler.warn-bad-array-cast: Possibly invalid Array cast operation.-->
<warn-bad-array-cast>true</warn-bad-array-cast>
<!-- compiler.warn-bad-bool-assignment: Non-Boolean value used where a Boolean value was expected.-->
<warn-bad-bool-assignment>true</warn-bad-bool-assignment>
<!-- compiler.warn-bad-date-cast: Invalid Date cast operation.-->
<warn-bad-date-cast>true</warn-bad-date-cast>
<!-- compiler.warn-bad-es3-type-method: Unknown method.-->
<warn-bad-es3-type-method>true</warn-bad-es3-type-method>
<!-- compiler.warn-bad-es3-type-prop: Unknown property.-->
<warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
<!-- compiler.warn-bad-nan-comparison: Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.-->
<warn-bad-nan-comparison>true</warn-bad-nan-comparison>
<!-- compiler.warn-bad-null-assignment: Impossible assignment to null.-->
<warn-bad-null-assignment>true</warn-bad-null-assignment>
<!-- compiler.warn-bad-null-comparison: Illogical comparison with null.-->
<warn-bad-null-comparison>true</warn-bad-null-comparison>
<!-- compiler.warn-bad-undefined-comparison: Illogical comparison with undefined. Only untyped variables (or variables of type *) can be undefined.-->
<warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
<!-- compiler.warn-boolean-constructor-with-no-args: Boolean() with no arguments returns false in ActionScript 3.0. Boolean() returned undefined in ActionScript 2.0.-->
<warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
<!-- compiler.warn-changes-in-resolve: __resolve is no longer supported.-->
<warn-changes-in-resolve>false</warn-changes-in-resolve>
<!-- compiler.warn-class-is-sealed: Class is sealed. It cannot have members added to it dynamically.-->
<warn-class-is-sealed>true</warn-class-is-sealed>
<!-- compiler.warn-const-not-initialized: Constant not initialized.-->
<warn-const-not-initialized>true</warn-const-not-initialized>
<!-- compiler.warn-constructor-returns-value: Function used in new expression returns a value. Result will be what the function returns, rather than a new instance of that function.-->
<warn-constructor-returns-value>false</warn-constructor-returns-value>
<!-- compiler.warn-deprecated-event-handler-error: EventHandler was not added as a listener.-->
<warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
<!-- compiler.warn-deprecated-function-error: Unsupported ActionScript 2.0 function.-->
<warn-deprecated-function-error>true</warn-deprecated-function-error>
<!-- compiler.warn-deprecated-property-error: Unsupported ActionScript 2.0 property.-->
<warn-deprecated-property-error>true</warn-deprecated-property-error>
<!-- compiler.warn-duplicate-argument-names: More than one argument by the same name.-->
<warn-duplicate-argument-names>true</warn-duplicate-argument-names>
<!-- compiler.warn-duplicate-variable-def: Duplicate variable definition -->
<warn-duplicate-variable-def>true</warn-duplicate-variable-def>
<!-- compiler.warn-for-var-in-changes: ActionScript 3.0 iterates over an object's properties within a "for x in target" statement in random order.-->
<warn-for-var-in-changes>false</warn-for-var-in-changes>
<!-- compiler.warn-import-hides-class: Importing a package by the same name as the current class will hide that class identifier in this scope.-->
<warn-import-hides-class>true</warn-import-hides-class>
<!-- compiler.warn-instance-of-changes: Use of the instanceof operator.-->
<warn-instance-of-changes>true</warn-instance-of-changes>
<!-- compiler.warn-internal-error: Internal error in compiler.-->
<warn-internal-error>true</warn-internal-error>
<!-- compiler.warn-level-not-supported: _level is no longer supported. For more information, see the flash.display package.-->
<warn-level-not-supported>true</warn-level-not-supported>
<!-- compiler.warn-missing-namespace-decl: Missing namespace declaration (e.g. variable is not defined to be public, private, etc.).-->
<warn-missing-namespace-decl>true</warn-missing-namespace-decl>
<!-- compiler.warn-negative-uint-literal: Negative value will become a large positive value when assigned to a uint data type.-->
<warn-negative-uint-literal>true</warn-negative-uint-literal>
<!-- compiler.warn-no-constructor: Missing constructor.-->
<warn-no-constructor>false</warn-no-constructor>
<!-- compiler.warn-no-explicit-super-call-in-constructor: The super() statement was not called within the constructor.-->
<warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
<!-- compiler.warn-no-type-decl: Missing type declaration.-->
<warn-no-type-decl>true</warn-no-type-decl>
<!-- compiler.warn-number-from-string-changes: In ActionScript 3.0, white space is ignored and '' returns 0. Number() returns NaN in ActionScript 2.0 when the parameter is '' or contains white space.-->
<warn-number-from-string-changes>false</warn-number-from-string-changes>
<!-- compiler.warn-scoping-change-in-this: Change in scoping for the this keyword. Class methods extracted from an instance of a class will always resolve this back to that instance. In ActionScript 2.0 this is looked up dynamically based on where the method is invoked from.-->
<warn-scoping-change-in-this>false</warn-scoping-change-in-this>
<!-- compiler.warn-slow-text-field-addition: Inefficient use of += on a TextField.-->
<warn-slow-text-field-addition>true</warn-slow-text-field-addition>
<!-- compiler.warn-unlikely-function-value: Possible missing parentheses.-->
<warn-unlikely-function-value>true</warn-unlikely-function-value>
<!-- compiler.warn-xml-class-has-changed: Possible usage of the ActionScript 2.0 XML class.-->
<warn-xml-class-has-changed>false</warn-xml-class-has-changed>
</compiler>
<!-- debug-password: the password to include in debuggable SWFs-->
<!-- debug-password usage:
<debug-password>string</debug-password>
-->
<!-- default-background-color: default background color (may be overridden by the application code)-->
<default-background-color>0xFFFFFF</default-background-color>
<!-- default-frame-rate: default frame rate to be used in the SWF.-->
<default-frame-rate>24</default-frame-rate>
<!-- default-script-limits: default script execution limits (may be overridden by root attributes)-->
<default-script-limits>
<max-recursion-depth>1000</max-recursion-depth>
<max-execution-time>60</max-execution-time>
</default-script-limits>
<!-- default-size: default application size (may be overridden by root attributes in the application)-->
<default-size>
<width>500</width>
<height>375</height>
</default-size>
<!-- externs: a list of symbols to omit from linking when building a SWF-->
<!-- externs usage:
<externs>
<symbol>string</symbol>
<symbol>string</symbol>
</externs>
-->
<frames>
<!-- frames.frame: A SWF frame label with a sequence of classnames that will be linked onto the frame.-->
<!-- frames.frame usage:
<frame>
<label>string</label>
<classname>string</classname>
</frame>
-->
</frames>
<framework>halo</framework>
<!-- include-inheritance-dependencies-only: only include inheritance dependencies of classes specified with include-classes -->
<!-- include-inheritance-dependencies-only usage:
<include-inheritance-dependencies-only>boolean</include-inheritance-dependencies-only>
-->
<!-- include-resource-bundles: a list of resource bundles to include in the output SWC-->
<!-- include-resource-bundles usage:
<include-resource-bundles>
<bundle>string</bundle>
<bundle>string</bundle>
</include-resource-bundles>
-->
<!-- includes: a list of symbols to always link in when building a SWF-->
<!-- includes usage:
<includes>
<symbol>string</symbol>
<symbol>string</symbol>
</includes>
-->
<!-- link-report: Output a XML-formatted report of all definitions linked into the application.-->
<!-- link-report usage:
<link-report>filename</link-report>
-->
<!-- load-config: load a file containing configuration options-->
<!-- load-externs: an XML file containing <def>, <pre>, and <ext> symbols to omit from linking when building a SWF-->
<!-- load-externs usage:
<load-externs>filename</load-externs>
-->
<metadata>
<!-- metadata.contributor: A contributor's name to store in the SWF metadata-->
<!-- metadata.contributor usage:
<contributor>name</contributor>
-->
<!-- metadata.creator: A creator's name to store in the SWF metadata-->
<creator>darkhutgme</creator>
<!-- metadata.date: The creation date to store in the SWF metadata-->
<!-- metadata.date usage:
<date>text</date>
-->
<!-- metadata.description: The default description to store in the SWF metadata-->
<description></description>
<!-- metadata.language: The language to store in the SWF metadata (i.e. EN, FR)-->
<language>EN</language>
<!-- metadata.localized-description: A localized RDF/XMP description to store in the SWF metadata-->
<!-- metadata.localized-description usage:
<localized-description>
<text>string</text>
<lang>string</lang>
<lang>string</lang>
</localized-description>
-->
<!-- metadata.localized-title: A localized RDF/XMP title to store in the SWF metadata-->
<!-- metadata.localized-title usage:
<localized-title>
<title>string</title>
<lang>string</lang>
<lang>string</lang>
</localized-title>
-->
<!-- metadata.publisher: A publisher's name to store in the SWF metadata-->
<publisher>darkhutgame</publisher>
<!-- metadata.title: The default title to store in the SWF metadata-->
<title>GAME</title>
</metadata>
<!-- raw-metadata: XML text to store in the SWF metadata (overrides metadata.* configuration)-->
<!-- raw-metadata usage:
<raw-metadata>text</raw-metadata>
-->
<!-- remove-unused-rsls: remove RSLs that are not being used by the application-->
<remove-unused-rsls>true</remove-unused-rsls>
<!-- resource-bundle-list: prints a list of resource bundles to a file for input to the compc compiler to create a resource bundle SWC file. -->
<!-- resource-bundle-list usage:
<resource-bundle-list>filename</resource-bundle-list>
-->
<!-- runtime-shared-libraries: a list of runtime shared library URLs to be loaded before the application starts-->
<!-- runtime-shared-libraries usage:
<runtime-shared-libraries>
<url>string</url>
<url>string</url>
</runtime-shared-libraries>
-->
<!-- runtime-shared-library-path: specifies a SWC to link against, an RSL URL to load, with an optional policy file URL and optional failover URLs -->
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/textLayout.swc</path-element>
<rsl-url>textLayout_2.0.0.232.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/osmf.swc</path-element>
<rsl-url>osmf_1.0.0.16316.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/osmf_1.0.0.16316.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/framework.swc</path-element>
<rsl-url>framework_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/framework_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/charts.swc</path-element>
<rsl-url>charts_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/charts_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/rpc.swc</path-element>
<rsl-url>rpc_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/rpc_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/mx/mx.swc</path-element>
<rsl-url>mx_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/mx_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/advancedgrids.swc</path-element>
<rsl-url>advancedgrids_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/advancedgrids_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/spark.swc</path-element>
<rsl-url>spark_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/spark_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/spark_dmv.swc</path-element>
<rsl-url>spark_dmv_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/spark_dmv_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-path>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/sparkskins.swc</path-element>
<rsl-url>sparkskins_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/sparkskins_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>
<runtime-shared-library-settings>
<!-- runtime-shared-library-settings.application-domain: override the application domain an RSL is loaded into. The supported values are 'current', 'default', 'parent', or 'top-level'.-->
<application-domain>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/textLayout.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/osmf.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/framework.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/charts.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/rpc.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/mx/mx.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/advancedgrids.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/spark.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/spark_dmv.swc</path-element>
<application-domain-target>default</application-domain-target>
<path-element>/opt/flexsdk/4.6.0/frameworks/libs/sparkskins.swc</path-element>
<application-domain-target>default</application-domain-target>
</application-domain>
<!-- runtime-shared-library-settings.force-rsls: force an RSL to be loaded, overriding the removal caused by using the remove-unused-rsls option-->
<!-- runtime-shared-library-settings.force-rsls usage:
<force-rsls>
<path-element>string</path-element>
<path-element>string</path-element>
</force-rsls>
-->
</runtime-shared-library-settings>
<!-- size-report: Output an XML-formatted report detailing the size of all code and data linked into the application.-->
<!-- size-report usage:
<size-report>filename</size-report>
-->
<!-- static-link-runtime-shared-libraries: statically link the libraries specified by the -runtime-shared-libraries-path option.-->
<static-link-runtime-shared-libraries>false</static-link-runtime-shared-libraries>
<!-- swf-version: specifies the version of the compiled SWF file.-->
<swf-version>14</swf-version>
<!-- target-player: specifies the version of the player the application is targeting. Features requiring a later version will not be compiled into the application. The minimum value supported is "9.0.0".-->
<target-player>11.1.0</target-player>
<!-- tools-locale: specifies the locale used by the compiler when reporting errors and warnings.-->
<!-- tools-locale usage:
<tools-locale>string</tools-locale>
-->
<!-- use-direct-blit: Use hardware acceleration to blit graphics to the screen, where such acceleration is available.-->
<!-- use-direct-blit usage:
<use-direct-blit>boolean</use-direct-blit>
-->
<!-- use-gpu: Use GPU compositing features when drawing graphics, where such acceleration is available.-->
<!-- use-gpu usage:
<use-gpu>boolean</use-gpu>
-->
<!-- use-network: toggle whether the SWF is flagged for access to network resources-->
<use-network>true</use-network>
<!-- verify-digests: verifies the libraries loaded at runtime are the correct ones.-->
<verify-digests>true</verify-digests>
<!-- warnings: toggle the display of warnings-->
<!-- warnings usage:
<warnings>boolean</warnings>
-->
</flex-config>Somewhere in your pom.xml where you are configuring your build dependancies there will be a line <scope>caching</scope> this line is configuring the build to use a flex runtime shared library. This line is generating the error because caching is not a valid dependancy scope in maven 3 however mojos uses it anyway. There was a defect opened against flexmojos; I've linked it below. Froeder's response to the issue was that it was not fixable, that the warning is expected and that we'll have to live with it for now.
https://issues.sonatype.org/browse/FLEXMOJOS-363?page=com.atlassian.jira.plugin.system.iss uetabpanels%3Achangehistory-tabpanel -
Is this a bug in Numbers?
Hi,
I have recently finished my spreadsheet for personal finance tracking, and have just encountered what may be a bug in numbers.
I have a few sheets in which i collect the relevant data to be used by the appropriate functions.
This is what I have noticed.
In one sheet I have spending categories in column 1, and the relevant months in the top row. I have used the SUMIFS function to total transactions by category and month. I wrote the first row of functions and when I was done I merely copied and pasted the functions into the adjacent rows since they are exactly the same, the only variable being the spending category, which I allowed for.
I have about 10 categories and they all work perfect except for two rows. I find this very unusual since I have copied and pasted the functions, so no room for error, and not only that, all the other rows work perfect - just these two rows don't do the job. Also, it does not give the error sign (the red triangle with the exclamation mark), but the cells simply return the value $0.00. I even re-wrote the functions to try a different method other than and copied version of the function, but I can't get the values to display correctly in the cells.
Anyways, I just thought that if there is someone else that is encountering the same problem it would be nice to know.
Thanks
STHello
At last I have responded to the 50 mails received and finished what I had to do in the garden.
I wish to add that when something doesn't behave as we wish, 99.99% of times, it's because we made a typo.
Here is a list of common ones :
(1) Extraneous spaces
(2) Unwanted duplicated chars
(3) unwanted or missing parenthesis (or double quotes)
(4) Error with the parameters separator (semi-colon versus comma)
(5) add you own common ones
Case 3 is quite easy to identify because most of the times, it generates a syntax error.
Case 4 is easier to identify because, as far as I know, it always generates a syntax error.
I apologizes but I can't describe Case 5's behaviour
Case 1 and 2 are the more annoying because they may give a formula returning a wrong value without any kind of error message.
It may be a good idea to keep this list near your machine.
Yvan KOENIG (VALLAURIS, France) vendredi 26 mars 2010 18:09:36 -
Error in odi- IKM oracle incremental update
hi,
i am integrating Oracle to Oracle databse using ODI.
i am using IKM Oracle Incremental Update and i am having the following error:
ORA-01747: invalid user.table.column, table.column, or column specification
for the description below
update EBS.SY_NAMADD T
set (
) =
select
from EBS.I$_SY_NAMADD S
where T.NADCOD =S.NADCOD
where (NADCOD)
in (
select NADCOD
from EBS.I$_SY_NAMADD
where IND_UPDATE = 'U'
since in the SQL in the EST there is no column specify it gin=ving me this error.
should i have specify it somewhere
thanks a lot
nazeedahhi,
another error is taht when i set the control to Yes unser IKM and in the control tab i have chosen :CKM oracle.
i am having an error while creating teh table below
create table EBS.SNP_CHECK_TAB
CATALOG_NAME VARCHAR2(100 CHAR) NULL ,
SCHEMA_NAME VARCHAR2(100 CHAR) NULL ,
RESOURCE_NAME VARCHAR2(100 CHAR) NULL,
FULL_RES_NAME VARCHAR2(100 CHAR) NULL,
ERR_TYPE VARCHAR2(1 CHAR) NULL,
ERR_MESS VARCHAR2(250 CHAR) NULL ,
CHECK_DATE DATE NULL,
ORIGIN VARCHAR2(100 CHAR) NULL,
CONS_NAME VARCHAR2(35 CHAR) NULL,
CONS_TYPE VARCHAR2(2 CHAR) NULL,
ERR_COUNT NUMBER(10) NULL
error: missing parenthese
please help
nazeedah -
Beginning College Java Project. Help Me Please !!!
The following is code that im writing for a program that will play a game between the user and the computer. I am getting an error message saying "CLASS EXPECTED".
The error is pointing me to the playerChoose Method where the variable pcchoice is trying to accept the value inputted by the user.
I am a beinner to the Java Language and am having difficulty understanding what the problem is or what the error means.
Can someone please help me!!!
import java.io.*;
import java.util.Random;
class NIM
public static void main (String [] args) throws IOException
int game = 21; //Keeps Track of sticks remaining.
Random random = new Random();
PrintInstructions ();
playerChoose();
game = game - pchoice;
computerChoose();
game = game - cchoice;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static void PrintInstructions ()
System.out.println ("You are going to play the game NIM.\n");
System.out.println ("In this version of NIM, there are 21 sticks on the table.");
System.out.println ("On each move, the user and the computer take turns picking");
System.out.println ("up 1,2 or 3 sticks until there are no more sticks left.");
System.out.println ("The one who picks up the last stick loses.\n");
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static int playerChoose()
pchoice = 0;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println ("Choose your sticks. Enter 1-2 or 3.");
pchoice = int.ParseInt(in.readline);
while pchoice = 1
return(pchoice);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static int computerChoose()
int cchoice = 0;
for (i= 1; i<=50; i++)
cchoice = random.nextInt(3)+1;
return(cchoice);
}In this line
pchoice = int.ParseInt(in.readline);you are wanting to parse the String entered from the keyboard as an int.
One way to do that is to use the parseInt method from the Integer class.
To use a static method from a class you start with the name of the class, followed by the name of the method (with the correct capitalization!), like this:
pchoice = Integer.parseInt(in.readline);The following line is missing parentheses; add them as below:
while (pchoice = 1)These corrections will expose more errors that can then be fixed. -
I want to create a trigger using a java stored procedure.
CREATE OR REPLACE PROCEDURE test(tableName in VARCHAR2, tableID in VARCHAR2, ID int) AS LANGUAGE JAVA NAME 'DBTrigger.setReplicationFlag(java.sql.Connection, java.lang.String, java.lang.String, int)';
The tableName, tableID parameters are used to built the select statement in the Java Class, for the reason thet i don't want to write a class for every table. I just want to create the triggers based on one Class and one Stored Procedure.
Testing the Stored Procedure with:
select test('TESTMASTER','MASTER_ID',8) from dual; everything is OK
but when I try to create a trigger with:
CREATE OR REPLACE TRIGGER Trigg AFTER INSERT OR UPDATE OF FLOAT_COLUMN ON Testmaster FOR EACH ROW test('TESTMASTER','MASTER_ID', NEW.MASTER_ID);
I get the error message:
[POL-5228] Syntaxfehler
In the error message documentation I found the following:
POL-5228 Syntax error
Cause: SQL statement contained a syntax error.
Action: Inspect the statement for misspellings and missing parentheses, and
then reissue it. Refer to the online SQL help for the correct syntax for the
statement type.
Does anybody know where is the error or if it is possible to do so at all ?Hi!
Triggers and stored procedures are indeed supported by Oracle 8iLite. You should consult the Oracle 8iLite Java Developers Guide chapter 2. Triggers and Stored Procedures.
null -
Order by, cursor, rownum
i want to select 10 database entires
from an 8i database with the selector variable and sort the entries by a date
column.
but the problem is that my sql statement
(see below) selects first the entries
and then the entries get ordered.
what i need is first the entries ordered
and then the select. otherwise it is possible
that i get on the next page with the next
10 entries that this entries may be with a date that should be on the prev. page.
has anyone an idea?
thx
SELECT *
FROM (SELECT col1,
col2
FROM table
WHERE ROWNUM < (selector + 10)
MINUS
SELECT col1,
col2
FROM table
WHERE ROWNUM < selector)
ORDER BY TO_DATE (col2, 'DD.MM.YYYY HH24:MI');In Oracle 8i, the general format for this sort of "top-n" analysis is:
SELECT column1, column2, ROWNUM
FROM (SELECT column1, column2
FROM table_name
ORDER BY top_n_column DESC)
WHERE ROWNUM <= number_of_rows;
Applying that to this situation, the query would be something like:
SELECT col1, col2, ROWNUM
FROM (SELECT col1, col2
FROM table
ORDER BY TO_DATE(col2, 'DD.MM.YYYY HH24:MI') DESC)
WHERE ROWNUM <= 10;
When you put the ORDER BY clause in a sub-query as above, the ORDER BY is applied before the numbering of the rows, so the pseudo-column ROWNUM has some meaning and usefulness.
However, for those of us who are still using versions prior to Oracle 8i, we can't have an ORDER BY clause in a sub-query; It will generate a somewhat confusing error about a missing parenthesis. Therefore, the pseudo-column ROWNUM has no meaning or usefulness. So, prior to Oracle 8i, for "top-n" analysis, the general format is something like this (It will also still work in 8i):
SELECT outer.column1, outer.column2
FROM table_name outer
WHERE number_of_rows >=
(SELECT COUNT (*) + 1
FROM table_name inner
WHERE inner.top_n_column > outer.top_n_column)
ORDER BY outer.top_n_column DESC;
Applying that to this situation, the query would be something like:
SELECT outer.col1, outer.col2
FROM table outer
WHERE 10 >=
(SELECT COUNT (*) + 1
FROM table inner
WHERE TO_DATE(inner.col2,'DD.MM.YYYY HH24:MI') > TO_DATE(outer..col2,'DD.MM.YYYY HH24:MI'))
ORDER BY TO_DATE(outer.col2,'DD.MM.YYYY HH24:MI') DESC;
A lot of people keep asking for queries to select the first few or last few rows entered in a table, without ordering by a specific column (for what purpose I am not sure). It is a common mistake to attempt to use ROWNUM for this purpose. However, ROWID is assigned an incremental value upon input, not upon ordering or retrieval, like ROWNUM. Therefore, the pseudo-column ROWID can be used as a comparison column for the same sort of "top-n" analysis like this:
For the first n rows:
SELECT outer.column1, outer.column2, ROWID
FROM table_name outer
WHERE n >=
(SELECT COUNT (*) + 1
FROM table_name inner
WHERE inner.ROWID < outer.ROWID)
ORDER BY ROWID;
For the last n rows:
SELECT outer.column1, outer.column2, ROWID
FROM table_name outer
WHERE n >=
(SELECT COUNT (*) + 1
FROM table_name inner
WHERE inner.ROWID > outer.ROWID)
ORDER BY ROWID DESC;
If you are only attempting to retrieve one row, with or without a comparison column, then you can use things like MIN, MAX, NOT IN, NOT EXISTS, and set operators to find that one row.
I have seen a lot of confusion on this topic and I hope this explanation was thorough enough to help clarify it for some.
null -
11g pivot query syntax question
I searched the forums and I have seen questions similiar to the one I am asking, but its not the exact same issue.
I need 3 fields in my 'for' clause. I get 'column ambiguously defined. I think I get this error for a different reason that other people asking the question.
The others seem to be doing more than 1 function in the pivot clause and those need an alias. I give an alias with my 1 function and still get an error.
ORA-00918: column ambiguously defined
I used aliases like the recommendation in other posts and I still get the same error. I think I need 3 columns in the for clause.
--note that this is just a test table. These are not real names going into production
create table pivot_tab (
pk1 number,
pk2 number,
myElement varchar2(30),
myElementDate date);
pk1,pk2 are the unique key.
I need this to return as: the vlaues after pk2, can be any alias. This is just an example.
pk1 pk2 MY1_DATE, MY2_DATE, MY3_DATE
select *
from pivot_tab
PIVOT ( max(myElementDate) for myElement
in (''MY1','MY2','MY3'))
I saw a couple of references to this syntax, but I get syntax errors.
ora--00906: missing parentheses. So I dont think this syntax works.
select *
from pivot_tab
PIVOT ( max(myElementDate) for (pk1,pk2,myElement)
in (''MY1','MY2','MY3'))Edited by: Guess2 on May 6, 2013 6:50 AMdon't have any sample data or expected results to test this with maybe
SELECT *
FROM (SELECT pk1,
pk2,
myelement,
myelementdate
FROM pivot_tab) PIVOT (MAX (myElementDate)
FOR myElement
IN ('MY1' AS MY1, 'MY2' AS MY2, 'MY3' AS MY3));or maybe you are trying to pivot by the first part of the pk?
with pivot_tab as (select 1 pk1, 2 pk2, 'MY1' myelement, sysdate myelementdate from dual union all
select 1 pk1, 3 pk2, 'MY2' myelement, add_months(sysdate,2) myelementdate from dual union all
select 1 pk1, 4 pk2, 'MY3' myelement, add_months(sysdate,3) myelementdate from dual union all
select 2 pk1, 5 pk2, 'MY1' myelement, sysdate myelementdate from dual union all
select 2 pk1, 6 pk2, 'MY2' myelement, add_months(sysdate,6) myelementdate from dual union all
select 2 pk1, 7 pk2, 'MY3' myelement, add_months(sysdate,7) myelementdate from dual )
SELECT *
FROM (SELECT pk1,
myelement,
myelementdate
FROM pivot_tab) PIVOT (MAX (myElementDate)
FOR myElement
IN ('MY1' AS MY1, 'MY2' AS MY2, 'MY3' AS MY3));
PK1 MY1 MY2 MY3
1 5/6/2013 10:07:40 AM 7/6/2013 10:07:40 AM 8/6/2013 10:07:40 AM
2 5/6/2013 10:07:40 AM 11/6/2013 10:07:40 AM 12/6/2013 10:07:40 AMEdited by: pollywog on May 6, 2013 10:08 AM -
Need help converting MS SQL query into Oracle, Function 'WHERE' issues
SELECT PERS_NBR, PAY_ID, PAY_CODE, LOGICAL_DATE, LOGICAL_DATE AS END_DATE, PCNAMES + REPLICATE(',', 39 - (LEN(PCNAMES) - LEN(REPLACE(PCNAMES, ',', ''))))
AS PC_NAMES_FINAL
FROM (SELECT DISTINCT A.PAY_ID, A.PAY_CODE, A.PERS_NBR, A.LOGICAL_DATE, PCNAMES = substring
((SELECT TOP 10 ',' + PC_NAME + ',' + SUBSTRING(CAST(B.VALUE AS VARCHAR), 0, LEN(CAST(B.VALUE AS VARCHAR)) - 2)
FROM T_PAY_CAT_RECORD B
WHERE B.PERS_NBR = A.PERS_NBR AND
B.LOGICAL_DATE = A.LOGICAL_DATE FOR XML path(''), elements), 2, 500)
FROM T_PAY_CAT_RECORD A, T_PERSON P
WHERE A.PERS_NBR = P.NBR) FINAL
Edited by: 919969 on Mar 9, 2012 3:45 PMHello
Like any language you need to understand what the messages coming from the syntax check are saying...
XXXX> SELECT PERS_NBR,
2 PAY_ID,
3 PAY_CODE,
4 LOGICAL_DATE,
5 LOGICAL_DATE AS END_DATE,
6 PCNAMES || LPAD(',', 39 - (LENGTH(PCNAMES) - NVL(LENGTH(REPLACE(PCNAMES,',')),0)),',') AS PC_NAMES_FINAL
7 FROM (
8 SELECT PAY_ID,
9 PAY_CODE,
10 PERS_NBR,
11 LOGICAL_DATE,
12 SUBSTR(
13 RTRIM(XMLAGG(XMLELEMENT(e,PC_NAME || ',' || SUBSTR(VALUE,1,LEN(VALUE) - 2),',').EXTRACT('//text()')),',') PCNAMES
14 2,
15 500
16 )
17 FROM (
18 SELECT A.PAY_ID,
19 A.PAY_CODE,
20 A.PERS_NBR,
21 A.LOGICAL_DATE,
22 A.PC_NAME,
23 ROW_NUMBER() OVER(PARTITION BY A.PERS_NBR,A.LOGICAL_DATE ORDER BY 1) RN
24 FROM T_PAY_CAT_RECORD A,
25 T_PERSON P
26 WHERE A.PERS_NBR = P.NBR
27 )
28 WHERE RN <= 10
29 GROUP BY PAY_ID,
30 PAY_CODE,
31 PERS_NBR,
32 LOGICAL_DATE
33 ) FINAL
34 /
RTRIM(XMLAGG(XMLELEMENT(e,PC_NAME || ',' || SUBSTR(VALUE,1,LEN(VALUE) - 2),',').EXTRACT('//text()')),',') PCNAMES
ERROR at line 13:
ORA-00907: missing right parenthesisIf you use something like SQL*Plus or SQL Developer, they will give you the error stack which will point you to the source of the problem.
It's saying missing right parenthesis. Start by finding out if we've got all out matching brackets. Counting from the start of that statement i.e. SUBSTR on line 12, we have 7 open brackets and 6 close brackets. So there does appear to be a problem with brackets. However if we take a step back and look at lines 12 to 16, this is actually a single statement. It's a call to the SUBSTR function and within it it has calls to RTRIM, XMLAGG etc. For the statement as a whole there are the same number of left and right parenthesis so the problem is related to something else. Something that is leading the syntax check to think it has reached the end of a statement and hasn't found enough closing parethesis.
The issue here appears to be that we have the token PCNAMES at the end of line 13 but syntactically that's not correct. We can't have that token there because it's appearing in the middle of a function call. PCTNAMES is actually a column alias but it's just in the wrong place. We need it to be an alias for the whole expression from line 12 to 16. So make the change and see what happens...
XXXX> select PERS_NBR,
2 PAY_ID,
3 PAY_CODE,
4 LOGICAL_DATE,
5 LOGICAL_DATE AS END_DATE,
6 PCNAMES || LPAD(',', 39 - (LENGTH(PCNAMES) - NVL(LENGTH(REPLACE(PCNAMES,',')),0)),',') AS PC_NAMES_FINAL
7 FROM (
8 SELECT PAY_ID,
9 PAY_CODE,
10 PERS_NBR,
11 LOGICAL_DATE,
12 SUBSTR(
13 RTRIM(XMLAGG(XMLELEMENT(e,PC_NAME || ',' || SUBSTR(VALUE,1,LEN(VALUE) - 2),',').EXTRACT('//text()')),',')
14 2,
15 500
16 ) PCNAMES
17 FROM (
18 SELECT A.PAY_ID,
19 A.PAY_CODE,
20 A.PERS_NBR,
21 A.LOGICAL_DATE,
22 A.PC_NAME,
23 ROW_NUMBER() OVER(PARTITION BY A.PERS_NBR,A.LOGICAL_DATE ORDER BY 1) RN
24 FROM T_PAY_CAT_RECORD A,
25 T_PERSON P
26 WHERE A.PERS_NBR = P.NBR
27 )
28 WHERE RN <= 10
29 GROUP BY PAY_ID,
30 PAY_CODE,
31 PERS_NBR,
32 LOGICAL_DATE
33 ) FINAL
34 /
2,
ERROR at line 14:
ORA-00907: missing right parenthesisNOw we've got a new error. Again it's saying we've got a missing parenthesis but this time on line 14. The issue here is that line 13 is a parameter to the SUBSTR function but there is no comma on the end. What we actually have at the moment is a line that looks like so
RTRIM(XMLAGG(XMLELEMENT(e,PC_NAME || ',' || SUBSTR(VALUE,1,LEN(VALUE) - 2),',').EXTRACT('//text()')),',') 2,Which is just not formed correctly. We need a comma at the end of line 13 to state that this is the end of that line as a parameter.
XXXX> select PERS_NBR,
2 PAY_ID,
3 PAY_CODE,
4 LOGICAL_DATE,
5 LOGICAL_DATE AS END_DATE,
6 PCNAMES || LPAD(',', 39 - (LENGTH(PCNAMES) - NVL(LENGTH(REPLACE(PCNAMES,',')),0)),',') AS PC_NAMES_FINAL
7 FROM (
8 SELECT PAY_ID,
9 PAY_CODE,
10 PERS_NBR,
11 LOGICAL_DATE,
12 SUBSTR(
13 RTRIM(XMLAGG(XMLELEMENT(e,PC_NAME || ',' || SUBSTR(VALUE,1,LEN(VALUE) - 2),',').EXTRACT('//text()')),','),
14 2,
15 500
16 ) PCNAMES
17 FROM (
18 SELECT A.PAY_ID,
19 A.PAY_CODE,
20 A.PERS_NBR,
21 A.LOGICAL_DATE,
22 A.PC_NAME,
23 ROW_NUMBER() OVER(PARTITION BY A.PERS_NBR,A.LOGICAL_DATE ORDER BY 1) RN
24 FROM T_PAY_CAT_RECORD A,
25 T_PERSON P
26 WHERE A.PERS_NBR = P.NBR
27 )
28 WHERE RN <= 10
29 GROUP BY PAY_ID,
30 PAY_CODE,
31 PERS_NBR,
32 LOGICAL_DATE
33 ) FINAL
34 /
T_PERSON P
ERROR at line 25:
ORA-00942: table or view does not existNow we have a new error but this time it's because I don't have the t_person table on my database. Syntactically the statement above is now correct so it should work on your system.
HTH
David
Edited by: Bravid on Mar 12, 2012 10:20 AM
Maybe you are looking for
-
Oracle Applications Adapter responds with error in the API call
Hi, I am using SOA suite 10.1.3.5. I have configured the Oracle Applications Adapter to call the payable open import interface (APXIIMPT) concurrent program. I am passing two mandatory parameters Source and BatchName to it. Before that i have also co
-
Can't download CS6 Master Collection Trial on WinXP using IE7/Firfefox 14.0.1
Hi, I've been trying to download the CS6 Master Collection trial on WinXP SP 3 using either IE7 / Firefox 14.0.1 with no success. Adobe Download Assistant launched successfully and I could log on. However, every time I choose to download CS6, I got
-
SQL Server 2012 Licensing Development - Production
I currently have 4 environments dev, qa ,staging and production each has a separate SQL 2012 instance on its own server (4 Instances). My question is on licensing SQL Server and when developers edition licensing can be used and when it become produc
-
Unable to join a server to the domain
We're currently running into a problem trying to rejoin one of our servers to our domain. When we try to join the domain (as <ourdomain>) we're receiving the error "DNS name does not exist error 0x0000232B RCORD_NAME_ERROR SRV record _ldap._tcp.dc._m
-
Four ways to save a project in LabVIEW 8.5 - any difference?
What are the fundamental differences, if any, between all the different ways to save a project under LV 8.5? Example: "Save All" and "Save All (this Project)" under the project File menu. From LabVIEW Help: You can save a LabVIEW project in the follo