Effects of the namespace extension on existing applications

Description

In Release 4.0, SAP provides development namespaces for Repository objects, which can be reserved and used exclusively by SAP partners and customers. To extend the old namespaces, the object names were extended, meaning that all existing applications which themselves manage and process Repository object names need to make adjustments. You also need to consider that as a result of adding namespace prefixes, object names can contain slashes "/" (even in the first position).

Object types affected

The name has been extended for the following object types:

Object type Maximum new name length Old name length

Tables 16 10
Table fields 16 10
Database views 16 10
Lock objects 16 10
Structures 30 10
Structure fields 30 10
Domains 30 10
Data elements 30 10
Types (as of 4.0C) 30 --
Search helps (as of 4.0A) 30 --
Development classes 30 4
Programs 30 8
Function groups 26 4
Logical databases 20 3
Transactions 20 4
Message classes 20 2
SET/GET parameters 20 3
GUI status 20 8
GUI titles 20 3

Namespace prefixes should be used for the following object types, whose names were not extended:

Function modules 30
Dialog modules 30

Effects on existing applications

Syntax and runtime errors resulting from inconsistent data structures

All data structures that are defined with reference to extended SAP domains, data elements, and fields, are extended automatically with the 4.0 upgrade. All data structures defined with their own references or with direct length specifications and with which object names are managed, are now no longer able to contain the new longer names. Depending on the type of assignments and interfaces, syntax, runtime, or logical errors may occur.

Changes in the semantics of object names

If object names have meanings, incorrect interpretation of the name strings may result after extension.

Example

A program name contains the client ID at the end. The query on position 6-8 may now be incorrect for longer names.

You therefore need to check and, if necessary, modify the handling of object names in the following cases:

The logic for generating include names for function groups has changed so that when the function group is assigned to a namespace, the namespace prefix is added to the function group as well as the include name.

Incompatibility of external interfaces

When extended structures are used in external interfaces, errors (runtime or semantic errors) may occur in the communication between R/3 Systems.

Restrictions for transports between Releases 4.0 and < 4.0

Except for logical databases, transports can be performed from 3.0/3.1 to 4.0 without any problems, transports from 4.0 to 3.0/3.1, however, only with considerable restrictions. Refer to Note 60928.

Actions necessary to adapt existing applications

Determining all data structures for object names

Analyze the applications you have programmed for data structures with which names of the object types listed above are processed and managed. By using ABAP Workbench tools (navigation, global search, where-used list, information system), you can determine the reference structures to be extended (data elements, domains) and the uses to be adapted (tables, structures, programs, function module interfaces, screens).

Standardizing the references used

If you refer to various references to process names of the same object type, try to standardize your references. Refer to one field in programs and to one domain in structures and tables for each object type. Preferably use the references recommended by SAP, which you can find for the object types specified most with structure RSNEWLENG.

Extending data structures, converting tables

When using references recommended by SAP, you only need to activate the objects concerned after the sources have been changed. By activating the dependent objects, all dependent structures and tables are automatically activated with the new lengths. You will then have to check and deal with any activation errors that occur and information given. When using your own references, you must set the length of the data structure to the value specified above before activation.

Revising interfaces (screens, lists)

Converting external interfaces

You must adapt external interfaces by extending the Release 4.0 structures and using an appropriate assignment mechanism between export and import structures. By checking the data transferred, you must make sure that no semantic errors occur if object names are truncated when long object names are transferred from an R/3 System with Release 4.0. You will need to initiate appropriate error handling.

Avoiding transports from Release 4.0 to < 4.0

Developments that are to be used in Release 3.0/3.1 as well as in Release 4.0 must be carried out in a 3.0/3.1 development system. Refer to Note 60928.