!--a11y-->
Namespace 
Namespace is a string or a collection of strings, prefixed to a development object created in any development environment other than SAP.
It is used to ensure that the names you specify while modeling development objects using the Mobile Application Studio, are unique. The namespace feature is useful in the following cases:
· When you get Mobile Application Repository (MAR) upgrades from SAP.
· To merge the current MAR wiith another MAR.
· To debug a mobile client application.
· To provide unique object names to the application frameworks.
Namespace Types
There are three types of namespaces:
|
Type |
Description |
|
Customer namespaces |
These are Y and Z created by the SAP. Customers can use either Y or Z, but for only one repository. |
|
Top-level namespaces |
These can be created only by the SAP development group for its implementation partners or customers |
|
Sub-namespaces |
These can be created by: · Implementation partners, for their other repositories in the landscape or if their customers want to model their own development objects. · Customers, for their other repositories in the landscape or if their own internal development groups want to model their own development objects.
|
Namespace structure
· All namespaces that are to be prefixed to the development object must be separated by an underscore.

Price Waterhouse is an implementation partner of SAP and Colgate is the customer of Price Waterhouse.
Price Waterhouse gets a top-level namespace from SAP as PW and creates a sub-namespace for Colgate as PW_COL. Now, the business object for example BOCAPGEN created by Colgate will be prefixed with the namespace, like PW_COL_BOCAPGEN.
· Each sub-namespace must be prefixed by its top-level namespace.

If PW is a top-level namespace, its sub-namespace must be PW_COL.
Namespace runtime behavior
· When you create any development object, its name will be automatically prefixed with the namespace existing in the repository.
· While modifying any development object, if you want to change the name of the object, you have to manually prefix the namespace to it. In this case, make sure that the object name is prefixed with the valid namespace, separated by an underscore.
The system checks automatically, if the namespace for a development object is valid or not. For more information, see Namespace Validation.
Multiple namespaces in a single MAR
If there is more than one namespace (namespace collection), then the newly created development object will be prefixed with the first namespace existing in the collection.

If you want to prefix the name of an object with any other namespace in the collection, you must do it manually.
Integration
At least one top-level namespace must be registered with each MAR in the system landscape. However, you can register more than one sub-namespace in MAR. All namespaces registered with the MAR are stored in the ARS_NAMESPACES table.
See also: