Works with table as parameter name
How to fix this feature
Create or replace function f1 ( tab_name in varchar2 ) return number as num_of_row number; begin num_of_row := 'select count(*) from' || 'tab_name''; return num_of_row; end;
create or replace function f1 ( tab_name in varchar2 ) return number as num_of_row number; sqlstr varchar2(900); begin sqlstr := ' SELECT count(*) FROM '|| tab_name; execute Immediate sqlstr Into num_of_row; return num_of_row; end;
I have it
Tags: Database
Similar Questions
-
Working with table gross typed the parameter of the procedure.
I have a table defined as
CREATE TABLE 'JOBS '.
("JOB_ID' VARCHAR2 (200 BYTE),
'FUNCTION' RAW (16).
NUMBER OF "MIN_SALARY."
NUMBER OF "MAX_SALARY.
)
Defined as package
create or replace package associative_array as
type t_job_id is table of index jobs.job_id%type by pls_integer;
type t_job_title is table of index jobs.job_title%type by pls_integer;
type t_min_salary is table of index jobs.min_salary%type by pls_integer;
type t_max_salary is table of index jobs.max_salary%type by pls_integer;
procedure array_insert (p_job_id in t_job_id,
p_job_title in t_job_title,
p_min_salary in t_min_salary,
p_max_salary to t_max_salary);
end associative_array;
/
create or replace package body associative_array as
procedure array_insert (p_job_id in t_job_id,
p_job_title in t_job_title,
p_min_salary in t_min_salary,
p_max_salary to t_max_salary) is
Start
ForAll i in p_job_id.first... p_job_id. Last
insert into jobs (job_id,
function,
min_salary,
max_salary)
values (p_job_id (i),
p_job_title (i),
p_min_salary (i),
p_max_salary (i));
end array_insert;
end associative_array;
/
The client code is
String s = "UserID = system; password = system; data source = ORCL; enlist = true; layout common = true ";
create and open the connection object
Con OracleConnection = new OracleConnection (constr.);
con. Open();
OracleCommand cmd = con. CreateCommand();
cmd.CommandText = "associative_array.array_insert";
cmd.CommandType = CommandType.StoredProcedure;
create objects for each parameter setting
OracleParameter p_job_id = new OracleParameter();
OracleParameter p_job_title = new OracleParameter();
OracleParameter p_min_salary = new OracleParameter();
OracleParameter p_max_salary = new OracleParameter();
set the type parameter for each parameter
p_job_id. OracleDbType is OracleDbType.Varchar2.;
p_job_title. OracleDbType = OracleDbType.Raw;
p_min_salary. OracleDbType = OracleDbType.Decimal;
p_max_salary. OracleDbType = OracleDbType.Decimal;
Set the type of collection for each parameter
p_job_id CollectionType in the Group OracleCollectionType.PLSQLAssociativeArray;
p_job_title. CollectionType = OracleCollectionType.PLSQLAssociativeArray;
p_min_salary. CollectionType = OracleCollectionType.PLSQLAssociativeArray;
p_max_salary. CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Set the parameter values
p_job_id. value = new string [3] {"IT_DBA", "IT_MAN", "IT_VP"};
p_job_title. Value = new Guid [1] {Guid.NewGuid ()};
p_min_salary. Value = new decimal [3] {8000, 12000, 18000};
p_max_salary. Value = new decimal [3] {16000, 24000, 36000};
set the size for each table
p_job_id. size = 3;
p_job_title. Size = 1;
p_min_salary. Size = 3;
p_max_salary. Size = 3;
p_job_id. ParameterName = "p_job_id";
p_min_salary. ParameterName = "p_min_salary";
p_max_salary. ParameterName = "p_max_salary";
p_job_title. ParameterName = "p_job_title";
Add parameters to the collection of command objects
cmd. Parameters.Add (p_job_id);
cmd. Parameters.Add (p_job_title);
cmd. Parameters.Add (p_min_salary);
cmd. Parameters.Add (p_max_salary);
BindByName. cmd = true;
run the insert
cmd ExecuteNonQuery());
Error occurred during execution of the customer.
Unhandled exception: System.ArgumentException: invalid parameter binding
Parameter name: p_job_title
at Oracle.DataAccess.Client.OracleParameter.GetBindingSize_Raw (Int32 idx)
at Oracle.DataAccess.Client.OracleParameter.PreBind_Raw)
to Oracle.DataAccess.Client.OracleParameter.PreBind (OracleConnection conn, IntPtr errCtx, Int32 arraySize)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery)
But if I change jobs. P_job_title varchar2 and change function. Value and p_job_title. Therefore, any OracleDbType is fine.Following me is at fault-
p_job_title. Value = new Guid [1] {Guid.NewGuid ()};Since you have already said-
p_job_title. OracleDbType = OracleDbType.Raw;You must have 'p_job_title. Value' as 'Byte' or 'OracleBinary.
It will be useful.
-
Working with tables on a webservice response
I use QtSoap to receive a response from a Web service, it consists mainly of three large paintings full of articles.
I'm confused, how to manage the responses, especially the berries.
Feel free to improve some of my code, developer java I'm collecting pieces of code from all the corners of the web and try to get running them together
What I got so far is to iterate over the answer and 'find' the relevant tables.
But how to convert the element in a table? So far, my weak attempts failed to succeed.
const QtSoapMessage& resp = m_soap.getResponse(); QtSoapStruct &m = (QtSoapStruct &) resp.method(); for (QtSoapStructIterator it(m); it.current(); ++it) { QtSoapType *item = it.data(); if (QString::compare("Attributes", item->name().name()) == 0) { qDebug() << "Attributes found"; } else if (QString::compare("Box", item->name().name()) == 0) { qDebug() << "Box found"; } else if (QString::compare("Tabs", item->name().name()) == 0) { qDebug() << "Tabs found"; } else if (QString::compare("Version", item->name().name()) == 0) { qDebug() << "Version: "+item->value().toString(); } }
Have not tried it myself, but I think you can convert your points of QtSoapType to QtSoapArray if they are of this type.
QtSoapType *item = it.data(); if (item != NULL && item->type() == QtSoapType::Array) { QtSoapArray* array = (QtSoapArray*)item; // now work with array }
I would like to know if it works.
-
Connect you to Skype does not work with the correct user name and password
I tried to login with my correct user name and password, but received the error: unable to connect to Skype.
So, I reset the password and can log on the Skype website.
Tried to connect to Skype and the same error: unable to connect to Skype.
I use
Mac OS X Version 10.9.5.
Skype 5.8.0.1027.
OK, I think I thought about it on my own. I had not used Skype for some time. I just DLed the latest version and here is my connection works fine. Hope this helps you.
-
Easy to work with tables in InDesign for better organization
Hello. I'm on a MacBook Pro using CS6.
I often work with catalogues and price lists. These cases were referred in me and I am their redesign.
Right now I'm working on a catalogue which is 40 pages. Here is a picture of a sample of what it looks like over the course of...
Reference numbers are not in order and I'm working on it. As you can see, we have a table header that would be on every page:
"Image number Description element.
I put in order the following, these headers are circulating throughout the document that I have delete/insert lines. (Some cells are different sizes [as you can see on the color boxes in the image below]).
I also wonder if anyone has experience in design/creation of catalogues and if they have any input regarding what works best for them.
Thanks for your time.
When you say that the header are fluid, I take this means they are repeated on each page and are moving high when you make changes?
If this is the case, you must remove all headers except the one on the first page. Select this line and under the Table, choose Convert line > letterhead. You can then choose in the configuration of the Table have the header to repeat at the top of each image, once per page or every text column. All changes to the main header will be now repeat on each page and the header will stay on top of every page, regardless of how you move your objects.
-
I am trying to create a function that returns the distinct value and counts of a user defined schema/table/column.
The code below defines a [stats_on_column_obj] object type and creates a single table of this type [stats_on_column_tab].
The function is supposed to take three input variables: p_schema_name, nom_table_p, p_column_name and return an array (above).
I can hardcode a select into (the)... but once I try to convert it into settings & immediate exec I'm stuck. The red section is where the problem is (I think).
Oracle 10g.
Stats_on_column_obj CREATE TYPE IS OBJECT (
COL_VAL VARCHAR2 (500),
NUMBER OF COL_VAL_CNT (7)
);
CREATE TYPE Stats_on_column_tab IS TABLE OF stats_on_column_obj;
FUNCTION to CREATE or REPLACE get_STATS_ON_COLUMN
(
p_schema_name IN varchar2,
nom_table_p IN varchar2,
p_column_name IN varchar2
)
RETURN STATS_ON_COLUMN_tab
IS
l_STATS_ON_COLUMN_tab STATS_ON_COLUMN_tab: = STATS_ON_COLUMN_tab ();
n INTEGER: = 0;
str_select_tbl varchar2 (5000);
BEGIN
str_select_tbl: = 'SELECT'. p_column_name |' as col_val, count (*) as col_val_cnt FROM ' | p_schema_name |'. ' || nom_table_p: ' group of ' | p_column_name;
FOR r IN (str_select_tbl)
LOOP
l_STATS_ON_COLUMN_tab. EXTEND;
n: = n + 1;
l_STATS_ON_COLUMN_tab (n): = STATS_ON_COLUMN_obj (r.col_val, r.col_val_cnt);
END LOOP;
RETURN l_STATS_ON_COLUMN_tab;
END;
/
[Error] PLS-00103 (124:4): PLS-00103: encountered the symbol "LOOP" when expecting one of the following numbers: * & - + / at rem rest mod.. < an exponent (*) > | multiset year DAY_
[Error] PLS-00103 (126:9): PLS-00103: encountered the symbol "=" when expected in the following way: constant exception < an ID > < a between double quote delimited identifiers > double Ref table Fedya Chariot of time timestam
[Error] PLS-00103 (127:29): PLS-00103: encountered the symbol "
[Error] PLS-00103 (128:4): PLS-00103: encountered the symbol "END" when waiting for one of the following numbers: begin function package pragma procedure subtype type use < an ID > < a double quote delimited identifier > form
SELECT * FROM TABLE (get_STATS_ON_COLUMN ('SCHEMAS_X', 'TABLE_X', 'COLUMN_X'));
Scott@ORCL > CREATE OR REPLACE
FUNCTION get_STATS_ON_COLUMN () 2
3 p_schema_name IN varchar2,
4 nom_table_p IN varchar2,
5 p_column_name IN varchar2
6 )
7 STATS_ON_COLUMN_tab of RETURN
8 EAST
9 v_STATS_ON_COLUMN_tab STATS_ON_COLUMN_tab: = STATS_ON_COLUMN_tab ();
10 v_n INTEGER: = 0;
11 v_str_select_tbl VARCHAR2 (5000);
BEGIN 12
13 v_str_select_tbl: = ' SELECT stats_on_column_obj (' | p_column_name |) ', Count OF ' |
14 p_schema_name | '.' || nom_table_p | "Group of" | p_column_name;
15 v_str_select_tbl EXECUTE IMMEDIATE
COLLECTION IN BULK 16
17 IN v_STATS_ON_COLUMN_tab;
18 RETURN v_STATS_ON_COLUMN_tab;
END 19;
20.The function is created.
Scott@ORCL > select *.
2 from table)
(3 get_STATS_ON_COLUMN)
4 'SCOTT',
5 'EMP',
6 'JOB'
7 )
8 )
9.COL_VAL COL_VAL_CNT
-------------------- -----------
CLERK 4
SELLER 4
PRESIDENT 1
MANAGER 3
ANALYST 2Or better change function in the pipeline.
SY.
-
How to work with tables (or lists) in the responses of WebService?
Good evening!
In a BPEL process, I invoked a certain Webservice that return me a list of people. Like this:
< response >
< personList >
< person > Person1 < / person >
< person > Person2 < / person >
< person > channels3 < / person >
< / people >
< / respons >
Now I need to do something with each returned item (like to call another Web service with the parameter 'person' (so I need to call a Web service for a 3 times))
How can I do this?
In the Assign CopyRules element, I see only:
response | _
personList | _
Nobody
As a person is a simple element, not a list.
Can I use one for each element? And what next?
Thank you.http://download.Oracle.com/docs/CD/E12483_01/integrate.1013/b28981/manipdoc.htm#BABCHBFB
http://clemensblog.blogspot.com/2006/03/BPEL-looping-over-arrays-Collections.html
http://oraclebpelindepth.blogspot.com/2008/09/arrays-in-bpel_21.htmlIndeed, you need for each and loop over each item in the person in
in the loop, you can call the other service with the input of the corresponding person-element-data data
person [1] / name
[2] person / nameetc.
-
How to put a table as parameter name in the name of the cursor and the header as a variable?
Hello
I have the code:
and I don't know how to create the slider:create or replace procedure transpose_table_row2column(table_source IN VARCHAR2 ,table_result IN VARCHAR2) is -- set serveroutput on; v_nazwa_kamp varchar2(100); v_czas_start date; v_czas_stop date; err_code varchar2(50); err_msg varchar2(2000); cmd_1_drop varchar2(50); cnt_1 pls_integer; cnt_2 pls_integer; cnt_3 pls_integer; cnt_4 pls_integer; v_col_name varchar2(50); test varchar2(5); -- deklaracja wyjatku dla nieistniejacej lub niedostepnej tabeli TableDoesNotExist EXCEPTION; PRAGMA EXCEPTION_INIT(TableDoesNotExist, -942); -- nazwa pierwszej kolumny tabeli zrodlowej cursor first_column is SELECT column_name FROM USER_TAB_COLUMNS WHERE TABLE_NAME = upper(table_source) and column_id = 1; -- wartosci z pierwszej kolumny tabeli zrodlowej cursor first_col_data_header is select v_col_name from table_source; begin test := 'true'; v_nazwa_kamp := 'transpose_table_row2column'; v_czas_start := sysdate; -- sprawdzenie czy istnieje tabela zrodlowa BEGIN EXECUTE IMMEDIATE 'SELECT count(*) FROM ' || table_source INTO cnt_4; EXCEPTION WHEN TableDoesNotExist THEN test := 'false'; err_code := SQLCODE; err_msg := substr(SQLERRM, 1, 2000); INSERT INTO log_errors (time_err, object_name, campaign_name, error_number, error_message) VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg); COMMIT; WHEN NO_DATA_FOUND THEN test := 'false'; err_code := SQLCODE; err_msg := substr(SQLERRM, 1, 2000); INSERT INTO log_errors (time_err, object_name, campaign_name, error_number, error_message) VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg); COMMIT; WHEN OTHERS THEN test := 'false'; err_code := SQLCODE; err_msg := substr(SQLERRM, 1, 2000); INSERT INTO log_errors (time_err, object_name, campaign_name, error_number, error_message) VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg); COMMIT; END; -- jesli istnieje tabela zrodlowa to przetwarzamy if test = 'true' then -- pobieram nazwe pierwszej kolumny tabeli zrodlowej for v_first_column in first_column loop v_col_name := v_first_column.column_name; end loop; -- sprawdzenie czy istnieje tabela docelowa, jesli tak to trzeba usunac select count(*) into cnt_1 from user_tables t where t.table_name = upper(table_result); -- jesli istnieje tabela docelowa to usuwamy if cnt_1 > 0 then cmd_1_drop := 'DROP TABLE ' || table_result; execute immediate cmd_1_drop; end if; -- pobranie liczby wierszy tabeli zrodlowej - nalezy stworzyc tyle samo kolumn w tabeli docelowej -- ponizej sprawdzenie czy w pierwszej kolumnie tabeli zrodlowej sa unikalne wartosci - jesli nie to nie mozna -- transponowac tabeli poniewaz musi ona miec te wartosci jako naglowki nowej tabeli i musza wystepowac one tylko 1 raz execute immediate 'select count(' || v_col_name || ') from ' || table_source into cnt_2; execute immediate 'select count(distinct ' || v_col_name || ') from ' || table_source into cnt_3; -- jesli wartosci w 1 kolumnie sa unikalne to przetwarzamy dalej if cnt_2 = cnt_3 then -- tutaj rozpoczynamy odczytywanie tabeli zrodlowej i tworzenie nowej przetransponowanej tabeli for v_first_col_data_header in first_col_data_header loop DBMS_OUTPUT.PUT_LINE(': ' || v_first_col_data_header.v_col_name); end loop; v_czas_stop:= sysdate; insert into log_campaigns (campaign_name, time_start, time_stop, records_count, time_diff_min) values (v_nazwa_kamp, v_czas_start, v_czas_stop, cnt_2, round((v_czas_stop - v_czas_start) * 24 * 60, 2)); commit; end if; end if; EXCEPTION WHEN OTHERS THEN err_code := SQLCODE; err_msg := substr(SQLERRM, 1, 2000); INSERT INTO log_errors (time_err, object_name, campaign_name, error_number, error_message) VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg); COMMIT; end transpose_table_row2column;
I have error this table does not existcursor first_col_data_header is select v_col_name from table_source;
because table_name is the name of the parameter and v_col_name is variable which I initialize later in the code:
Thanks for helpfor v_first_column in first_column loop v_col_name := v_first_column.column_name; end loop;
Here is the code you are looking for:
create or replace procedure transpose_table_row2column (table_source IN VARCHAR2, table_result IN VARCHAR2) is
-set serveroutput on;
v_nazwa_kamp varchar2 (100);
date of v_czas_start;
date of v_czas_stop;
err_code varchar2 (50);
err_msg varchar2 (2000);cmd_1_drop varchar2 (50);
cnt_1 pls_integer;
cnt_2 pls_integer;
cnt_3 pls_integer;
cnt_4 pls_integer;
v_col_name varchar2 (50);
test varchar2 (5);-deklaracja wyjatku dla nieistniejacej lub niedostepnej tabeli
TableDoesNotExist EXCEPTION;
PRAGMA EXCEPTION_INIT (TableDoesNotExist,-942);-name pierwszej kolumny tabeli zrodlowej
l_first_column varchar2 (32767): = 'SELECT column_name FROM USER_TAB_COLUMNS WHERE TABLE_NAME = upper(:table_source) and column_id = 1';-z pierwszej kolumny tabeli zrodlowej wartosci
l_first_col_data_header varchar2 (32767).
first_col_data_header sys_refcursor;
l_first_col_data varchar2 (32767).Start
test: = "true";
v_nazwa_kamp: = 'transpose_table_row2column ';
v_czas_start: = sysdate;-sprawdzenie czy istnieje image zrodlowa
BEGIN
EXECUTE IMMEDIATE ' SELECT count (*) FROM "| table_source INTO cnt_4;
EXCEPTION
WHEN TableDoesNotExist
THEN
test: = "false";
err_code: = SQLCODE;
err_msg: = substr (SQLERRM, 1, 2000);
INSERT INTO log_errors (campaign_name, time_err, object_name, error_message, error_number)
VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg);
COMMIT;WHEN NO_DATA_FOUND
THEN
test: = "false";
err_code: = SQLCODE;
err_msg: = substr (SQLERRM, 1, 2000);
INSERT INTO log_errors (campaign_name, time_err, object_name, error_message, error_number)
VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg);
COMMIT;WHILE OTHERS
THEN
test: = "false";
err_code: = SQLCODE;
err_msg: = substr (SQLERRM, 1, 2000);
INSERT INTO log_errors (campaign_name, time_err, object_name, error_message, error_number)
VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg);
COMMIT;END;
-jesli istnieje image zrodlowa at przetwarzamy
If test = "true", then-pobieram nazwe pierwszej kolumny tabeli zrodlowej
run immediately l_first_column in v_col_name using table_source;-sprawdzenie czy istnieje image docelowa, tak jesli to trzeba usunac
Select count (*) in the user_tables cnt_1 t
where t.table_name = upper (table_result);-jesli istnieje image docelowa at usuwamy
If cnt_1 > 0 then
cmd_1_drop: = 'DROP TABLE ' | table_result;
immediately run cmd_1_drop;
end if;-pobranie liczby wierszy tabeli zrodlowej - nalezy stworzyc tyle samo kolumn tabeli w docelowej
-czy sprawdzenie ponizej w pierwszej kolumnie zrodlowej his unikalne wartosci tabeli - jesli nie to nie mozna
-transponowac tabeli poniewaz musi ona IMCs you wartosci tabeli nowej naglowki jako I musza wystepowac a tylko 1 raz
run immediately "select count (' |)" v_col_name | ') de ' || table_source in cnt_2;
run immediately "select count (distinct ' |)" v_col_name | ') de ' || table_source in cnt_3;-jesli wartosci w 1 kolumnie his unikalne to przetwarzamy dalej
If cnt_2 = cnt_3 then-tutaj rozpoczynamy tabeli zrodlowej odczytywanie I create nowej przetransponowanej tabeli
l_first_col_data_header: = 'choose ' | v_col_name | 'from ' | table_source;
Open the first_col_data_header for l_first_col_data_header;
loop
extract the first_col_data_header in l_first_col_data;
When the output first_col_data_header % notfound;
DBMS_OUTPUT. Put_line (': ' | l_first_col_data);
end loop;v_czas_stop: = sysdate;
insert into log_campaigns (campaign_name time_start time_stop, records_count, time_diff_min)
values (v_nazwa_kamp, v_czas_start, v_czas_stop, cnt_2, round ((v_czas_stop-v_czas_start) * 24 * 60, 2));
commit;end if;
end if;EXCEPTION
WHILE OTHERS THEN
err_code: = SQLCODE;
err_msg: = substr (SQLERRM, 1, 2000);INSERT INTO log_errors (campaign_name, time_err, object_name, error_message, error_number)
VALUES (sysdate, 'transpose_table_row2column', v_nazwa_kamp, err_code, err_msg);
COMMIT;end transpose_table_row2column;
-
Hello?!
I have a table, example: (1, 2, 3, 4)
and I want to change the position of the '1' with '4', how can I?
and remove the "1"?
Thank you
MelloThank you... but I did a crazy thing... but works...; x
I created two functions crazy xD -
Wander, call from java to sql pl with table out parameter procedure
Hello
Please help me? It is urgent for me...
My Oracle's Code is like this,CREATE TABLE TEST_TABLE ( DATE1 DATE, VALUE_EXAMPLE VARCHAR2(20 BYTE), VALUE2_EXAMPLE VARCHAR2(20 BYTE), VALUE3_EXAMPLE NUMBER ); CREATE OR REPLACE TYPE TONERECORDTEST AS OBJECT ( DATE1 DATE, VALUE_EXAMPLE VARCHAR2(20), VALUE2_EXAMPLE VARCHAR2(20), VALUE3_EXAMPLE NUMBER ); CREATE OR REPLACE TYPE TTESTTABLE IS TABLE OF TONERECORDTEST; CREATE OR REPLACE PACKAGE test_collection_procedures AS PROCEDURE testCallProcedureFromJava(start_time IN DATE, end_time IN DATE, table_data OUT TTesttable); END test_collection_procedures; / CREATE OR REPLACE PACKAGE BODY test_collection_procedures AS PROCEDURE testCallProcedureFromJava(start_time IN DATE, end_time IN DATE, table_data OUT TTesttable) IS BEGIN SELECT TONERECORDTEST(date1, value_example, value2_example, value3_example) BULK COLLECT INTO table_data FROM TEST_TABLE WHERE DATE1>=start_time AND DATE1<=end_time; END testCallProcedureFromJava; END test_collection_procedures;
And it's like my Java Code
import java.sql.Connection; import java.sql.DriverManager; import oracle.jdbc.OracleCallableStatement; import oracle.jdbc.OracleTypes; import oracle.sql.ARRAY; import oracle.sql.ArrayDescriptor; import oracle.sql.STRUCT; import oracle.sql.StructDescriptor; public class testPLCollectionType { public static void main(java.lang.String[] args) { try{ //Load the driver Class.forName ("oracle.jdbc.driver.OracleDriver"); // Connect to the database Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@serverbd:1521:squema1","user", "password"); // First, declare the Object arrays that will store the data (for TONERECORDTEST OBJECT TYPE) Object [] p2recobj; Object [] p3recobj; Object [] p4recobj; // Declare the Object Arrays to hold the STRUCTS (for TTESTTABLE TYPE) Object [] p2arrobj; // Declare two descriptors, one for the ARRAY TYPE // and one for the OBJECT TYPE. StructDescriptor desc1=StructDescriptor.createDescriptor("TONERECORDTEST",conn); ArrayDescriptor desc2=ArrayDescriptor.createDescriptor("TTESTTABLE",conn); // Set up the ARRAY object. ARRAY p2arr; // Declare the callable statement. // This must be of type OracleCallableStatement. OracleCallableStatement ocs = (OracleCallableStatement)conn.prepareCall("{call test_collection_procedures.testCallProcedureFromJa va(?,?,?)}"); // Declare IN parameters. Realize that are 2 DATE TYPE!!! Maybe your could change with setDATE ocs.setString(1,"01-JAN-04"); ocs.setString(2,"10-JAN-05"); // Register OUT parameter ocs.registerOutParameter(3,OracleTypes.ARRAY,"TTESTTABLE"); // Execute the procedure ocs.execute(); // Associate the returned arrays with the ARRAY objects. p2arr = ocs.getARRAY(3); // Get the data back into the data arrays. //p1arrobj = (Object [])p1arr.getArray(); p2arrobj = (Object [])p2arr.getArray(); System.out.println("Number of rows="+p2arrobj.length); System.out.println("Printing results..."); for (int i=0; i<p2arrobj.length; i++){ Object [] piarrobj = ((STRUCT)p2arrobj).getAttributes();
System.out.println();
System.out.print("Row "+i);
for (int j=0; j<4; j++){
System.out.print("|"+piarrobj[j]);
}
}
}catch (Exception ex){
System.out.println("Exception-->"+ex.getMessage());
}
}
}Actually when i running the java program it is showing error
Exception-->ORA-06550: line 1, column 58:
PLS-00103: Encountered the symbol "VA" when expecting one of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "VA" to continue.I am not getting the error .Please help me out Dhabas Edited by: Dhabas on Jan 12, 2009 3:49 PM
// Declare the callable statement. // This must be of type OracleCallableStatement. ..."{call test_collection_procedures.testCallProcedureFromJa va(?,?,?)}");
Looks like divorced Ja's.
-
CTRL-click does not work with camelCase and PascalCase names
I added a small example to reproduce the problem:
create or replace view foobar as select 1 as id from dual; -- Ctrl-click does not work select * from fooBar; -- Ctrl-click works as expected select * from foobar; -- Ctrl-click works as expected select * from FOOBAR;
I tested on Oracle SQL Developer 4.1 ai2 (4.1.0.18.37)
Yes, I see that bug
-
Addition of the new Image and text to an existing Page created with Tables
Work in DW 5.5
I try to add a new image/link and a small amount of text to an existing web page that was created with tables and centered. I use AP div tags. One for the image and one for the text. Everything works fine, but I can't get the new anchor points and to re - center with the rest of the page. I'm not able to get around the "absolute positioning". I tried different solutions of various tutorials but I can't make them work with tables.
Added items are a Facebook button and text.
Go to: http://www.sugarhollowfarms.NET/index.html See the problem.
Help, please. I'm not that experienced.
First, make a back up of the page before you implement the changes below!
Take the bit of code below to
...... to..........and insert it directly after the opening tag div FWTableContainer and before your opening table tag (see location below):
">Join us
on Facebook
Then add - position: relative; -to the css of FWTableContainer (as shown below):
{#FWTableContainer209091602}
/ * The div master to make sure that our contextual menus get properly aligned. Be careful when you play with this one. */
position: relative;
margin: auto;
Width: 800px;
height: 600px;
text-align: left;
top: 20px;
background-image: url(images/homepage_new3.jpg);
border: medium solid #336600;
position: relative;
}
Edit the css for FBlogo to as below:
{#FBlogo}
position: absolute;
left: 700px;
top: 380px;
Width: 91px;
z-index: 1;
text-align: center;
}
Edit the css for bodytext as below:
{.bodytext}
do-family: Verdana, Arial, Helvetica, without serif.
do-size: 11px;
line-height: 13px;
margin: 0;
padding: 0;
}
-
Search page based on query with Table on Layershift ADF Panel does not work correctly
Hello
I'm on 11.1.2.4 jdev and deployed my application on glassfish 3.1.2. I've hosted this application on Layershift externally.
I created a search page based on query ADF with table Panel. All fields of research are working fine on weblogic Server integrated and my deployment local glassfish.
However, on Layershift, when I enter some criteria of research in certain fields, it does not record.
UPDATE, it seems that the problem is with the fields which are of the "String" ie. Name. Fields of data type Integer and Date seems fine.
any ideas please?
Thank you
kdario, you're right, ViewCriteria does not use the correct syntax for mysql for the concatenation.
The generated sql statement looks like this.
SELECT * FROM (select student_id, student_name, from student) QRSLT WHERE ( ( (UPPER(student_name) LIKE UPPER('%' || 'Per' || '%') ) ) )
as DB MySql does not support | (double pipe sign), its sql causing failure.
in order to support |, mysql requires to change the sql mode setting in the file my.cnf (on linux) in the
# Set the SQL mode to strict sql-mode="PIPES_AS_CONCAT,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
After setting this parameter, its working fine now.
-
How to move from records in a procedure with Table Type as a parameter block
Hello
How can I move all records in a block of PL/SQL procedure with argument of Type Table or Refcursor.
I created a procedure in the backend with a parameter of Type table. Of the form, I want to call this procedure with the argument that ALL of the records in BULK.
Y at - it a simple method for it.
Thanks in advance
RizlyRizly,
I recently put in place a level of forms audit process that uses this method very - package of database, which takes an array of Records as a parameter. Forms 10 G supports this nicely. We have sought to implement this through a set of database triggers (update, insert, delete) but due to our requirements, it was not the best place to do so that we have implemented this in forms.Brief history on my form. The main block was based on a table, and the block has been marked NOT can, Insert and Delete. If the user wants to insert, update, or delete a record they clicked on Insert, Update, or Delete button that opens a popup form where they seized a reason Code and a Description of the transaction and then clicked a button Save.
Here's what I did.
Database side *.
1 package database with a Record of PL/SQL and PL/SQL records in the Table variable declared in the Package specification.
2. create INSERT_?, warning? and DELETE_? package procedures to manage integration, updates and deletions.
Secondary forms *.
1 create a table (control) Non-Base with all fields block
2. create a button that performs a loop on the block and all values assigns to the variable of records in the Table (ToR) forms (typed off the DB package)
3. pass the ToR to the appropriate database package procedure.Here is an example of the code I wrote:
Database side *.
Package specifications * (Note: replacewith your database schema name) also note, I use PL/SQL Developer with the PLDoc plug-in so I documentation tags in my code. CREATE OR REPLACE PACKAGE
.Transaction_Log_pkg IS -- Package Global Variables -- ------------------------ TYPE rec_T_Log IS RECORD ( table_name .transaction_log.table_name%TYPE ,trans_type .transaction_log.trans_type%TYPE ,trans_key .transaction_log.trans_key%TYPE ,action .transaction_log.action%TYPE ,column_name .transaction_log.column_name%TYPE ,old_value .transaction_log.old_value%TYPE ,new_value .transaction_log.new_value%TYPE ,trans_date .transaction_log.trans_date%TYPE ,user_id .transaction_log.user_id%TYPE ,reason_code .transaction_log.reason_code%TYPE ,comments .transaction_log.comments%TYPE ); TYPE tbl_T_Log IS TABLE OF rec_T_Log INDEX BY BINARY_INTEGER; -- Insert_Record -------------------------------------------------------------------------------- /** Procedure adds "INSERT" audting records in to the CIR.TRANSACTION_LOG table %param p_t_log TABLE_OF_RECORDS %desc You can pass a single record or a group of records. Allows you to package up all of the values inserted in a table and send them to the Insert_Record procedure as a group rather than as individual transactions. -- ---------------------------------------------------------------------------------------------- */ PROCEDURE Insert_Record (p_t_log tbl_T_Log ); -- Update_Record -------------------------------------------------------------------------------- /** Procedure adds a "UPDATE" record(s) in the CIR.TRANSACTION_LOG table %param p_t_log TABLE_OF_RECORDS %desc You can pass a single record or a group of records if more than one value in a row is updated. -- ---------------------------------------------------------------------------------------------- */ PROCEDURE Update_Record (p_t_log tbl_T_Log ); -- Delete_Record -------------------------------------------------------------------------------- /** Procedure adds "DELETE" records in to the CIR.TRANSACTION_LOG table %param p_t_log TABLE_OF_RECORDS %desc You can pass a single record or a group of records. Allows you to package up all of the values inserted in a table and send them to the Delete_Record procedure as a group rather than as individual transactions. -- ---------------------------------------------------------------------------------------------- */ PROCEDURE Delete_Record (p_t_log tbl_T_Log ); END Transaction_Log_pkg; Package body *.
-- Beginning of Package Body ------------------------------------------------------------------------- -- --------------------------------------------------------------------------------------------------- CREATE OR REPLACE PACKAGE BODY
.Transaction_Log_pkg AS -- Package EXCEPTIONS -- ------------------ null_table EXCEPTION; null_table_name EXCEPTION; null_trans_type EXCEPTION; null_trans_key EXCEPTION; null_action EXCEPTION; null_column_name EXCEPTION; null_value EXCEPTION; null_user_Id EXCEPTION; null_reason_code EXCEPTION; null_comments EXCEPTION; -- Package Variables -- ----------------- vErrMsg VARCHAR2(1000); vSQL VARCHAR2(2000); -- ---------------------------------------------------------------------------------------------- PROCEDURE Insert_Record (p_t_log tbl_T_Log ) IS BEGIN IF ( NVL(p_t_log.COUNT,0) = 0 ) THEN RAISE null_table; ELSE FOR i IN p_t_log.first .. p_t_log.last LOOP vSQL := 'INSERT INTO .transaction_log (seq_no,table_name,trans_type,trans_key,action' ||',column_name,old_value,new_value,trans_date,user_id,reason_code,comments)' ||' VALUES ( .TRANSACTION_NO_SEQ.nextval'; -- Build Insert Statement IF ( p_t_log(i).table_name IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).table_name||''''; ELSE RAISE null_table_name; END IF; IF ( p_t_log(i).trans_type IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).trans_type||''''; ELSE RAISE null_trans_type; END IF; IF ( p_t_log(i).trans_key IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).trans_key||''''; ELSE RAISE null_trans_key; END IF; IF ( p_t_log(i).action IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).action||''''; ELSE RAISE null_action; END IF; IF ( p_t_log(i).column_name IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).column_name||''''; ELSE RAISE null_column_name; END IF; IF ( p_t_log(i).old_value IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).old_value||''''; ELSE vSQL := vSQL||',NULL'; END IF; IF ( p_t_log(i).new_value IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).new_value||''''; ELSE RAISE null_value; END IF; --transaction_date vSQL := vSQL||',sysdate'; IF ( p_t_log(i).user_id IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).user_id||''''; ELSE RAISE null_user_id; END IF; IF ( p_t_log(i).reason_code IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).reason_code||''''; ELSE RAISE null_reason_code; END IF; IF ( p_t_log(i).comments IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).comments||''''; ELSE RAISE null_comments; END IF; vSQL := vSQL||')'; dbms_output.put_line('vSQL = '||vSQL); EXECUTE IMMEDIATE vSQL; vSQL := NULL; END LOOP; -- The COMMIT is intentionally left out to force the calling -- application to perform the commit and complies with the -- basics of encapsulation. -- --------------------------------------------------------- END IF; EXCEPTION WHEN null_table THEN vErrMSg := 'The p_t_log Collection cannot be null!'; RAISE_APPLICATION_ERROR(-20990,vErrMsg); WHEN null_table_name THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20991,vErrMsg); WHEN null_trans_type THEN vErrMSg := 'Transaction Type cannot be null!'; RAISE_APPLICATION_ERROR(-20992,vErrMsg); WHEN null_trans_key THEN vErrMSg := 'Transaction Key cannot be null!'; RAISE_APPLICATION_ERROR(-20993,vErrMsg); WHEN null_action THEN vErrMSg := 'Action cannot be null!'; RAISE_APPLICATION_ERROR(-20994,vErrMsg); WHEN null_column_name THEN vErrMSg := 'Column Name cannot be null!'; RAISE_APPLICATION_ERROR(-20995,vErrMsg); WHEN null_value THEN vErrMSg := 'Value cannot be null!'; RAISE_APPLICATION_ERROR(-20996,vErrMsg); WHEN null_user_Id THEN vErrMSg := 'User ID cannot be null!'; RAISE_APPLICATION_ERROR(-20997,vErrMsg); WHEN null_reason_code THEN vErrMSg := 'Reason Code cannot be null!'; RAISE_APPLICATION_ERROR(-20998,vErrMsg); WHEN null_comments THEN vErrMSg := 'Comments cannot be null!'; RAISE_APPLICATION_ERROR(-20999,vErrMsg); END Insert_Record; -- ------------------------------------------------------------------------------------------------ PROCEDURE Update_Record (p_t_log tbl_T_Log ) IS BEGIN IF ( NVL(p_t_log.COUNT,0) = 0 ) THEN RAISE null_table; ELSE FOR i IN p_t_log.first .. p_t_log.last LOOP vSQL := 'INSERT INTO .transaction_log (seq_no,table_name,trans_type,trans_key,action' ||',column_name,old_value,new_value,trans_date,user_id,reason_code,comments)' ||' VALUES ( .TRANSACTION_NO_SEQ.nextval'; -- Build Insert Statement IF ( p_t_log(i).table_name IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).table_name||''''; ELSE RAISE null_table_name; END IF; IF ( p_t_log(i).trans_type IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).trans_type||''''; ELSE RAISE null_trans_type; END IF; IF ( p_t_log(i).trans_key IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).trans_key||''''; ELSE RAISE null_trans_key; END IF; IF ( p_t_log(i).action IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).action||''''; ELSE RAISE null_action; END IF; IF ( p_t_log(i).column_name IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).column_name||''''; ELSE RAISE null_column_name; END IF; IF ( p_t_log(i).old_value IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).old_value||''''; ELSE vSQL := vSQL||',NULL'; END IF; IF ( p_t_log(i).new_value IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).new_value||''''; ELSE RAISE null_value; END IF; --transaction_date vSQL := vSQL||',sysdate'; IF ( p_t_log(i).user_id IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).user_id||''''; ELSE RAISE null_user_id; END IF; IF ( p_t_log(i).reason_code IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).reason_code||''''; ELSE RAISE null_reason_code; END IF; IF ( p_t_log(i).comments IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).comments||''''; ELSE RAISE null_comments; END IF; vSQL := vSQL||')'; dbms_output.put_line('vSQL = '||vSQL); EXECUTE IMMEDIATE vSQL; vSQL := NULL; END LOOP; -- The COMMIT is intentionally left out to force the calling -- application to perform the commit and complies with the -- basics of encapsulation. -- --------------------------------------------------------- END IF; EXCEPTION WHEN null_table THEN vErrMSg := 'The p_t_log Collection cannot be null!'; RAISE_APPLICATION_ERROR(-20990,vErrMsg); WHEN null_table_name THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20991,vErrMsg); WHEN null_trans_type THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20992,vErrMsg); WHEN null_trans_key THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20993,vErrMsg); WHEN null_action THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20994,vErrMsg); WHEN null_column_name THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20995,vErrMsg); WHEN null_value THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20996,vErrMsg); WHEN null_user_Id THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20997,vErrMsg); WHEN null_reason_code THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20998,vErrMsg); WHEN null_comments THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20999,vErrMsg); END Update_Record; -- ------------------------------------------------------------------------------------------------ PROCEDURE Delete_Record (p_t_log tbl_T_Log ) IS BEGIN IF ( NVL(p_t_log.COUNT,0) = 0 ) THEN RAISE null_table; ELSE FOR i IN p_t_log.first .. p_t_log.last LOOP vSQL := 'INSERT INTO .transaction_log (seq_no,table_name,trans_type,trans_key,action' ||',column_name,old_value,new_value,trans_date,user_id,reason_code,comments)' ||' VALUES ( .TRANSACTION_NO_SEQ.nextval'; -- Build Insert Statement IF ( p_t_log(i).table_name IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).table_name||''''; ELSE RAISE null_table_name; END IF; IF ( p_t_log(i).trans_type IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).trans_type||''''; ELSE RAISE null_trans_type; END IF; IF ( p_t_log(i).trans_key IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).trans_key||''''; ELSE RAISE null_trans_key; END IF; IF ( p_t_log(i).action IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).action||''''; ELSE RAISE null_action; END IF; IF ( p_t_log(i).column_name IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).column_name||''''; ELSE RAISE null_column_name; END IF; IF ( p_t_log(i).old_value IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).old_value||''''; ELSE vSQL := vSQL||',NULL'; END IF; IF ( p_t_log(i).new_value IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).new_value||''''; ELSE RAISE null_value; END IF; --transaction_date vSQL := vSQL||',sysdate'; IF ( p_t_log(i).user_id IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).user_id||''''; ELSE RAISE null_user_id; END IF; IF ( p_t_log(i).reason_code IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).reason_code||''''; ELSE RAISE null_reason_code; END IF; IF ( p_t_log(i).comments IS NOT NULL ) THEN vSQL := vSQL||','''||p_t_log(i).comments||''''; ELSE RAISE null_comments; END IF; vSQL := vSQL||')'; dbms_output.put_line('vSQL = '||vSQL); EXECUTE IMMEDIATE vSQL; vSQL := NULL; END LOOP; -- The COMMIT is intentionally left out to force the calling -- application to perform the commit and complies with the -- basics of encapsulation. -- --------------------------------------------------------- END IF; EXCEPTION WHEN null_table THEN vErrMSg := 'The p_t_log Collection cannot be null!'; RAISE_APPLICATION_ERROR(-20990,vErrMsg); WHEN null_table_name THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20991,vErrMsg); WHEN null_trans_type THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20992,vErrMsg); WHEN null_trans_key THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20993,vErrMsg); WHEN null_action THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20994,vErrMsg); WHEN null_column_name THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20995,vErrMsg); WHEN null_value THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20996,vErrMsg); WHEN null_user_Id THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20997,vErrMsg); WHEN null_reason_code THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20998,vErrMsg); WHEN null_comments THEN vErrMSg := 'Table Name cannot be null!'; RAISE_APPLICATION_ERROR(-20999,vErrMsg); END Delete_Record; -- ------------------------------------------------------------------------------------------------ END Transaction_Log_pkg; ----------------------------------------------------------------------------- -- --------------------------------------------------------------------------------------------------- Secondary forms * (all this coding was limited to the Insert, update or delete buttons.) The following example is the Insert button)
/* When-Button-Pressed Trigger */ DECLARE vBlockName VARCHAR2(20) := 'REPORT_CATEGORIES'; vBlockItem VARCHAR2(61); vCurrItem VARCHAR2(61); nRecCnt NUMBER := 1; /* Here is where you create your Forms Variable TYPEd off the Package Table of Records (ToR) */ /* Since it is a table of records, you could easily add multiple rows to the ToR if your form uses a multi-record block */ p_tlog cir.transaction_log_pkg.tbl_t_log; BEGIN vCurrItem := vBlockName||'.'||Get_Block_Property(vBlockName,FIRST_ITEM); Go_Item(vCurrItem); -- 1. Endure each field if populated. -- 2. Check for Duplicates (Handled in W-V-I) IF ( Name_In(:system.Cursor_Item) IS NULL ) THEN --Fail the form at the field that is NULL send_alert.msg('s','All fields are required. Please enter a unique value.'); RAISE Form_Trigger_Failure; END IF; WHILE ( vCurrItem IS NOT NULL ) LOOP vBlockItem := :system.cursor_item; -- Loop through the block and CALL Insert_Record for each Block Item. /* 1 */ p_tlog(nRecCnt).table_name := vBlockName; /* 2 */ p_tlog(nRecCnt).trans_type := Name_In(vBlockName||'.CAT_TYPE'); /* 3 */ p_tlog(nRecCnt).trans_key := Name_In(vBlockName||'.ID'); /* 4 */ p_tlog(nRecCnt).action := 'INSERT'; /* 5 */ p_tlog(nRecCnt).column_name := substr(vBlockItem,instr(vBlockItem,'.')+1,length(vBlockItem)); /* 6 */ p_tlog(nRecCnt).old_value := NULL; /* 7 */ p_tlog(nRecCnt).new_value := Name_In(vBlockItem); /* 8 */ p_tlog(nRecCnt).trans_date := sysdate; /* 9 */ p_tlog(nRecCnt).user_id := :Global.userid; /*10 */ p_tlog(nRecCnt).reason_code := Name_In(vBlockName||'.REASON_CODE'); /*11 */ p_tlog(nRecCnt).comments := Name_In(vBlockName||'.COMMENTS'); vCurrItem := Get_Item_Property(vBlockItem,NEXTITEM); next_item; nRecCnt := nRecCnt + 1; END LOOP; -- 3. Insert -- Call TRANSACTION_LOG_PKG.Insert_Record -- --------------------------------------
.transaction_log_pkg.insert_record(p_t_log => p_tlog); -- 4. Commit Commit; -- 5. Clear Block Clear_Block(Ask_Commit); -- 6. Close Form Hide_Window('REPORT_CATEGORIES'); -- 7. ReQuery RC_DISP Block Go_Block('REPORT_CATEGORIES_DISP'); Clear_Block(No_Validate); Execute_Query; -- 8. Done END; I knew not when I started this process of forms if she was going to work because I tried to do something similar to this when I was working with Forms 6i and Oracle Enterprise Business Suite and Forms 6i supported not Ref Cursor and Table of documents very well so I didn't know at first if it would work. Search in forms documentation, I found that Forms 10 g has supported this type of functionality and this process works very well and it was surprisingly fast - at least in my usage, it is very fast. :)
I hope this helps.
Craig...If I or someone elses answer was useful, please mark accordingly
-
Is it possible to work with the conditions of a table in excel?
I create a vi that store a lot of encoder pulse signals in a table, and I want to work with these terms as I in excel. Things like an average of a column, multiply the terms in the table, divide by constants.
is this possible? Otherwise, what is the best way to work with this kind of data?
Quite possible, that is the question to have tables, that you can manipulate as you need. The possibilities are endless.
Maybe you are looking for
-
Where are my poke pieces?
through my card associated with my itunes account, AmEx I bought $4.99 on Pokemon poke parts go on my iphone 6 indicates the credit card purchase is approved, but some parts have shown upward in the pokemon see the app store. I bought successfully ma
-
I tried to free up space on my windows 10 round-trip partition to my Mac OS X 10.10.2 partition. You used to be able to do this in start up amps or disk utility, simply by dragging the sliders, I'm sure... I couldn't make it work on Mac I looked onli
-
I am running Windows 7 32 bit. When I click on the defrag program, nothing happens. I even did a "run as Administrator" and still nothing happens. I opened the location of the file (see C:\Windows\system32) and try clicking on the program, but not
-
Hi, I just got a pavilion dv2-1030ea as a gift and I want to upgrade the card wireless to a version N (only comes with B and G compatible card), but on some sites, he pointed out that not all wireless mini pci-e cards do work with computers laptops h
-
BlackBerry Smartphones with Blackberry world App error questions (80002)
Its been a while since I updated my blackberry torch from 7.0 to 7.1 and after the update, everything seems to work fine except the AppWorld. Whenever I try to open Appworld it says it needs a Blackberry, I would update and then the error message "Bl