Oracle ADF – Passing Data within a Task Flow- Techartifact

Passing Data within a Task Flow –
It is a common use case to pass parameters from ADF Task Flow with fragments into another ADF Task Flow without fragments.f the bounded task flows referenced by ADF regions share the data control scope and the transaction – we can access parameter directly through Expression Language. If data control scope is not shared – probably you will need to use ADF Contextual Event Framework.

Source- www.oracle.com -video upload by ADFInsiderEssentials on youtube

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();