Functions called in view causing returned columns to be max width
I have some views I need to make as efficient as possible. So the columns in each view are either computed from 2 other tables or a function is used if any other tables need to be queried.
In the view below, the AGMT_TYPE column is obtained by calling the following function.
create or replace FUNCTION "F_GET_AGMT_TYPE" (r_agmt_id lw_agreement_level.agmt_id%type) RETURN VARCHAR2
IS
vAgmt_Type VARCHAR2(30);
BEGIN
BEGIN
select at.AGMT_DESC
into vAgmt_Type
from LW_AGREEMENT_LEVEL a
, LW_CODE_AGMT_TYPE at
where a.AGMT_TYPE_CODE = at.AGMT_TYPE_CODE
and a.agmt_id = r_agmt_id;
RETURN vAgmt_Type;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
END;
END;
SQL> desc LW_V_LSE_ACTIVE;
Name Null? Type
POLYGON_GUID VARCHAR2(38)
LSE_LABEL VARCHAR2(20)
LESSOR VARCHAR2(100)
LESSEE VARCHAR2(100)
AGMT_TYPE VARCHAR2(4000)
A_MAP_ACR NUMBER(12,3)
PROSPECT VARCHAR2(4000)
AGMT_ID VARCHAR2(32)
AGMT_NUM VARCHAR2(21)
FILE_KEY NUMBER(18)
The AGMT_TYPE column in its source table is VARCHAR2(32).
Is there any way to enforce this in the resulting view ?
Hi,
If your goal is to make the view as fast as possible, you might be better off leaving the column as VARCHAR2 (4000). Even though it says 4000 characters, only actual data (30 characters or less) is handled.
Here's how to change the view. In your CREATE OR REPLACE VIEW statement, you currently have something like:
SELECT ... F_GET_AGMT_TYPE (id) AS agmt_type ...Change that to
SELECT ... SUBSTR (F_GET_AGMT_TYPE (id), 1, 30) AS agmt_type ...This will proabably make the view easier to use. Do some tests to see if it makes the view faster or slower.
Similar Messages
-
Function calling stored procedure that returns a cursor into a LOV
Hello,
Is it possible in HTML DB to implement a process that has a function that calls a stored procedure that returns a cursor, used to then populate a select list?
Or can I do a function call to a stored procedure in the 'List of values definition' box for the item itself that returns a cursor to populate the item's select list?Hi Vikas,
Actually, I just found another posting that shows how to do what I'm looking for:
Re: Filling a LOV with a cursor
Check it out. I posted another question in response to that discussion...maybe you could answer that? Thanks!
Laura -
Calling a user defined function as default value for a column
Hi All
Can we call a user defined function as default value for a column ??
for example:
create or replace function test1 return number is
begin
return 10;
end;
create table testt
(id as test1,
name varchar2(20));
getting error:
Error at line 1
ORA-02000: missing ( keywordThanks
Ashwani
Edited by: Ashwani on Jan 16, 2012 1:19 AMHi;
For your issue i suggest close your thread here as changing thread status to answered and move it to Forum Home » Database » SQL and PL/SQL which you can get more quick response
Regard
Helios -
Returning multiple function calls as one
Hi,
Lets say I have a function f() which returns a cursor. f() is called via jdbc and the results processed as a resultset.
I would like to know if it is possible to construct a second function, g() which contains 2 calls to f() such that a single cursor is returned (which translates to a concatenated result set from the 2 calls to f)
Any info appreciated, many thanks,
danIt is in general not a good idea to attempt to perform this union of two cursors.
What about issues such as dealing with different number of columns? Different data types? Or sort order?
The sensible approach says that one deals with all this at SQL level. In other words, before you get to the application programming (PL/SQL or Java) level. It is very inefficient to attempt to do the SQL Engine's job at application level. You need to re-invent a lot of wheels. And none of these will turn as fast as the SQL wheels, and nor will the self-rolled wheels have shiny mags. ;-)
Why cannot function F() simply return a cursor that is a pointer to a parsed SQL statement that does the union of the two SQL statements you have in mind?
Why not add a parameter to function F() to tell it whether you want result 1, result 2, or a combination of both?
As for whether it can be done.. yes, it can be hacked. But it will not be performant. It will waste a lot of expensive server memory that can be put to far better use.
One method to do this is to create a pipelined table function called G(). Both ref cursor pointers are passed to G(). G() fetches a row from a cursor, and then simply pipe that row as a result. It iterates through both cursors.
To use G() you will need to call it via the SQL Engine. The major problem with this is that you are now doing double the amount of I/O to get to the results. G() duplicates all the I/O.
As G() runs in the PL/SQL engine, and the cursor pointers refers to data to be fetched using the SQL Engine, a lot of context switching (and pushing data from one stack to another) needs to be done.
So not only will this blow I/O, but also increase CPU.
So the question is why go to all this trouble? Surely it makes a lot more sense to stick to fundamentals - use SQL as it has been designed to use. Use ref cursors for the purpose they have been designed. -
Revision: 3045
Author: [email protected]
Date: 2008-08-29 10:59:25 -0700 (Fri, 29 Aug 2008)
Log Message:
Fix FB-13900: Expression Evaluator: 'is' and 'as' expressions return 'Target player does not support function calls'
Ticket Links:
http://bugs.adobe.com/jira/browse/FB-13900
Modified Paths:
flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/BinaryOp.java
flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.javaRevision: 3045
Author: [email protected]
Date: 2008-08-29 10:59:25 -0700 (Fri, 29 Aug 2008)
Log Message:
Fix FB-13900: Expression Evaluator: 'is' and 'as' expressions return 'Target player does not support function calls'
Ticket Links:
http://bugs.adobe.com/jira/browse/FB-13900
Modified Paths:
flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/BinaryOp.java
flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.java -
UDPWrite in a loop. "A Windows Sockets function call returned an unexpected error."
Hello together,
i use UDP Support Library in NI CVI 9.0. When i wait for receiving a packet at the pc to send then a packet from the pc, the functions UDPRead and UDPWrite work fine. If i want to test the maximum throughput, i put the UDPWrite in a loop, but then an error occurs. It is "kUDP_UnexpectedWinsockError"
Error Popup:
"NON-FATAL RUN-TIME ERROR: "main.c", line 53, col 22, thread id
0x00000C18: Library function error (return value == -6822
[0xffffe55a]). A Windows Sockets function call returned an unexpected
error."
Line 53:
status = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458);
the whole loop:
while(1)
status = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458);
counter++;
if(counter>50)
break;
else{;}
The error occurs after 3-16 packets have been sent. If i step through the programm, no error occurs. So i guess its because the UDPWrite command is invoked too fast. pOutputBuffer has static data. I could use a delay in the loop, but then i dont know how to configure for maximal throughput.
Any ideas how to avoid this error?
Regards FlorianHello and thank you for your answer. Sorry that i reply a month later.
I dont know what you mean by "let 'er rip approach". Do you mean something like:
status = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458);
if(status==0)
counter++;
else
Delay(0.00005);
I did not yet try to put the packet number in the payload, but there is just a 30 cm crossover cable between the two devices, no switch, no router. So the sequence should not be interruptet. And even if they arrive in chaos, i dont mind.
I have contacted the NI support 2 weeks ago, but no response yet.
I did some tests with a delay between the execution of UDPWrite(). The code:
float time = 0.0;
for(i = 1; i < 1000; i++)
status = UDPWrite (channel, 60100, "192.168.1.10", pOutputBuffer, 1458);
time = 1.0 / i;
Delay(time);
The results:
For i between 1 and 1000: no error, the speed of the last ten packets was about 6.5 MBit/s
For i between 1000 and 2000: error occured at i = 1585 (variable time in Delay was 0.0006313), the speed of the last ten packets was about 8 MBit/s
Then i put some constant values in Delay and ran 100 UDPWrite iterations:
Delay(0.0006): 7.48 MBit/s
Delay(0.0001): 10.7 MBit/s
Delay(0.00001): error occured at i=31, speed of 31 packets was 12.0 MBit/s
Delay(0.00008): 100 of 100 packets, speed 10.9 MBit/s
Delay(0.00005): error at i=41, speed of 41 packets 11.1 MBit/s -
(How) Can a SP call the Function which has BULK COLLECT return?
I have a function using BULL COLLECT to put (XML data) many line into a table type record. (I had this as a function because it's gong to call many times).
From one SP program, I will need to call it to get converted XML data info, how should i call it? If it's single line return, I could use
my_result := get_tbl_xml(p_xml);
but when it's table type, even I defined it, it still get error. Here is the program:
Declare (at package spec)
TYPE OrderDtl_Tab IS TABLE OF xxx%ROWTYPE INDEX BY BINARY_INTEGER;
in_OrderDtlTab OrderDtl_Tab;
FUNCTION get_tbl_xml (p_xml IN CLOB ) RETURN OrderDtl_Tab IS
BEGIN
SELECT extractvalue(VALUE(x), '/xxxx/xxxx') AS xxxx BULK COLLECT
INTO in_OrderDtlTab
FROM TABLE(xmlsequence(extract(xmltype(p_xml), '/Order/Lines/*'))) x;
RETURN in_OrderDtlTab;
END;
PROCEDURE SAVE_A (p_xml IN CLOB )
BEGIN
--- how to call get_tbl_xml to get result, so I will be able to insert into DB table
in_OrderDtlTab := get_tbl_xml(p_xml);
END;
--------------------------------------------------------------------------------------------------------------------May be this is better
FUNCTION get_tbl_xml (p_xml IN CLOB ) RETURN OrderDtl_Tab IS
BEGIN
SELECT extractvalue(VALUE(x), '/xxxx/xxxx') AS xxxx BULK COLLECT
INTO in_OrderDtlTab
FROM TABLE(xmlsequence(extract(xmltype(p_xml), '/Order/Lines/*'))) x;
RETURN in_OrderDtlTab;
END;
PROCEDURE SAVE_A (p_xml IN CLOB )
yourrow your_table%rowtype;
BEGIN
--- how to call get_tbl_xml to get result, so I will be able to insert into DB table
in_OrderDtlTab := get_tbl_xml(p_xml);
FORALL myrowtype
IN in_OrderDtlTab .FIRST .. in_OrderDtlTab .LAST
INSERT INTO Your_table
VALUES in_OrderDtlTab(yourrow);
END;
END; -
PL/SQL Function call error while reading or assigning returned value
Hi,
I am getting the following error while tryih to read the value of the PL/SQL Function. I am calling a function in one of my PL/SQL Packages passing mutliple IN parametes and the function returns some value back. Now on BPEL side when I try to read the return value I am getting an error:
*<summary>*
empty variable/expression result.
xpath variable/expression expression "/ns3:OutputParameters/ns3:TEST_FUNCTION" is empty at line 124, when attempting reading/copying it.
Please make sure the variable/expression result "/ns3:OutputParameters/ns3:TEST_FUNCTION" is not empty.
*</summary>*
Even though in the console when I check the Invoke Output Parameter it does shows me a valid value being retuned by a Function but when I am trying to Assgn this value to some variable using Assign Activity I get the above error.
Even though all goes fine but looks like I am not able to read or assign the value returned from the Function.
So just wondering if this even works as to me I have a very simple example and that seems not to work. Function is called successfully and is returning the value as I can see it in the BPEL console but when tryin to read or assign that value to some other variable I get the above error.
Any ideas?
ThanksThis issue has come up a lot. The problem is with a mismatch between the version of JDeveloper and SOA. You'll encounter namespace issues if you use 10.1.3.1 in combination with 10.1.3.3 (or 10.1.3.4). You MUST synchronize both JDev and SOA to 10.1.3.3 or 10.1.3.4 (mixing 10.1.3.3 and 10.1.3.4 is OK). We changed when going to 10.1.3.3 by adding elementFormDefault="qualified" to the generated XSD. We used the default "unqualified" in 10.1.3.1. So you'll encounter namespace issues unless you're using 10.1.3.3 or higher JDev AND SOA. The fact that I see <*db:*...> tells me that you're using 10.1.3.1 JDeveloper. The correct solution is to upgrade your components.
-
How to call a function having OBJECT type as Return type
Hi,
I've the following function returning OBJECT type.
Pease advice me how to call this function
CREATE OR REPLACE TYPE GET_EMP_OBJ is object
( emp_name varchar2(50) ,
mgr_id number,
dept_id number
CREATE OR REPLACE FUNCTION get_emp(P_emp_no NUMBER )
RETURN GET_EMP_OBJ IS
t_emp_info GET_EMP_OBJ ;
v_ename EMP.ename%TYPE;
v_mgr EMP.mgr%TYPE ;
v_deptno EMP.deptno%TYPE;
v_ename1 EMP.ename%TYPE;
v_mgr1 EMP.mgr%TYPE ;
v_deptno1 EMP.deptno%TYPE;
BEGIN
FOR rec IN ( SELECT ename , mgr , deptno
FROM emp )
LOOP
v_ename := rec.ename ;
v_ename1 := v_ename1||'|'||v_ename ;
v_mgr := rec.mgr ;
v_mgr1 := v_mgr1||'|'||v_mgr ;
v_deptno:= rec.deptno;
v_deptno1 := v_deptno1||'|'||v_deptno ;
END LOOP ;
t_emp_info := GET_EMP_OBJ (v_ename,v_mgr,v_deptno ) ;
RETURN t_emp_info ;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line ('Error'||SQLCODE||','||SQLERRM ) ;
END;The above function got created successfully.
And i'm confused how to call this functions. I tried like below but didn't work
DECLARE
t_emp_info_1 GET_EMP_OBJ ;
BEGIN
t_emp_info_1 := get_emp(7566) ;
for i in 1..t_emp_info_1.COUNT
LOOP
DBMS_OUTPUT.put_line ('Values are'||i.emp_name ) ;
END LOOP;
END;SQL> CREATE OR REPLACE TYPE GET_EMP_OBJ is object
2 ( emp_name varchar2(50) ,
3 mgr_id number,
4 dept_id number
5 );
6 /
Type created.
SQL> ed
Wrote file afiedt.buf
1 CREATE OR REPLACE FUNCTION get_emp(empno NUMBER )
2 RETURN GET_EMP_OBJ IS
3 t_emp_info GET_EMP_OBJ ;
4 BEGIN
5 begin
6 select get_emp_obj(ename, mgr, deptno) into t_emp_info
7 from emp
8 where empno = get_emp.empno;
9 exception
10 when no_data_found then
11 t_emp_info := new get_emp_obj(null,null,null);
12 end;
13 return t_emp_info;
14* END;
SQL> /
Function created.
SQL> set serverout on
SQL>
SQL> declare
2 t_emp_info GET_EMP_OBJ ;
3 BEGIN
4 t_emp_info := get_emp(7566);
5 DBMS_OUTPUT.put_line ('Values are: '||t_emp_info.emp_name||', '||t_emp_info.mgr_id||', '||t_emp_info.dept_id);
6 END;
7 /
Values are: JONES, 7839, 20
PL/SQL procedure successfully completed.
SQL> -
SLDCHECH: Function call returned exception code 3
Hi all.
I am trying to set up ESS and MSS on EP 6.0 SP15.
I have configured the RFC destination, and when i do a test in RZ70 and SM59 everything is ok, but when i try running transaction SLDCHECK i get the following error:
Use transaction SLDAPICUST if you wish to maintain the SLD server access data
Launching the SLD GUI in a separate browser window...
=> Verify in the browser GUI that the SLD is in a healthy running state!
Calling function LCR_LIST_BUSINESS_SYSTEMS
Retrieving data from the SLD server...
Function call returned exception code 3
=> Check whether the SLD is running!
Summary: Connection to SLD does not work
=> Check SLD function and configurations
Can anybody shead some light on this problem?
Regards LiselotteDear Liselotte,
This will help you,
http://help.sap.com/saphelp_nw04/helpdata/en/78/20244134a56532e10000000a1550b0/frameset.htm
Might be Java version to the proxy settings. Try to go thru listed down various troubleshooting steps in following this weblog.
Unable to open IR/ESR/ID ? (XI/PI/PI 7.1) [Updated for PI 7.1 support]
Regards
Agasthuri Doss -
How do you fix a R6025 pure virtual function call error? When I try to search for music, iTunes freezes & returns this message.
For general advice see Troubleshooting issues with iTunes for Windows updates.
The steps in the second box are a guide to removing everything related to iTunes and then rebuilding it which is often a good starting point unless the symptoms indicate a more specific approach. Review the other boxes and the list of support documents further down page in case one of them applies.
Your library should be unaffected by these steps but there is backup and recovery advice elsewhere in the user tip.
tt2 -
I am using TestStand with niRFSA.dll to call the function niRFSA_ReadPowerSpectrumF64. This function will make the NI RFSA takes a spectrum sweep and return an array of amplitudes, as well as a structure that contains the frequencies information. My teststand sequence file is attached. The sequence editor will execute this function call, and actually retrieve correct data from the RFSA, I can see all the data in the Locals variables. The data are correct. However, the sequence editor also throws out system error, with no further details.
See the error window also attached.
Once in a while, the sequence editor will work just fine, executing the same function call without throwing out error, this is less than 10% of the time.
I am using this on Windows 7.
Let me know if you have any insight.
Attachments:
RFSA Sequence.seq 7 KB
Capture.JPG 33 KBHi Doug:
Yes this is what I suspected also. Since the container type was a TS custom type I created to accept the C struct from the instrument. But when the data come back from the dll is a C struct, and there lays the conflict, I think its the packaging layer semantics have some conflict, even though each of the element in the C struct matches the TS type definitions, as I received all that data correctly in TS.
Thanks,
Juswanto -
Function Call returning old SQL Query
Hello All,
I have a Pipeline Function which creates a SQL within (Dynamic SQL that gets stored in a LONG variable) based on the parameter STRING passed to the function. Inside this function, once the SQL is built, I am inserting this SQL into a log table, for logging purpose.
Note: my function has only one parameter which is a string. This string accepts a name:value pairs with a delimiter which I breakdown inside the function. But this functionality is working fine.
Issue:
When I run the function with parameter with a STRING say (Age = 20, Gender = M) for the first time, it works.
<code>SELECT * FROM TABLE (
PIPE_FUN_SEARCH_PKG.get_search_records ('EMP_AGE:20|EMP_GENDER:M'));
</code>
When I change the parameters to (Age = 20, Gender = F), it gives me the results of the earlier function call.
<code>SELECT * FROM TABLE (
PIPE_FUN_SEARCH_PKG.get_search_records ('EMP_AGE:20|EMP_GENDER:F'));
</code>
When I open the logs, I see the SQL being built is the earlier one.
As a test I closed the session and ran (Age = 20, Gender = F) first. It works fine. When I run a different parameter string, it always mimics the earlier function call.
Is CACHING in play here. I tried both the following:
<code> dbms_result_cache.bypass(FALSE);
dbms_result_cache.flush;
</code>
I tried multiple tests, with different parameters and only the first one runs fine and second one copied the earlier. However, when I open two sessions on two different windows it doesn't happen.
Also, in the Logging table I am capturing the input string as a confirmation, which is coming correctly. But the SQL being build mimics the earlier call.
I tried to set the variable which hold the SQL Statement to empty (v_sql := '';) at the beginning and also at the end. Still no use.
Kindly help if I am over looking anything.
Regards,
AjAj09 wrote:
I have a Pipeline Function which creates a SQL within (Dynamic SQL that gets stored in a LONG variable) based on the parameter STRING passed to the function. The LONG data type has been replaced by the LOB data type. Oracle specifically recommends not using the old LONG data type.
Issue:
When I run the function with parameter with a STRING say (Age = 20, Gender = M) for the first time, it works.
<code>SELECT * FROM TABLE (
PIPE_FUN_SEARCH_PKG.get_search_records ('EMP_AGE:20|EMP_GENDER:M'));
</code>
When I change the parameters to (Age = 20, Gender = F), it gives me the results of the earlier function call.
<code>SELECT * FROM TABLE (
PIPE_FUN_SEARCH_PKG.get_search_records ('EMP_AGE:20|EMP_GENDER:F'));
</code>The tag is ** - not *<code>*.
Why a pipeline function? Why dynamic SQL? Are you using +DBMS_SQL+ to create the dynamic cursor? If not, why not? Only +DBMS_SQL+ allows dynamic binding in PL/SQL. Without that, your code will burn a lot of additional CPU on hard parsing and trash and fragment Shared Pool memory.
When I open the logs, I see the SQL being built is the earlier one.
How do you record the current SQL? Are you using a static variable to capture the SQL statement generated?
From what you have described - this is yet another horribly flawed approach in all respects. To data modelling. To relational databases. To Oracle. To SQL.
Reinventing the SQL language for data retrieval as a pipeline function using a funky parameter interface - sorry, I just don't get that. It is an insane approach. -
How can i call another view variables in another view
how can i call another view variables in another view and pass that variables to the function
my situation is i have a view FAC which i need to pass par_id_fac TO THE VIEW AGR.AFTER THAT i what to take start_dt in agr view and par_id_fac from Fac and pass this variables to the function i have check the documentation but does not do what i what,the doc simply talk about creating variables and pass then to function.i what to pass variables from the views and return value to my contractno Variables value
something like if :agr.contract_no is null
and :agr.agr_start_dt is not null then
:agr.contract_no := sms_fapp.get_contract_no(:fac.par_id_fac,:agr.agr_start_dt);
end if;
y view is
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
<!---->
<ViewObject
xmlns="http://xmlns.oracle.com/bc4j"
Name="AGR"
Version="11.1.2.60.81"
BindingStyle="OracleName"
CustomQuery="true"
PageIterMode="Full"
UseGlueCode="false"
RowClass="sms1405.AGRRowImpl"
ComponentClass="sms1405.AGRImpl"
DefClass="sms1405.AGRDefImpl">
<DesignTime>
<Attr Name="_isExpertMode" Value="true"/>
<Attr Name="_codeGenFlag2" Value="Access|Def|Coll|Prog|VarAccess"/>
<Attr Name="_isCodegen" Value="true"/>
</DesignTime>
<SQLQuery><![CDATA[SELECT SmsAgreements.ID,
SmsAgreements.FAPP_ID,
SmsAgreements.PAR_ID,
SmsAgreements.SSCH_ID,
SmsAgreements.COSERV_ID,
SmsAgreements.IREA_ID_TERMINATED,
SmsAgreements.IREA_ID_SUSPENDED,
SmsAgreements.SPTYP_ID,
SmsAgreements.CLAIM_BASED_YN,
SmsAgreements.NOTES,
SmsAgreements.SUSPENSION_DT,
SmsAgreements.TERMINATION_DT,
SmsAgreements.SPECIAL_PROJECT_END_DT,
SmsAgreements.CAPITAL_FUNDING_APPROVED,
SmsAgreements.PERIODICAL_PAYMENT_AMOUNT,
SmsAgreements.DATE_CREATED,
SmsAgreements.DATE_MODIFIED,
SmsAgreements.MODIFIED_BY,
SmsAgreements.CREATED_BY,
SmsAgreements.CONTRACT_NO,
SmsAgreements.OFF_ID,
SmsAgreements.DATE_APPROVED,
SmsAgreements.AGR_START_DT,
SmsAgreements.AGR_END_DT,
SmsAgreements.MONTHS_FUNDED,
SmsAgreements.PFRE_ANNUAL_FREQUENCY,
SmsAgreements.FUNDED_NO,
SmsAgreements.REGISTERED_NO,
SmsAgreements.CONTRACT_NAME,
SmsAgreements.OPEX_ALLOCATION,
SmsAgreements.EMERG_ORG_YN,
SmsAgreements.SCHEDULE,
SmsAgreements.PERIODICAL_PAYMENT_AVERAGE,
SmsAgreements.NO_OF_PAYMENTS,
SmsAgreements.ADVANCE_PAYMENT_PERCENT,
SmsAgreements.QUALIFY_NO,
SmsAgreements.ENROLLED_NO,
SmsAgreements.MULTI_YEAR_ALLOCATION,
SmsAgreements.AGR_ID_SOURCE,
SmsAgreements.FYEA_YEAR_ACTIVE,
SmsAgreements.PTYPE_CODE,
SmsAgreements.CONTRACT_VALUE,
SmsAgreements.MAGR_ID,
SmsAgreements.PROG_ID,
SmsAgreements.EMERGENCY_BED_#,
SmsAgreements.drep_id,
SmsAgreements.srep_id,
(select name from sms_offices off where off.id = SmsAgreements.off_id)officeName,
(SELECT PROG.NAME FROM sms_programmes prog where PROG.ID = SMSAGREEMENTS.PROG_ID)programe,
(select prog.code || '.' || bvspro.code || ' ' || bvspro.NAME budget_vote from sms_subsidy_schemes ssch,
sms_budget_vote_sub_programs bvspro,
sms_programmes prog
WHERE bvspro_id = bvspro.ID AND prog.ID = prog_id
and prog.id = SMSAGREEMENTS.PROG_ID)Sub_programme,
(select ssch.NAME from sms_subsidy_schemes ssch where SSCH.ID = SMSAGREEMENTS.SSCH_ID)subsidy,
(SELECT master_contract FROM sms_master_agreements magr WHERE MAGR.ID = SmsAgreements.magr_id)masterContract
FROM SMS_AGREEMENTS SmsAgreements]]></SQLQuery>
<ViewAttribute
Name="ContractNo"
IsPersistent="false"
IsNotNull="true"
PrecisionRule="true"
Precision="20"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="CONTRACT_NO"
SQLType="VARCHAR">
<TransientExpression><![CDATA[CONTRACT_NO]]></TransientExpression>
<DesignTime>
<Attr Name="_DisplaySize" Value="20"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="AgrStartDt"
IsPersistent="false"
PrecisionRule="true"
Type="java.sql.Timestamp"
ColumnType="DATE"
AliasName="AGR_START_DT"
SQLType="DATE">
<RecalcCondition><![CDATA[true]]></RecalcCondition>
<TransientExpression><![CDATA[adf.currentDate]]></TransientExpression>
</ViewAttribute>
</ViewObject>and my FAC view is
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
<!---->
<ViewObject
xmlns="http://xmlns.oracle.com/bc4j"
Name="FAC"
Version="11.1.2.60.81"
BindingStyle="OracleName"
CustomQuery="true"
PageIterMode="Full"
UseGlueCode="false">
<DesignTime>
<Attr Name="_isExpertMode" Value="true"/>
</DesignTime>
<SQLQuery><![CDATA[SELECT SmsFacilityVw.PAR_ID_ORG,
SmsFacilityVw.ORGANISATION,
SmsFacilityVw.ORG_KEY,
SmsFacilityVw.C_CODE,
SmsFacilityVw.FACILITY,
SmsFacilityVw.PAR_ID_FAC,
SmsFacilityVw.NPO_REGISTRATION_NO,
SmsFacilityVw.ADDRESS,
SmsFacilityVw.TELNR_WORK,
SmsFacilityVw.ADDRESSLINE,
SmsFacilityVw.Town,
SmsFacilityVw.Suburb,
SmsFacilityVw.PostalCode,
SmsFacilityVw.DSD_REGION,
SmsFacilityVw.SERVICE_DELIVERY_AREA,
SmsFacilityVw.FAXNR,
SmsFacilityVw.EMAIL,
SmsFacilityVw.PAR_TYPE_DEF
FROM SMS_FACILITY_VW SmsFacilityVw]]></SQLQuery>
<ViewAttribute
Name="ParIdOrg"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="38"
Scale="0"
Type="java.math.BigInteger"
ColumnType="NUMBER"
AliasName="PAR_ID_ORG"
Expression="PAR_ID_ORG"
SQLType="NUMERIC"/>
<ViewAttribute
Name="Organisation"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="100"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="ORGANISATION"
Expression="ORGANISATION"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="100"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="OrgKey"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="10"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="ORG_KEY"
Expression="ORG_KEY"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="10"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="CCode"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="30"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="C_CODE"
Expression="C_CODE"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="30"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Facility"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="100"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="FACILITY"
Expression="FACILITY"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="100"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="ParIdFac"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="38"
Scale="0"
Type="java.math.BigInteger"
ColumnType="NUMBER"
AliasName="PAR_ID_FAC"
Expression="PAR_ID_FAC"
SQLType="NUMERIC"/>
<ViewAttribute
Name="NpoRegistrationNo"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="30"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="NPO_REGISTRATION_NO"
Expression="NPO_REGISTRATION_NO"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="30"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Address"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="227"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="ADDRESS"
Expression="ADDRESS"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="227"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="TelnrWork"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="150"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="TELNR_WORK"
Expression="TELNR_WORK"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="150"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Addressline"
IsPersistent="false"
PrecisionRule="true"
Precision="120"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="ADDRESSLINE"
Expression="ADDRESSLINE"
SQLType="VARCHAR"
IsUpdateable="false">
<DesignTime>
<Attr Name="_DisplaySize" Value="120"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Town"
IsPersistent="false"
PrecisionRule="true"
Precision="60"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="TOWN"
Expression="TOWN"
SQLType="VARCHAR"
IsUpdateable="false">
<DesignTime>
<Attr Name="_DisplaySize" Value="60"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Suburb"
IsPersistent="false"
PrecisionRule="true"
Precision="60"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="SUBURB"
Expression="SUBURB"
SQLType="VARCHAR"
IsUpdateable="false">
<DesignTime>
<Attr Name="_DisplaySize" Value="60"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Postalcode"
IsPersistent="false"
PrecisionRule="true"
Precision="4"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="POSTALCODE"
Expression="POSTALCODE"
SQLType="VARCHAR"
IsUpdateable="false">
<DesignTime>
<Attr Name="_DisplaySize" Value="4"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="DsdRegion"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="40"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="DSD_REGION"
Expression="DSD_REGION"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="40"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="ServiceDeliveryArea"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="50"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="SERVICE_DELIVERY_AREA"
Expression="SERVICE_DELIVERY_AREA"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="50"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Faxnr"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="50"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="FAXNR"
Expression="FAXNR"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="50"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="Email"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="80"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="EMAIL"
Expression="EMAIL"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="80"/>
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="ParTypeDef"
IsUpdateable="false"
IsPersistent="false"
PrecisionRule="true"
Precision="12"
Type="java.lang.String"
ColumnType="VARCHAR2"
AliasName="PAR_TYPE_DEF"
Expression="PAR_TYPE_DEF"
SQLType="VARCHAR">
<DesignTime>
<Attr Name="_DisplaySize" Value="12"/>
</DesignTime>
</ViewAttribute>
<ViewLinkAccessor
Name="AGR"
ViewLink="sms1405.par_facfkViewLink"
Type="oracle.jbo.RowIterator"
IsUpdateable="false"/>
<ViewLinkAccessor
Name="SmsParAddrVwView"
ViewLink="sms1405.parLink"
Type="oracle.jbo.RowIterator"
IsUpdateable="false"/>
<ViewLinkAccessor
Name="DOC"
ViewLink="sms1405.FAC_DOC"
Type="oracle.jbo.RowIterator"
IsUpdateable="false"/>
</ViewObject>Edited by: ADF007 on 2012/08/23 6:10 PMi try this
public class SMS_AGREEMENTSImpl extends EntityImpl {
RowSet newContractNoBeforePost = null;
public static int NUMBER = Types.NUMERIC;
public static int DATE = Types.DATE;
public static int VARCHAR2 = Types.VARCHAR;
protected Object callStoredFunction(int sqlReturnType, String stmt,
Object[] bindVars) {
CallableStatement st = null;
try {
// 1. Create a JDBC CallabledStatement
st = getDBTransaction().createCallableStatement(
"begin ? := "+stmt+";end;",0);
// 2. Register the first bind variable for the return value
st.registerOutParameter(1, sqlReturnType);
if (bindVars != null) {
// 3. Loop over values for the bind variables passed in, if any
for (int z = 0; z < bindVars.length; z++) {
// 4. Set the value of user-supplied bind vars in the stmt
st.setObject(z + 2, bindVars[z]);
// 5. Set the value of user-supplied bind vars in the stmt
st.executeUpdate();
// 6. Return the value of the first bind variable
return st.getObject(1);
catch (SQLException e) {
throw new JboException(e);
finally {
if (st != null) {
try {
// 7. Close the statement
st.close();
catch (SQLException e) {}
protected void doDML(int operation, TransactionEvent e) {
String amDef = "sms1405.sms1405Module";
String config = "sms1405ModuleShared";
String NewContract = null;
ApplicationModule am = Configuration.createRootApplicationModule(amDef, config);
ViewObjectImpl vo = (ViewObjectImpl) am.findViewObject("AGR1");
vo.executeQuery();
Row row = vo.first();
// NewContract = (String)vo
NewContract = (String)row.getAttribute("ContractNo");
SMS_AGREEMENTSImpl newcont = new SMS_AGREEMENTSImpl();
//AGRRowImpl res = new AGRRowImpl();
// NewContract = NewContractNo();
if (operation == 1) {
newcont.setContractNo(NewContractNo());
//res.setContractNo( NewContractNo());
//NewContractNo();
super.doDML(operation, e);
public void postChanges(TransactionEvent TransactionEvent) {
/* Only bother to update references if contractno is a NEW one */
if (getPostState() == STATUS_NEW) {
* Get a rowset of contract related
* to this new partyaddress before calling super
newContractNoBeforePost = (RowSet)getSMS_AGREEMENTS();
super.postChanges(TransactionEvent);
public Date getAgrStartDt() {
return (Date)getAttributeInternal(AGRSTARTDT);
* Sets <code>value</code> as the attribute value for AgrStartDt.
* @param value value to set the AgrStartDt
public void setAgrStartDt(Date value) {
setAttributeInternal(AGRSTARTDT, value);
public String NewContractNo() {
String amDef = "sms1405.sms1405Module";
String config = "sms1405ModuleShared";
String NewContract = null;
ApplicationModule am = Configuration.createRootApplicationModule(amDef, config);
ViewObjectImpl vo = (ViewObjectImpl) am.findViewObject("FAC1");
// vo.setWhereClause("ParIdFac = 38844");
vo.executeQuery();
Row row = vo.first();
Integer par_id = null;
//oracle.jbo.domain.Date today = new oracle.jbo.domain.Date(oracle.jbo.domain.Date.getCurrentDate());
oracle.jbo.domain.Date today = new oracle.jbo.domain.Date();
//FACRowImpl res = new FACRowImpl();
//res.setParIdFac(par_id);
par_id = (Integer)row.getAttribute("ParIdFac");
today = this.getAgrStartDt();
return (String)callStoredFunction(VARCHAR2,
"sms_fapp.get_contract_no(?,?)",
new Object[]{par_id,today});
}at the moment am geting this error
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:415)
at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:477)
at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:201)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.reportException(JUCtrlActionBinding.java:2007)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1659)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.NullPointerException
at oracle.jbo.server.EntityImpl.getEntityCache(EntityImpl.java:4665)
at oracle.jbo.server.EntityImpl.saveEventOrigTransAttrVals(EntityImpl.java:729)
at oracle.jbo.server.EntityImpl.saveEventOrigAttrVals(EntityImpl.java:719)
at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:1935)
at sms1405.SMS_AGREEMENTSImpl.setContractNo(SMS_AGREEMENTSImpl.java:998)
at sms1405.SMS_AGREEMENTSImpl.doDML(SMS_AGREEMENTSImpl.java:1628)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6751)
at sms1405.SMS_AGREEMENTSImpl.postChanges(SMS_AGREEMENTSImpl.java:1645)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3264)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3067)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2071)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2352)
at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1590)
at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1415)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1428)
... 43 more
## Detail 0 ##
java.lang.NullPointerException
at oracle.jbo.server.EntityImpl.getEntityCache(EntityImpl.java:4665)
at oracle.jbo.server.EntityImpl.saveEventOrigTransAttrVals(EntityImpl.java:729)
at oracle.jbo.server.EntityImpl.saveEventOrigAttrVals(EntityImpl.java:719)
at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:1935)
at sms1405.SMS_AGREEMENTSImpl.setContractNo(SMS_AGREEMENTSImpl.java:998)
at sms1405.SMS_AGREEMENTSImpl.doDML(SMS_AGREEMENTSImpl.java:1628)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6751)
at sms1405.SMS_AGREEMENTSImpl.postChanges(SMS_AGREEMENTSImpl.java:1645)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3264)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3067)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2071)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2352)
at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1590)
at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1415)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1428)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) -
Hi,
how can I make Oracle ODBC Driver (8.01.72.00) returning column name in small letters ?
Thanks for any help.Pardon my stupidity, but I'm still a little confused. Perhaps it's too early in the morning...
If you create a table foo in Oracle, i.e.
create table foo (
col1 varchar2,
col2 integer )
col1 & col2 are stored as uppercase in the database, although queries against the table are case-insensitive. For instance
select col1 from foo;
select COL1 from foo;
select cOl1 from foo;
all return the same thing
If you instead create a table
create table foo (
"col1" varchar2,
"col2" integer )
col1 & col2 are stored as case-sensitive column names, in this case lower case. Because the column names are case-sensitive,
the SQL statement
select "col1" from foo;
will return the correct data, while
select col1 from foo;
will cause an error.
Is this helpful to you? I guess I'm not sure where it is that you're generating or gathering column names, so I'm not sure how much control you have.
If you're gathering column names by making calls to catalog functions like SQLTables, I assume you can simply use the appropriate LOWER() function call to create lowercase column names.
If you can explain in a little more detail, preferrably with reference to the particular ODBC calls you're making, I might be able to help a little more.
Justin
Maybe you are looking for
-
i can't use my hdmi cable after formatting my hp 15 d001-si please if any could help the situation.
-
How Do I Transfer Files From Mac To An iPad Air With A Lightning Wire?
How do I transfer files from a Mac Mini to an iPad Air with a lightning wire?
-
When i click on itunes icon on desktop it doesn't work?!
please help me
-
Final Cut Pro 4.5 and Quicktime 7 compatibility issues. Error 39!
I see some people saying Quicktime 7 is not compatible with Final Cut 4.5 and some saying it is. I upgraded to 10.3.9 and then Quicktime 7 and I started getting error 39 at this one spot in my timeline and then crashing if I tried to play just a few
-
Rare Problem in Delivery against a Sales Order
Hi Experts, I am trying to make delivery against a Sale Order, but it is showing Only ZERO quantity available in this product. I have checked the quantity and no doubt that there is sufficient quantity avialable in the same plant, same storage locati