How to call function which has input parameter type??
Hi all,
I am facing problem while
executing select ftest1(123) from dual;
and i am getting error
ORA-006553:PLS-306 : wrong number or types of arguments in call to ftest1
and this is the code for function;
create package body pkg1 is
type no_array is table of NUMBER index by binary_integer;
end pkg1;
CREATE OR REPLACE FUNCTION ftest1(lvdriver pkg1.No_arrray)
RETURN VARCHAR2
IS
lv VARCHAR2(100);
BEGIN
FOR i IN lvdriver.first .. lvdriver.last LOOP
SELECT last_nm
INTO lv
FROM person
WHERE person_id = lvdriver(i);
dbms_output.put_line(lv);
END LOOP;
RETURN lv;
END;
how to pass array values to function
i need to pass multiple values to array here it is lvdriver(1,2,3,123,4,5)??
Example...
create or replace type tNums as table of number;
create or replace function ftest1(nms tNums) return number is
vResult number := 0;
begin
for i in 1 .. nms.count
loop
vResult := vResult + nms(i);
end loop;
return vResult;
end;
SQL> select ftest1(tNums(1,2,3,4)) from dual;
FTEST1(TNUMS(1,2,3,4))
10
Similar Messages
-
How to call function which return and out
My function specifcation is
FUNCTION GetGoogleScholarActivation (
pi_clnt_id IN google_scholar_status.clnt_id%TYPE,
pi_status_type IN ci_status_type_tab_type,
po_status OUT ci_status_tab_type,
po_date OUT ci_date_tab_type
RETURN NUMBER ;
where type is
TYPE ci_status_type_tab_type IS TABLE OF VARCHAR2 (1) INDEX BY BINARY_INTEGER;
TYPE ci_status_tab_type IS TABLE OF VARCHAR2 (10) INDEX BY BINARY_INTEGER;
TYPE ci_date_tab_type IS TABLE OF VARCHAR2 (8) INDEX BY BINARY_INTEGER;
I am trying to call function in SQL PLUS for testing as
declare
var number ( 10);
TYPE p_st1 IS TABLE OF VARCHAR2 (1) INDEX BY BINARY_INTEGER;
p_st p_st1 ;
type p_status1 IS TABLE OF VARCHAR2 (1) INDEX BY BINARY_INTEGER;
p_status p_status1 ;
TYPE p_date1 IS TABLE OF VARCHAR2 (8) INDEX BY BINARY_INTEGER;
p_date p_date1 ;
Begin
p_st(0) := 'A';
var := PQDKGOSH.GetGoogleScholarActivation(11920 , p_st, p_status ,p_date );
dbms_output.put_line ('Activation_status '|| p_status(0) );
dbms_output.put_line ('Activation_date '|| p_date(0) );
dbms_output.put_line ('Retun Value'|| var );
End;
but getting error PLS-00306: wrong number or types of arguments in call to
'GETGOOGLESCHOLARACTIVATION'
so how to test from SQL PlusHI
I tried to execute below like this
declare
var number ( 10);
p_st ci_status_type_tab_type ;
p_status ci_status_tab_type;
p_date ci_date_tab_type;
Begin
p_st(0) := 'A';
var := PQDKGOSH.GetGoogleScholarActivation(11920 , p_st, p_status ,p_date );
dbms_output.put_line ('Activation_status '|| p_status(0) );
dbms_output.put_line ('Activation_date '|| p_date(0) );
dbms_output.put_line ('Retun Value'|| var );
End;
still iget error
PLS-00201: identifier 'CI_STATUS_TYPE_TAB_TYPE' must be declared
becuse this declareation i did in package specification .
and i am trying to execute the function . -
Call DLL with byte** input parameter type
Hi All,
Have anyone knows how to get output parameter from a Call Library Fuction with having the input prameter type is BYTE**. Please see the code below :
void getMsgBuffFromQueue(BYTE**& p_msgBuff)
if(m_QueueBuffMsg.GetSize() > 0)
p_msgBuff = m_QueueBuffMsgForEqp.DeQueue();
return ;
I did the test this fuction of the DLL on VC++ 6 with successful. but when I tranfer it to LabView, I cannot get the parameter output data after call this fuction., I donn't know to use which control to get approriate data return.
I define the function call on Labview like that:
void getMsgBuffFromQueueForEqp(Array1DLong **msgBuff);
Is it correct ? If anyone have the solutions, please give me your solution.
Thanks in advance.The problem is that Array1DLong is not a C++ array, but a structure definition for a LV array. If you generate the c code from the Call Library Node, you'll notice the structure that contains the array size as part of it. In addition, there are a lot of rules about how memory should be allocated for the array elements - it is all covered in the "Using External Code in LabVIEW" manual.
I'll also point out that your definition does not match the code. A BYTE**& is actually a BYTE*** - the C++ concept of a reference is really a pointer under the covers - it is just that the C++ language provides special support for it. However, for anyone calling the method from the outside, it needs to know that it is really a pointer. Also, if I remember correctly, you can't expose a C++ method with a reference in the definition with an extern "C" statement, which is what you probably want to do in order to easily hook it up to LV...otherwise you'll have to deal with the C++ name-mangled version.
There are two ways I would recommend going here.
1. Don't use a Call Library Node but a CIN instead. The manual will walk you through the work necessary to marshall the two different data types in and out of LV.
2. Return the buffer to LV as a void*. In this case what are you saying to LV is "here is a handle I want you to hold onto...just give it back to me when I need it". Then you create some additional C functions that take the void* and do the data manipulation with it.
Which one you pick depends a lot of what you want. If you want to manipulate the data within LV with LV constructs, you need to go with #1. If you just need to pass the buffer to another C function, then #2 is the way to go.
Did that make any sense?
Brian Tyler
http://detritus.blogs.com/lycangeek -
How to call functions that return package local types?
Hi everyone, I have a Pl/Sql function in a package that returns a package-local type.
I would like to call this function from Java, but I don't know what to pass to "statement.registerOutParameter()"
(it gives this error:
Unable to resolve type: "XDRIVE_B2B.TEST1.MYTYPE)
Here's the simple version with one package:
package TESTPKG IS
TYPE MYTYPE IS VARRAY(1) OF INTEGER;
FUNCTION FCT2 RETURN MYTYPE;
end;
package body testpkg IS
FUNCTION FCT2 RETURN MYTYPE IS
BEGIN
RETURN mytype(55);
END;
end;
and here's the java code:
void javatest(OracleConnection conn)
throws SQLException
String sql = "{ call ? = testpkg.fct2() }";
OracleCallableStatement st =
(OracleCallableStatement) conn.prepareCall(sql);
st.registerOutParameter(1, OracleTypes.ARRAY, "MYUSERNAME.TESTPKG.MYTYPE");
st.execute();
and as I said above, the java code fails with:
java.sql.SQLException: Fail to construct descriptor: Unable to resolve type: "MYUSERNAME.TEST1.MYTYPE"
I can't really have this type live outside of a package because in the real case, it's not a VARRAY(1) of integer, it's a VARRAY(1) of MYTABLE%ROWTYPE, which only seems to compile inside a package.
thanks for any opinions,
george moudry
nullJDBC, JPublisher, and SQLJ do not support PL/SQL-only types. This includes PL/SQL index tables and record types.
-
How to call JAVA program having input & output parameter
Hi Experts,
Require ur help in calling a java program in ODI which has input parameter & I need to also get the output of the java program.
I have a java program which I execute through command prompt with input parameters required for the program.
Also I need to get the output of the same java program & need to pass it as input to another Java program.
kindly help...how to implement the java program in ODI as I have not worked on Java.Hi experts,
kindly help... -
How to call a function which has a cursor
hey folks I have a function which has a cursor,,like this
CREATE OR REPLACE FUNCTION EMPCU RETURN VARCHAR
AS
CURSOR EMPC IS
SELECT LNAME,SALARY,SSN
FROM EMPLOYEE
WHERE DNO IN(4,5);
EMPV EMPC%ROWTYPE;
BEGIN
OPEN EMPC;
LOOP
FETCH EMPC INTO EMPV;
EXIT WHEN EMPC%NOTFOUND;
/*DBMS_OUTPUT.PUT_LINE(EMPV.LNAME||' '||EMPV.SALARY||' '||EMPV.SSN);*/
RETURN EMPV. LNAME ||' '|| EMPV.SALARY||' '||EMPV.SSN;
END LOOP;
CLOSE EMPC;
END EMPCU;
Above function created successfully. I called above function like this
DECLARE
ENAMESAL VARCHAR2(70);
BEGIN
ENAMESAL:=EMPCU();
DBMS_OUTPUT.PUT_LINE(ENAMESAL);
END;
Function is called and function is returning only one row instead of 7 rows. Actually cursor is supposed to return 7 rows but it is returning only one row. Is there any snytax to call a function which has a cursor. So experts please tell me where I have to make changes. I would be very thankful to youWell, you've told the function to RETURN within the loop, so after the first record in the loop, the function returns as you've instructed it.
You would need to change your function to accept a specific input from the EMP table and then do a look up for that specific record and return the values you wanted, and wrap the function call in a loop in your anonymous block.
Or you could just have the anonymous block like this....
BEGIN
FOR X IN
SELECT EMPV. LNAME ||' '|| EMPV.SALARY||' '||EMPV.SSN AS Line_Data
FROM EMPLOYEE
WHERE DNO IN(4,5)
LOOP
DBMS_OUTPUT.PUT_LINE(x.Line_Data);
END LOOP;
END;
/ -
How could Ecatt support a FM which has export parameter data type as any
Hi,
I have created a FM which has export parameter data type as 'Type ref to data'.
The actual paremeter value for this export parameter is a dynamically generated internal table, which does not have a abap dictionary data type.
Could I use the 'FUN' ecatt command to test this FM? How could I get this reference export parameter?
Thanks a lot in advance!Hi,
Wouldn't it be enough if you define parameter in test data container as reference to table type with structure of type c(1000) (or more/less characters depending on how much data you need to pass)?
I'm not 100% sure if filling this table with data will work (this is reference after all) but if this is an issue than create 2 parameters: 1 of table type and second of reference type. Then inside your script before FUN use ABAP...ENDABAP to assign your table parameter to reference parameter and use second one as input for FUN command.
I think that either first or second solution should work.
Best regards
Marcin Cholewczuk -
On iTunes when i plug my iphone in, the bar at the bottom with contains the information about the capacity of my iphone, it has a bar called 'other' which has 4GB. I don't know what is taking up that space or how to get rid of it. please help
You can reduce the size to normal, which is about 1GB, by restoring the phone.
Backing Up, updating, and restoring your iPhone and iPod touch software
The size of this part can increase when something goes wrong during a sync, or some files can't be read anymore by iTunes. -
How can I pass Recordsets as input parameter to a Function ?
Hi Gurus,
I want to create a function that receive recordsets as input parameter also returns recordsets as output.
I have a requirement to do stock taking for all order items of one Order number in one single query execution (to avoid row by row basis).
From the post in the forum I know that a function can return recordsets / query result using REF CURSOR or pipelined table function.
My question is : how to pass the recordsets as input parameter to that function ?
(because I could have 75 rows item in one order number)
Below is the DDL and the query :
create table stocks (Product char(4), Warehouse char(5), expireddate date, qty_available number)
insert into stocks values('P001', 'WH001', '01-dec-2006', 30)
insert into stocks values('P001', 'WH002', '01-dec-2006', 50)
insert into stocks values('P001', 'WH002', '01-jan-2007', 50 )
insert into stocks values('P001', 'WH001', '01-Mar-2007', 150)
insert into stocks values('P002', 'WH003', '01-dec-2006', 25)
insert into stocks values('P002', 'WH003', '15-Jan-2007', 50)
insert into stocks values('P002', 'WH003', '01-Mar-2007', 75)
insert into stocks values('P003', 'WH001', '01-dec-2006', 30)
insert into stocks values('P003', 'WH002', '15-Jan-2007', 40)
insert into stocks values('P003', 'WH003', '01-Mar-2007', 50)
CREATE TABLE Order_Detail (PRODUCT_ORD CHAR(4), QTY_ORD number, Priority_WH CHAR(5) )
INSERT INTO Order_Detail VALUES ('P001', 75, 'WH003') // previously 'WH002'
INSERT INTO Order_Detail VALUES ('P002', 45, 'WH002')
INSERT INTO Order_Detail VALUES ('P003', 55, NULL)
The query for stock taking :
select product,warehouse,expireddate, least(qty_available-(sm - qty_ord),qty_available) qty
from ( select product,warehouse,expireddate,qty_available,qty_ord, sum(qty_available) over(partition by product order by s.product,expireddate,decode(warehouse,priority_wh,0,1),warehouse ) sm
from stocks s,order_detail o
where s.product = o.product_ord order by s.product,expireddate,decode(warehouse,priority_wh,0,1) )
where (sm - qty_ord) < qty_availableHi,
This my requirement :
I have (simplified)Order_Detail as below :
CREATE TABLE Order_Detail (PRODUCT_ORD CHAR(4), QTY_ORD number, Priority_WH CHAR(5) )
INSERT INTO Order_Detail VALUES ('P001', 75, 'WH003') // previously 'WH002'
INSERT INTO Order_Detail VALUES ('P002', 45, 'WH002')
INSERT INTO Order_Detail VALUES ('P003', 55, NULL)
Then I want to do stock taking from my STOCK table (described on my first post on this thread)
create table stocks (Product char(4), Warehouse char(5), expireddate date, qty_available number)
The rule is : The stok taking is on First In First Out basis, on expireddate.
And I want to do it in single query.
I want to make this a Function / Stored Procedure so that other transaction can also make use of this query.
That is why I need to pass the 3 rows oy mr Order_Detail above, do the query, and return the result.
Then INSERT the result into ORDER_DETAIL_PER_EXPIRED_DATE table.
I hope this clear my requirement, is this possible ?
Thank you,
xtanto -
In fox , can I use call function which developed by ABAP?
I want to use the call function to read table in FOX.
thankshi
u can use functions, but not complex.
the syntax is as follows
CALL FUNCTION UPC_FUNCEXEC_SAVE
EXPORTING
I_NO_TRANSACTION_DATA = FLAG
tx
srin -
How to call function in jar file?
First, I can't write english well.(I'm korean.. ) sorry about that.
I have known function in jar file.
but I don't know how to call function in jar file.
how can I this work?
My project and another project are respectively developing D-project with me and other man.
so i need it. or I can't do this work.
I will paste other's source code in my source code.
and then recomplie , build it.. but it is not my wish!
thanks for reading my sentence.If you have a jar file with a class that you wish to use, then you must add the jar file to your class path ($CLASSPATH on unix, linux, etc. and %CLASSPATH% on Windows).
Then you can use the class normally, just as you would if it were not in the jar.
If you meant something else, you'll need to explain what you meant. -
HOW TO CALL FUNCTION MODULE INSIDE SMARTFORM
PLEASE ANYONE TELL ME, ABOUT HOW TO CALL FUNCTION MODULE INSIDE SMARTFORM. IT IS VERY URGENT!!!!!!!!!1
Hi,
Under Global Definitions, we have 'Form Routines' tab. Under this tab, u can have a dynamic subroutine call. With in FORM and ENDFORM, you can call the Function Module.With in the Program Lines editor, u can define the subroutine........PERFORM.
If helpful, reward points.
Rgds,
CK -
How to call a stored procedure which has out parameter value
my code is
public Connection createConnection() {
Connection conn = null;
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL,USER,PASS);
} catch (ClassNotFoundException cnfe) {
System.err.print("Class not found");
} catch (SQLException sqle) {
System.err.print("SQLException");
return conn;
public static void main(String args[]){
StroedProcedure stp = new StroedProcedure();
Connection con = stp.createConnection();
try {
CallableStatement stproc_stmt = con.prepareCall("{call Account_Summary(?,?,?,?,?,?,?,?)}");
stproc_stmt.setString(1, "123456");
stproc_stmt.setDate(2, null);
stproc_stmt.setString(3, null);
stproc_stmt.setString(4, null);
stproc_stmt.setString(5, null);
stproc_stmt.setString(6, null);
stproc_stmt.setDate(7, null);
stproc_stmt.setDate(8, null);
stproc_stmt.registerOutParameter(1,Types.CHAR);
stproc_stmt.registerOutParameter(2,Types.DATE);
stproc_stmt.registerOutParameter(3,Types.CHAR);
stproc_stmt.registerOutParameter(4,Types.CHAR);
stproc_stmt.registerOutParameter(5,Types.CHAR);
stproc_stmt.registerOutParameter(6,Types.CHAR);
stproc_stmt.registerOutParameter(7,Types.DATE);
stproc_stmt.registerOutParameter(8,Types.DATE);
stproc_stmt.execute();
System.out.println("test "+stproc_stmt.getString(1));
ResultSet rs = stproc_stmt.executeQuery();
while (rs.next()){
System.out.println("result "+rs.getString("ACCPK"));
} catch (SQLException e) {
e.printStackTrace();
}And the stored procedure is
CREATE OR REPLACE
procedure Account_Summary (accpk in out char, incdt out date, bcur out char, bmark out char, tarTE out char, numHold out char, stDt out date, AsDt out date)
is
begin
select account_pk, inception_date, base_currency, benchmark into accpk, incdt, bcur, bmark
from account a
where a.Account_pk=accpk;
select target_te, number_holdings, start_date, as_date into tarTE, numHold, StDt, AsDt
from acc_summary asum
where asum.account_pk=accpk;
end Account_Summary;but it gives a exception ORA-01460: unimplemented or unreasonable conversion requested
ORA-06512: at "REPRO.ACCOUNT_SUMMARY", line 4
ORA-06512: at line 1
i want to execute a stored procedure which has in , inout or out parameter
but it can not work========================
In some contects varchar2 variable limit is 32512 characters... October 16, 2003
Reviewer: Piotr Jarmuz from Poznan, Poland
Interesting to note is the fact that varchar2 variables as parameters to stored
procedures (in in/out out) may be "only" 32512 bytes long.
I've checked this in Java and Perl. 32512 is the last value that works, for any
bigger it throws:
Exception in thread "main" java.sql.SQLException: ORA-01460: unimplemented or
unreasonable conversion requested
But in PL/SQL as you said 32767
Regards,
Piotr
=================================
This i got it from ask tom, well it make sense.... try checking your input with small numbers and strings
Have fun -
How to call oracle Function which has If else condition in Data Template
Hi,
currently I am working on creating Data Template which uses a Oracle Function which I need to make use in my data template. But I have some confusions on using the same. Could anybody please help me in this regard.
I have a function like this,
function invoice_query (p_facility_id facility.facility_id%TYPE,
p_wave_nbr pick_directive.wave_nbr%TYPE,
p_container_id unit_pick_group_detail.container_id%TYPE,
p_distro_nbr unit_pick_group_detail.distro_nbr%TYPE) return invoice_refcur IS
refcur invoice_refcur;
begin
IF p_wave_nbr IS NOT NULL THEN
OPEN refcur FOR SELECT t1.distro_nbr,
t1.cust_order_nbr,
t1.pick_not_before_date,
SYSDATE,
t1.ship_address_description,
t1.ship_address1,
t1.ship_address2,
t1.ship_address3,
t1.ship_address4,
t1.ship_address5,
t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
t1.ship_country_code,
t1.bill_address_description,
t1.bill_address1,
t1.bill_address2,
t1.bill_address3,
t1.bill_address4,
t1.bill_address5,
t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
t1.bill_country_code,
min(t2.pick_order),
NULL,
t2.wave_nbr
FROM stock_order t1,
pick_directive t2,
unit_pick_group_detail t3
WHERE t1.facility_id = t2.facility_id
AND t1.facility_id = t3.facility_id
AND t2.facility_id = t3.facility_id
AND t1.distro_nbr = t2.distro_nbr
AND t1.distro_nbr = t3.distro_nbr
AND t2.distro_nbr = t3.distro_nbr
AND t1.facility_id = p_facility_id
AND t2.wave_nbr = p_wave_nbr
AND g_scp(p_facility_id, 'interface_tcp_flag') = 'N'
AND t2.pick_type = 'U'
AND t3.group_id in (SELECT t4.group_id
FROM unit_pick_group t4
WHERE t4.facility_id = p_facility_id
AND t4.wave_nbr = p_wave_nbr)
GROUP BY t1.distro_nbr,
t1.cust_order_nbr,
t1.pick_not_before_date,
t1.ship_address_description,
t1.ship_address1,
t1.ship_address2,
t1.ship_address3,
t1.ship_address4,
t1.ship_address5,
t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
t1.ship_country_code,
t1.bill_address_description,
t1.bill_address1,
t1.bill_address2,
t1.bill_address3,
t1.bill_address4,
t1.bill_address5,
t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
t1.bill_country_code,
t2.wave_nbr
ORDER BY MIN(t3.group_id), MAX(t3.slot);
elsif p_container_id is not null then
OPEN refcur FOR SELECT distinct t1.distro_nbr,
t1.cust_order_nbr,
t1.pick_not_before_date,
SYSDATE,
t1.ship_address_description,
t1.ship_address1,
t1.ship_address2,
t1.ship_address3,
t1.ship_address4,
t1.ship_address5,
t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
t1.ship_country_code,
t1.bill_address_description,
t1.bill_address1,
t1.bill_address2,
t1.bill_address3,
t1.bill_address4,
t1.bill_address5,
t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
t1.bill_country_code,
NULL,
t2.dest_id,
null
FROM stock_order t1,
unit_pick_group_detail t2
WHERE t1.facility_id = t2.facility_id
and t1.distro_nbr = t2.distro_nbr
and t1.facility_id = p_facility_id
AND g_scp(p_facility_id, 'interface_tcp_flag') = 'N'
AND t2.container_id = p_container_id;
else
open refcur for SELECT distinct t1.distro_nbr,
t1.cust_order_nbr,
t1.pick_not_before_date,
SYSDATE,
t1.ship_address_description,
t1.ship_address1,
t1.ship_address2,
t1.ship_address3,
t1.ship_address4,
t1.ship_address5,
t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
t1.ship_country_code,
t1.bill_address_description,
t1.bill_address1,
t1.bill_address2,
t1.bill_address3,
t1.bill_address4,
t1.bill_address5,
t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
t1.bill_country_code,
NULL,
NULL,
t3.wave_nbr
FROM stock_order t1,
unit_pick_group_detail t2,
unit_pick_group t3
WHERE t1.facility_id = t2.facility_id
and t2.facility_id = t3.facility_id
and t1.distro_nbr = t2.distro_nbr
and t2.group_id = t3.group_id
and t1.facility_id = p_facility_id
AND g_scp(p_facility_id, 'interface_tcp_flag') = 'N'
AND t2.distro_nbr = p_distro_nbr;
END IF;
return refcur;
end;
I have created data template like following,
<sqlStatement name="Q_INVOICE">
<![CDATA[
SELECT Pack_Slip_R.invoice_query(:P_FACILITY_ID,:P_WAVE_NBR,:P_CONTAINER_ID,:P_DISTRO_NBR) from dual
]]>
</sqlStatement>
But how does I create a element for the "t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip" column in the oracle function. I normally create an element like following,
<group name="G_INVOICE" source="Q_INVOICE">
<element name="CUST_ORDER_NBR" value="cust_order_nbr"/>
<element name=":dest_id" value="dest_id"/>
</Group>
But how do i create element if a column name is kind of dynamic. Please help. I cannot Rename/change the Column in SQL Query. Please let me know If I could handle this whole logic in BI Publsiher.
Regards,
Ashoka BLtry useing alias
t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip as <COLUMN_ALIAS> -
(How) Can a SP call the Function which has BULK COLLECT return?
I have a function using BULL COLLECT to put (XML data) many line into a table type record. (I had this as a function because it's gong to call many times).
From one SP program, I will need to call it to get converted XML data info, how should i call it? If it's single line return, I could use
my_result := get_tbl_xml(p_xml);
but when it's table type, even I defined it, it still get error. Here is the program:
Declare (at package spec)
TYPE OrderDtl_Tab IS TABLE OF xxx%ROWTYPE INDEX BY BINARY_INTEGER;
in_OrderDtlTab OrderDtl_Tab;
FUNCTION get_tbl_xml (p_xml IN CLOB ) RETURN OrderDtl_Tab IS
BEGIN
SELECT extractvalue(VALUE(x), '/xxxx/xxxx') AS xxxx BULK COLLECT
INTO in_OrderDtlTab
FROM TABLE(xmlsequence(extract(xmltype(p_xml), '/Order/Lines/*'))) x;
RETURN in_OrderDtlTab;
END;
PROCEDURE SAVE_A (p_xml IN CLOB )
BEGIN
--- how to call get_tbl_xml to get result, so I will be able to insert into DB table
in_OrderDtlTab := get_tbl_xml(p_xml);
END;
--------------------------------------------------------------------------------------------------------------------May be this is better
FUNCTION get_tbl_xml (p_xml IN CLOB ) RETURN OrderDtl_Tab IS
BEGIN
SELECT extractvalue(VALUE(x), '/xxxx/xxxx') AS xxxx BULK COLLECT
INTO in_OrderDtlTab
FROM TABLE(xmlsequence(extract(xmltype(p_xml), '/Order/Lines/*'))) x;
RETURN in_OrderDtlTab;
END;
PROCEDURE SAVE_A (p_xml IN CLOB )
yourrow your_table%rowtype;
BEGIN
--- how to call get_tbl_xml to get result, so I will be able to insert into DB table
in_OrderDtlTab := get_tbl_xml(p_xml);
FORALL myrowtype
IN in_OrderDtlTab .FIRST .. in_OrderDtlTab .LAST
INSERT INTO Your_table
VALUES in_OrderDtlTab(yourrow);
END;
END;
Maybe you are looking for
-
RFC Receiver Adapter error.
Hi Experts, Mine is a File To RFC Scenerio. data from File is foing into an RFC called /POSDW/CREATE_TRANSACTIONS_EXT, in R/3 system. . RFC adapter is red .Giving the follwoing error!. 2009-02-18 14:49:41 Error MP: Exception caug
-
DVDSPRO error Message when trying to burn duel layer disc.
get this message when burning a duel layer disc. Don't know what to do.
-
Outlook 2007 PDF preview on Windows Server 2003?
Simple question. Does the new (Reader 8.1) PDF Preview feature for Outlook 2007 work in Windows Server 2003? Or is it only for XP and Vista? The patch notes strongly suggest the latter, but in other places (such as a blog on this site) there are note
-
Once a morph pattern is created in Sculpture, is it possible to create a loop inside scultpure rather than retriggering the whole "patch" from the midi keyboard? I know that I can convert to audio, put in EXS and create a loop. But can it be done in
-
Passing an array from one method to another
I am passing an array from my "load" method and passing it to be displayed in my "display" method in an applet . I made the array a class variable (to be able to pass it to the "display" method). The applet runs, but nothing seems to be in the array.