Calling of function in initialization block
Hi,
Could anyone please tell whether calling of function in initialization block occurs in what manner?
Please answer by selecting from below options:
Option 1. SEQUENTIAL (e.g USER 1 & USER 2 concurrently logged in, Now USER 1 calls the function through initialization block first and after completion releases it for USER 2)
Option 2 THREADING (e.g USER 1 & USER 2 concurrently logged in, Now USER 1 and USER 2 calls the function through initialization block simultaneously)
Regards,
Varun
Edited by: Varun Malhotra on 17-Dec-2009 01:07
Edited by: Varun Malhotra on 17-Dec-2009 01:57
Hi Varun,
Based upon my previous Dashboard Prompt Execution Order, most things in OBIEE happen asynchronously.
That being said, I would think that your second scenario is the most likely. If both users login at the same time, the function gets called simultaneously (or close to it).
Hope that helps.
-Joe
Similar Messages
-
Calling a function from ananymous block
All,
I have created a function which is to create a table with the given string. Below is the code.
CREATE OR REPLACE
FUNCTION tcr(
name IN VARCHAR2)
RETURN VARCHAR2
IS
vsql VARCHAR2(100);
vmsg VARCHAR2(100);
BEGIN
vsql :='create table '||name||' ( a number(4) )';
EXECUTE immediate vsql;
dbms_output.put_line('craeted');
vmsg:='creation msg';
RETURN vmsg;
EXCEPTION
WHEN OTHERS THEN
RETURN sqlerrm;
END;
When I am calling this from a SELECT stmt giving me the below error
SELECT tcr('test1') FROM dual; ORA-14552: cannot perform a DDL, commit or rollback inside a query or DML
And when I called this from an anonymous block giving me the error again.
DECLARE
vmsg VARCHAR2(200);
BEGIN
vmsg:= tcr('test11');
dbms_output.put_line(vmsg);
END;
ORA-01031: insufficient privilegesCan we use a DDL inside a function and can be called from a SELECT Query. If not what happening inside it when we call from a query, am not able to understand. Expecting a clear explanation.
Thanks
Edited by: 968217 on Apr 17, 2013 11:08 AM>
Can we use a DDL inside a function and can be called from a SELECT Query. If not what happening inside it when we call from a query, am not able to understand.
>
No - you can NOT use DDL inside a function used in a SELECT query.
See 'Invoking Stored PL/SQL Functions from SQL Statements' in the Advanced Application Developer's Guide
http://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_packages.htm#ADFNS00908
The section 'Controlling Side Effects' has the information about restrictions
>
Restrictions
When a SQL statement is run, checks are made to see if it is logically embedded within the execution of an already running SQL statement. This occurs if the statement is run from a trigger or from a subprogram that was in turn invoked from the already running SQL statement. In these cases, further checks occur to determine if the new SQL statement is safe in the specific context.
The following restrictions are enforced on subprograms:
A subprogram invoked from a query or DML statement might not end the current transaction, create or rollback to a savepoint, or ALTER the system or session.
A subprogram invoked from a query (SELECT) statement or from a parallelized DML statement might not execute a DML statement or otherwise modify the database.
A subprogram invoked from a DML statement might not read or modify the particular table being modified by that DML statement.
>
Since DDL issues a COMMIT it would 'end the current transaction' which, as the first item above says, is not allowed.
Yes - using the AUTONOMOUS_TRANSACTION pragma can side-step that issue but that would be a serious misuse of the functionality. -
Is there a way to call a function with in the initializer of a ArrayCollection?
Is there a way to call a function with in the initializer of a ArrayCollection?
It won't let me do this:
var ac:ArrayCollection = new ArrayCollection([
{childName:'addTrade',index:addTradeIndex },
{childName:'tradeList',dealsCanvas.getChildIndex(tradeList) }The correct syntax is
var ac:ArrayCollection = new ArrayCollection([
{childName:'addTrade',index:addTradeIndex },
{childName:'tradeList',index:dealsCanvas.getChildIndex(tradeList) } -
Calling a function which has a CLOB parameter via an anonymous block.
OK,
we are moving a lot of exports currently done by Crystal to just be done by stored procs.
So we have a load of existing, some extremely length SQL statements used for these exports.
IN the exports, we have meaningful column headings, so we have a 'lookup' file where all the column names are listed with the desired column name text listed against it.
So - to make our lives easier(i thought) , I have written a Oracle function to extract al;l of the column names as a list (see below).
It works fine except for when I am trying to pass in a SQL treatment that is longer than 4000 character.
What I want to be able to do is simply have an anonymous block that callls my function, I will be running this via SQL explorer.
Something like......
DECLARE
theSQL CLOB;
BEGFIN
theSQL := 'SELECT * FROM ORDERS WHERE 1=0';
SELECT GET_COLUNS_AS_LIST( theSQL, 0 ) FROM DUAL;
END;
However, when I run this I get the error................
PLS-00428: an INTO clause is expected in this SELECT statement
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
If I hard code the SQL like this, SELECT GET_COLUNS_AS_LIST( 'SELECT * FROM ORDERS WHERE 1=0', 0 ) FROM DUAL; all is well.
Also, I am going to need to be able to pass in SQL ststement longer that 4000 characters as weel so please bear that in mind.
I am not an Oracle guy, so I guess I am missing something fundamental - Please enlighten me with regards to this.
Any help extremely appreciated.
CREATE OR REPLACE FUNCTION GET_COLUNS_AS_LIST( P_SQL IN VARCHAR2, Add_Equals_Sign Number := 0)
RETURN CLOB
IS
fResult VARCHAR2(32000);
HNDL NUMBER;
d NUMBER;
colCount INTEGER;
i INTEGER;
rec_tab DBMS_SQL.DESC_TAB;
cCRLF VARCHAR(2) := CHR(13) || CHR(10);
LONG_SQL dbms_sql.varchar2s;
n INTEGER;
l INTEGER;
u INTEGER;
StartPos INTEGER;
BEGIN
--INITIIALISE RESULT
fResult := '';
HNDL := DBMS_SQL.OPEN_CURSOR;
l := Length( P_SQL );
u := ( l / 1000 ) + 1;
FOR n IN 1..u
LOOP
StartPos := ( n - 1 ) + 1;
LONG_SQL( n ) := SubStr( P_SQL, StartPos, 1000 );
END LOOP;
if HNDL <> 0 THEN
DBMS_SQL.PARSE ( c => HNDL,
statement => LONG_SQL,
lb => 1,
ub => u,
lfflg => false,
language_flag => DBMS_SQL.NATIVE );
--DBMS_SQL.PARSE( HNDL, P_SQL, DBMS_SQL.NATIVE);
d := DBMS_SQL.EXECUTE( HNDL );
DBMS_SQL.DESCRIBE_COLUMNS( HNDL, colCount, rec_tab);
FOR i in 1..colCount
LOOP
IF Add_Equals_Sign > 0 AND i > 1 THEN
fResult := ltrim( fResult || '=' || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
ELSE
fResult := ltrim( fResult || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
END IF;
END LOOP;
IF Add_Equals_Sign > 0 THEN
fResult := fResult ||'=';
END IF;
ELSE
fResult := '!!COULD NOT OPEN CURSOR!!';
fResult := P_SQL;
END IF;
RETURN fResult;
--Tidy Up
DBMS_SQL.CLOSE_CURSOR(HNDL);
Return 'EGG';
END;
--EXAMPLE USAGE
--Select GET_COLUNS_AS_LIST
--Select * from SALES_TYPE
--', 1) FROM DUAL;So I have ended up with this.
When I next get some time, I'd like to be able to strip out the table and simply output the results to an SQL Developer script window without having to go through the table.
Now this works - but if you see that I am doing something wrong - please point it out.
Many thanks,
Ant
CREATE OR REPLACE FUNCTION GET_COLUNS_AS_LIST( P_SQL IN CLOB, Add_Equals_Sign Number := 0)
RETURN VARCHAR2
IS
fResult VARCHAR2(32000);
HNDL NUMBER;
d NUMBER;
colCount INTEGER;
i INTEGER;
ChunkSize INTEGER;
rec_tab DBMS_SQL.DESC_TAB;
cCRLF VARCHAR(2) := CHR(13) || CHR(10);
LONG_SQL dbms_sql.varchar2s;
n INTEGER;
l INTEGER;
u INTEGER;
StartPos INTEGER;
BEGIN
--INITIIALISE RESULT
HNDL := 0;
ChunkSize := 4;
fResult := '';
--fResult := fResult|| 'A';
HNDL := DBMS_SQL.OPEN_CURSOR;
--l := Length( P_SQL );
l := dbms_lob.getLength( P_SQL );
--l := 50;
u := Round( l / ChunkSize ) + 1;
--fResult := fResult|| 'B';
FOR n IN 1..u
LOOP
StartPos := ( ( n - 1 ) * ChunkSize ) + 1;
IF StartPos = 0 THEN
StartPos := 1;
END IF;
--LONG_SQL( n ) := SubStr( P_SQL, StartPos, ChunkSize );
LONG_SQL( n ) := DBMS_LOB.SUBSTR( P_SQL, ChunkSize, StartPos );
END LOOP;
--fResult := fResult|| 'C';
if HNDL <> 0 THEN
DBMS_SQL.PARSE ( c => HNDL,
statement => LONG_SQL,
lb => 1,
ub => u,
lfflg => false,
language_flag => DBMS_SQL.NATIVE );
--DBMS_SQL.PARSE( HNDL, P_SQL, DBMS_SQL.NATIVE);
d := DBMS_SQL.EXECUTE( HNDL );
DBMS_SQL.DESCRIBE_COLUMNS( HNDL, colCount, rec_tab);
--fResult := fResult|| 'D';
FOR i in 1..colCount
LOOP
IF Add_Equals_Sign > 0 AND i > 1 THEN
fResult := ltrim( fResult || '=' || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
ELSE
fResult := ltrim( fResult || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
END IF;
END LOOP;
IF Add_Equals_Sign > 0 THEN
fResult := fResult ||'=';
END IF;
ELSE
fResult := '!!COULD NOT OPEN CURSOR!!';
END IF;
RETURN fResult;
--Tidy Up
IF HNDL <> 0 THEN
DBMS_SQL.CLOSE_CURSOR(HNDL);
END IF;
END;
-- !!!!HOW TO USE THIS FUNCTION!!!!
BEGIN
EXECUTE IMMEDIATE ('DROP TABLE RPT_COLNAME_LOOKUPS;');
COMMIT;
EXECUTE IMMEDIATE ('CREATE TABLE RPT_COLNAME_LOOKUPS( COLUMN_NAME CLOB );');
COMMIT;
EXCEPTION WHEN OTHERS THEN NULL;
END;
DECLARE
theSQL Clob;
myresult CLOB;
BEGIN
--CLEAR OUT PREVIOUS RWS
DELETE FROM RPT_COLNAME_LOOKUPS; COMMIT;
--ASSIGN THE SQL TO RUN IT FOR
theSQL := '
SELECT
EVENT.EVENT_ID AS COCK_SUCKER,
EVENT.EVENT_CODE, BLAH, BLAH, VERY LONG SQL STATEMENT';
--CALL THE FUNCTION PASSING IN THE SQL AND IF I WANT THE = OR NOT
SELECT GET_COLUNS_AS_LIST( theSQL, 1 ) INTO myresult FROM DUAL;
--INSERT THE RESULTS INTO A TABLE SO WE CAN GRAB THEM
INSERT INTO RPT_COLNAME_LOOKUPS SELECT myresult FROM DUAL;
COMMIT;
END;
--THEN LOOK AT THE COLUMNS NAMES IN THIS TABLE
--SELECT * FROM RPT_COLNAME_LOOKUPS;
--############################################################################# -
Hi Guys, need help on this.
I have this LabVIEW program that used to work on the old computer.
The old computer crashes most of the time, so I upgraded the computer
and used its Hard Drive as slave to the new computer.
I have no idea where are its installers since the guy that made the program
is not in my department anymore.
I downloaded all the drivers needed from NI: NIDAQ9.0, NIVISA,NI488.2,
and drivers of some instruments needed in the setup. I'm using LabVIEW8.2.
Everything's fine until I open the LabVIEW program for our testing.
Here goes the error:
DIO Port Config
DIO Port Write
Block Diagram Errors
Call Library Function Node: library not found or failed to load
Attachments:
ErrorList.JPG 200 KBHonestly, I'm a newbie on Labview. I just want this old program to run on the new computer.
The guys that installed the drivers on the old computer are no longer here in my department.
And I have no idea where the drivers are. So I just downloaded the drivers needed for my hardware and instruments.
Here's my hardware: (cards: PCI-DIO-96, PCI-GPIB), (instruments: SCB100,E4407B, HP83623, HP3458, HP8657)
OS: Windows XP Pro
By the way, I have unzipped the TraditionalDAQ drivers. First I tried the 7.4.1, but installation error appeared.
I thought maybe the installer is corrupted, so I downloaded the 7.4.4 and unzipped it.
But, still same installation error appears. I don't understand, both TraditionalDAQ drivers have same installation error.
Now I have tried the DAQmx8.7.2 driver, bu still the DIO Port Config and DIO Port Write have errors. -
So what is up with this error message in Muse?
MuseJSAssert: Error calling slector function:SecurityError: Failed to read the ‘contentDocument’ property from ‘HTMLIFrameElement’: Blocked a frame with orign “null” from accessing a cross-origin frame.This is a genuine security error generated by the browser when viewing a page with iFrame content locally.
Please refer to Zak's reply in the following thread: https://forums.adobe.com/message/6496180#6496180
Cheers,
Vikas -
Initializer block not called when static method called
public class Initializer {
Initializer(){
System.out.println("Constructor called");
System.out.println("CLASS INITIALIZED");
static void method(){
System.out.println("Static method called");
public static void main(String[] args) {
Initializer.method();
From the JLS
A class or interface type T will be initialized immediately before the first occurrence of any one of the following:
T is a class and an instance of T is created.
T is a class and a static method declared by T is invoked.
[b]
But when i call the static method , if the class is initialized shouldnt the initializer block be called, it is not called, why.Perhaps running something like this will add a little more colour?:
public class Initializer {
static {
System.out.println("First static initializer");
System.out.println("First instance initializer");
Initializer() {
System.out.println("Constructor");
static {
System.out.println("Second static initializer");
System.out.println("Second instance initializer");
static void staticMethod() {
System.out.println("staticMethod");
void instanceMethod() {
System.out.println("instanceMethod");
public static void main(String[] args) {
System.out.println("main");
staticMethod();
new Initializer().instanceMethod();
} -
Altering function will block calling this function when concurrency?
Hi
I would alter a function dynamically in a procedure,when altering function and calling this function occur at the same time,will it generate a blocking?
thanks in advanceYes. If the function is being called and its running then the ALTER STATEMENT to such function will be in suspended mode until the execution of the function completes.
However I cannot understand why would you want to modify a function in a stored procedure. You can always write a condition based function to perform different tasks on different conditions.
Let us know the complete requirement and may be we can suggest some other alternatives.
Please specify your SQL Server version while posting questions
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
thank you very much for your reply.
My requirement is like below:
In our existed system,there is one Employee table,now every user logining in system can see all employees in Employee table.
Now we want to control users see specific employees meeting some conditions which are configurable in system.
To minimize the effect on existed codes,we plan to rename Employee table to EmployeeTbl and create a called Employee view in which EmployeeTbl joins the generated function which contains the sql generated by configured conditions for different users.
I have finished the test,and it'ok,but I don't know whether it affects performance too much.
Why not have a table to determine access groups ie what rows a employee can have access to (like say only immediate reportees for supervisors etc) and then link it to your existing users (AD logins). Then its just a matter of dtermining what group the executing
user is part of and then using relationship set for group to determine whch all employees data he can view.
The concept will look like this
http://blogs.wrox.com/article/filtering-user-specific-report-data-in-sql-server-reporting-services/
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
Where is pointer pointing to in Call Library Function
I am using Call Library Function (FillString) to call a function in a DLL. I set Parameter 1 to:
Parameter: arg1
Type: Array
Data Type: signed 32-bit Integer
Dimension : 1
Array Format: Array Data Pointer
so the Function Prototype below in the Call Library Function dialogbox is written as:
void FillString(long *arg1);
At the same time, in the block diagram , there is a "input param" (array of int32) and "output param" (array of int 32)
I wonder, when the program is in the DLL FillString function and using arg1 pointer, does "arg1" point to the data in "input param" arry or the data in "output param" array? I don't quite understand, since normally C programs have only one return value, while the Call Library Function returns a value for every input parameter. Is the "output param" a different variable, or the same as "input param" (i.e., the same physical memory address)?Hi LyLee,
if you know how many elements you need, create an array with this number of elements by using the "initialize array" function and connect it to your dll node. The output shall contain your data. If you have a string its the same. Create an empty string with the size you need. See the attached example picture.
Mike
Attachments:
Unbenannt.PNG 3 KB -
Using an external DLL with "Call Library Function"
Hi!
I am trying to use an external DLL which is used from Visualbasic & Delphi:
http://www.keb.de/common/tools/KEBCOMDriver.zip
the protKEB.dll accesses the serial port to control an KEB frequency
inverter.
Unfortunatly there is no prototype header file for the DLL (no help on that
from KEB).
I only have a VisualBasic example program which works with the DLL.
(Unfortunatly I am no Visual basic expert)
To initialize the com port I have to use the function: setprotproperties &
getprotproperties
they are declared as:
'Setting the protocol properties
'ctrl is a pointer to a data structure of type tProtProperty
Declare Sub setprotproperties Lib "protkeb.DLL" (ctrl As Any)
'Reading the protocol properties
'ctrl is a pointer to a data structure of type tProtProperty
'the desired protocol is entered in ctrl.prottype before calling
Declare Sub getprotproperties Lib "protkeb.DLL" (ctrl As Any)
and tProtProperty is:
Public Type tProtProperty
ProtType As Long 'Type of Protocol (tProt)
TimeOut As Long 'ALL protocols
Baudrate As Long 'ANSI, HSP5
Comport As Long 'ANSI, HSP5
Flag As Long 'ANSI, HSP5: 01 = Sendslow
/ IP: 01 = UDP
Port As Long 'IPort number
Txtlen As Byte 'IP : length of following
text or 0
txt As String * 100 'IP : IP-Address or name
(maximum length)
End Type
I already tried to use a cluster with tProtProperty entries as an Input for
the function
setprotproperty in a call library function with:
Parameter Type : Adapt to type
Data Format: Pointer to Handle
but I always get an "exception within external code....."
What am I doing wrong?
How does a cluster & a "call library function node" look like that works?
Any help is really appreciated!
thanks
tom
,-Thomas Kerberger Physikalisch-Technische Bundesanstalt-.
| Abbestr.2-12 D-10587 Berlin fon: +49-30-3481338 |
| mailto:[email protected] fax: +49-30-3481386 |
`--------Labor 7.33 Messung thermischer Energie---------'Thomas,
LabVIEW cannot call a DLL that has structures directly, you will need to create either a wrapper DLL or CIN that will take in all of the data individually construct the structure, and send it to the DLL function.
For more information on what a cluster looks like in native code, I would suggest creating a simple cluster, creating a Call Library Function Node on the block diagram with a cluster input. Then right-click on the Call Library Function Node and choose "Create .c file". This will generate the data structure for the cluster and give you a better feel for it. I would then suggest going to the Using External Code in LabVIEW manual that can be found in the LabVIEW Bookshelf (Start»Programs»National Instruments»LabVIEW 6»LabVIEW Manuals or »LabV
IEW 6.1»Search the LaBVIEW Bookshelf).
There is also the following: Developer Zone: Passing a Variety of Data Types from DLL to LabVIEW.
Randy Hoskin
Applications Engineer
National Instruments
http://www.ni.com/ask -
Upload data from excel with vba by calling a function module
Hello all,
i have a problem with the function module "ALSM_EXCEL_TO_INTERNAL_TABLE". I will call this function module with vba to load data from excel to sap with a Buttonclick. I have copied this function module and set it remotable. But i can´t call it from excel.
Can you give me some tips how can i
upload data from excel with vba by click a button.
The problem seems the function: call method cl_gui_frontend_services=>clipboard_import in the function module, because when i comment this function call the vba-call is true but no results.
How can I call the function module correct with vba?
Thanks a lot for your tips!!!!
Chris
Message was edited by:
Christoph KirschnerHI
Uploading data directly from Excel file format
* Upload data direct from excel.xls file to SAP
REPORT ZEXCELUPLOAD.
PARAMETERS: filename LIKE rlgrap-filename MEMORY ID M01,
begcol TYPE i DEFAULT 1 NO-DISPLAY,
begrow TYPE i DEFAULT 1 NO-DISPLAY,
endcol TYPE i DEFAULT 100 NO-DISPLAY,
endrow TYPE i DEFAULT 32000 NO-DISPLAY.
* Tick don't append header
PARAMETERS: kzheader AS CHECKBOX.
DATA: BEGIN OF intern OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF intern.
DATA: BEGIN OF intern1 OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF intern1.
DATA: BEGIN OF t_col OCCURS 0,
col LIKE alsmex_tabline-col,
size TYPE i.
DATA: END OF t_col.
DATA: zwlen TYPE i,
zwlines TYPE i.
DATA: BEGIN OF fieldnames OCCURS 3,
title(60),
table(6),
field(10),
kz(1),
END OF fieldnames.
* No of columns
DATA: BEGIN OF data_tab OCCURS 0,
value_0001(50),
value_0002(50),
value_0003(50),
value_0004(50),
value_0005(50),
value_0006(50),
value_0007(50),
value_0008(50),
value_0009(50),
value_0010(50),
value_0011(50),
value_0012(50),
value_0013(50),
value_0014(50),
value_0015(50),
value_0016(50),
value_0017(50),
value_0018(50),
value_0019(50),
value_0020(50),
value_0021(50),
value_0022(50),
value_0023(50),
value_0024(50),
value_0025(50),
value_0026(50),
value_0027(50),
value_0028(50),
value_0029(50),
value_0030(50),
value_0031(50),
value_0032(50),
value_0033(50),
value_0034(50),
value_0035(50),
value_0036(50),
value_0037(50),
value_0038(50),
value_0039(50),
value_0040(50),
value_0041(50),
value_0042(50),
value_0043(50),
value_0044(50),
value_0045(50),
value_0046(50),
value_0047(50),
value_0048(50),
value_0049(50),
value_0050(50),
value_0051(50),
value_0052(50),
value_0053(50),
value_0054(50),
value_0055(50),
value_0056(50),
value_0057(50),
value_0058(50),
value_0059(50),
value_0060(50),
value_0061(50),
value_0062(50),
value_0063(50),
value_0064(50),
value_0065(50),
value_0066(50),
value_0067(50),
value_0068(50),
value_0069(50),
value_0070(50),
value_0071(50),
value_0072(50),
value_0073(50),
value_0074(50),
value_0075(50),
value_0076(50),
value_0077(50),
value_0078(50),
value_0079(50),
value_0080(50),
value_0081(50),
value_0082(50),
value_0083(50),
value_0084(50),
value_0085(50),
value_0086(50),
value_0087(50),
value_0088(50),
value_0089(50),
value_0090(50),
value_0091(50),
value_0092(50),
value_0093(50),
value_0094(50),
value_0095(50),
value_0096(50),
value_0097(50),
value_0098(50),
value_0099(50),
value_0100(50).
DATA: END OF data_tab.
DATA: tind(4) TYPE n.
DATA: zwfeld(19).
FIELD-SYMBOLS: <fs1>.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = '*.xls'
static = 'X'
CHANGING
file_name = filename.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = filename
i_begin_col = begcol
i_begin_row = begrow
i_end_col = endcol
i_end_row = endrow
TABLES
intern = intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
WRITE:/ 'Upload Error ', SY-SUBRC.
ENDIF.
END-OF-SELECTION.
LOOP AT intern.
intern1 = intern.
CLEAR intern1-row.
APPEND intern1.
ENDLOOP.
SORT intern1 BY col.
LOOP AT intern1.
AT NEW col.
t_col-col = intern1-col.
APPEND t_col.
ENDAT.
zwlen = strlen( intern1-value ).
READ TABLE t_col WITH KEY col = intern1-col.
IF sy-subrc EQ 0.
IF zwlen > t_col-size.
t_col-size = zwlen.
* Internal Table, Current Row Index
MODIFY t_col INDEX sy-tabix.
ENDIF.
ENDIF.
ENDLOOP.
DESCRIBE TABLE t_col LINES zwlines.
SORT intern BY row col.
IF kzheader = 'X'.
LOOP AT intern.
fieldnames-title = intern-value.
APPEND fieldnames.
AT END OF row.
EXIT.
ENDAT.
ENDLOOP.
ELSE.
DO zwlines TIMES.
WRITE sy-index TO fieldnames-title.
APPEND fieldnames.
ENDDO.
ENDIF.
SORT intern BY row col.
LOOP AT intern.
IF kzheader = 'X'
AND intern-row = 1.
CONTINUE.
ENDIF.
tind = intern-col.
CONCATENATE 'DATA_TAB-VALUE_' tind INTO zwfeld.
ASSIGN (zwfeld) TO <fs1>.
<fs1> = intern-value.
AT END OF row.
APPEND data_tab.
CLEAR data_tab.
ENDAT.
ENDLOOP.
CALL FUNCTION 'DISPLAY_BASIC_LIST'
EXPORTING
file_name = filename
TABLES
data_tab = data_tab
fieldname_tab = fieldnames.
*-- End of Program
<b>Excel Upload Alternative - KCD_EXCEL_OLE_TO_INT_CONVERT</b>
*Title : Excel Uploading
TYPES: BEGIN OF t_datatab,
col1(25) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
col4(30) TYPE c,
col5(30) TYPE c,
col6(30) TYPE c,
col7(30) TYPE c,
col8(30) TYPE c,
col9(30) TYPE c,
col10(30) TYPE c,
col11(30) TYPE c,
END OF t_datatab.
DATA: it_datatab TYPE STANDARD TABLE OF t_datatab INITIAL SIZE 0,
wa_datatab TYPE t_datatab.
Data : p_table type t_datatab occurs 0 with header line.
DATA : gd_scol TYPE i VALUE '1',
gd_srow TYPE i VALUE '1',
gd_ecol TYPE i VALUE '256',
gd_erow TYPE i VALUE '65536'.
DATA: it_tab TYPE filetable,
gd_subrc TYPE i.
field-symbols : <fs>.
*Selection screen definition
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file LIKE rlgrap-filename
DEFAULT 'c:test.xls' OBLIGATORY. " File Name
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
REFRESH: it_tab.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select File'
default_filename = '*.xls'
multiselection = ' '
CHANGING
file_table = it_tab
rc = gd_subrc.
LOOP AT it_tab INTO p_file.
* so_fpath-sign = 'I'.
* so_fpath-option = 'EQ'.
* append so_fpath.
ENDLOOP.
START-OF-SELECTION.
PERFORM upload_excel_file TABLES it_datatab
USING p_file
gd_scol
gd_srow
gd_ecol
gd_erow.
* END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3,
wa_datatab-col4,
wa_datatab-col5,
wa_datatab-col6,
wa_datatab-col7,
wa_datatab-col8,
wa_datatab-col9,
wa_datatab-col10,
wa_datatab-col11.
ENDLOOP.
*& Form UPLOAD_EXCEL_FILE
* upload excel spreadsheet into internal table
* -->P_TABLE Table to return excel data into
* -->P_FILE file name and path
* -->P_SCOL start column
* -->P_SROW start row
* -->P_ECOL end column
* -->P_EROW end row
FORM upload_excel_file TABLES p_table
USING p_file
p_scol
p_srow
p_ecol
p_erow.
DATA : lt_intern TYPE kcde_cells OCCURS 0 WITH HEADER LINE.
* Has the following format:
* Row number | Colum Number | Value
* i.e. 1 1 Name1
* 2 1 Joe
DATA : ld_index TYPE i.
* Note: Alternative function module - 'ALSM_EXCEL_TO_INTERNAL_TABLE'
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = p_file
i_begin_col = p_scol
i_begin_row = p_srow
i_end_col = p_ecol
i_end_row = p_erow
TABLES
intern = LT_INTERN
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'Error Uploading file'.
EXIT.
ENDIF.
IF lt_intern[] IS INITIAL.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT lt_intern BY row col.
LOOP AT lt_intern.
MOVE lt_intern-col TO ld_index.
assign component ld_index of structure
p_table to <fs>.
move : lt_intern-value to <fs>.
* MOVE lt_intern-value TO p_table.
AT END OF row.
APPEND p_table.
CLEAR p_table.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. "UPLOAD_EXCEL_FILE
Regards
Pavan -
Passing arrays with Call Library Function does not work after application builder
Calling a DLL with Call Library Function which requires an array of data works correctly in Labview, but after building an exe with application builder, the call no longer works. Dereferecing the pointer in the DLL retuns all 0s and not the actual values.
Solved!
Go to Solution.
Attachments:
TEST.zip 28 KBI did not run your code because it is a little unclear to me what it does.
Two things:
First, is the DLL you are calling the DLL-ified version of PopUpNames.vi? Then the problem is likely that the panel is not being built into the DLL.
When LabView builds an application / dll, it strips the front panel and block diagram from all VIs that it doesn't think need to show a panel at run time. This reduces file size and increases code security. The App Builder's panel inclusion logic can be overridden by Build Specifications -> Source File Settings -> Remove front panel. A better method is to put a property node on a control in a window you want to show marking it "visible"; this is sufficient to tell the App Builder it should keep the panel.
Currently Source File Settings shows "no dependencies" (clearly incorrect---another evil side effect of Express VIs I guess) but if you change the settings as shown below to keep ALL panels, one might hope the App Builder can figure it to keep the panel when it deconstructs the Express VI. (Alternatively convert the Express VI into a regular one.)
A second comment: I am a bit flummoxed at the larger goal here. You are calling LabView DLL from LabView, which doesn't make a lot of sense, so I assume your larger goal is to call LabView from C or vice-versa. In that case be aware that your DLL is x86 (32-bit) but you are passing 64-bit ints as your pointers. In this case it is 32-bit LabView with 32-bit pointers in embedeed in 64-bit containers calling 32-bit LabView with 32-bit pointers in embedeed in 64-bit containers, so it all works, but if your going to call this from C or whatnot you're going to have to follow that same design.
When calling C code the LabView Call Library Function does have a "unsigned pointer-sized integer" data type that always appears to be 64 bits in the dev env but which actually passes a 64 or 32-bit int to the DLL depending on the environment. The "pointer sized int" has to be 64 bits in the "LabView" part of the code because LabView's strong typing requires the data type to be determined at compile time. Casting all pointers to the largest data type in LabView makes it possible to write platform-independent code, but down at the Call Library level you still have to put the right number of bytes on the stack. -
Tuning a procedure and using dbms_job.submit proc that call's functions
Hi
I have Procedure that have 3 curosrs which are nested one below with in each other
and it looks as below
it's structure will look some thing look like this
declare
empno_fetch number;
CURSOR deu_process IS
SELECT empno
FROM emp
WHERE flg_process = 'N'
AND ROWNUM <= 5000
ORDER BY empno;
CURSOR dup_all IS --c1 fetch around 400000 records
(select empno
from emp
where empno>l_empno
order by empno
where rownum<=empno_fetch;
CURSOR rules IS --c2
SELECT rule_id, rule_score, name_Of_func
FROM rule;
begin
l_count := 1;
OPEN dedupe_rule_attr;
LOOP
BEGIN
Here one loop is used for fetching 5000 records at time and
Here deu_process cursor is opened ,assume it fetches one record
Here another cursor dup_all is used for fetching the records and assume it fetched 400000 then
Here another cursor is opened name where it fetches 10 rows
Here logic is if first row then
call's stored function which has following functionalty
it compares fields such as address of outer most cursor i.e deu_process with all the address of the other rows i.e 400000 rows and return a number
if second row then
call's another stored function which has
compares other fields such as first name,last name
if third then other field
so on ....
up to 10
and then finally ends
so if i comment all the rules loop then it takes only one min to execute .If it validaes all of them if takes 14 minutes to execute .so there is problem in that 10 procedures to execute
So i found an approach to run all the rules simultaneously using dbms_job .But i face a problem that i can't uderstand how to send the input and out put parameter's to calling procedure.And these parameter's must be passed by variable from called procedure to calling procedure
Please suggest me what is the syntax of dbms_job with input and output parameters with variable's that must be passed as formal parameter's
Regarding DBMS_JOB.SUBMIT I am getting following error
Declare
x number:=1;
b number;
jobnumber number;
BEGIN
DBMS_JOB.SUBMIT(JOB => jobnumber,
WHAT => 'vamsi_proc1('||x||');',
NEXT_DATE => (sysdate+1/(86400)),
INTERVAL => null);
--dbms_output.put_line('value of b is '||b);
COMMIT;
END;
Declare
ERROR at line 1:
ORA-06550: line 1, column 107:
PLS-00103: Encountered the symbol ")" when expecting one of the following:
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
The symbol "null" was substituted for ")" to continue.
ORA-06512: at "SYS.DBMS_JOB", line 79
ORA-06512: at "SYS.DBMS_JOB", line 136
ORA-06512: at line 5
create or replace procedure vamsi_proc1(v in out number) as
x number(4);
begin
--a:=1;
insert into emp_vamsi(select 677,ENAME,SAL,DEPTNO,MANAGER from emp where empno=v);
commit;
--a:=2;
--x:=a;
end;
using dbms_job.submit proc that call's functions which returns out and in parameters to calling procedure environment .I can't get this with out using data base table's.
If you have any method for this Plese suggest
And also please suggest me weather using job's is a good idea ,If not than suggest me what ever will the other approach.
Thank's and Regard's
vamsi krishnaHi <br>
I have looked at all sql trace file ,<br>
I found that there is no problem in sql statemens all of them are using proper <br>indexes execpt the folllowing statement<br>
<br>
SELECT nvl(COUNT(ref_appln_no),0)<br>
FROM ci_cust_dedupe_mast<br>
WHERE flg_mnt_status='A'<br>
<br>
This statement executes only once for 1*3,77000*10 times <br>
The function that i had sent previously executes more than 4000000*20 times .<br>
I think all it takes is only for iterations that are caused<br>
<br>
I am also sending sql trace for reference
<br>
TKPROF: Release 9.2.0.4.0 - Production on Mon Aug 14 17:30:50 2006 <br>
<br>
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. <br>
<br>
Trace file: afhuat_ora_2204.trc <br>
Sort options: default <br>
<br>
******************************************************************************** <br>
count = number of times OCI procedure was executed <br>
cpu = cpu time in seconds executing <br>
elapsed = elapsed time in seconds executing <br>
disk = number of physical reads of buffers from disk <br>
query = number of buffers gotten for consistent read <br>
current = number of buffers gotten in current mode (usually for update) <br>
rows = number of rows processed by the fetch or execute call <br>
******************************************************************************** <br>
<br>
alter session set sql_trace=true <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 0 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 1 0.00 0.00 0 0 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Misses in library cache during execute: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 <br>
******************************************************************************** <br>
<br>
declare <br>
x varchar2(100); <br>
y varchar2(100); <br>
ap number; <br>
begin <br>
x:=to_char(sysdate,'dd-mon-rrrr hh:mi:ss'); <br>
ap:=ap_ci_dedupe_proc; <br>
y:=to_char(sysdate,'dd-mon-rrrr hh:mi:ss'); <br>
dbms_output.put_line(x||' '||ap); <br>
dbms_output.put_line(y||' '||ap); <br>
end; <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 820.23 0 0 0 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 820.23 0 0 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 <br>
******************************************************************************** <br>
<br>
select user# <br>
from <br>
sys.user$ where name = 'OUTLN' <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 2 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 2 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID USER$ (cr=2 r=0 w=0 time=31 us) <br>
1 INDEX UNIQUE SCAN I_USER1 (cr=1 r=0 w=0 time=18 us)(object id 44) <br>
<br>
******************************************************************************** <br>
<br>
SELECT * <br>
FROM ci_dedupe_rule_attr <br>
ORDER BY cod_rule_attr_id <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.06 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 21 0.00 0.01 1 3 0 20 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 23 0.00 0.07 1 3 0 20 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT COUNT(1) <br>
FROM ci_cust_dedupe_mast <br>
WHERE flg_process = 'N' <br>
AND <br>
AND <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 22 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 22 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT nvl(COUNT(ref_appln_no),0) <br>
FROM ci_cust_dedupe_mast <br>
WHERE flg_mnt_status='A' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 1.68 3.03 18867 21183 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 1.68 3.03 18867 21183 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT ref_appln_no <br>
FROM ci_cust_dedupe_mast <br>
WHERE flg_process = 'N' <br>
AND <br>
AND <br>
AND <br>
ORDER BY ref_appln_no <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.09 18 43 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.09 18 43 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT <br>
FROM <br>
WHERE <br>
AND <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 377709 8.71 7.64 0 0 0 0 <br>
Fetch 377709 18.18 60.19 19802 1510836 0 377709 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 755419 26.90 67.84 19802 1510836 0 377709 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT NVL(MAX(cod_serial_no),0) + 1 <br>
FROM ci_dedupe_details_mast <br>
WHERE ref_appln_no = :b1 <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.01 2 2 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.01 2 2 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT COUNT(1) <br>
FROM ci_dedupe_details_mast <br>
WHERE ref_appln_no = :b1 <br>
AND <br>
AND flg_mnt_status = 'A' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 3 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT ref_appln_no FROM <br>
( <br>
SELECT ref_appln_no <br>
FROM ci_cust_dedupe_mast <br>
WHERE <br>
AND <br>
ORDER BY ref_appln_no <br>
) <br>
WHERE ROWNUM <= :b2 <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 77 0.01 0.00 0 0 0 0 <br>
Fetch 377786 10.21 12.33 908 377865 0 377709 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 377864 10.23 12.33 908 377865 0 377709 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT cod_rule_id, cod_rule_score, nam_rule_func <br>
FROM ci_dedupe_rule_defn <br>
WHERE flg_valid = 'Y' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 377708 5.50 4.03 0 0 0 0 <br>
Fetch 4154788 62.79 54.04 16 4532496 0 3777080 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 4532497 68.29 58.07 16 4532496 0 3777080 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select con#,obj#,rcon#,enabled,nvl(defer,0) <br>
from <br>
cdef$ where robj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 1 2 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 1 2 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
select con#,type#,condlength,intcols,robj#,rcon#,match#,refact,nvl(enabled,0), <br>
rowid,cols,nvl(defer,0),mtime,nvl(spare1,0) <br>
from <br>
cdef$ where obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 2 4 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 2 4 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
select u.name,o.name, t.update$, t.insert$, t.delete$, t.enabled <br>
from <br>
obj$ o,user$ u,trigger$ t where t.baseobject=:1 and t.obj#=o.obj# and <br>
o.owner#=u.user# order by o.obj# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 4 0.00 0.05 6 9 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 10 0.00 0.05 6 9 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 SORT ORDER BY (cr=1 r=1 w=0 time=4772 us) <br>
0 NESTED LOOPS (cr=1 r=1 w=0 time=4747 us) <br>
0 NESTED LOOPS (cr=1 r=1 w=0 time=4744 us) <br>
0 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=1 r=1 w=0 time=4740 us) <br>
0 INDEX RANGE SCAN I_TRIGGER1 (cr=1 r=1 w=0 time=4736 us)(object id 130) <br>
0 TABLE ACCESS BY INDEX ROWID OBJ$ (cr=0 r=0 w=0 time=0 us) <br>
0 INDEX UNIQUE SCAN I_OBJ1 (cr=0 r=0 w=0 time=0 us)(object id 36) <br>
0 TABLE ACCESS CLUSTER USER$ (cr=0 r=0 w=0 time=0 us) <br>
0 INDEX UNIQUE SCAN I_USER# (cr=0 r=0 w=0 time=0 us)(object id 11) <br>
<br>
******************************************************************************** <br>
<br>
select o.owner#,o.name,o.namespace,o.remoteowner,o.linkname,o.subname, <br>
o.dataobj#,o.flags <br>
from <br>
obj$ o where o.obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.02 5 9 0 3 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 8 0.00 0.02 5 9 0 3 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 3) <br>
******************************************************************************** <br>
<br>
select col#, grantee#, privilege#,max(mod(nvl(option$,0),2)) <br>
from <br>
objauth$ where obj#=:1 and col# is not null group by privilege#, col#, <br>
grantee# order by col#, grantee# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.01 2 6 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 9 0.00 0.02 2 6 0 0 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
INSERT INTO ci_dedupe_details_mast <br>
VALUES <br>
( <br>
:b6, <br>
:b5, <br>
:b4, <br>
:b3, <br>
'Y', <br>
'N', <br>
'', <br>
0, <br>
SYSDATE, <br>
'A', <br>
' ', <br>
:b2, <br>
'SYSTEM', <br>
:b1, <br>
1 <br>
) <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.01 3 3 0 0 <br>
Execute 1 0.00 0.01 4 1 6 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 0.02 7 4 6 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select obj#,type#,ctime,mtime,stime,status,dataobj#,flags,oid$, spare1, <br>
spare2 <br>
from <br>
obj$ where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null <br>
and linkname is null and subname is null <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.01 2 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.01 2 3 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
select audit$,options <br>
from <br>
procedure$ where obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.01 3 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.01 3 3 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID PROCEDURE$ (cr=3 r=3 w=0 time=14110 us) <br>
1 INDEX UNIQUE SCAN I_PROCEDURE1 (cr=2 r=2 w=0 time=13871 us)(object id 115) <br>
<br>
******************************************************************************** <br>
<br>
select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_obj#, <br>
d_owner#, nvl(property,0),subname <br>
from <br>
dependency$,obj$ where d_obj#=:1 and p_obj#=obj#(+) order by order# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 4 0.00 0.07 8 12 0 3 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.07 8 12 0 3 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
3 SORT ORDER BY (cr=12 r=8 w=0 time=72867 us) <br>
3 NESTED LOOPS OUTER (cr=12 r=8 w=0 time=72813 us) <br>
3 TABLE ACCESS BY INDEX ROWID DEPENDENCY$ (cr=4 r=4 w=0 time=41297 us) <br>
3 INDEX RANGE SCAN I_DEPENDENCY1 (cr=3 r=3 w=0 time=25897 us)(object id 127) <br>
3 TABLE ACCESS BY INDEX ROWID OBJ$ (cr=8 r=4 w=0 time=31484 us) <br>
3 INDEX UNIQUE SCAN I_OBJ1 (cr=5 r=2 w=0 time=14872 us)(object id 36) <br>
<br>
******************************************************************************** <br>
<br>
select order#,columns,types <br>
from <br>
access$ where d_obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.02 3 4 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 4 0.00 0.02 3 4 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID ACCESS$ (cr=4 r=3 w=0 time=27026 us) <br>
1 INDEX RANGE SCAN I_ACCESS1 (cr=3 r=2 w=0 time=21717 us)(object id 129) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_sb4$ i_idl_sb41) +*/ piece#,length,piece <br>
from <br>
idl_sb4$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.02 3 7 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 7 0.00 0.02 3 7 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_SB4$ (cr=2 r=2 w=0 time=19830 us) <br>
0 INDEX RANGE SCAN I_IDL_SB41 (cr=2 r=2 w=0 time=19826 us)(object id 123) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length,piece <br>
from <br>
idl_ub1$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.03 3 9 0 2 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 7 0.00 0.03 3 9 0 2 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_UB1$ (cr=2 r=2 w=0 time=21757 us) <br>
0 INDEX RANGE SCAN I_IDL_UB11 (cr=2 r=2 w=0 time=21753 us)(object id 120) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_char$ i_idl_char1) +*/ piece#,length,piece <br>
from <br>
idl_char$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 2 4 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 2 4 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_CHAR$ (cr=2 r=2 w=0 time=19465 us) <br>
0 INDEX RANGE SCAN I_IDL_CHAR1 (cr=2 r=2 w=0 time=19461 us)(object id 121) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_ub2$ i_idl_ub21) +*/ piece#,length,piece <br>
from <br>
idl_ub2$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 2 4 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 2 4 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_UB2$ (cr=2 r=2 w=0 time=15070 us) <br>
0 INDEX RANGE SCAN I_IDL_UB21 (cr=2 r=2 w=0 time=15066 us)(object id 122) <br>
<br>
******************************************************************************** <br>
<br>
select baseobject,type#,update$,insert$,delete$,refnewname,refoldname, <br>
whenclause,definition,enabled,property,sys_evts,nttrigcol,nttrigatt, <br>
refprtname,rowid <br>
from <br>
trigger$ where obj# =:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 1 2 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 1 2 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=2 r=1 w=0 time=9352 us) <br>
1 INDEX UNIQUE SCAN I_TRIGGER2 (cr=1 r=1 w=0 time=9340 us)(object id 131) <br>
<br>
******************************************************************************** <br>
<br>
select owner# <br>
from <br>
obj$ o where obj# = :1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 3 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID OBJ$ (cr=3 r=0 w=0 time=15 us) <br>
1 INDEX UNIQUE SCAN I_OBJ1 (cr=2 r=0 w=0 time=7 us)(object id 36) <br>
<br>
******************************************************************************** <br>
<br>
select tc.type#,tc.intcol#,tc.position#,c.type#, c.length,c.scale, <br>
c.precision#,c.charsetid,c.charsetform <br>
from <br>
triggercol$ tc,col$ c ,trigger$ tr where tc.obj#=:1 and c.obj#=:2 and <br>
tc.intcol#=c.intcol# and tr.obj# = tc.obj# and (bitand(tr.property,32) != <br>
32 or bitand(tc.type#,20) = 20) union select type#,intcol#,position#,69,0,0, <br>
0,0,0 from triggercol$ where obj#=:3 and intcol#=1001 union select tc.type#, <br>
tc.intcol#,tc.position#,121,0,0,0,0,0 from triggercol$ tc,trigger$ tr where <br>
tr.obj# = tc.obj# and bitand(tr.property,32) = 32 and tc.obj# = :4 and <br>
bitand(tc.type#,20) != 20 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 34 0.00 0.05 8 236 0 33 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 36 0.00 0.05 8 236 0 33 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
33 SORT UNIQUE (cr=236 r=8 w=0 time=54877 us) <br>
33 UNION-ALL (cr=236 r=8 w=0 time=54606 us) <br>
33 NESTED LOOPS (cr=197 r=8 w=0 time=53779 us) <br>
33 NESTED LOOPS (cr=162 r=8 w=0 time=53053 us) <br>
77 TABLE ACCESS CLUSTER COL$ (cr=83 r=6 w=0 time=40045 us) <br>
1 INDEX UNIQUE SCAN I_OBJ# (cr=2 r=2 w=0 time=13764 us)(object id 3) <br>
33 INDEX RANGE SCAN I_TRIGGERCOL2 (cr=79 r=2 w=0 time=12523 us)(object id 133) <br>
33 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=35 r=0 w=0 time=466 us) <br>
33 INDEX UNIQUE SCAN I_TRIGGER2 (cr=2 r=0 w=0 time=152 us)(object id 131) <br>
0 INDEX RANGE SCAN I_TRIGGERCOL2 (cr=2 r=0 w=0 time=5 us)(object id 133) <br>
0 NESTED LOOPS (cr=37 r=0 w=0 time=574 us) <br>
33 INDEX RANGE SCAN I_TRIGGERCOL2 (cr=2 r=0 w=0 time=81 us)(object id 133) <br>
0 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=35 r=0 w=0 time=350 us) <br>
33 INDEX UNIQUE SCAN I_TRIGGER2 (cr=2 r=0 w=0 time=139 us)(object id 131) <br>
<br>
******************************************************************************** <br>
<br>
select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2)) <br>
from <br>
objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by <br>
grantee# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.00 0 6 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 9 0.00 0.00 0 6 0 0 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
UPDATE <br>
SET <br>
WHERE ref_appln_no = :b1 <br>
AND flg_mnt_status = 'A' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.16 9 8 17 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 0.16 9 8 17 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select type#,blocks,extents,minexts,maxexts,extsize,extpct,user#,iniexts, <br>
NVL(lists,65535),NVL(groups,65535),cachehint,hwmincr, NVL(spare1,0) <br>
from <br>
seg$ where ts#=:1 and file#=:2 and block#=:3 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.01 3 9 0 3 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 9 0.00 0.01 3 9 0 3 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS CLUSTER SEG$ (cr=3 r=3 w=0 time=17332 us) <br>
1 INDEX UNIQUE SCAN I_FILE#_BLOCK# (cr=2 r=2 w=0 time=10258 us)(object id 9) <br>
<br>
******************************************************************************** <br>
<br>
INSERT INTO ci_dedupe_details <br>
VALUES <br>
( <br>
:b31, <br>
:b32, <br>
:b31, <br>
:b30, <br>
:b29, <br>
:b28, <br>
:b27, <br>
:b26, <br>
:b25, <br>
:b24, <br>
:b23, <br>
:b22, <br>
:b21, <br>
:b20, <br>
:b19, <br>
:b18, <br>
:b17, <br>
:b16, <br>
:b15, <br>
:b14, <br>
:b13, <br>
:b12, <br>
:b11, <br>
:b10, <br>
:b9, <br>
:b8, <br>
:b7, <br>
:b6, <br>
:b5, <br>
:b4, <br>
:b3, <br>
:b2, <br>
:b1, <br>
'N', <br>
0, <br>
'E' ) <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.01 0.03 4 1 5 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.01 0.03 4 1 5 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, timestamp#, <br>
sample_size, minimum, maximum, distcnt, lowval, hival, density, col#, <br>
spare1, spare2, avgcln <br>
from <br>
hist_head$ where obj#=:1 and intcol#=:2 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 36 0.00 0.00 0 0 0 0 <br>
Fetch 36 0.00 0.02 3 108 0 36 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 73 0.00 0.02 3 108 0 36 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: RULE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
COMMIT <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.01 0 0 1 0 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 4 0.00 0.01 0 0 1 0 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END; <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 0.00 0 0 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 <br>
<br>
<br>
<br>
******************************************************************************** <br>
<br>
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 820.23 0 0 0 2 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 5 0.00 820.23 0 0 0 2 <br>
<br>
Misses in library cache during parse: 1 <br>
Misses in library cache during execute: 1 <br>
<br>
<br>
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 49 0.00 0.10 3 3 0 0 <br>
Execute 755577 14.25 11.90 17 10 29 3 <br>
Fetch 4910422 92.89 130.18 39671 6442895 0 4532611 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 5666048 107.14 142.19 39691 6442908 29 4532614 <br>
<br>
Misses in library cache during parse: 11 <br>
<br>
17 user SQL statements in session. <br>
35 internal SQL statements in session. <br>
52 SQL statements in session. <br>
******************************************************************************** <br>
Trace file: afhuat_ora_2204.trc <br>
Trace file compatibility: 9.00.01 <br>
Sort options: default <br>
<br>
1 session in tracefile. <br>
17 user SQL statements in trace file. <br>
35 internal SQL statements in trace file. <br>
52 SQL statements in trace file. <br>
36 unique SQL statements in trace file. <br>
5666466 lines in trace file. <br>
Regards<br>
vamsi krishna<br> -
Calling a function from another class - help!
I realize that this is probably a basic thing for people who have been working with JavaFX for a while, but it is eluding me, and I have been working on it for over a week.
I need to call a function that is in another class. Here's the deal. In EntryDisplayController.java, there are 2 possible passwords that can be accepted - one will give full access to the car, the second will limit functions on the car. So when a password is entered and verified as to which one it is, I need to call a function in MainDisplayController.java to set a variable that will let the system know which password is being used - full or restricted.
So in MainDisplayController.java I have this snippet to see
public class MainDisplayController implements Initializable, ControlledScreen {
ScreensController myController;
public static char restrict;
* Initializes the controller class.
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
public void setRestriction(){
restrict = 0;
restrictLabel.setText("RESTRICTED");
public void clearRestriction(){
restrict = 1;
restrictLabel.setText("");
And in EntryScreenDisplay.java I have this snippet:
public class EntryDisplayController implements Initializable, ControlledScreen {
@FXML
private Label passwordLabel ;
static String password = new String();
static String pwd = new String("");
ScreensController myController;
private MainDisplayController controller2;
* Initializes the controller class.
@Override
public void initialize(URL url, ResourceBundle rb) {
setPW(pwd); // TODO
@FXML
private void goToMainDisplay(ActionEvent event){
if(password.equals ("123456")){
controller2.clearRestriction();
myController.setScreen(ScreensFramework.MainDisplayID);
pwd = "";
password = "";
setPW(pwd);
else if(password.equals ("123457")){
controller2.setRestriction();
myController.setScreen(ScreensFramework.MainDisplayID);
pwd = "";
password = "";
setPW(pwd);
else{
password = "";
pwd = "";
setPW(pwd);
When I enter the restricted (or full) password, I get a long list of errors, ending with
Caused by: java.lang.NullPointerException
at velocesdisplay.EntryDisplayController.goToMainDisplay(EntryDisplayController.java:60)
Line 60 is where "controller2.setRestriction(); is.
As always, thanks for any help.
Kind regards,
DavidYou never set the controller2 variable to anything, which is why you get a null pointer exception when you try to reference it.
public static variables (and even singletons) are rarely a good idea as they introduce global state (sometimes they can be, but usually not).
If a static recorder like this can only have a binary value, use a boolean, if it can have multiple values, use an enum.
Some of the data sharing solutions in dependency injection - Passing Parameters JavaFX FXML - Stack Overflow might be more appropriate.
I also created a small framework for roll based solutions in JavaFX which perhaps might be useful:
http://stackoverflow.com/questions/19666982/is-there-a-way-to-implement-a-property-like-rendered-on-javafx
https://gist.github.com/jewelsea/7229260
It was just something I hacked together, so it's not a fully polished solution and you probably don't need something quite so complex.
What you need is a model class shared between the components of your application. Dependency injection frameworks such as afterburner.fx can help achieve this in a fairly simple to use way.
If you don't want to go with a dependency injection framework, then you could use either a static singleton model class for your settings or pass the model class using the mechanism in defined in the passing parameters link I provided. For a model class example, see the ClickCounter class from this example. That example doesn't use FXML, but to put it together with the passing parameters solution, for your restriction model, you would have something like the following:
private class Restricted {
private final ReadOnlyBooleanWrapper restricted;
public Restricted(boolen isRestricted) {
restricted = new ReadOnlyBooleanWrapper(isRestricted);
public boolean isRestricted() {
return restricted.get();
public ReadOnlyBooleanProperty restrictedProperty() {
return restricted.getReadOnlyProperty();
Then in your EntryDisplayController you have:
@FXML
public void goToMainDisplay(ActionEvent event) {
// determine the restriction model as per your original code...
RestictionModel restrictionModel = new RestrictionModel(<appropriate value>);
FXMLLoader loader = new FXMLLoader(
getClass().getResource(
"mainDisplay.fxml"
Stage stage = new Stage(StageStyle.DECORATED);
stage.setScene(
new Scene(
(Pane) loader.load()
MainDisplayController controller =
loader.<MainDisplayController>getController();
controller.initRestrictionModel(restrictionModel);
stage.show();
class MainDisplayController() {
@FXML private RestrictionModel restrictionModel;
@FXML private RestrictLabel restrictLabel;
public void initialize() {}
// naming convention (if the restriction model should only be set once per controller, call the method init, otherwise call it set).
public void initRestrictionModel(RestrictionModel restrictionModel) {
this.restrictionModel = restrictionModel;
// take some action based on the new restriction model, for example
restrictLabel.textProperty.bind(
restrictionModel.restrictedProperty().asString()
If you have a centralized controller for your navigation and instantiation of your FXML (like in this small FXML navigation framework), then you can handle the setting of restrictions on new screens centrally within the framework at the point where it loads up FXML or navigates to a screen (it seems like you might already have something like this with your ScreensController class).
If you do this kind of stuff a lot, then you would probably benefit from a move to a framework like afterburner. If it is just a few times within your application, then perhaps something like the above outline will give you enough guidance to implement a custom solution. -
Hello all,
I want to call a function located in an external DLL from a PL-SQL block. I execute the followin steps :
1. Create a database library pointing to the external DLL :
create or replace library libstk as 'C:\SUMMIT\libstkdte_s_trade1.dll'
2. Create the definition and the body package :
CREATE OR REPLACE PACKAGE dllcall IS
FUNCTION s_trade (
s_in VARCHAR2 )
RETURN VARCHAR2;
PRAGMA RESTRICT_REFERENCES(s_trade, WNDS);
end dllcall;
show errors
CREATE OR REPLACE PACKAGE BODY dllcall IS
FUNCTION s_trade (s_in IN VARCHAR2) RETURN VARCHAR2
IS EXTERNAL
NAME "s_trade"
LIBRARY libstk
PARAMETERS (s_in STRING,
RETURN STRING);
END dllcall;
show errors
set serveroutput on
3. Start the PL-SQL block calling the external function. And I got the foolowing error :
1 begin
2 dbms_output.put_line ( dllcall.s_trade ( '<Request> ' ||
3 '<CurveId>MYCURVE</CurveId> ' ||
4 '<Mode>02</Mode> ' ||
5 '<ExpCcy>GBP</ExpCcy> ' ||
6 '<AsOfDate>20001023</AsOfDate> ' ||
7 '<Entity>***SUMMIT-XML***</Entity> ' ||
8 '</Request>') );
9* end;
10
11 /
begin
ERROR à la ligne 1 :
ORA-06520: PL/SQL: Error loading external library
ORA-06522: Unable to load DLL
ORA-06512: at "V31.DLLCALL", line 0
ORA-06512: at line 2
The "Read - Execute permissions" of the DLL file was given to "Authentified users" .
What's wrong ?
TIA
PS : NT2K environment, DB 8.1.7
R. Charles EmileYes, a RPC was set up.
Listner.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Server1)(PORT = 1521))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = NMP)(SERVER = Server1)(PIPE = ORAPIPE))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\Oracle\Ora81)
(PROGRAM = extproc)
tnsnames.ora
extproc_connection_data =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA = (SID = PLSExtProc))
Thanks
RCE
Maybe you are looking for
-
Hello Gurus, We have an issue in sale order. It is like this. When we change the confirmed quantity in the sales order the item price is changing by few decimals. When we searched for notes we found in one note that it is system standard behaviour. B
-
Adding dynamic content to accordion panels
Hello, and thank you in advance for any help. I need to make a new web page for my girlfriend. She's a photographer which means she needs to update her page pretty often. The usual small systems however were way too complicated for her. After seeing
-
Why do I always get the spinning wheel of death when trying to open a CC program??
It eventually opens or stalls out and I have to try again. Waaay sloooow - My CS5.5 is better - what's the deal? Using Mac OS X Lion and have plenty of memory. Is anyone else having this problem? - I don't have time to wait several minutes for the
-
If anybody can Help me! installing solaris 8 in intel chipset 820v
Hi All, During installation of Solaris 7 or 8 in Intel plateform, I have encountered following problem listed below.I have also checked the motherboard's chipset with Sun's Hardware Compatiability List, it is there. My Machine: Intel PIII Motherboard
-
i changed my apple Id and it was verified and now that i am trying to purchase something on my IPAD its still showing up as my old Apple ID when my new Apple ID was verified and changed