on 08-17-2007 10:02 AM
Hi,
can u tell me how to create supply function???
i just gone through the PDF(Advanced Input Help - The Object Value Selector (OVS))
In that he created supplufunction and 4 methods
1)getOVSInputNode-com.sap.tc.webdynpro.programmodel.api.IWDNode
2)getOVSListener-com.sap.tc.webdynpro.programmodel.api.IWDOVSContextNotificationlistener
3)getOVSOutputtNode-com.sap.tc.webdynpro.programmodel.api.IWDNode
4)SwithchOVSListener-String
Can u plz tell me how to get these return types and how to create supply function just by clicking new in methods tab
Hi Padma
Follow These Steps of Implementing <i>Object Value Selector</i>
<u><b>Component Controller</b></u>
Create the Following Contexts in Component Controller
Node1(Name,Location)
Node2(Name,Age,Location)
Source(Name,Age,Location)
/*All are Type String*/
Add the Following Code in Component Controller
public void wdDoInit()
{
//@@begin wdDoInit()
String name[] = {"Arun","Boopathi","Bala"};
String age[] = {"24","22","24"};
String location[] = {"Erode","Gobi","Gingee"};
IPublicOVS_Model_Comp.ISourceElement ele;
for(int i=0;i<name.length;i++)
{
ele = wdContext.nodeSource().createSourceElement();
ele.setName(name<i>);
ele.setAge(age<i>);
ele.setLocation(location<i>);
wdContext.nodeSource().addElement(ele);
}
//@@end
}
<b>Create a inner Class called ovslist between the begin and others in the Component controller which is found at the end of the code. If you created somewhere the coding will be lost. After creating the class type app and pres ctrl space you will be shown the list of api's with apply input values, on querry and apply result</b>
//@@begin others
public class ovslist implements IWDOVSContextNotificationListener
{
/* (non-Javadoc)
* @see com.sap.tc.webdynpro.progmodel.api.IWDOVSContextNotificationListener#applyInputValues(com.sap.tc.webdynpro.progmodel.api.IWDNodeElement, com.sap.tc.webdynpro.progmodel.api.IWDNodeElement)
*/
public void applyInputValues(IWDNodeElement applicationNodeElement,IWDNodeElement queryInputNodeElement)
{
// TODO Auto-generated method stub
queryInputNodeElement.setAttributeValue("Name",applicationNodeElement.getAttributeAsText("Name"));
queryInputNodeElement.setAttributeValue("Location",applicationNodeElement.getAttributeAsText("Location"));
}
/* (non-Javadoc)
* @see com.sap.tc.webdynpro.progmodel.api.IWDOVSContextNotificationListener#onQuery(com.sap.tc.webdynpro.progmodel.api.IWDNodeElement, com.sap.tc.webdynpro.progmodel.api.IWDNode)
*/
public void onQuery(IWDNodeElement queryInputNodeElement,IWDNode queryOutputNode)
{
// TODO Auto-generated method stub
IPublicOVS_Model_Comp.INode1Element input = (IPublicOVS_Model_Comp.INode1Element)queryInputNodeElement;
IPublicOVS_Model_Comp.INode2Node output = (IPublicOVS_Model_Comp.INode2Node)queryOutputNode;
String str_name = queryInputNodeElement.getAttributeAsText("Name");
String str_location = queryInputNodeElement.getAttributeAsText("Location");
String name_str = " ";
String location_str = " ";
String age_str = " ";
boolean one,two;
for(int i=0;i<wdContext.nodeSource().size();i++)
{
one = two = true;
name_str = wdContext.nodeSource().getSourceElementAt(i).getName();
location_str = wdContext.nodeSource().getSourceElementAt(i).getLocation();
age_str = wdContext.nodeSource().getSourceElementAt(i).getAge();
if(str_name.length()!=0)
{
one = str_name.matches(name_str);
}
if(str_location.length()!=0)
{
two = str_location.matches(location_str);
}
if(one && two)
{
IPublicOVS_Model_Comp.INode2Element ele = output.createNode2Element();
ele.setName(wdContext.nodeSource().getSourceElementAt(i).getName());
ele.setAge(wdContext.nodeSource().getSourceElementAt(i).getAge());
ele.setLocation(wdContext.nodeSource().getSourceElementAt(i).getLocation());
wdContext.nodeNode2().addElement(ele);
}
}
}
/* (non-Javadoc)
* @see com.sap.tc.webdynpro.progmodel.api.IWDOVSContextNotificationListener#applyResult(com.sap.tc.webdynpro.progmodel.api.IWDNodeElement, com.sap.tc.webdynpro.progmodel.api.IWDNodeElement)
*/
public void applyResult(IWDNodeElement applicationNodeElement,IWDNodeElement queryOutputNodeElement)
{
// TODO Auto-generated method stub
IPrivateOVS_Model_View.IView_DisplayElement disp = (IPrivateOVS_Model_View.IView_DisplayElement)applicationNodeElement;
IPublicOVS_Model_Comp.INode2Element out = (IPublicOVS_Model_Comp.INode2Element)queryOutputNodeElement;
disp.setAttributeValue("Name",out.getAttributeAsText("Name"));
disp.setAttributeValue("Age",out.getAttributeAsText("Age"));
disp.setAttributeValue("Location",out.getAttributeAsText("Location"));
}
}
//@@end
}
<b>Create a method ovslistener with the return type , while creating the method chosse return type in that select java native type and click browse,you will be showned a window Java Native Type Selection in that type IWDovscontextnotificationlistener and select that return type displayed click ok</b>.
public com.sap.tc.webdynpro.progmodel.api.IWDOVSContextNotificationListener ovs_listener( )
{
//@@begin ovs_listener()
ovslist ovslist_obj = new ovslist();
return ovslist_obj;
//@@end
}
***********************************************************************************************
<u><b>View Controller</b></u>
Create the Following Context
View_Display(Name,Age.Location) /* All are type String only */
Create the UI Elements for the Name age location
public void wdDoInit()
{
//@@begin wdDoInit()
IWDAttributeInfo info[] = {wdContext.nodeView_Display().getNodeInfo().getAttribute("Name"),wdContext.nodeView_Display().getNodeInfo().getAttribute("Location")};
IWDOVSContextNotificationListener obj = wdThis.wdGetOVS_Model_CompController().ovs_listener();
WDValueServices.addOVSExtension(" ",info,wdThis.wdGetOVS_Model_CompController().wdGetContext().nodeNode1(),wdThis.wdGetOVS_Model_CompController().wdGetContext().nodeNode2(),obj);
//@@end
}
public static void wdDoModifyView(IPrivateOVS_Model_View wdThis, IPrivateOVS_Model_View.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
{
//@@begin wdDoModifyView
IWDAttributeInfo name = wdThis.wdGetOVS_Model_CompController().wdGetContext().nodeNode1().getNodeInfo().getAttribute("Name");
name.getModifiableSimpleType().setFieldLabel("Name");
IWDAttributeInfo location =wdThis.wdGetOVS_Model_CompController().wdGetContext().nodeNode1().getNodeInfo().getAttribute("Location");
location.getModifiableSimpleType().setFieldLabel("Location");
//@@end
}
<b>Let me know You Understand My Code or Not
Regards
Chandran</b>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
<b>Hi
Plz make clear that whether You Want to create Value Help OVS
its all available default inside the class IWDovscontextnotificationlistener....
If you want further i will tell....
Regards
Chandran</b>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Padma
1. Go to Context Tab and select your Node and see in the properties there is a
property called Supplyfunction just create method from here.
2. in your Implementation right click on the screen choose Source->organize imports.
all the return types are automatically added.
Regards
Abhimanyu L
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.