Accessing an ADF Operation binding programmatically

Accessing an ADF Operation binding programmatically

Developing an ADF application, it sometimes comes out we need to invoke programmatically (e.g. from a Managed Bean) a method exposed as operation binding in a ADF Data Control. To do this, we need to access the current binding container:

OperationBinding searchOp = ADFUtils.findOperation("searchBusinessUnits");

The ADFUtils.findOperation() method has the following definition:

public static OperationBinding findOperation(String operationName) {

   OperationBinding op = getDCBindingContainer().getOperationBinding(operationName);

   if (op == null) {

      throw new RuntimeException("Operation '" + operationName +"' not found");

   }

   return op;

}

Unfortunately, when the previous code is executed in a method action invoked at page load time through an invokeAction binding, it happens that the reference to the binding container is null at this point. In this case, we need to access the binding container in a different way, using EL:

import oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding;

 

[. . .]

 

FacesCtrlActionBinding searchOp = null;

searchOp = (FacesCtrlActionBinding)JSFUtils.resolveExpression("#{data.portal_peoplefinder_resultsPageDef.searchBusinessUnits}");

Map opParams = searchOp.getParamsMap();

opParams.put("searchTermarchString);

Object result = searchOp.execute();

The pageDef excerpt of the page (or page fragment) containing the binding I need to access (in this case peopleFinder_resultsPageDef.xml ):

[...]

DataControl="ContentServicesDC" RequiresUpdateModel="true"

Action="invokeMethod" MethodName="searchBusinessUnits" IsViewObjectMethod="false"

ReturnName="data.ContentServicesDC.methodResults.searchBusinessUnits_ContentServicesDC_dataProvider_searchBusinessUnits_result"/>

[...]

And the line of DataBindings.cpx regarding this binding:

path="oracle.webcenter.portalapp.pagefragments.peoplefinder_resultsPageDef"/>

IMPORTANT: the EL expression we are using to retrieve the binding must be complying with the following format:

[“data”] + [id of the corresponding entry in DataBindings.cpx] + [name of the binding we want to retrieve]

منبع :

https://matteoformica.wordpress.com/2011/11/05/accessing-an-adf-operation-binding-programmatically/

 

 

how_to_execute_process_flow_from_sqlplus

سلام

خسته نباشید

 

من میخواستم دستورات مربوط به اجرای پروسس فلوهای دلتا رو بدون استفاده از محیط OMB Plus و از داخل محیط SQL Plus فراخوانی کنم تا با سوییچ نکردن بین محیط های مختلف امکان مکانیزه کردن عملیات دلتا فراهم شود .

مقاله زیر رو خوندم:

https://blogs.oracle.com/warehousebuilder/entry/how_to_execute_process_flow_from_sqlplus

 

 

ولی به مشکلی مشابه مقاله زیر برخوردم.

http://www.mkietzke.de/?p=39

وقت کردین ممنون میشم راهنمایی م کنین.