cancel
Showing results for 
Search instead for 
Did you mean: 

Invalidate and performance

Former Member
0 Kudos

Hello All,

Will invalidating my rfc output node after just executng the rfc help improve performance of my web dynpro applications?

Thanks and Regards

Manoj Kumar

Accepted Solutions (1)

Accepted Solutions (1)

abhijeet_mukkawar
Active Contributor
0 Kudos

hi,

invalidate() : means,

Calling method wdContext.node_Output.invalidate()will cause all references in the model node’s element collection to be discarded and resynchronised with the new data found in the model object. This process is performed recursively down the context hierarchy, starting from the invalidated node.

(Taken from InsideWebDynpro)

The data stored in the controller context is a copy of the data stored in the model – that is, the one does not directly reference the other. Therefore, the controller context does not yet contain the returned results of the Web service call executed previously and stored in the model.

For this reason, the model node is explicitly invalidated. The result is that the response(output) data currently stored in the model is transferred to the respective context node element. In short it synchronises the data in the context with the data in the model.

If you do not invalidate the output node then <b>u'll not have the updated data in your controller context.</b>

so ofcourse it will help <b>improve performance</b> of your application.

regards,

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Manoj,

Invalidation method destroys context of node.

In WD you may have nodes with or without automatically supplied context.

First type has 2 variation:

1. model / value nodes with supplyFunction defined. When this node is re-validating with either explicit call to validate() or access to node elements, then supply function is invoked to populate node.

2. model nodes with supplyingRelationRole defined. Check your context. Your nodes _Output and _List has this role defined. When this node is re-validating, model object from parent node element is queried for relation. Related items are used to populate node in question.

Second type is your _Input node. It has neither supplying relation (because it has no model "parent") nor supply function. So after destroying context with invalidate() it should be explicitly populated with either bind() or addElement(). No automatic validation here possible.

Best regards,

Gianluca Barile