The application name {na} is defined by the desired name {a}, followed by the suffix App. {a} describes the business process to be delivered.
The component name {nc} is defined by the desired name {c}followed by the suffix Comp. {c} describes a (reusable) unit of functionality within the application.
The creation of window {w} automatically causes a component interface view {nciv} to be created where {nciv} = {w}InterfaceView. You may not change this name.
The interface view presents the view assembly defined in {w} to the client layer.
In order for component A to use the data and functionality within component B, component A must first declare the use of component B.
The name of the component usage differs from the name of the component in the same way that the name of an object instance differs from the class it instantiates.
The usage instance name {nu} is defined by the previously defined component name {nc}, followed by the usage purpose {p} and the suffix Inst.
The custom controller name {ncc} is defined by the desired name {cc}followed by the suffix Cust.
The actual inbound plug name {npi} is defined by the desired name {pi}followed by the suffix In. {pi} should start with an upper case letter.
The first letter of the plug name should be uppercase. To distinguish between inbound and outbound plugs, use the ending In for inbound plugs and out for outbound plugs.
Inbound plugs are used to link outbound plugs with navigation targets. In contrast to outbound plugs, every inbound plugs comes with a corresponding inbound plug event handler onPlug<Inbound plug name> in the view controller. The function of the target view should be part of the name of the inbound plug.
All inbound plugs have a corresponding event handler in the view controller. This method has the name onPlug{npi}.
The model name {nm} is defined by the desired name {m} followed by the suffix Model.
SAP strongly recommends that each Web Dynpro model belongs to its own Java package. Failure to adhere to this recommendation could result in incorrect behavior of objects within the model, especially if they are used by multiple Web Dynpro components.
The outbound plug name {npo} is defined by the desired name {po}followed by the suffix Out. {po} should start with an uppercase letter.
The first letter of the plug name should be uppercase. To distinguish between inbound and outbound plugs, use the ending In for inbound plugs and out for outbound plugs.
Outbound plugs are fired when you navigate to other views from one or more navigation links attached to the outbound plug. Because the set of navigation links attached to an outbound plug (targets) may vary due to redesign or customization, you should not include the function of the navigation target in the name of the outbound plug. This name should indicate the reason for firing the outbound plug.
Examples:
A view for entering form data has an outbound plug which is fired to navigate to a result view. Instead of naming it ShowResultOut (navigation target), it is better to name it SearchDataEnteredOut.
The project name {np} defines the category of the business processes being delivered.
The standalone component interface name {nsi} is defined by the desired name {si}followed by the suffix CompI.
If only one interface view is needed for a component interface, no manual action is needed because the SAP NetWeaver Developer Studio automatically adds the suffix InterfaceView to the window name {w}.
If multiple interface views are required, subsequent standalone component interface view names should be defined by the standalone interface name {nsi} followed by a distinguishing name {siv}.
The view name {nv} is defined by the desired name {v} followed by the suffix View.
The viewset name {nvs} is defined by the desired viewset name {vs} followed by the suffix Viewset. The value of {vs} is typically the same as the name of the window {w} in which it is contained.
SAP does not currently have a recommendation for naming nested viewsets.
A window {w}represents an arrangement of one of more views that form the visual interface for controller {nctl}. The composite name for such an arrangement of views is a view assembly.
A window and a component interface view should be considered as two aspects of the same view assembly. The component interface view provides programmatic access to the view assembly, whereas the window is used to deliver a view assembly to the client.
Since window {w} does not relate to a specific piece of Java coding, it is not necessary to use a particular suffix in its name.
The name chosen for a given context node {cn} should reflect the potential number of elements the node collection will contain at runtime. Therefore the node’s cardinality determines whether the name will be singular or plural.
If a node has a cardinality of 0..1 or 1..1, there will be at most one element in that node collection. Therefore the node name should be singular.
If, however, the node has a cardinality of 0..n or 1..n, the node collection could contain multiple elements. Therefore, the node name should be plural.
When choosing a name for a context node or attribute, it is not normally necessary to include the words “node”, “element” or “attribute” as a means of identifying that this entity belongs to the context.
The exception to this rule is when the name of the business data being stored by the context contains the word “node”, “element” or “attribute”.
The Web-Dynpro-Framework generates various classes that add these words to the given name {cn}.
The creation of node {cn} within controller {nctl} causes the classes IPublic{nctl}.I{cn}Node and IPublic{nctl}.I{cn}Element to be generated.
The methods implemented by these classes vary depending on whether a child node {chn} exists for the parent node {cn}, and, if {chn}does exist, whether or not it is a singleton.
In Table 1 below, methods that have a grey background only exist if node {cn} has a child node {chn}.
Generated Class |
Method |
Context Node |
|
IPublic{nctl}.I{cn}Node |
I{cn}Element create{cn}Element() |
|
I{cn}Element current{cn}Element() |
|
I{cn}Element get{cn}ElementAt(int) |
|
void bind(I{cn}Element) |
|
I{chn}Node node{chn}() |
|
I{chn}Node node{chn}(int) |
Context Element |
|
IPublic{nctl}.I{cn}Element |
String get{cn}Name() |
|
void set{cn}Name(String) |
|
I{chn}Element current{chn}Element() |
|
I{chn}Element create{chn}Element() |
|
I{chn}Element get{chn}ElementAt(int) |
|
I{chn}Node node{chn}() This method only exists if the child node {chn} is a non-singleton with respect to its parent node {cn}. |
Table 1: Generated Context Classes
All node names declared at design time must be unique within the entire context.
A model node name {mn} should start with an uppercase letter. To make the generated code easier to read, {mn} should have the same name as the class within the model to which it will be mapped. This is not mandatory, but makes easier to read the generated code.
A model should always belong to its own Java package.
All node names created at design time must be unique within the entire context.
A recursive node name {rn} should start with an uppercase letter. You can select any meaningful name that adheres to the Web Dynpro naming convention for context names.
By default, the SAP NetWeaver Developer Studio creates a supply function for a context node in the form supply{cn}. You may alter this name if required, but for the sake of simplicity and consistency, SAP recommends that the default name be used.
If a node’s supply function is called during screen rendering, it must not throw any exceptions, because this would result in the WDF terminating your application.
A value node name {vn} should start with an uppercase letter. You are free to select any meaningful name that obeys the Web Dynpro naming convention for context names.
All node names created at design time must be unique within the entire context.
A value attribute name {va} should start with an uppercase letter. You may select any meaningful name that adheres to the Web Dynpro naming convention for context names.
All attribute names must be unique within the scope of their parent node.
A calculated value attribute name {cva} should start with an uppercase letter and end with the suffix Calc. You may select any meaningful name that adheres to the Web Dynpro naming convention for context names.
All calculated attribute names must be unique within the scope of their parent node.