Procedure calling in Oracle ADF

In Oracle Adf we will doing DML operation by calling the Procedure.Here the syntax of calling
Stored procedure is as follow:

Here Procedure name is --  Vinayprocedure(empno,job,name)

StoredProcedureCall call = new StoredProcedureCall();
call.setProcedureName("Vinayprocedure");
call.addUnamedArgument("empno");
call.addUnamedInOutputArgument("job", "job", String.class);
call.addUnamedOutputArgument("name");

DataModifyQuery query = new DataModifyQuery();
query.setCall(call);
query.addArgument("empno");
query.addArgument("job");
query.addArgument("name");

session.addQuery("Vinayprocedure ", query);

Vector parameters = new Vector();
parameters.addElement(new Integer(7369));
parameters.addElement("engineer");
parameters.addElement("Vinay");
Object data = session.executeQuery(query, parameters);

When we are calling data from some view object, we can use this code  :-
VinayViewObject1Iterator= view object iterator.

StoredProcedureCall call = new StoredProcedureCall();
call.setProcedureName("Vinayprocedure2");
call.addNamedArgument("empno");
call.addNamedArgument("job");
call.addNamedArgument("name");

DataModifyQuery query = new DataModifyQuery();
query.setCall(call);
query.addArgument("empno");
query.addArgument("job");
query.addArgument("name");
Vector parameters = new Vector();

DCIteratorBinding iteratorobject= findIterator("VinayViewObject1Iterator");
RowSetIterator rowObject = iteratorobject.getRowSetIterator();
rowObject.setRangeSize(rowObject.getRowCount());
RowKeySet keysetobject = this.getTable().getSelectionState();
Set keySetobject = keysetobject.getKeySet();
Iterator itrobject = keysetobject.iterator();

while (itrobject.hasNext()) {
Integer intr = (Integer)itr.next();
VinayViewObjectRowImpl row =
(VinayViewObjectRowImpl)keysetobject.getRowAtRangeIndex(intr.intValue());
parameters.addElement(row.getAttribute(“empno));                       parameters.addElement(row.getAttribute(“job”));
parameters.addElement(row.getAttribute(“name”));

session.addQuery("Vinayprocedure2", query);
Object data = session.executeQuery(query, parameters);

parameters.clear();

Vinay

I am an Oracle ACE in Oracle ADF/Webcenter. Sr Java Consultant-working on Java/J2EE/Oracle ADF/Webcenter Portal/ content and Hibernate for several years. I'm an active member of the OTN JDeveloper/Webcenter forum. Passionate about learning new technologies. I am here to share my knowledge. Give your views and suggestion on [email protected] .

More Posts - Website

Follow Me:
TwitterLinkedInGoogle PlusYouTube