Using UDT's for passing rows to a PL/SQL procedure
I'm trying to get a list of rows into a procedure...
With ODP 11 - I thought that I would simply need to create a UDT of an object (i.e. user_id, first_name, last_name) and - then type which is a collection of that object.
Then - using that object type collection as a parameter in my procedure - pass the numerous rows from .NET in.
I've found a examples with varray's, nested varrays etc... but - nothing straight forward with passing a collection of rows.
Does anyone know of any online examples that illustrate this?
Thanks for your help!
Hi,
A BLOB variable is just a pointer to binary data and you are passing a text string to your procedure which is why you have the error. So to write a blob into a table in a procedure you need something like this:
CREATE OR REPLACE PROCEDURE testone(
V_TEXT IN VARCHAR2
AS
V_SIGIMG BLOB;
BEGIN
insert into sin_image values(empty_blob())
returning blobcol into V_SIGIMG;
-- then copy the text as binary data, this does not convert the text to binary data
DBMS_LOB.WRITE(V_SIGIMG,1,LENGTH(V_TEXT),v_TEXT);
commit;
END;
/However, if you want to upload images into the table it is easier to use the Apex functionality to upload the image into the APEX_APPLICATION_FILES table then move the blob into your table using an INSERT or UPDATE.
Rod West
Similar Messages
-
Can I use Concatenate function for multiple rows?
I have a lead list that contains 5000 leads. The format of this list contains address data that is saved in separate columns (ie: address, address 2, city, state, zip). I need this data in 1 column. I tried to use the concatenate function to combine the data for 1 row and it worked perfectly. I tried to do this for multiple rows and the function is greyed out. Is there a work around or way that I can combine this data for all 5000 rows without doing it 1 by one?
Look at this table;
In B9, the formula is;
=B2&" "&C2&" "&D2&" "&E2&" "&B3&" "&C3&" "&D3&" "&E3
Yvan KOENIG (VALLAURIS, France) dimanche 18 octobre 2009 20:51:47 -
Update the passed XML in a PL/SQL procedure and then use DBMS_XMLSAVE
hi folks,
This is a great forum and most of you guys were awesome in replying to complex queries........
I have a small issue, I am trying to do a bulk insert from my application by constructing an XML result set and pass that XML to the SP as a CLOB and using DBMS_XMLSAVE package to insert it to the oracle table. It works like a charm for me when this is as straight forward as this. But when my requirement is, I need to generate sequence numbers for a particular column (Primary key column), while for other columns I pass values from the UI (as a XML object which my SP accepts as a CLOB), i am at a loss for solution to achieve this. It would mean, that I have to generate the sequence numbers for each row and then update this value to the passed XML clob. Any indicators on how to achieve this?
I found this solution at one of the thread which might most probably help me,
declare
2 l_cnt number;
3 begin
4 select count(*) into l_cnt from books,xmltable('/Books/Book' passing object_value);
5 for i in 1..l_cnt loop
6 update books set object_value =
7 updatexml(object_value,'/Books/Book['||i||']/BookID', xmlelement("BookID",sequence_bookid.nextval))
8 where existsnode(object_value,'/Books/Book['||i||']')=1;
9 end loop;
10 end;
11 /
But here, they are trying to update a XMLTable book, but in my case the XML is a clob object and not a XML table. Will this solution work for my case as well? Please provide any pointers to me... Thanks...First if your version of Oracle has DBMS_XMLSTORE, use that instead.
Reason: {thread:id=876376} (See Marco's response).
It is possible you could run into issues, but you should start with DBMS_XMLSTORE.
Since you will have the XML in the SP, treat the data as an XMLType instead of a CLOB for as long as you can since you need to do UpdateXML on it.
For your sample PL/SQL code, lines 4-5 are replaced with the WHILE loop shown in Method 2 at
{message:id=3610259}.
The UPDATE would be replaced with the following pseudocode
SELECT UPDATEXML(<l_xmltype_variable>, ...)
INTO <l_xmltype_variable>
FROM dual;
Once your loop is done, l_xmltype_variable would contain your updated XML and then you can use that XMLType directly on the call to DBMS_XMLSTORE or convert it back to a clob via
l_clob_variable := l_xmltype_variable.getClobVal(); -
Passing table data to pl sql procedure oaf
Hi All,
I have a requirement where i have to pass table data to plsql procedure.
In the first page i select the REQUISITION and click on RETURN button and it will take me to the next page.
and in the Next page i will click on APPLY button.
When i click on APPLY, it will call the procedure and will give input to the procedure whatever has been selected when i have selected requisition.
Please help. Please tell me the approach how to get this task done. A sample code will work.
Hope the requirement is clear.
Thanks in Advance.Hi Chinmay,
Refer below code for Your Requirement.
//Code For Quering Data
import java.sql.PreparedStatement;
import java.sql.ResultSet;
Connection conn = pageContext.getApplicationModule(webBean).getOADBTransaction().getJdbcConnection();
String Query = "SELECT organization_id FROM hr_operating_units WHERE organization_id = fnd_global.org_id";
PreparedStatement stmt = conn.prepareStatement(Query);
resultset=stmt.executeQuery();
while (resultset.next())
orgId = (String)resultset.getString("ORGANIZATION_ID").toString();
conn.commit();
catch(Exception e)
e.printStackTrace();
//Code for Pass Resulted column to Procedure Input for delete Particular Record
Execute parameterized PL SQL procedure from OAF page
Let us try to call PL/SQL package from OAF page. We will try to remove selected line from Database.
Package Spec
CREATE OR REPLACE PACKAGE APPS.genpack_pkg
AS
PROCEDURE roll_delete_proc (orgId IN VARCHAR2);
END genpack_pkg;
Package Body
CREATE OR REPLACE PACKAGE BODY APPS.genpack_pkg
AS
PROCEDURE roll_delete_proc (orgId IN VARCHAR2)
AS
BEGIN
DELETE FROM pklist_roll_details_temp
WHERE roll_line_id = orgId;
COMMIT;
END roll_delete_proc;
END genpack_pkg;
//in Controller PFR
import java.sql.CallableStatement;
if (pageContext.getParameter("ActionsButton") != null)
String val = pageContext.getParameter("ActionsChoice");
if ("DELLN".equals(val))
CallableStatement cstmt = null;
for (OAViewRowImpl row = (OAViewRowImpl)tempvo.first(); row != null; row = (OAViewRowImpl)tempvo.next()) {
if ((row.getAttribute("Selectflag") == null) ||
(!row.getAttribute("Selectflag").toString().equals("Y"))) continue;
try {
int rollid = Integer.parseInt((String)row.getAttribute("orgId"));
Connection conn = am.getOADBTransaction().getJdbcConnection();
if (rollid == 1)
temphm.put(row.getAttribute("orgId").toString(), row.getAttribute("PoNumber").orgId());
tempvo.removeCurrentRow();
else
try
StringBuilder sb = new StringBuilder();
sb.append(rollid);
String strI = sb.toString();
System.out.println("Inside else in delete");
cstmt = conn.prepareCall("{call GENPACK_PKG.tpc_roll_delete_proc(?)}");
cstmt.setString(1, strI);
System.out.println("Oracle Callable Statment Execution Init for Delete");
cstmt.execute();
catch (SQLException e) {
throw new OAException(e.toString(), (byte)0);
}tempvo.removeCurrentRow();
catch (OAException e) {
throw new OAException("No row selected", (byte)3);
Thanks,
Dilip -
Passing variable values to pl/sql procedures
Hi,
I wanted to log the step name and message into a table whenever a particular step/interface failed in the ODI package.
Ex:PKG1
A----OK--->B----OK-->C--OK-->LOG SUCCESS status into table. All steps are sequenced.
when not OK
A----KO--->B----KO-->C--KO-->LOG failed status into table with step and message.
I have created 4 variables in ODI and used these vairables in to pass values in pl/sql procedure scenario.
I have drag and drop procedure scenario and given values to every variable...thing is for i want to get the step name dynamically for the procedure scenario's variable i am directly passing
v_int_step=odiRef.getPrevStepLog("STEP_NAME").
I dont want drag and drop procedure for each KO and then pass values to v_int_step=A or B or C .
My scenario command look like this for KO
OdiStartScen "-SCEN_NAME=PROC_LOGEXE_STATUS" "-SCEN_VERSION=-1" "-LOG_LEVEL=3" "-SYNC_MODE=1" "-SESSION_NAME=PROC_CSA_LOGEXE_STATUS_CS_BRANCHES" "-FLEXCUBE_OFSAA.v_execution_status=E" "-project1.v_scen_int_name=A" "-project1.v_batch_id=PKG_GLOBAL_MNT_HANDOFF" "-project1.v_step_name=odiRef.getPrevStepLog("STEP_NAME")"
I am getting following error
oracle.odi.oditools.OdiToolInvalidParameterException: Error while setting parameters on tool
at com.sunopsis.dwg.function.SnpsFunctionBase.getCoreOdiTool(SnpsFunctionBase.java:607)
at com.sunopsis.dwg.function.SnpsFunctionBase.getSunopsisApi(SnpsFunctionBase.java:480)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java:1340)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java:2785)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2515)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:537)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:449)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:322)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:246)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:237)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:794)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Invalid parameter
at com.sunopsis.dwg.function.SnpsFunctionBase.getCoreOdiTool(SnpsFunctionBase.java:599)
... 15 more
Please help me ,
Thanks In AdvanceHi,
Mistakes i found in the script,
1. You need to pass the variables with the "-<YOUR PROJECT CODE>.VARIABLE NAME" which i suppose would be in UPPER CASE.
2. You need to pass OdiPrevStepLog with <%=%> enclosed. So your script will looks like,
OdiStartScen "-SCEN_NAME=PROC_LOGEXE_STATUS" "-SCEN_VERSION=-1" "-LOG_LEVEL=3" "-SYNC_MODE=1" "-SESSION_NAME=PROC_CSA_LOGEXE_STATUS_CS_BRANCHES" "-FLEXCUBE_OFSAA.v_execution_status=E" "-PROJECT1.v_scen_int_name=A" "-PROJECT1.v_batch_id=PKG_GLOBAL_MNT_HANDOFF" "-PROJECT1.v_step_name=<%=odiRef.getPrevStepLog( "STEP_NAME" )%>"
Thanks,
Guru -
Passing a list into a sql procedure via a unix shell.
9.2.0.6
for some dumb reason we cannot use java to do this task.
anyways
I need to build a list of all file in a particular directory. The list could be zero to very very long. I would like to be able to pass that list to a PL/SQL procedure.
this is in unix
I think I could do something like
var=f1,f2,f3,f4
sqlplus blah/blah $var
exec my_proc(&var);
I guess that would handle up to 32k in length. It would be up to me to parse the list.
I am really looking for an way to do this a bit slicker.. like with a ref cursor but I seem to be getting stuck.
ThanksSome examples here :
Re: How to pass Character parameter
Nicolas. -
Passing arrays through multiple PL/SQL procedures and functions
I am maintaining a large PL/SQL application. There is a main procedure that is initially called which subsequently passes information to other PL/SQL functions and procedures. In the end an error code and string is passed to PUT_LINE so it can be displayed. What I would like to be able to do is have an array that stores an error code and string for each error that it comes upon during going through each of the procedures and functions. This would involve passing these codes and strings from function to function within the pl/sql application. What would be the best way to implement this and is it possible to pass arrrays or records to other PL/SQL functions? Thanks.
Here is one simulation ->
satyaki>
satyaki>select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
Elapsed: 00:00:00.20
satyaki>
satyaki>
satyaki>create or replace type n_array is table of number;
2 /
Type created.
Elapsed: 00:00:07.10
satyaki>
satyaki>CREATE OR REPLACE PROCEDURE Get_Array(array_in IN n_array,
2 array_out OUT n_array)
3 IS
4 BEGIN
5 array_out := n_array();
6 FOR i IN 1..array_in.count
7 LOOP
8 array_out.extend;
9 array_out(i) := array_in(i) * 2;
10 END LOOP;
11 END Get_Array;
12 /
Procedure created.
Elapsed: 00:00:00.89
satyaki>
satyaki>
satyaki>Create or Replace Procedure Set_Array(myArray IN n_array)
2 is
3 i number(10);
4 rec emp%rowtype;
5 w n_array:=n_array(1200,3200);
6 bucket n_array := n_array();
7 Begin
8 Get_Array(w,bucket);
9
10 for i in 1..myArray.count
11 loop
12 select *
13 into rec
14 from emp
15 where empno = myArray(i);
16 dbms_output.put_line('Employee No:'||rec.empno||' Name:'||rec.ename);
17 for j in 1..bucket.count
18 loop
19 dbms_output.put_line('Commission Sub Type: '||bucket(j));
20 end loop;
21 end loop;
22 End Set_Array;
23 /
Procedure created.
Elapsed: 00:00:01.33
satyaki>
satyaki>
satyaki>select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
9999 SATYAKI SLS 7698 02-NOV-08 55000 3455 10
7777 SOURAV SLS 14-SEP-08 45000 3400 10
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 4450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 7000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
13 rows selected.
Elapsed: 00:00:00.28
satyaki>
satyaki>declare
2 v n_array:=n_array(9999,7777);
3 begin
4 Set_Array(v);
5 end;
6 /
Employee No:9999 Name:SATYAKI
Commission Sub Type: 2400
Commission Sub Type: 6400
Employee No:7777 Name:SOURAV
Commission Sub Type: 2400
Commission Sub Type: 6400
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.15
satyaki>
satyaki>Regards.
Satyaki De. -
First of all, apologies if this question has been asked before. I did search for it, but couldn't find it anywhere.
I have an iMac on my desk, and right next to my desk I have a 32" Samsung HD TV (Model No: LE32C450). As I don't have a DVD player for my TV, I was wondering if there was any way that I could connect my iMac to my TV for watching movies using Front Row? And before anyone says it, I know I could just buy a DVD player for like £20, but I wouldn't just be using this for DVDs.
Now, I'm not all that good with the technical side of stuff, such as which cables and adapters I'd need, or if I'd need any special software and things like that. My iMac has a Mini DisplayPort, and my TV has 3 HDMI slots, and according to the manual for the TV, one of them is DVI.
I know it's possible to use a TV as a monitor, but would it work for what I want? The iMac doesn't seem to have an Audio Out slot, so I guess I couldn't use my TV's speakers? And would the resolution be good enough for things like movies? I believe the TV is 720p (so not full HD) if that makes any difference. Basically, I don't want to spend money on this if the picture and/or sound are going to be poor.
Sorry for such a long question, but any help would be much appreciated. If you need any more info, just ask and I'll do my best.
ThanksActually, it's a little more complicated than Kappy suggests. "Pairing" the remote means only ONE remote will control the device that's been paired. However, that same remote will still control other devices. So, unless you have two remotes and can pair each one with one device (computer & Apple TV), one device will still receive stray commands.
If you do have two remotes, then pair one to the Apple TV and the other to the MacBook. Then they won't get confused. Pairing a remote with the Apple TV does NOT appear in Mac OS X help at least not in either Mac I checked. However, pairing a remote with a computer does:
http://docs.info.apple.com/article.html?path=Mac/10.5/en/8993.html
Pairing your remote with the Apple TV:
http://support.apple.com/kb/HT1555
If you only have one remote, in the MacBook's Security System Preferences, check on the option to disable the built-in IR receiver. With the receiver off, the MacBook won't react to any signals from the Apple TVs remote.
-Doug -
Better approach for deleting rows using trigger or procedure
Hi,
Please suggest which option is better for deleting rows from table trigger or procedure and why?
In datawarehousing and OLTP DB's.
Edited by: user6040008 on Nov 2, 2012 4:51 AMHi,
Please suggest which option is better for deleting rows from table trigger or procedure and why?
In datawarehousing and OLTP DB's.
Edited by: user6040008 on Nov 2, 2012 4:51 AM -
Does XML approach for passing parameters in the query make the query slow?
Hi,
I am using XML approach for passing parameters in a query. This is running very slow but when I pass comma separated values in parameter, it runs very fast.
So it concludes that we should not use XML approach for passing parameters. Please confirm me that Am I right or wrong?
I have also googled to clear my doubt but not get solution till now. please help me.
Regards,
Sachin914014 wrote:
Hi,
I am using XML approach for passing parameters in a query. This is running very slow but when I pass comma separated values in parameter, it runs very fast.
So it concludes that we should not use XML approach for passing parameters. Please confirm me that Am I right or wrong?
I have also googled to clear my doubt but not get solution till now. please help me.
Regards,
SachinShow us what you are doing, create a simple yet complete example we can run on our Oracle instances.
Then we will know exactly what you mean, and can comment appropriately.
Cheers, -
Tabular form - Different LOV for different rows
In a tabular form column, is it possible to have a select list whose values depend on some other column in the row? There doesn't appear to be a way to use #COL# notation to refer to current row values in the LOV query definition.
Ideas? ThanksHi Scott,
Thanks ..I formed some idea about APEX_UTIL.KEYVAL_NUM. I have a problem where I am not able to decide if I can make use of this package and solve..
Can you please have a look at this thread.. Re: Tabular form - Different LOV for different rows
I have a SQL which populates a tabular form on the page.Coulmn1 some text, Column 2 is to show a drop down as YES and NO. i am trying to freeze the option for rows 2,3,4 as NO, if the Option choosen in first is NO.
So, what I am trying to ask is..can I save my first selection in a global variable and use it in where clause of [select list query] the second drop down..Not sure how I can do this..Appreciate if you can show me a direction.
Thanks,
Chaitu. -
How to force SQL*Loader to assign the same SYSDATE for all rows?
I want to use SQL*Loader to load some rows and a "SYSDATE" generated column, but making sure this date is THE SAME for all rows. I have seen that if I load HUNDREDS of rows there is a little difference between them (in terms of seconds). I guess it is "the moment each row entered the DB", but I need the same value for all rows (preferably, "the moment SQL*Loader was launched"). Is there any way to achieve this?
Thank you very much.Hello user2393320.
Given some thought, using a date value to identify all records from a single load isn't very wise.
Are you able to create a procedure on the database that could be executed during SQL*Loader's execution? If so, you could develop the procedure to take in the record number of the row being loaded as an input parameter and output this unique date value for all rows loaded. The procedure would need to store the date value in a table when the first row is being loaded and return the stored date value as its output. This obviously assumes that only one sqlldr session is running at any time.
I highly recommend using a numeric sequence in the control file instead of a date to identify each file load:
, file_load_seq SEQUENCE(MAX, 1)
Another approach would be to load the record number being loaded in addition to the sysdate:
, record_number RECNUM
Hope this helps,
Luke -
How to find dynamic value(screen value) in table control for current row .
hi to all,
i used table control in my screen. for column no 2 field i was used serrch help. and for column number 3 i used a dynamic help.
in change mode you can change any row for table control.
when i was using search help for a row which was already entered in column no 3 i cannot get any value.
how i can get value of row no 3 and column no 2 value.
thanksTry using like index for the serarch the TC-current_line
-
Regarding execution of pl/sql procedure using JSP
HI all
Please help me.
i am customizing a jsp page ,which is executing one sql procedure first then selecting data from the table in which procedure is inserting.
How can i pass parameter dynamically to the sql procedure ? ,which i am getting from an HTML page.
Please help me out.
regards
satendrathis is the sample code provided by oracle.
* This sample shows how to call PL/SQL blocks from JDBC.
import java.sql.*;
class PLSQL
public static void main (String args [])
throws SQLException, ClassNotFoundException
// Load the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String url = "jdbc:oracle:oci8:@";
try {
String url1 = System.getProperty("JDBC_URL");
if (url1 != null)
url = url1;
} catch (Exception e) {
// If there is any security exception, ignore it
// and use the default
// Connect to the database
Connection conn =
DriverManager.getConnection (url, "scott", "tiger");
// Create the stored procedures
init (conn);
// Cleanup the plsqltest database
Statement stmt = conn.createStatement ();
stmt.execute ("delete from plsqltest");
// Close the statement
stmt.close();
// Call a procedure with no parameters
CallableStatement procnone = conn.prepareCall ("begin procnone; end;");
procnone.execute ();
dumpTestTable (conn);
procnone.close();
// Call a procedure with an IN parameter
CallableStatement procin = conn.prepareCall ("begin procin (?); end;");
procin.setString (1, "testing");
procin.execute ();
dumpTestTable (conn);
procin.close();
// Call a procedure with an OUT parameter
CallableStatement procout = conn.prepareCall ("begin procout (?); end;");
procout.registerOutParameter (1, Types.CHAR);
procout.execute ();
System.out.println ("Out argument is: " + procout.getString (1));
procout.close();
// Call a procedure with an IN/OUT prameter
CallableStatement procinout = conn.prepareCall ("begin procinout (?); end;");
procinout.registerOutParameter (1, Types.VARCHAR);
procinout.setString (1, "testing");
procinout.execute ();
dumpTestTable (conn);
System.out.println ("Out argument is: " + procinout.getString (1));
procinout.close();
// Call a function with no parameters
CallableStatement funcnone = conn.prepareCall ("begin ? := funcnone; end;");
funcnone.registerOutParameter (1, Types.CHAR);
funcnone.execute ();
System.out.println ("Return value is: " + funcnone.getString (1));
funcnone.close();
// Call a function with an IN parameter
CallableStatement funcin = conn.prepareCall ("begin ? := funcin (?); end;");
funcin.registerOutParameter (1, Types.CHAR);
funcin.setString (2, "testing");
funcin.execute ();
System.out.println ("Return value is: " + funcin.getString (1));
funcin.close();
// Call a function with an OUT parameter
CallableStatement funcout = conn.prepareCall ("begin ? := funcout (?); end;");
funcout.registerOutParameter (1, Types.CHAR);
funcout.registerOutParameter (2, Types.CHAR);
funcout.execute ();
System.out.println ("Return value is: " + funcout.getString (1));
System.out.println ("Out argument is: " + funcout.getString (2));
funcout.close();
// Close the connection
conn.close();
// Utility function to dump the contents of the PLSQLTEST table and
// clear it
static void dumpTestTable (Connection conn)
throws SQLException
Statement stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("select * from plsqltest");
while (rset.next ())
System.out.println (rset.getString (1));
stmt.execute ("delete from plsqltest");
rset.close();
stmt.close();
// Utility function to create the stored procedures
static void init (Connection conn)
throws SQLException
Statement stmt = conn.createStatement ();
try { stmt.execute ("drop table plsqltest"); } catch (SQLException e) { }
stmt.execute ("create table plsqltest (x char(20))");
stmt.execute ("create or replace procedure procnone is begin insert into plsqltest values ('testing'); end;");
stmt.execute ("create or replace procedure procin (y char) is begin insert into plsqltest values (y); end;");
stmt.execute ("create or replace procedure procout (y out char) is begin y := 'tested'; end;");
stmt.execute ("create or replace procedure procinout (y in out varchar) is begin insert into plsqltest values (y); y := 'tested'; end;");
stmt.execute ("create or replace function funcnone return char is begin return 'tested'; end;");
stmt.execute ("create or replace function funcin (y char) return char is begin return y || y; end;");
stmt.execute ("create or replace function funcout (y out char) return char is begin y := 'tested'; return 'returned'; end;");
stmt.close();
} -
How to use simple values services for multiple rows ina table
Hi Frnds...
As per my requirment i need to use SVS for multile rows in a table.
The coding goes like this for getting single attribute which is directly under root context.
objSimpleValueSetCurr = wdContext.getNodeInfo().getAttribute("ctx_attribute");
(this is only for context attribute directly placed under root context in the view controller.)
We need to use value node and a value attribute inside this node. And retrieve the same. so need help regarding the code changes.
Regards,
SudeepHi ,
I had tried out your suggestion. Its not working.
The code goes like this, but the data is not getting populated.
"controller_curr" is the value attribute under the node "InitTable" in the controller which is further mapped to view controller with the same structure.
The data is geting printed through the message manager just before the line
divSMT.put(currency,currency); in this code, at the end.
But "divSMT.put" is not able to populate the data.
_________START________
public void currency( )
//@@begin currency()
IWDMessageManager msg = wdComponentAPI.getMessageManager();
ISimpleTypeModifiable objSimpleTypeCurr = null;
IModifiableSimpleValueSet objSimpleValueSetCurr = null;
String currency=null;
String bandg = null;
Z_Bapi_Get_Curr_Rate_Input authCurrDet = null; //for FCURR
Try
authCurrDet = new Z_Bapi_Get_Curr_Rate_Input();
wdContext.nodeZ_Bapi_Get_Curr_Rate_Input().bind(authCurrDet);
wdContext.nodeZ_Bapi_Get_Curr_Rate_Input().currentZ_Bapi_Get_Curr_Rate_InputElement().modelObject().execute();
IWDAttributeInfo objSimpleValueSetCurr1 = wdContext.nodeInitTable().getNodeInfo().getAttribute("controller_curr");
ISimpleTypeModifiable countryType = objSimpleValueSetCurr1.getModifiableSimpleType();
IModifiableSimpleValueSet divSMT = countryType.getSVServices().getModifiableSimpleValueSet();
int sizeofCurrencyFCURR = wdContext.nodeOPCURROutput().nodeIt_Curr_Rate().size();
msg.reportSuccess("SizeofCurrency FCURR : "+sizeofCurrencyFCURR);
for(int i=0;i<sizeofCurrencyFCURR;i++)
currency = wdContext.nodeOPCURROutput().nodeIt_Curr_Rate().getIt_Curr_RateElementAt(i).getFcurr();
msg.reportSuccess("Currency : "+currency);
divSMT.put(currency,currency);
catch(Exception e)
//@@end
_________END________
Please look into the issue.
Regards.
Maybe you are looking for
-
WEbsite says "plug-ins needed to view this content" how do I know what plug-ins to load?
I read a newspaper on line and the page by page version seems to require a plug in as noted in the subject line. When i hover the cursor over the site to activate the page version, it says that a plug in is required. How do I know which one is requir
-
Hello all.How can I see what files are in my Drop box cache folder in Snow Leopard so that I can clean out the cache?Are there any other caches that I should clean out periodically?Is there a free program that will clean out my drop box files?What do
-
Can I do another update over 10.6.1?
Hello My system was updated to 10.6.1, When I ran disk utility it gave me 2 warning errors that couldn't be repaired due to SUID files in libary. Is it possible to do another update over the current update. Or do I have to do a complete erase & insta
-
MS Project 2013 Calendar permissions
I am looking to find a way for Project managers to edit the calendar for a particular project (for example, adding a few Saturday workdays that would not be on the company default calendar). from what i can tell though, the PM needs to have admin le
-
ME22N - Refresh Delivery Date as a result of PO Transit Table Update?
The SAP PO Transit Table is being updated to be more accurate. Weu2019ve been asked to develop a Winshuttle script to u2018refreshu2019 each affected open PO/Line to force an update of the POu2019s Delivery Date (the field is not directly accessible