Repository namespaces are used to avoid naming conflicts within object types in the ES Repository. When using design objects, the respective tools require that a design object can be defined uniquely by a name and namespace (at least within one system), as in the following examples:
· Proxy generation regards the name and repository namespace as an identifier. This applies for ABAP and Java.
· The inbound interface is identified by its name and repository namespace in an interface determination in the Integration Directory. If the receiver system were to have two interfaces with the same name and namespace, it would not be possible to identify the interface uniquely.
· The name and repository namespace of the sender interface is part of the message header and is evaluated during routing.
In the ES Builder, ‘repository namespace’ is shortened to ‘namespace’. In this documentation, they are referred to as repository namespaces to distinguish them from XML namespaces.
You can use the same repository namespace in the different versions of a software component. However, you must use different repository namespaces in different software components. If this is not the case, the ES Builder displays a relevant warning message.
Imagine you have the software component APO in your system landscape. It has a software component version APO 1.0 and a repository namespace myAPO. At the end of development, all objects are transferred to the new version 2.0 of the software component APO. The same repository namespace myAPO must be used here. Therefore, the namespace myAPO is available in both version 1.0 and version 2.0 of software component APO. It cannot be used in a version of a different software component, for example CRM 3.0.
To create design objects (mappings, interfaces, integration processes, and integration scenarios) in the ES Builder, you must create at least one repository namespace for an imported software component version (see also: Displaying/Editing Software Component Versions). Each software component version can have multiple namespaces.
It is possible to delete, but not rename empty namespaces. If you want to copy the objects in one namespace to another namespace, you must manually copy the relative object references for each object. (See also: Object References).
Besides the namespaces you create yourself, there are also predefined namespaces:
Namespace |
Use |
urn:sap-com:document:sap:idoc:messages |
Namespace for imported IDoc interfaces |
urn:sap-com:document:sap:rfc:functions |
Namespace for imported RFC interfaces |
See also: Importing IDocs and RFCs.
Whether objects from one namespace can reference objects from another namespace depends on the type of object and on the software component versions that the namespace is assigned to. See also: Object References
When a new version of a software component becomes available, you usually transfer all namespaces and objects from the old version to the new version by means of a release transfer. For this reason, a repository namespace is usually assigned to multiple software component versions of the same software component.