Namespaces 

Definition

The namespace concept describes how customers and partners have to name their development objects to avoid overlapping when SAP software is upgraded.

Customers and partners can create their own development objects, for example, to implement a new BAPI or to modify an existing BAPI. For further information about how to modify BAPIs or how to create customer development objects, see Customer Modifications and Developments for BAPIs.

In R/3 Release 3.1, the namespaces Y* and Z* were provided for customers, and the namespace J_<number> was reserved for partners.

In R/3 Release 4.0, a new namespace concept was introduced which, together with the longer development object names, made it easier to assign names to objects developed by customers and partners.

The Business Object Repository (BOR) introduced before R/3 Release 4.0 still uses the old namespace concept. For this reason, the limitations of the old namespace concept still apply to the namespaces for BAPI development objects.

Reserved Namespaces/Prefixes for Various Application Groups

User

Prefix

Special SAP project

For example, "JPN" for developments in the Japanese area.

Industrial Business Units (IBUs) do not have specific namespaces.

Partners/software houses

The following prefixes are used:

  • J_y" (where "y" is a single digit allocated namespace) for partners/software houses whose namespaces were assigned before Release 4.0.
  • "JJ<Namespace>" (where "<Namespace>" is the registered namespace) for partners/software houses whose namespaces were assigned after Release 4.0, for example, JJABC.

Customers

"Y" and "Z", for function modules matching "Y_" and "Z_".

 

If a customer or partner creates a new object type that is not a sub-type of another object type, the naming convention for this object type applies to all the sub-objects. In principle, therefore, SAP object types cannot overlap with each other, regardless of the names of the methods, attributes and so on.

Sub-object types split the namespace for methods, attributes and so on with the superordinate object type. You must follow the naming conventions for the sub-objects too.

Naming Conventions for BAPI Development Objects

Development Object

Created in...

Naming Convention

Domain

ABAP Dictionary

Standard used in the respective R/3 Release

Data element

ABAP Dictionary

Standard used in the respective R/3 Release

Structure

ABAP Dictionary

<Prefix>BAPI*

Field in structures

ABAP Dictionary

-

Append structure

ABAP Dictionary

Standard used in the respective R/3 Release

Function group

Function Builder

Standard used in the respective R/3 Release

Function module

Function Builder

<Prefix>BAPI_<object type>_<method>

Function module parameter

Function Builder

<Prefix>*, except for parameters in customers’ function modules

Object name (name of object type)

BOR

<Prefix>object name<Suffix>

Suffixes are only used if there is/could be a name conflict within SAP.

  • If object types from standard applications require the same object name, the node of the component hierarchy is added on as a suffix. For example, the business object type, BusinessProcess in Controlling (CO) would be named BusinessProcessCO
  • If there is a name conflict between a standard application and an IBU, the object type in the standard is assigned the object name without the suffix. The object type in the IBU is assigned the IBU code from the component hierarchy as a suffix.

Prefixes are reserved exclusively for partners and customers. For example, if a customer changes the object type BusinessProcessCO, a possible name for it could be YBusinessProcessCO.

Object type (technical object name)

BOR

<Prefix>*

Attribute name

BOR

<Prefix>*

Method

BOR

<Prefix>*, except for modifications using delegation, otherwise delegation does not work.

Method parameter

BOR

<Function module parameter>