Value Nodes vs. Model Nodes

Hi,
why model nodes have to be initialized via Service Controller and needs to be bound to a model class instance and value nodes don't need that?
Thank you,
Pietro

Hi Pietro,
A model node is similar to value node in respect to it's API.
The main diff are:-
Value node
1.It maintains it's own elemnet collection,each element holding the actual runtime data.
2.While creating new element for a value node ,the node can create element object using metadata stored within it.
3.the children of a value node only be value nodes or value atrributes.It can't be a mix value and model nodes or attribute if the 
   parent is a value node.
Model Node
1.The element collection maintains by a model node is simply a collection of reference to model object instances.
2.Actual runtime data is stored in model object, not in model node's element collection.
Hope this will help you. if you want more check this.
http://help.sap.com/saphelp_webas630/helpdata/en/b8/cd96edb9c8794aa362e6e8b4236a1f/frameset.htm
Thanks & Regards,
Bhargava.

Similar Messages

  • Invalidate concept for value node and model node

    Hello everybody,
    We have invalidate method for value node and model node.
    I want to know basic concept behind this method.
    What this method acually does?
    Regards,
    Bhavik

    Hi Pran and all,
    I figured out the problem. Input parameters are going multple times. So, depending upon that it gives multiple values.
    My scenario is:
    Root Node
    |_ Input_node1
         |_Attr1
    |_ Input_Node2
         |_Attr2
    |_Output_node
         |_Result
    I am passing values in Attr1 and Attr2 attributes.
    For this, first of all, i wrote following code.
    In controller, i have initialized Root node:
    Root_Node model = new Root_Node();
    wdcontext.nodeRoot_Node().bind(model);
    In view, I set values for attr1 and attr2 using following code:
    Ipublic<View>.IInput_node1Element ele = wdcontext.createInput_node1Element();
    ele.setAttr1("<value>");
    wdcontext.nodeInput_node1().addElement(ele);
    Ipublic<View>.IInput_node2Element ele1 = wdcontext.createInput_node2Element();
    ele1.setAttr2("<value>");
    wdcontext.nodeInput_node2().addElement(ele);
    But this code didnt work. Model was executed without data in this case.
    So, i thought that these elements were created at view level only. And corresponding model objects were not created.
    So, I have changed code like following way:
    I have removed initialization code for Input_Node1 and Input_Node2 from view. Now, I am getting input values in two different value nodes. And before calling custom controller's method to execute model, I am making two ArrayLists and filling data in it. Now, i am passing these ArrayList objects as parameters to controller's method.
    In this method, i am setting both values as follows:
    wdcontext.currentRoot_NodeElement().modelObject().setInput_Node1(List1); 
    wdcontext.currentRoot_NodeElement().modelObject().setInput_Node2(List2); 
    Then i am executing my model.
    But, When i am setting values for Input_Node1 and Input_Node2 as shown above, values are appended instead of overwritting the value. Because of this appended values, it gives mupltiple results.
    Means, Both ways are not proper. What should be the proper and best way to pass values in this case?
    Thanks,
    Bhavik

  • How to populate a Value Attribute of a Value Node inside Model Node

    Hello
    I have my context like this.
      Context
    ..          - ModelNode
    ....                      - Model Attr1
    ....                      - Model Attr2
    ....                      - Model Attr3
    ....                      - Model Attr4
    ....                      - Value Node
    ......                                  |
    ......                                   - Value Attr1
    Model Node is of Cardinality 0..N
    Value Node is of Cardinality 1..1
    I want to create multiple records in my Model Node and one record for every Model Node in Value Node.
    How to do this?
    All good suggestions are welcome.
    Regards,
    Shubham

    Hi Shubham,
    With your context structure the code will be
    for(int i = wdContext.nodeModelNode().size()-1 ; i>=0 ; i--)
        IPublic<comp name>.IModelNodeElement ele =   wdContext.nodeModelNode().getModelNodeElementAt(i);
        IPublic<comp name>.IValNodeElement valEle = wdContext.nodeModelNode().nodeValNode().createValNodeElement();
        valele.setValAttr("");
        ele.nodeValNode().addElement( valEle);
    Your val node should be non singleton (singleton property = false)
    Regards,
    Jaydeep

  • Webdynpro : How to SKIP the values of the Model Node.

    Hi
    i imported a WSDL into my WDJ application.
    where on context mapping, i mapped the MODEL with my CONTROLLER.
    I would like to SKIP couple of Attributes and Model node
    In WEBSERVICE navigator, i have the check box as SKIP, so using that i can skip in Navigator ,
    But how to do the same in WEBDYNPRO Coding.
    Say for Example
    Context
    ----------ModelNode1
    ----------ModelNode2
    ----------ModelNode3
    ----------======ModelAttribute1      NULL
    ----------======ModelAttribute2      SKIP
    ----------======ModelAttribute3      SKIP
    i know how to set the value if it need to set it to null
    wdcontext.nodelModelNode3.currentModelNode3element.setModelAttribute1("null")
    similaraly  can anyone tell me how to set the SKIP for other 2 attributes......
    Thanks

    Hi Chintan
    Thanks for your response....
    fine ... i understood your solution....
    but , my problem goes and makes me dizzzy
    i have 10 mandatory filed in my Webservice..
    i passed all the 10 mandatoy fileds and get perfect Response In WEBSERVICE Navigator....
    i tried passing the same value via WDJ application as show below
    since i have a node element with cardinalith 0..n
    I set the value those i passed in Webservice Navigator.....
    wdContext.nodeRequest_getSubmitRequest().
                     nodeRequestDetails().nodeRoles().invalidate();
           IPrivateOne_AppView.IRolesElement RoleE = wdContext.createRolesElement(new ComplexType_RoleData());
         RoleE.setRoleId("BASIC");
         RoleE.setSysId("R3");
         wdContext.nodeRequest_getSubmitRequest().
                   nodeRequestDetails().nodeRoles().addElement(RoleE);
    But Here ,I get a Error Message Saying  :Error in Submiting Request :  No role seleced for the request.
    so , i even checked whether the node is populated with rite value by printing them after executing the WSDL.
         wdContext.currentRequest_getSubmitRequestElement().modelObject().execute();
              MsgManger.reportSuccess( "After Push_execute_WSDL");
    MsgManger.reportSuccess( " COntroller getRoleId -- "+wdContext.nodeRequest_getSubmitRequest()
                        .nodeRequestDetails().nodeRoles().currentRolesElement().getRoleId().toString());
              MsgManger.reportSuccess( " COntroller getSysId -- "+wdContext.nodeRequest_getSubmitRequest()
                        .nodeRequestDetails().nodeRoles().currentRolesElement().getSysId().toString());
    Output
    After Push_execute_WSDL
    COntroller getRoleId -- BASIC
    COntroller getSysId -- R3
    Kindly let me know wat could be wrong........
    The MOST wired thing is
    if i didnt set and Role , SysId in webservice navigator , then Error thrown at Webservice Navigator is
    Error in Submiting Request : RoleId is mandatory,SysId is mandatory null
    on following same thing , if i didnt set Role and SysID in WebDynpro then, i get error as
    Error in Submiting Request :  No role seleced for the request.
    How is this possible....
    any help on this would be appreciated...
    Thanks

  • How to set value to Model Node of cardinality 0..N

    hi
    I am looking for a way to set value to a model node of cardinality 0..N
    i imported a WSDL into my applicaion , which has the following Node Structure.
    Context
    --- ModelNode_Request
          ---ModelNode2_Input
          ---ModleNode3_Roles  [ cardinality 0..n singleton 1..1]
               ****Model_Attribute RoleID     <<<<<<<<<<<<
               ****Model_Attribute SysID      <<<<<<<<<<<<
      ---ModelNode_Response
    i tried with the below code  but effort went in vain.
    i tried following ways to set the value but , i get Nullpointer expection error.
         wdContext.nodeRequest__SubmitRequest().nodeRequestDetails().nodeRoles().
              currentRolesElement().setRoleId("BASIC");
         wdContext.nodeRequest__SubmitRequest().nodeRequestDetails().nodeRoles().
              currentRolesElement().setSysId("R3_220");
    i aslo looked into the forum  https://www.sdn.sap.com/irj/scn/thread?messageID=2035342 but couldnt find any solid solution.
    It would be great if some one can throw some snippets on the same.
    Thanks
    Edited by: RR on Dec 22, 2008 5:48 PM

    Hi RR,
    As far as i know u can set model nodes and values nodes are different. whats shown in the link is for values node. u should do differently for model node..
        Since this is a model node...u first need to create an object of the node type. then create an arraylist for that and then add values..
    try this..
    // Create an object for structures in the node to be used
    Yweb_Po_Items objPOItems = null; // where Yweb_Po_Items is the structure of the node...
    // Create an abstractlist for structures in the RFC node to be used, if u are planning to give single or multiple rows (in node/table) as input to the RFC
    AbstractList POObjAbsList = new Yweb_Po_Items.Yweb_Po_Items_List();
    objPOItems = new Yweb_Po_Items();
    //    /set first set of values
    objPOItems.setColumn1(u201Cabcu201D); // here hard codede for example
    objPOItems.setColumn2(u201Cabcfghu201D);
    // add the object to the abstract list
    POObjAbsList.add(objPOItems);
    //    /set second set of values
    objPOItems.setColumn1(u201Cnewabcu201D);
    objPOItems.setColumn2(u201Cnewabcfghu201D);
    // add the object to the abstract list again
    POObjAbsList.add(objPOItems); // now u got 2 records
    // now set the abstractlist to the node in the RFC
    objGoodsReceiptPO.setPo_Items_In(POObjAbsList);
    Hope this information is useful...
    Thanks
    Md. Yusuf

  • Copy values from model node to another model node with different structure

    Hi,
    I am getting detils from RFC1 and update some of the data into another RFC2.
    the first RFC1 having the strucutre
    context
    NodeName
    nodel
    arrtibutes
    the second RFC2 having the different strucutre
    context
    NodeName1
          | nodel2
               | arrtibutes2
               | arrtibutes3
          | nodel5
               | arrtibutes4
               | arrtibutes5
    I need to copy the values from first one to second one.
    Both are different structures.
    Can any one tel me how to do it.
    Thanks
    Ravi

    Hi,
    Create 1 custom controllers for each Model.
    1.Cust COntroller1:
            Node one.
            ->Attr1(type:String)
            ->Attr2(type:long)
    2.Cust COntroller2
            Node one.
            ->Attr1(type:String)
            ->Attr2(type:long)
    Through the component controller only u can send the data by mapping.
    In component controller:
      Node one.
            ->Attr1(type:String)
            ->Attr2(type:long)
    Step1:Map the elements from custControler1.
    Before mapping make sure that u have data in CustController Context=>value node.
    (Note:cust controler node s model node means copy the elements to value node using copyservice)
    step2:Go to cust controller2 goto value node and map it.
    if ur nt getting,Plz let me knw,
    Thanxs,
    Lavanya.G

  • Difference between value node,model node and recursion node?.

    Hi all,
    this is to ask you the difference between modal node, value node and recurrsion node?
    please explain
    Anhitya Kashyap

    hi Anhit,
    node can be classified as a value node or model node. The difference between value nodes and model nodes is that a value node can store the data itself, whereas the model node only references an external model object that stores the data.
    more on nodes check this
    http://help.sap.com/saphelp_webas630/helpdata/en/b8/cd96edb9c8794aa362e6e8b4236a1f/frameset.htm
    thanks,
    Saloni

  • Accessing model node with cardianlity 1 to 1 throwing error

    Hello All,
    I'm try ing to set values to a model node in the request for a mass update.
    in teh model nodes, one of the model node is mandatory with 1:1 cardinality.
    i cannot call the currentElement() nor the create and addelement
    both throwint the same error as below.
    I'm using CE 7.2 engine, and its very critical for me to complete this update.
    com.sap.tc.cm.base.exception.BaseModelRuntimeException: No object for mandatory target role 'Position' of model class 'uk.co.apps.bertha.wdj.model.wd.models.managets.PositionWrapper' with cardinality 'ONE' maintained
        at com.sap.tc.cm.base.model.BaseGenericModelClass.getRelatedModelObject(BaseGenericModelClass.java:436)
        at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClass.getRelatedModelObject(WSTypedModelClass.java:82)
        at com.sap.tc.webdynpro.progmodel.context.DataNode.doSupplyElements(DataNode.java:162)
        at com.sap.tc.webdynpro.progmodel.context.DataNode.supplyElements(DataNode.java:106)
        at com.sap.tc.webdynpro.progmodel.context.Node.getElementListAsObject(Node.java:244)
    the generated code, i have a list to which i have to bind this node to, there is no code generated as i see it.
    i tried regenerating and it doesnt help.
    the following is the complete stack
    com.sap.tc.cm.base.exception.BaseModelRuntimeException: No object for mandatory target role 'Position' of model class 'uk.co.apps.bertha.wdj.model.wd.models.managets.PositionWrapper' with cardinality 'ONE' maintained
      at com.sap.tc.cm.base.model.BaseGenericModelClass.getRelatedModelObject(BaseGenericModelClass.java:436)
      at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClass.getRelatedModelObject(WSTypedModelClass.java:82)
      at com.sap.tc.webdynpro.progmodel.context.DataNode.doSupplyElements(DataNode.java:162)
      at com.sap.tc.webdynpro.progmodel.context.DataNode.supplyElements(DataNode.java:106)
      at com.sap.tc.webdynpro.progmodel.context.Node.getElementListAsObject(Node.java:244)
      at com.sap.tc.webdynpro.progmodel.context.Node.getElements(Node.java:251)
      at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:390)
      at com.sap.tc.webdynpro.progmodel.context.Node.getCurrentElementInternal(Node.java:689)
      at com.sap.tc.webdynpro.progmodel.context.Node.getCurrentElement(Node.java:696)
      at uk.co.apps.bertha.wdj.ui.ts.wd.comp.tscomp.wdp.IPublicTeamStructComp$IPositionUpdateNode.currentPositionUpdateElement(IPublicTeamStructComp.java:10729)
      at uk.co.apps.bertha.wdj.ui.ts.wd.comp.tscomp.TeamStructComp.saveMyChildren(TeamStructComp.java:920)
      at uk.co.apps.bertha.wdj.ui.ts.wd.comp.tscomp.TeamStructComp.saveNewChangedTeam(TeamStructComp.java:882)
      at uk.co.apps.bertha.wdj.ui.ts.wd.comp.tscomp.wdp.InternalTeamStructComp.saveNewChangedTeam(InternalTeamStructComp.java:925)
      at uk.co.apps.bertha.wdj.ui.ts.wd.comp.tscomp.TeamStructEditView.onActionSubmitSuccess(TeamStructEditView.java:481)
      at uk.co.apps.bertha.wdj.ui.ts.wd.comp.tscomp.wdp.InternalTeamStructEditView.wdInvokeEventHandler(InternalTeamStructEditView.java:523)
      at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:142)
      at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:75)
      at com.sap.tc.webdynpro.clientserver.phases.ProcessingEventPhase.doHandleActionEvent(ProcessingEventPhase.java:159)
      at com.sap.tc.webdynpro.clientserver.phases.ProcessingEventPhase.execute(ProcessingEventPhase.java:94)
      at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequestPartly(WindowPhaseModel.java:162)
      at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doProcessRequest(WindowPhaseModel.java:110)
      at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseLoop(WindowPhaseModel.java:101)
      at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processPhaseLoop(WebDynproWindow.java:547)
      at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.handleWindowHierarchyChanges(AbstractClient.java:108)
      at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:56)
      at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doExecute(ClientApplication.java:1652)
      at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doProcessing(ClientApplication.java:1466)
      at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doApplicationProcessingStandalone(ApplicationSession.java:884)
      at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doApplicationProcessing(ApplicationSession.java:856)
      at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:343)
      at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:315)
      at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)
      at com.sap.tc.webdynpro.serverimpl.wdc.DispatcherServlet.doContent(DispatcherServlet.java:76)
      at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doPost(AbstractDispatcherServlet.java:62)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
      at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:400)
      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:203)
      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:438)
      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:427)
      at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:80)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:268)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
      at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
      at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:54)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:447)
      at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:264)
      at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
      at com.sap.engine.core.thread.execution.Executable.run(Executable.java:115)
      at com.sap.engine.core.thread.execution.Executable.run(Executable.java:96)
      at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:315)

    Thanks for reply,
    but i can't understand what is myModel indicates in the below code?
    Request_EmployeeManagementLocal_updateEmployee reqMod =
          new Request_EmployeeManagementLocal_updateEmployee(myModel);
    //Check empl model class will be there , create an object for that
          Employee objEmpl=new Employee(myModel);
    regards,
    Pradeep Kumar

  • Mapping Model Nodes

    Hi Gurus,
    Can anybody tell me , which is the best practise for mapping a structure to view through Component Controller .
    1) Setting all the model node values to a Value node on controller level and Map to the view
    2) Directly mapping the model node from controller to View .
    Please tell me the advantage also ?
    Thanks  in advance .
    Tony Isaac.

    Hi Tony,
    This looks quite wiered. As far as I think EHP1 should not restrict you to bind any modeled node attribute with the UI element. This is very basic requirement and as I said earlier if the scenario demands then we always bind teh values directly to the UI element.
    It makes no sence in first copying the values of the modeled node to the value node and then used the value nodes and finally take the values of the value node, copy them back to modeled node and finally save it. It will definitely hinder the performance. And in scenariois where we have lot of attributes in the structure then in all such cases the performance will be decresed drastically.
    Therefore I dont feel that there will be any such restriction on this.
    I hope this helps!
    Thanks and Regards
    Pravesh

  • Copy values from one Parent node to other Parent Node

    Hi all,
    I have a 2 Parent node each having 3 child nodes. I want to copy the values of all the attributes of all the child nodes of one Parent Node to corresponding other node.
    Both the Parent Nodes as well as their Child Nodes have different name but their attributes have same name.For ex:
    Parent Node -A
    Child Nodes - a, b,c
    Child Node "a" has attributes "x" and "y"
    Parent Node -B
    Child Nodes - d,e,f
    Child Node "d" has attributes "x" and "y" .
    Now I want to copy the values od attributes "x" and "y" from one Parent Node to other Parent node.
    Please help me out.
    Helpful answers will be rewarded.
    Thanxs in advance...

    Hi Jin,
    To use copy service API, u need to satisfy 2 condition for the attributes of source node and target node:
    1. The name of the attribute should be same (including the case of the name)- Abc is different from ABC
    2. Type of the attribute should also be the same.
    copy elements works for copying values from Model node to context and does not work vice-versa. To enable the copying of context node to model node, use copycorresponding API.
    Eg:
    int contextNodeSize = wdContext().node<contextNodeName>().size();
    for(int i = 0; i < contextNodeSize; i++)
         <modelNodeName> modelObject = new <modelNodeName>();
         <contextNodeName>Element contextObject = wdContext().node<contextNodeName>().get<contextNodeName>ElementAt(i);
         WDCopyService.copyCorresponding(contextObject, modelObject);
    This will copy the values from Context Node to Model Node.
    Hope this helps you.
    Regards,
    Poojith MV

  • Setting max length of the field when using Context Model Node

    I have created a model using Import Adaptive Web Service model option (a web service was a wrapper around SAP BAPI function module).
    There were no dictionary types created in the Local dictionary as a result of import.
    I have mapped the context of the controller to the model node.
    One of the fields in the model is name     CUSTOMER_NUMBER type string;
    Corresponding element in the wsdl of the web service is
    <xsd:element name="CUSTOMER_NUMBER" type="tns:char10" />
    I have created a view with the input filed mapped to the CUSTOMER_NUMBER field of the model node.
    When I type more than 10 chars into the field and hit the search button, I get a com.sap.dictionary.runtime.Ddcheck exception that the length of the field should be less than 10 chars.
    How can I set the max length of the field in design time to prevent runtime exception?
    Thanks,
    Julia

    Thank you for your reply.
    Java trim function will trim the white spaces only, not the characters.
    I can code check length functionality before calling execute function (the function that call the web service).
    I can also create a dictionary structure based on the model structure; create a context value node based on the dictionary structure and use WDCopyService API to move the data between value node and model node.
    I was looking for the best practice...
    When importing model based on Adaptive RFC, the dictionary structures are imported together with the model. This does not happen for Adaptive web service - hence there is a need to add coding for simple checks.
    Julia

  • Business Graphics and model nodes

    Hello,
    is it possible to bind a business graphics UI element in Java WebDynpro to a model node or does it have to be a value node?
    Thanks,
    Michael

    exactly!
    many ways to do this
    1.U can use WDCopyService(Source ,Target)  here Source : return node of model data
                                                                               Target : Your temporary value node which bound to BG.
    Note : Each time when ever model data get updated(CRUD) u have to call this node.
    2. Use Mapping type node and bind it to BG ui element  exe : when we create any node It has 4 options one of them is Mapping select this and provide the model node
      (mapping of node with model node is replica of the content there in model node, here u don't have to worry about updated content since its replica and get changed eveytime when model operations is performed)
    Best Regards
    Satish Kumar

  • Problem in mapping model node with cardinality

    Hi,
    I have a requirement where the RFC  which is being called has cradinality 0..n.
    I imported the RFC model in a different DC and then added the model to public part.
    Then, I used that model in the second dc.
    Now, I did context mapping with the component controlller by dragging the model context to the
    component controller. The view is also mapped with the component controller.
    The RFC has input field BUS_PART_NO which is a 12 character input field.
    I passed String in it.
    There is no error while I build the DC. But while I run the application, the input field is coming Read Only.
    I can't changed the component controller to 1..n or 1...1.
    I think I need to create a context node and attribute in the view or component controller and then programmatically add this
    to the model node.
    Please send some SDN links and urls.
    Regards
    Neha Singh

    Hi Neha,
    Please create the custom context node/attribute same structure as RFC model node. then populate the data using below following code :
    - get the size of the RFC model node which you want to populate in the costom node like
    int xxx =  wdContext.node<XXX node>().size;
    - Create onject for custom node like
      I<Custyom Name>Element element = null;
    -  then use for loop for fetching data from Model node and populate in custom node
    for(int i =0; i<xxx; i++)
             element = wdContext.create<Custyom Name>();
             element.set<Attribute Name>(wdContext.node<XXX>().get<XXX>ElementAt(i).get<>Attribute name for model())
             wdContext.<Custyom Name>().addElement(element);
    It will populate in your custom node from model node.
    Hope it will helps you.
    Regards
    Arun

  • Difference between modal node and data node

    Hi Experts,
    One small basic question: What is the difference between a modal node and a data node?? Why do we bind a modal node with a function module and nota a data node?? Moreover, what is a recursion node n how cani make use of this node??
    Regards,
    KM

    Hi Kaustubh,
    Please check below documents:-
    Thread - [Value Node vs Model Node - 1|Value Node vs Model Node;
    Thread - [Value Node vs Model Node - 2|Value Note Vs Model Node;
    SAP Wikki - [Value Nodes,Model Nodes,Recursive Nodes |http://wiki.sdn.sap.com/wiki/display/WDJava/ValueNodes,ModelNodes,Recursive+Nodes]
    Hope it helps
    Regards
    Arun

  • How to display all value of metadata from nodes collection model in content presenter template

    Hi All,
    first of all the new look of OTN is great.
    coming to problem i am facing (i dont know whr to ask here or in portal forum).
    i am creating a content presenter template to display list of items.
    now as per requirement i need to create a drop down to filter the list.
    now while check- in a file author would choose a value in one metadata field lets say xCategory(which is a single select list).
    i have to display similar category list on portal to allow user to filter list.
    i could hv used view of xCategory but problem is files are targeted to role using ACL. so u see i cant display all category to all users.
    also customer wants this whole thing to be Dynamic i.e. they can add value of xCategory later that to could be only for specific role (on portal it should be role specific , author can see whole list not a problem there).
    so what i think is if content is given as search result so the category. so now if i can get the all xCategory metedata from 'nodes' collection model in template i can create drop down with out having any additional bean.
    somthing like this
    #{nodes.xCategory} (but this one is not correct).
    please suggest me any solution.
    thanks
    -somesh

    Hi,
    you can do all of what you said with JSF. ADF Faces provides drag and drop functionality (have a look at the Web Developer Guide) that allow you to move nodes within a tree. The drag and drop framework sends an event notification to the server with a reference to the changed node.You can also have context menus on a tree node to help users creating, deleting and editing a tree nodes. JavaScript isn't required at all, even if you wanted to drag and drop a row in a table on top of a tree node to create a new tree node.
    I just finished a book project in which we explained this usecase. As soon as I find the time, I'll follow up with a blog entry on this as it seems to be a common requirement. However, as mentioned, the web developer guide on OTN explains drag and drop in ADF Faces pretty well.
    However, if you choose the "Search" link above, choose JDeveloper and ADF as the product to search for and type drag and drop as the search string, then you get lots of code sample posted in the past to this forum
    Frank

Maybe you are looking for

  • No shared catalog supported in Lightroom 3?

    Hi, I was using Lightroom 2 with a shared catalog on my mac. It was shared between me and my wife who login as different users. The catalog was simply put in directory where both users had full read & write access. I tried the the same with Lightroom

  • Query about previous days..Help needed

    Hi, I have a scneario in which I want to get the sunday's date for 5 weeks after today's date as expiry date. i.e., If this sunday is '14-Sep-08' expiry date will be '19-Oct-08' (As it is 5 weeks ahead of the present sunday) I am getting this as NEXT

  • Mouse Acceleration Problem...

    http://db.tidbits.com/article/8893 Yeah I have a Macbook. But at school, for web design, they use Pc's and for graphics they use iMacs. I have noticed the different in the pc and mac mouse accuracy. I feel like on the PC, I dont really have to work s

  • Run applet from browser

    I cannot run the applet from explorer ?! I'm trying to open the html (applet).

  • Price error in contract

    Hi Experts, Now I met with such price issue in contract: First I created sales oder referenced by this conract, then because of the business reason, I cancelled one item line using reason fo rejection in sales order. After that I tried to cancel the