SAP Add-On Assembly Kit
SAP Add-On Assembly Kit
9 Add-On Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.1 Creating and Assigning Packages (Transaction SE80) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.2 Rules for Add-On Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Rules for Developing Add-Ons in Multiple SAP Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.3 Additional Information About Enhancements and Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.4 Documentation and Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
12 Add-On Uninstallation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
12.1 Checklist: Development Aspects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
12.2 Checklist: Landscape Aspects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.3 Checklist: System Aspects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
12.4 Checklist: Test Aspects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.5 Checking Add-Ons for Uninstallability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.6 Attributes for Uninstallations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
12.7 Plug-In Interface for Add-Ons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12.8 Handling Object Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Purpose
You can use SAP Add-On Assembly Kit to develop industry-specific, country-specific, or enterprise-specific
enhancements to the standard SAP system, plus customer and partner projects, while taking advantage of the full
range of add-on techniques. SAP Add-On Assembly Kit provides you with a toolset that supports you throughout
the entire software lifecycle of your add-on.
Its detailed documentation helps you to verify the quality of your development work in the planning phases and its
tools support you when creating your delivery and installing it. SAP Add-On Assembly Kit also provides you with
methods for updating and maintaining your software.
Features
Documentation
The SAP Add-On Assembly Kit documentation describes the following steps in the add-on delivery process:
Tools
Software Delivery Composer (SDC, transaction SSDC) collects all delivery-relevant parts of your development
work, checks their consistency, and composes them as a delivery.
Software Delivery Assembler (SDA, transaction SSDA) packs the delivery into an importable package format. You
can also use SDA to define any import conditions to be respected before the packages can be imported correctly.
Imports made using SAP Add-On Assembly Kit are performed with SAP import tools. The appendix contains a list
of these import tools [page 115] .
Only users with the relevant authorizations can compose and create add-ons with the SAP Add-On Assembly Kit.
The SAP Add-On Assembly Kit provides various predefined authorization roles, which can be assigned to users
depending on their activities and the tools they will be using. For example, you can define whether a user has
change rights or display-only rights, and you can grant specific system authorizations (for example, to change
RFC destinations) separately. This ensures security in organizations where tasks are divided across employees.
The following table provides an overview of the available roles and their functions:
Read Access SAP_AAK_SDC_DISPLAY Display-only authorization for all data for composing an add-on or delivery
event (SDC)
Read Access SAP_AAK_SDA_DISPLAY Display-only authorization for all data for creating an add-on or package
(SDA)
Write Access SAP_AAK_SDC_CHANGE Change authorization for composing add-ons and delivery events (SDC)
Write Access SAP_AAK_SDA_CHANGE Change authorization for creating add-ons and packages
Note
This does not include authorization for creating RFC destinations for read
access to SDC data. For this, you need the role SAP_AAK_SDA_RFC.
Write Access SAP_AAK_SDA_RFC Change authorization for creating and changing RFC destinations. This role is
always required if the SDC system is not the same as the SDA system.
Validity
This document is an overview of the process when using SAP Add-On Assembly Kit 5.0 to create add-ons:
SAP Add-On Assembly Kit 5.0 is available for SAP components based on SAP NetWeaver 7.0 and higher SAP
NetWeaver releases.
Note
Note that you can use SAP Add-On Assembly Kit for ABAP development work only.
Target Audience
● Add-on producers who are creating add-ons for their own enterprise or for their customers
● System administrators who are setting up systems for add-on development and add-on maintenance
● Software developers involved in add-on development
● Add-on assemblers who are using the SAP Add-On Assembly Kit to create add-on packages
Prerequisites
Before you work with SAP Add-On Assembly Kit, you should have knowledge of the following topics:
The following SAP Notes are important when working with SAP Add-On Assembly Kit and are referenced in this
documentation:
Table 2:
Integration
This documentation describes the processed required when creating an add-on using SAP Add-On Assembly Kit.
For detailed information about the SAP Add-On Assembly Kit tools, use the help button in the tool in question to
display its online documentation
Any links to further documentation in SAP Help Portal specified here apply to Release SAP NetWeaver 7.4.
Example
Change and Transport System
To access the documentation in question, select the link or search for the title or release on SAP Help Portal.
In the case of lower releases, an appendix contains a list of links to documentation in specific releases [page 133].
General Information
● You can use Support Package 1 of SAP Add-On Assembly Kit 5.0 to download the PAT file of a package as an
SAR file. You can then use the transaction codes SPAM and SAINT to download this SAR file directly to the
system. You can also reopen any confirmed deliveries.
● For the first time, Version 5.0 of SAP Add-On Assembly Kit makes it possible to create uninstallable add-ons.
● Version 5.0 of SAP Add-On Assembly Kit supports SAP NetWeaver 7.0 and higher releases.
Example
LANGUAGE_BY_SP ISO-FRJA
○ NEEDED_DBSYS
Applies to packages of the type AOI, AOU, and AOX from SAP NetWeaver 7.0. Specifies a list of database
systems where the add-on can be installed.
A warning appears if the package is imported on any other database system. Despite this, the package
can still be imported, but cannot run on this system. This step may be necessary, for example, before a
database migration.
If you want the package to only be imported on one of the specified database systems, add :R to the
list. :R can only be specified at the end of the package list. In this case, the system refuses to install the
package on any other database system than the ones specified.
The current possible values are:
○ ADA = MaxDB
○ DB2 = IBM DB2/390
○ AS4 = IBM DB2/400
○ DB6 = IBM DB2/LUW
○ HDB = HANA
○ INF = Informix
○ ORA = Oracle
○ MSS = MS SQL Server
○ SYB = Sybase ASE
Example
The package is to be imported on one of the following database systems: NEEDED_DBSYS
HDB,INF
The package must be imported on one of the following two database systems: NEEDED_DBSYS
HDB,INF:R
Example
20061025
○ TP_VERSION
Specifies the minimum version of the transport program tp required to import the package. Specify the
version in the following format: <KERNEL_VERSION>/<VERSION>.
○ UPG_KEY_REQUEST
For the package types AOU to SAP Web AS 6.40, AOX from SAP NetWeaver 7.0, and AOS, included in the
SAP upgrade: The SAP upgrade tool prompts the user to enter a key before including the package in the
upgrade. You cannot create this key yourself. You can, however, request SAP to create it for your add-on
package by opening a customer message on component XX-PROJ-AAK. Once SAP has provided you with
the key, notify your customers of it, plus any other important information about the upgrade. The
attribute UPG_KEY_REQUEST must be used in combination with the attribute SEE_PNOTE.
Possible value: T = True
● Post-delivery of modified attributes using attribute change packages (ACP)
The package type attribute change package (ACP) is only used to deliver modified attributes. It is often
necessary to add new import attributes or correct existing attributes after the delivery of OCS packages (such
as installation packages, upgrade packages, or support packages). For example, you may need to add new
import prerequisites to validate additional system states as a basis for imports. Once the attributes of a
released package have been modified using the option Post-Delivery (with ACP), the system creates one ACP
for each software component version. If the attributes of multiple released packages in the same software
component version are modified, the system creates one ACP version for each package.
● Modified tab order for package registration
● Modified display and editing of the attributes and import conditions
● New roles introduced
Documentation
● The new and updated functions in SAP Add-On Assembly Kit 5.0 have been included in the documentation.
● Information about SAP NetWeaver 7.4 has been added, for example paths to other documentation have been
replaced by links and the links changed to reflect the supported releases.
An add-on consists of a series of transport requests grouped together as a delivery package. When imported, the
add-on is registered as an additional software component in the system.
Add-ons are developed in separate systems based on a specific SAP release. The functions of an add-on are
based on the functions of main SAP components or SAP application components.
Add-ons must not modify SAP kernel objects or SAP Basis objects and are independent of the operating system.
Add-ons are installed in SAP systems by SAP Add-on Installation Tool (transaction SAINT). The way add-ons are
installed is specified by the SAP release and potentially also by the support package level on which you developed
the add-on. This also applies to add-on upgrades.
You can use SAP Add-On Assembly Kit to create the following package types [page 53]:
You can deliver software that expands the standard SAP system in different ways:
● As transport requests
This has the following drawbacks:
○ The transports are not imported in a defined order. This can cause import errors, downgrades, and loss of
data.
○ Import prerequisites are not checked. There is a risk that transports are imported into systems with an
incompatible software component state. This can also cause import errors, downgrades, and loss of data.
○ Conflicts with other software components are not detected. This can cause errors in other SAP
applications.
Up to SAP Web AS 6.10, software components in SAP systems are in one of two layers:
This means that all types of add-ons are handled in t he same way. It is not possible to define dependencies within
the add-on layer and stack add-ons on each other.
To make it easier to handle add-ons, SAP implemented an extended software component hierarchy in SAP R/3
Enterprise (based on SAP Web AS 6.20). This hierarchy covers two layers of mandatory (fixed) software
components and four layers of optional software components. Mandatory software components can only be
installed in an SAP system using a system installation or an SAP upgrade. Optional software components, on the
other hand, can be installed retroactively.
In the software component hierarchy, references from add-ons can only be made from a higher layer to the layer
below (for example, from layer C to layer I).
Add-ons created using SAP Add-On Assembly Kit are always in layer C.
The software component hierarchy with six layers introduced in SAP Web AS 6.20 was expanded and modified
again in SAP Web AS 6.40. The Basis plug-in component (PI_BASIS) became a part of SAP NetWeaver and is in its
own layer. The application components are based on this layer. SAP_BW is now also a part of SAP NetWeaver.
The layer for industry solutions and country versions was expanded to multiple stacked layers. This made it easier
to map dependencies between industry solutions or country versions.
The following figure is an overview of the process flow when using SAP Add-On Assembly Kit to create add-ons:
By answering the following questions before you set up the system landscape, you can defined your delivery
strategy
Recommendation
We recommend that you only create non-modifying add-ons. SAP does not provide certification for add-
ons that contain modifications.
Use
There are two traditional name ranges in SAP systems: The SAP name range for development at SAP and the
customer name range for customer developments.
Naming conflicts can occur, however, when add-ons are delivered by add-on producers.
Example
For example, a company develops enhancements to standard SAP applications and delivers them to third-
party companies that potentially make their own developments. If the add-on producer and consumer both
work in the same customer name range, some objects may potentially be given the same name. This causes
naming conflicts and needs to be avoided.
The recommended solution is to develop objects in a separate namespace reserved exclusively for an SAP
customer or SAP partner. One advantage of developing objects in reserved namespaces is that namespaces are
checked against a license key in the namespace table. This prevents the namespace from being used illegally. You
can request namespaces in SAP Support Portal.
Another benefit of reserved namespaces is that all add-on objects developed are indicated by an appropriate
prefix and cannot conflict with other objects with the same name.
You require the following namespaces when developing and delivering an add-on:
Note
The namespace for the add-on software component can be the same as the namespace for the
development objects If you are only developing a single add-on, for example, and you have already
reserved a namespace for the development objects, you can also use this namespace for the add-on
software component. Note also that the name of the add-on software component is visible in the system
and is reflected in the name of the importable add-on packages. For this reason, you must decide which
name you want to use when you ship your packages.
Before you start your development work, you must also define the add-on release name, since an add-on is always
created in a specific release.
General Rules
● Define your namespace between two forward slashes. Your namespace can have between three and eight
characters.
Recommendation
We recommend that you choose a namespace with at least four characters, since three-character
namespaces are assigned internally at SAP.
Example
/ABCD/
● Do not use a namespace that has already been reserved for SAP developments:
○ /*SAP*/
○ /IS*/
○ /C<two characters>/
○ /HR<two characters>/
○ /P<two characters>/
● Use capital letters.
To ensure that the add-on software component [page 24] is unique, its name is derived automatically from the
namespace reserved for it. When a delivery is created, the namespace prefix in the delivery name is taken over as
the add-on software component.
As the name of the add-on software component is visible in the system and is also reflected in the name of the
package, you should consider reserving a specific namespace - by which your add-on will then be known - for the
add-on software component
Alternatively, you can use the namespace for development objects for the add-on software component. If you
have reserved multiple namespaces, you can specify that the name of your add-on software component will be
derived from any one of these namespaces.
Example
If you have reserved the namespaces /ABCD1/ , /ABCD2/ and /ABCD3/ , your add-on software component
could be called ABCD2 .
Use
You can reserve namespaces in SAP Support Portal under https://support.sap.com/namespaces . The
namespaces are reserved for you within a few days. You can then release these namespaces by entering them for
use in the SAP system. You are sent the required license keys for your namespace when you register the
namespace for your installation number.
Prerequisite
Before you can reserve namespaces, your customer number must have an ABAP development license with
authorization to develop your own software.
Procedure
The functions discussed below can be found in SAP Support Portal under https://support.sap.com/namespaces
.
When you choose your namespace, note the rules for namespaces [page 22] that apply to SAP Add-On Assembly
Kit.
You can track the current status of your namespace request under Status of requests.
Before you can do this, SAP must confirm the reservation of the namespace and you must specify your
installation number when you reserve the namespace. Any installation numbers not specified in the reservation
can be entered as valid installations for the namespace later using Change namespace External
assignment . This means you can then the namespace license keys for these installation numbers too.
Note
To create deliveries [page 57], you require the development license for the installation number of the
consolidation system.
For a detailed description of the functions in question (and the authorizations required), see the documentation in
SAP Support Portal under https://support.sap.com/namespaces or in SAP Note 105132 .
Remember that you must enter the namespace and define the namespace role [page 39] after the reservation.
A software component bundles a set of packages (development classes) that can only be delivered to customers
together. All packages are distributed disjunctively among software components. This means that the objects in a
package can only be delivered to customers with a software component. You assign objects to a software
component by assigning the package to which the objects belong. In general, there are several releases for each
software component.
To ensure that the add-on software component is unique, its name is derived automatically from the namespace
reserved for it. When a delivery is created, the namespace prefix of the delivery name is taken over as the add-on
software component.
In most cases, multiple releases exist for a single software component. The add-on release name provides your
add-on development work with a structure.
Note the following points when defining the add-on release name:
● Use only numerals, uppercase letters, and underscores and do not use periods or other special characters.
● Your release name must have at least three characters and have no more than 10 characters.
● The release name must be part of an ascending sequence (both in ASCII and in EBCDIC).
● Use a format that can ensure this sequence and also provides correct results when release names are
compared.
Example
100_700 < 200_700 < 300_700 < 400_700
● The add-on release name is reflected in the version name of the delivery request [page 27] and is restricted
to three places here, which means you should choose an add-on release name from which a unique version
name for the request can be derived.
Examples
If you define the add-on release name as recommended in these examples, you also ensure that a unique version
name of the delivery request can be derived from the release name. For your add-on, select the case that best
suits your delivery strategy.
Example
Table 3:
SAP release name Add-on release name Version name of the delivery re
quest
Example
Table 4:
100_2014 114
200_2014 214
200_2015 215
300_2016 316
Example
Table 5:
100 100
110 110
200 200
300 300
450 450
Note that you must always develop a new add-on release on a higher SAP release and ensure that your
release names ascend in sequence. If not, no add-on exchange upgrades can be performed.
The name of the delivery requests is derived from the add-on software component and the add-on release name
and guarantees that the delivery requests and the importable add-on packages are unique.
The name of the delivery requests must use the following syntax:
SAPK-<version name><++>IN<namespace>
Table 6:
You can replace this default with a name that suits your deliv
ery requests. For examples of how to define the version name,
see Add-On Release Name [page 25].
<++> Two characters: The characters 0-9 and A-Z are supported.
IN Separator
<namespace> Namespace name that matches the name of the add-on soft
ware component, for example ABCD. The namespace is taken
automatically from the namespace prefix of the delivery
name.
Example
If /ABCD/ was reserved as a namespace, the component piece list for add-on ABCD 100_700 is as follows:
SAPK-170COINABCD.
If /ABCD/ was reserved as a namespace, the support package 03 for add-on ABCD 200_740 is as follows:
SAPK-27403INABCD.
For information about the setup of a system landscape, see the Change and Transport System documentation in
SAP Help Portal under:
Note
In your system landscape, verify that the upgrade and maintenance strategy in the development system is
compatible with the delivery strategy [page 19].
You required two systems for each development level and maintenance level. The consolidation system is also
used as the final assembly and translation system.
You also need a temporary test system for final assembly tests. System copies are created to update this test
system to the delivered version.
In all system landscapes, the consolidation system is used as the final assembly system and cannot contain any
cross-client test data that could accidentally be included in the delivery. You can of course work with client-
specific data in test clients.
Create a consolidation route from the development system to the consolidation system and schedule regular
consolidation transports.
You also require a temporary additional test system. For more information, see Test Systems [page 45].
Caution
If you test the add-on functions or customizing changes in the consolidation system directly and not in a test
system, you risk including test data in deliveries (if the wrong client is configured).
Prerequisite
You have defined your system landscape for add-on development and you want to set up the systems for the first
add-on release.
Procedure
Note
In both cases, you must reconstruct the state you require for your delivery strategy [page 19], in particular
the release state and support package state, when you are setting up the SAP system.
When you are setting up the system landscape, also take care when creating the client layout [page 36].
Result
You have set up the systems. You can now install SAP Add-On Assembly Kit in your system landscape [page
38]. To configure the landscape for SAP Add-On Assembly Kit, read the section Configuring the Development
System and Consolidation System [page 39] .
Use
If you want your add-on to support multiple SAP releases, you require a separate development landscape for each
release in question.
The procedure for setting up a landscape for developing add-ons is described under Setting Up a Development
Landscape for Modifying Add-Ons [page 116].
You can set up the systems for non-modifying add-on development work on a different SAP release as follows:
1. Set up the systems in the new SAP release by installing an SAP system or copying an installed SAP system.
2. Install SAP Add-On Assembly Kit [page 38] in the systems and make the required settings in the systems
[page 39].
3. If you want to deliver your add-on in multiple languages, set up the translation environment in the new
consolidation system in the same way as in the existing consolidation system. You can find more information
in Setting Up and Coordinating Translation in SAP Help Portal.
4. In the delivery client of the consolidation system of the first development landscape, create a transport
request by including the component piece list of the predecessor release. Choose Transport of copies as the
request type.
5. Export the transport of copies in the translated languages from the consolidation system of the first
development landscape.
6. Import the transport of copies into the customizing client of the new development system and into the
delivery client of the new consolidation system.
7. Register the transport of copies as a component piece list of the predecessor release. This piece list is
required later when the exchange component piece list is created.
To do this, start Software Delivery Composer in the delivery client of the new consolidation system. In the
initial screen, choose Delivery for Delivery Request Register .
8. Instruct your developers to verify in the new development system which of the imported add-on objects need
to be modified or deleted in the new SAP release. Once all adjustments have been made, transport all add-on
objects (including the deleted objects) to the new consolidation system in a consolidation transport. This
transport becomes the basis of your new supported SAP release.
Example
The non-modifying add-on ABCD, Release 100, was developed on SAP NetWeaver 7.0 (ABCD 100_700). The
same add-on release, 100, now also supports SAP NetWeaver 7.4 (ABCD 100_740). The figure illustrates the
setup of the further development landscape.
Result
You have set up the systems for add-on development work on a further SAP release.
If you want your add-on to support further SAP releases, repeat the procedure above for each SAP release in
question.
1. Removing any errors in the add-on (which means creating add-on support packages)
2. Creating deliveries for the packages mentioned above
If modifications exist in your system, also read the section Maintenance Landscape for Modifying Add-Ons [page
118].
Create a consolidation route from the maintenance system to the consolidation system for corrections and
schedule regular consolidation transports.
Note
The consolidation system is used as both a translation system and as a final assembly system.
Configure the maintenance system in the same way as the development system (see also: Configuring the
Maintenance Systems [page 44]) and configure the consolidation system for corrections in the same way as
the consolidation system for development.
Prerequisite
You have defined the system landscape for maintenance of the add-on release in question and want to set up the
systems for add-on maintenance.
Procedure
● By copying the consolidation system from the development landscape of the add-on release in question
1. Make sure that all deliveries in the system you want to copy have the status Confirmed.
2. Make a system copy of your consolidation system (which you used to create the add-on release in question)
for both the maintenance system and the consolidation system for corrections.
Note
For more information about system copies, see SAP Community Network under System Copy and
Migration .
Transports of Copies
1. Install two SAP system with the release and support package level of the consolidation system when the add-
on release in question was last exported.
2. Using the unmodified export state, create a transport request in the delivery client (see Client Layout [page
36] ) of the consolidation system and include the component piece list of the add-on release in question in
this request. Choose Transport of copies as the request type.
3. Before you release the transport, verify that the tp parameter r3transoptions is set to the value
smodi=yes in Transport Management System, to ensure that the modification information is transported.
4. Release this transport.
5. In the maintenance system, create the customizing client as a client copy of client 000 and create the delivery
client in the consolidation system for corrections in the same way.
Note
Note the information under Client Layout [page 36] for your maintenance systems.
6. Import the transport of copies into the customizing client of the maintenance system and also into the
delivery client of the associated consolidation system for corrections.
7. To create further clients, choose one of the following options:
○ In the maintenance system, create the correction client as a client copy of client 000. In the consolidation
system for corrections, create the test client as a client copy of client 000.
○ If you want to base your maintenance on the standard customizing delivery, you can also create a new
correction client as a copy of the customizing/delivery client.
To reduce costs, you may want to combine the development of multiple add-ons in a single system landscape.
This has the benefit of requiring fewer systems and saving hardware costs. There is less administration needed,
which also reduces costs. The amount of quality assurance work needed, on the other hand, rises.
There are also other important limitations to be noted if you want to ensure that the add-ons developed in a single
system landscape can function correctly.
Restrictions
● Disjointness
If you want to deliver add-ons independently of each other, you must develop them so that their objects are
disjoint.
There is, however, no technical support for verifying the disjointness objects from different add-ons
developed in the same system. There is a risk that add-ons reference each other, hence making them
dependent. The consequence here is that your customers are not able to import these add-ons one at a time.
The add-ons are also unable to run independently of each other.
Example
A data element from add-on 2 uses a domain from add-on 1.
The system does not check for disjointness during development, which means that some errors are not
detected until the import test. Some other errors are not even found until runtime of the add-on (when
functional tests are run or when the customer uses the add-on). This is the case, for example, if add-on 1 calls
a function module or program from the (nonexistent) add-on 2.
Make use of the options in the package concept to structure your add-on development in such a way that
objects are kept separate. For more information, see SAP Help Portal under Package Builder and ABAP
Package Concept.
● Non-modifying development
Add-ons must not modify other software components.
The reasons stated under Disjointness also apply to non-modifying development. If an add-on modifies
another software component, the source state for further add-ons no longer matches. In these cases, there is
the risk that add-ons are mutually dependent and cannot run without each other.
Recommendation
Due to these drawbacks, we advise against creating multiple add-ons in a single system. This applies in
particular to add-ons that are independent of each other. If an add-on is based on another add-on,
however, it may be a good idea to develop and maintain both in the same system. In this case, you can
specify that one add-on is a prerequisite for the other add-on when you register it.
If you want to develop multiple independent add-ons in a single system regardless, note the following points:
● Keep your work in the same prefix namespace. This helps you to ensure that an add-on does not reference the
objects in a different add-on (but is only an indication and not fully reliable).
● Use the encapsulation methods available as part of the package concept. For more information, see SAP Help
Portal under Package Builder and ABAP Package Concept.
● When you create the delivery, use the extended syntax check for the delivery piece list in Transport Organizer
(transaction SE01). Perform this check in the final assembly system and in the test system. This check
verifies that the add-on is technically correct. Also use further check functions, such as those in ABAP
Workbench (ABAP Test Cockpit or ABAP Unit Tests).
● For each add-on, set up its own test system and perform import tests and functional tests.
You can find fundamental information about clients and transport paths on SAP Help Portal in the documentation
about Change and Transport System under:
Recommended Client Layout and Transport Paths for the Development and
Maintenance Landscape
Client Layout
Make the following settings (call transaction SM30 and display table T000):
Table 7:
Development client or correction client Changes without automatic recording Changes permitted to repository and cli
(client X00) ent-dependent customizing settings
Customizing client (client X05) Automatic recording of changes No changes to repository objects
Test client (client X00) Changes without automatic recording; No change to repository and client-inde
no transports allowed pendent customizing objects
Delivery client (client X05) No changes allowed No change to repository and client-inde
pendent customizing objects
Transport Paths
Make the following settings in the Transport Management System (TMS) for transporting your changes:
Note
If you also want to test the delivery customizing in the test client, activate the enhanced transport control so
that transport tasks from customizing client (X05) also reach test client (X00).
You can find information about enhanced transport control in SAP Help Portal under Special Features of
Enhanced Transport Control.
The following schematic graphic shows how you should create transport paths.
For more information, see Defining Parameters for the Transport Control Program tp [page 42].
Use
SAP delivers SAP Add-On Assembly Kit as a standalone add-on (AOFTOOLS). Use Add-On Installation Tool to
import it into your system landscape.
Procedure
1. Before you install SAP Add-On Assembly Kit Version 5.0, read SAP Note 2179441 .
Result
You have installed SAP Add-On Assembly Kit. You can now configure the systems.
Entering the Namespace and Defining the Namespace Role [page 39]
Creating or Updating the Add-On Software Component and Add-On Release Name [page 40]
Setting the Parameters for the Transport Control Program tp [page 42]
Use
You must work in defined namespaces when creating and maintaining add-ons. This requires you to enter the
namespaces in a table and define the namespace role in the systems after reserving the namespace.
Prerequisites
You have reserved one or more namespaces for the development objects (and a namespace for the add-on
software component if required). Read the section Reserving Namespaces [page 23].
To enter your reserved namespaces in the development system and consolidation system, proceed as follows:
Note
When creating or updating the software component and for creating deliveries in the consolidation
system, you also require the value development license for the namespace you reserved for the add-on
software component. (See also: Creating Deliveries [page 57] ) To save the development license in
the consolidation system, you can set the namespace role of the namespace of the add-on software
component to P temporarily and enter the valid development license. Then change the namespace role
back to C. The development license is now saved in the system. You can create or update the software
component and create the delivery without entering the development license again.
Use
Before you can start development work in any new add-on release, you must create create or update the add-on
software component and the add-on release name in the development system. When you create packages for
your development work, you must assign them to the software component.
The add-on software component is also a prerequisite for creating deliveries. This means that the add-on software
component and the add-on release name must exist and be up-to-date in the consolidation system (also know as
the final assembly system).
Procedure
1. To create your add-on software component in the development system, start Software Delivery Composer
(transaction SSDC) and choose Environment Create/Update Add-On Software Component .
2. In the Software Component field, enter the previously defined add-on software component.
3. If you have not saved the development license for the namespace, enter it now.
4. Enter the new add-on release and a description.
The system then enters the required data in the appropriate tables automatically.
A dialog box is displayed where the transport request is queried.
5. Create a new transport request or choose an existing request.
The request contains a transport entry for your add-on software component.
6. Release the transport request and import it into the consolidation system. This is necessary to make sure that
the add-on software component, the add-on release name, and the associated description exist in the
consolidation system.
7. In translation [page 50], verify that the description of the add-on software component is translated into all
shipped languages. At the very least, the software component description must be available in English (even if
the add-on does not exist in English), since English is SAP's standard language. When the delivery is created,
Software Delivery Composer verifies whether the translated entries are in the delivery and whether the
English entry exists.
Note
If SAP Add-On Assembly Kit is not installed in your development system, you can create the add-on
software component and the add-on release name in the consolidation system. Then release the transport
request containing this data and transport it back to the development system. In this way, you also register
the add-on software component and add-on release name in the development system.
Use
The system change option dictates whether repository objects and cross-client customizing objects are
modifiable or not.
For more information, see Setting the System Change Option in SAP Help Portal.
You have entered your namespace or namespaces for the development objects [page 39].
Procedure
Note
The system change option is dictated by both the namespace for the development objects and the software
component.
Once you have released the namespace or namespaces for the development objects, you must configure the
system change option in the development and maintenance system.
Use
Before you create and maintain add-ons, you must configure parameters for the transport control program tp in
your systems.
For information about these parameters and how to configure them, see Change and Transport System under
SAP Help Portal.
● Transport Tools
Procedure
When developing add-ons, you configure the parameters shown in the table for tp in Transport Management
System (TMS) as follows:
Table 8:
ABAP/NTFMODE b b
T_IMPORT no no
K_IMPORT no yes
VERS_AT_IMP yes no
Note
The Transport Tool tab in TMS shows you only the automatically generated profile parameters for the transport
control program tp. For a description about how to change these parameters, use the links to SAP Help Portal
shown above.
Use
Before you create and maintain add-ons, you must configure these two parameters in your systems.
You can control the export of language-dependent data using parameters LANGUAGE and LSM
(language_selection_mode).
Note
You should only export from the development system in the master language, and from the consolidation
system in all supported languages.
Configure the following settings in Transport Management System the transport control program tp:
1. Select Global for parameter LANGUAGE and enter all relevant languages.
2. Set the parameter LSM as follows:
In the Development System
Enter the value MASTER for the LSM parameter.
The value MASTER means that language-dependent data is exported in the master language.
In the Consolidation System
Enter the value ALL for the LSM parameter.
The value ALL means that all languages that you entered for parameter LANGUAGE are exported.
With this value all table entries are exported according to parameter LANGUAGE without you having to add the
missing languages to the language-dependent tables.
Note
You can also configure the export languages during the setup of the delivery in the Software Delivery
Composer. To do this, choose Delivery Component Select Export Languages . The settings that you
made in the Transport Management System are then overwritten.
The details included in the section Making Settings for the Development and Consolidation System [page 39] also
apply for the settings in the systems in the Maintenance Landscape [page 32] .
Note
You must make the same settings for the maintenance system as for the development system, and the same
settings for the consolidation system for corrections as for the consolidation system for development.
When upgrading a system landscape in which you are performing the add-on development or maintenance work,
all objects that you have created yourself are retained. These are all those objects that have an object directory
entry whose original system is not SAP.
If you have made modifications to SAP objects (objects with an object directory entry whose original system is
SAP), these are overwritten by the SAP standard during upgrade. After the upgrade, however, you can reproduce
your modifications during modification adjustment.
You must perform the following tests when developing and maintaining add-ons:
Recommendation
We recommend that you make backups of the various system states. You can then import a specific state
into the final assembly system for testing.
● Acceptance test (optional, but recommend for large scale development projects)
After development close, corrections are passed continuously to a test system that contains test data. The
aim of this is to test the add-on functions and customizing changes continuously in the final stages of
development.
Caution
When add-on functions or customizing changes are tested in the consolidation system, there is the risk of
passing cross-client test data to the delivery.
Recommendation
We recommend that you use an acceptance test system located after the consolidation/final assembly
system in the system landscape and which, unlike this system, contains extra cross-client test data. You
can use this test system, for example, as a consumer system after the consolidation system. Make your
settings (such as the settings in the transport profile) in the same way as in the consolidation system.
Ideally, two systems should be provided for these tests. However, if time constraints and your development
process dictate otherwise, you can also perform these tests in a single system, but at different times.
It is essential, however, that you have a (temporary) test system for final assembly tests, which you update to the
version where you want to test a delivery using system copies created in advance.
You can find basic information about ABAP development on SAP Help Portal under Application Development on
AS ABAP.
Develop your objects in the development system. Develop all cross-client objects in the development client and
client-specific objects in the customizing client.
When you create new objects, verify that the correct original language is set. We recommend that you always log
on in the development language, since the default original language of an object is the same as the logon
language. If you log on in a different language, this can cause problems in translation or in customer deliveries
with multiple languages.
Once a development phase is finished, transport the objects in question to the consolidation system.
As specified by your delivery strategy, import the current support packages into your development system (the
development system must have the SAP support package state dictated by the customer system).
To develop your add-ons, you have to create packages. Assign each package of the add-on to the relevant
software component and to a transport layer. Prerequisite for assigning packages is that you have set up a
software component in the development and consolidation systems for each add-on release, as well as a
transport layer for the consolidation transports.
● Platform-neutrality
All add-on-specific developments must conform to the SAP platform strategy. ABAP developments must
support all application servers on the platforms UNIX, Windows, and IBM eServer iSeries. Exception are
possible only when unavoidable for technical reasons.
Note the following technical points:
○ The use of call system in ABAP programs points to platform-specific applications. An alternative here
is to use platform-specific commands defined in the transaction SM69.
○ An application runs either on the ASCII code page or EBCDIC code page, as specified by the platform.
This means that logical comparisons like f1 BETWEEN f2 AND f3 can produce different results on
different platforms.
○ Note the code page used when the file system of the application server is accessed.
Table 9:
● Tables
Content of SAP Tables
If you want to deliver entries in SAP tables, use BC Sets.
If you deliver table entries directly, without using BC Sets, this counts as a modification that cannot be
adjusted. These entries can be overwritten at any time and without warning in your system and in the
customer system by SAP support packages or upgrades.
You cannot use AAK to deliver entries in ranges reserved for customers in SAP tables, since these entries
could overwrite the content in the customer system.
New Tables
If you want to create a new table, make sure that you assign it the correct delivery class. The delivery class
specifies the transport behavior of tables. Only tables in the delivery classes E, G, and C support BC Sets.
Note also that further restrictions apply when using BC Sets (such as restrictions on the length of the table
name).
For more information about delivery classes of tables, choose the information button in ABAP Dictionary
(transaction SE11) in your SAP system or under Delivery Class in SAP Help Portal.
● Also note the instructions under Object List Checks [page 61] when developing objects.
● If your add-on supports multiple SAP releases, also read Rules for Add-On Development on Multiple SAP
Releases [page 47].
● Your development takes place in a prefix namespace, which means you must also read the information about
restrictions on development in namespaces in SAP Note 104010 .
It is important to observe the following rules if you are developing your add-on in multiple releases.
● Originality/New Objects
Enhancement techniques are ways of expanding the SAP software without making modifications. If you want to
make modifications, we recommend using the Modification Assistant.
More information about these topics is available in the SAP training course BC425 and in SAP Help Portal under
Changing the SAP Standard (BC).
If your development work is based on SAP NetWeaver 7.0 and higher, you can use Enhancement Framework.
More information can be found in SAP Help Portal under Enhancement Framework.
Note
The information that follows focuses on individual objects, but does not claim to be complete.
Enhancement Spots
Use enhancement spots as your preferred enhancement technique. These are spots in the source code defined by
SAP where you can insert code without modifying the original object. You can choose to expand on the original
logical or add a ready-made implementation.
For more information about enhancement spots, see SAP Help Portal under Enhancement Spots
Dictionary Objects
When developing add-ons and modifying dictionary objects, particular care should be taken when making
enhancements to tables.
● Enhancements to tables
Never enhance standard SAP tables by adding new add-on-specific fields, since these modifications can be
overwritten by updates to the table object (in support packages or upgrades), by SAP software components,
or by other add-on components in the add-on system.
Use the append structure as an enhancement method for standard SAP tables. This makes it possible to
enhance tables without making modifications and the tables are not overwritten when the table object is
transported again from the standard SAP system. This type of enhancement is not possible for pooled tables
or cluster tables.
For more information about append structures in tables, see SAP Help Portal under Append Structures.
Programs
Use Modification Assistant to make changes to programs. Activate Modification Assistant in your development
system.
For more information about Modification Assistant, see SAP Help Portal under The Modification Assistant
Recommendation
We recommend that you do not make any modifications.
● Function Modules
It is usually better to call a function module that encapsulates the enhancements in the SAP program instead
of including a statement block directly in the program.
If a new function module like this is developed in an add-on development system, it must be created within a
separate add-on function group. This prevents the new function module from being overwritten by any
updates. Potentially only the call of the new function module needs to be inserted in the source code.
If you want to insert code in an existing standard SAP function group to use its global memory, use a form
routine instead of a function module. This avoids any inconsistencies when assigning include numbers to the
function modules. It is not possible to create new function modules in SAP function groups.
● Form routines
If possible, avoid using any PERFORM calls and use function modules instead. The only exception is when
creating form routines instead of function modules in a standard SAP function group, to enable access to the
global memory of the function group.
Documentation
Software development also involves writing documentation. Documentation is required to make it easier to user
the add-on. You can write the documentation directly in the development system (this is known as online
documentation).
For information about writing documentation, see SAP Help Portal under Services for Information Developers and
Translators.
Translation
If you want to deliver your add-on in more than one language, you must translate all language-dependent objects
in the add-on. Alongside the documentation, this includes other objects (such as UI texts).
Before you can use the translation environment, you must first prepare your system for translation. Translation
usually takes place in the consolidation system for development and corrections. If you have a large system
landscape, you can also set up a separate translation system.
For information about translation, see SAP Help Portal under Services for Information Developers and
Translators.
● For each new release, verify that the description of the add-on software component is translated into all
shipped languages. To this, choose the following function in the translation editor (transaction SE63):
1. Choose Translation ABAP Objects Short Texts .
2. In the object type selection under 00 Meta Objects, select the type TABL Tables (Meta).
3. In the object name field, enter CVERS_REF. This is the name of the table in which the software component
description is saved.
4. Choose Edit.
5. In the Software Component field, enter the name of your add-on software component (or select it using
value help) and choose Continue.
6. Translate the description of the software component.
● Before you deliver the add-on, you must make sure that all language-dependent objects in the add-on are
translated.
Once the development of a new add-on release or corrections for a new add-on support package level have been
finished or the migration to a new SAP release has been completed, you must create the required delivery
packages.
Table 10:
Change piece list Add-on upgrade package for add-on delta upgrade (AOU)
Exchange component piece list Dependent on the SAP release: Add-on exchange package (AOX, from SAP Net
Weaver 7.0) or add-on upgrade package (AOU, up to SAP Web AS 6.40) for add-
on exchange upgrade
Support package Dependent on the SAP release: Add-on support package of type CSP (from SAP
Web AS 6.40) or AOP (up to SAP Web AS 6.20)
As described in Creating the System Landscape and the Systems [page 29] , you can use the consolidation
system as the final assembly system. This means that the details included in Making Settings for the Development
and Consolidation System [page 39] also apply to the settings for the final assembly system.
Note
Note that the settings for the consolidation system also apply to the final assembly system in the maintenance
track.
See also:
Making Settings for the Development and Consolidation System [page 39]
Once you have finished developing, maintaining, or updating your objects, you can create the delivery using the
SAP Add-On Assembly Kit tools.
Context
The way in which the delivery is created is specified by the type of the delivery and hence the package type. The
procedure that follows describes the general steps performed when creating a delivery. For specific information
about the delivery types or package types, see the relevant sections (Creating an Add-On Installation Package and
so on) or in the online documentation of the tool in question. This is accessed by choosing the help function in the
pushbutton toolbar.
Procedure
Note
For this, you need the role SAP_AAK_SDC_CHANGE.
a. When you begin, define the type of the delivery (add-on installation/upgrade, add-on support package, or
conflict resolution transport) and other administration data in SDC. Here, the namespace prefix of the
delivery name is used automatically as the add-on software component.
To identify yourself as the owner of the namespace of the delivery, you may need to enter the associated
development license. This guarantees that deliveries can only be created by the owner of the namespace.
For more information, see Entering a Namespace and Defining a Namespace Role [page 39].
b. Create the list of all modified objects in the delivery (the change list) as the first delivery request. Fill the
change list using various selection criteria for change requests (or objects). Flag the change requests in
question first and then include them in the list.
c. Verify in which languages the delivery request is exported or select the languages. To do this, choose
Delivery Component Select Export Languages .
d. Use SDC to perform the object list checks [page 61]. Make any corrections needed to the change list.
e. Once you have specified the content of the change list, release it in SDC.
f. Depending on the type of the delivery, you need to create further delivery requests (such as component
piece lists and exchange component piece lists). Perform the object list checks for these too and release
the delivery requests once their content is consistent.
g. Release the associated delivery component.
● Assembling a Delivery Package with Software Delivery Assembler (SDA)
Recommendation
We recommend that you always use this attribute. This enables you to give your customers
additional information about the package.
○ If you require a specific version of Support Package Manager/SAP Add-On Installation Tool to import
your package, you can use the extended attribute NEED_SPAM_LEVEL to define that at least the
version in question has to exist.
This provides you with an importable package. The package has the status Locked. It is located in one of
the following directories:
If you do not have administrator rights, you can download the importable packages as an SAR file. To do
this, switch to the Administration tab page. Enter the name of the package and define the target folder on
the local computer if necessary. Then choose SAR Download.
● Testing the Delivery
a. Make the package available for a test system.
To do this, go to the transport directory EPS/out in the final assembly system. Copy the delivery package
in the test system into the transport directory EPS/in.
b. If you want to test imports of the package using SAP Add-On Installation Tool or Support Package
Manager, upload the package into the test system.
To do this, go to Support Package Manager in the test system and choose Support Package Load
Packages From Application Server .
Note
This step is not required if you want to test how the package is included in SAP system upgrades, since
the SAP upgrade tool loads the package from the transport directory itself.
○ If tests detect errors in the attributes or import conditions for the package or if attributes or import
conditions are missing, you can correct them in Software Delivery Assembler and register the package
again. Proceed as follows:
1. In Software Delivery Assembler, go to the tab for your package type and enter the name of the
package.
2. Choose Change Attributes in the registration options.
After the delivery of packages (in add-on installations, upgrades, or support packages), it is often necessary
to correct import attributes or add new attributes. For example, you may need to add new import
prerequisites to validate additional system states as a basis for imports.
The package type attribute change package (ACP) makes it possible to deliver these modified attributes.
When attributes in a released package are modified, the system creates an ACP automatically for each
software component version. If the attributes of multiple released packages in the same software component
version are modified, the system creates one ACP version for each package.
The name of an ACP has a maximum of 20 characters and is created from the name of the software
component version: Characters 1 to 10 contain the name of the software component (filled with equals signs
up to the 10th character if necessary) and the version of the software component is inserted from the 11th
character.
Example
The ACP name for packages in the software component version SAP_APPL 600 is SAP_APPL==600.
a. Go to the tab of the package type for which you want to post-deliver attributes.
b. Enter the package name and choose Select Registration Option.
c. Choose Post-Delivery and confirm by choosing Continue.
d. Make your changes in the attribute editor:
○ If you want to modify the extended attributes, choose the Extended Attributes tab.
○ If you want to modify the import conditions, choose the Import Conditions tab.
e. Confirm your changes by choosing Continue.
f. Choose Register.
g. Confirm that they are correct by choosing Yes.
h. Confirm the EPS file by choosing Continue.
An ACP can be delivered as a standalone package or together with another package (with a package type
other than ACP). This is known as a container package.
Once you have completed the delivery tests successfully, you can finish the creation of the delivery.
a. Confirm the delivery in SDC.
This documents that the package has a defined state. The package and its associated attributes and
import conditions can no longer be modified.
When you create the delivery, check the object list of the associated delivery request to avoid any problems later
when installing or maintaining the add-on.
You cannot add all objects in these requests to the delivery automatically.
Software Delivery Composer supports you when performing the object list checks.
Note
For more information about the individual object list checks, see the results display of the checks in Software
Delivery Composer. Choose the question mark icon next to a check.
SAP delivers its own object list checks, but you can also define your own checks. For more information, see
Adding Custom Object List Checks [page 64].
● Forbidden objects
Some objects are fundamentally invalid and cannot be delivered, for example because they are customer
objects).
Customer objects are reserved for customer themselves. None of these objects can be delivered, since the
customer uses live entries that could be overwritten by a delivery. For more information, see SAP Note 16466
.
Entries of the type R3TR VERS (definition of software components), for example, cannot be delivered
because these entries are made by the import tools.
For a list of the forbidden object types and objects, see SAP Note 870407 .
Note
Your add-on customers can make changes to objects in your namespace only if a valid repair license is
entered in the system. If you entered your repair license in your final assembly system, it is delivered with
the add-on. If not, you must notify your add-on customers about the license, so that they can enter it in
their system.
Recommendation
We recommend that you only create non-modifying add-ons.
Avoid making modifications to objects from a software component that is not the modifying software
component. Software Delivery Composer displays objects from software components that are not the
modifying software component.
Caution
Do not modify non-versionable objects in other software components.
You are also not allowed to modify more than one software component.
Note
Software Delivery Composer can perform this check only if the component piece list for the add-on release
is known in your SAP system. If you created this piece list in a different system, you can register it with
Software Delivery Composer in the current system. To do this, start Software Delivery Composer and
choose Delivery for Delivery Request Register .
The following applies to CRTs: You can create a CRT for one main component or application component only,
which means that the CRT can contain only objects from its own add-on software component or from the
Manual Check
The objects must be consistent. This means that, for example, all subobjects (such as program code) must exist
as active objects. If not, errors occur when the package is imported (at the latest).
You can run this check before releasing the delivery request in Transport Organizer:
Perform this check both in the final assembly system and in the test system.
The delivery requests for deliveries of type Installation/Upgrade can contain only full objects from your add-on (of
the modifying software component). This means that any subobjects (LIMUs) specific to the add-on must be
replaced by the associated full objects.
When the change piece list, component piece list, and exchange component piece list are released, Software
Delivery Composer replaces the subobjects specific to the add-on with the full objects automatically.
Caution
This does not apply to modified standard SAP objects.
In Software Delivery Assembler, you can add your own object list checks that apply when creating deliveries.
If you need further object list checks for delivery requests, you can specify them as separate classes with a
defined interface, known as check classes. Once these checks are activated, they are applied in every object list
check in the delivery system. The displayed list of critical objects and table entries is updated accordingly.
Note
Alternatively, you can continue to add your custom object list checks using function modules in Software
Delivery Assembler. The procedure is described in SAP Note 215178 .
To activate your custom checks, go to Software Delivery Composer and choose Utilities Add Object List
Checks for the delivery in question. Confirm the dialog box. On the next screen, choose New Entries.
Caution
This text is language-specific. If you want to provide this text in a language other than the current logon
language, first save your input. Then choose Goto Translation and select the language in question.
Enter the translation of the short text and save your input.
● Class/Interface
Specify the name of the check class (its regular ABAP OO class name) here.
● Name of Documentation Module
Enter the name of the long text.
You can create a long text (with the type dialog text, see transaction SE61) for each check. Use this long text
to explain how the check works and how to respond to any errors.
If you want to provide the long texts on other languages, you can translate it in the translation editor
(transaction SE63). For more information here, see Services for Information Developers and Translators.
Notes:
● The order in which the object list checks are performed is is not defined and can vary from system to system.
● Any changes to the request content (using database access to the table of the object list or the key entries) in
the check classes for the object class itself are not allowed. Instead, the action in question is displayed in the
results list of the object list check and the corresponding entry can be corrected from here if needed.
● The list of object list checks delivered in Software Delivery Composer can be expanded in later releases.
● Only use names from the partner/customer namespace as names of check classes. This avoids conflicts with
the delivered object list checks.
● The checks are performed on varying object sets in a request.
○ Objects
○ Table keys
○ String-like table keys
The check class is a regular ABAP OO class. A class can be used as a check class in the context of object list
checks when the interface IF_EM_OLC is implemented.
IF_EM_OLC
This interface provides a method, CHECK, and various events used in the check to indicate errors.
IF_EM_REQUEST
The request has various methods that provide the content of the transport request in question:
● GET_HEADER
Gets the header entry of the request (structure like in table E070)
● GET_OBJECTS
Gets the list of objects in the request (table with the structure like in table E071; values of the fields PGMID,
OBJECT, and OBJ_NAME (and LANG OBJFUNC if required).)
● GET_KEYS
Gets the list of table keys for objects in the request (for example, for TABU objects) (structure E071K); values
of the fields PGMID, OBJECT, OBJNAME, MASTERTYPE, MASTERNAME, and TABKEY (and LANG if required)).
● GET_STRINGKEYS
Gets the list of string-like table keys for objects in the request (structure E071K_STR); values of the fields
PGMID, OBJECT, OBJNAME, MASTERTYPE, MASTERNAME, KEY_LENS, and TABKEY (and LANG if required)).
You make the checks in the check method. The objects in question are provided using the method of the interface
IF_EM_REQUEST (see above). Objects can have the following levels of severity:
● Severity:
○ E for error
○ W for warning
○ Other values for information; recommended: I for information
Just one entry with the severity E in the list prevents a regular release of the corresponding delivery request.
An entry is made in the results list of the object list check by raising a specific event for any object set. These
events are provided for the object-list-specific interface IF_EM_OLC_OBJECT, IF_EM_OLC_KEY, and
IF_EM_OLC_STRINGKEY. The event in question defines the possible action in the results list implicitly. The
following events are available:
● ~MISSING
Like Add Object: Adds the object to the piece list.
● ~REJECTED
Like Delete Object: Deletes the object from the piece list.
● ~UNDECIDED
Like No action selected. The user must read the information in the message.
You can specify an optional message text using the parameters of the event. If the parameters are not used, the
system variables are read (SY-MSGID, SY-MSGNO, SY-MSGVAR1.... SY_MSGVAR4). You can use any message class
and its messages. We recommend that you describe the error in detail in the long text. The ABAP command
message can be used to fill the messages in the system variables in the following variant: MESSAGE msg/text
INTO text as a call before the event is raised.
The results list of every check is displayed as a separate block within the overall result of all object list checks.
The title is the same as the check text specified when the check was activated (in the logon language). The total
number of all errors and warnings detected for each function module is also displayed.
If a message text is assigned, all objects or table entries for a message (with the same values for the message
variables) are displayed in a sub-block (with the message in question as a title and with any message variables
replaced). All objects or table entries without message texts are also displayed within a sub-block.
Within a sub-block, the objects and table entries are sorted by severity and action.
Note
If you want the rows in the results list of a check to be in a different order, you can fill a consecutive number
(I_POS) when the events are called. This sorts the objects or table entries by the consecutive number.
Here too, consecutive rows for a message (with the same values for the message variables) are displayed in a
sub-block (with the message in question as a title and with any message variables replaced).
In addition, all tables entries for a master object (which have the same values for MASTERTYPE and MASTERNAME
(in the parameter structures I_E071K and I_E071K_STR) within the sub-block for the group text) are grouped
and displayed with the master object in question as a header line.
Note
If you only want to display one message text in the results list, you can use a row without assigned object list
entry (structure I_E071 for events of the interface IF_EM_OLC_OBJECT is empty) or without assigned key
entry (structure I_E071K for IF_EM_OLC_OBJECT_KEY is empty) or without assigned string key entry
(structure I_E071K_STR for IF_EM_OLC_OBJECT_STRINGKEY is empty).
This message text is displayed as a separate sub-block that consists of only one header line (meaning it does
not contain any objects or table entries). However, when the total number of errors and warnings detected by
the check module is counted, every message and its severity is respected.
Custom Comments for Handling Entries in the Results List of the Object List
Checks
The results list of the object list checks displays all successful and critical objects. In the case of objects with
errors, you can accept the check result manually (set it to OK). The system requires you enter a reason why this
error can be accepted.
You can either enter a text manually or select a predefined text. This text is then added to the comment field
where you can then modify it. A predefined text is provided as a default. You can define further texts as follows:
Note
The text is not language-dependent and you must create it in a language suitable for all users of Software
Delivery Composer.
Use
If you want to deliver the software development for your add-on to customers for the first time, then you need to
create an Add-On Installation Package (AOI).
You can also create an Add-On Installation Package if you want to update an add-on that has a small scope. To do
so, create an Add-On Installation Package that contains all add-on objects and assign the enhanced attribute
REINSTALL_ALLOWED = T to the package in the Software Delivery Assembler. The new Add-On Installation
Package can then overwrite the existing add-on with one that it on a lower release. This makes sense for small
add-ons as no additional upgrade package is required. However, customers who have modified the objects of their
add-on must compare their modifications when they have reinstalled an add-on. For large add-ons you should
create upgrade packages for the add-on delta upgrade [page 77] as these only contain the changed and new
objects of the add-on.
Procedure
● Delivered on CD
● Delivered in compressed form on the Internet
● Add-on software
● CD structure
● Packing/unpacking the files
For more information about the CD structure and packing and unpacking files, see CD for the Add-On Delivery
[page 130] .
Alongside the general product documentation, we recommend that your add-on delivery contains an installation
guide. Here you can specify all important information required by your add-on customers to import the packages.
● Prerequisites
● Preparation
● Execution
● Follow-up
The following text provides the most important information that should be included in an installation guide. You
can use this text as a template for your add-on deliveries.
Note
You can also use it to create a guide for other add-on packages (such as upgrade packages or CRTs).
Installation of <add-on><release>
Content
Installation of <add-on><release>
Language support
Table 11:
Example
Table 12:
SAP_BASIS 740
SAP_BW 740
PI_BASIS 740
or PI_BASIS 730
Example
Table 13:
Example
Table 14:
Installation of <add-on><release>
1. Log on to client 000 in your SAP system as a user with SAP_ALL rights. Do not log on with the use SAP* or
DDIC.
2. Use Add-On Installation Tool (transaction SAINT) to start the installation or upgrade.
For more information, see the online documentation of Add-On Installation Tool. To do this, use the help
function in the toolbar.
<If you generated a password for the installation, you can specify it here.>
Language Support
Alongside <original language>, <add-on> <add-on release> supports the following languages: <language1>,
<language2>.
If you want to install one of these languages, the standard languages of the current SAP release must be installed.
Perform the add-on language import as specified in the language transport documentation. You can find the
language packages of <add-on> <add-on release> in the directory <language> on the <installation/language
CD>.
Use
We recommend that your initial add-on delivery contains all languages your require. This means that all languages
must be fully translated [page 50]. If you have configured the parameters for exporting language-specific data
[page 43] correctly, the add-on package is then available in all translated languages.
It may be the case, however, that you need to deliver a language for your add-on after the initial delivery. One
example of this is when you use your add-on in your company and your company merges with a company from a
country whose language is not available in this add-on. The functions of the add-on area available, but the new
company requires its texts in a different language.
Additionally, if you sell your add-on to other companies, non-domestic many also be interested in other
languages.
● Deliveries using an add-on language package that contains only the translation
● From SAP NetWeaver 7.00: Deliveries using a subsequent support package
Prerequisites
● You have already delivered your add-on without the new target language. You have also potentially created
support packages for your add-on.
● The underlying SAP components of your add-on support the required target language. Check the availability
of the language for the SAP components in question in SAP Service Marketplace under https://
service.sap.com/languages .
● You have installed the target language in question for the SAP components of your full system in the
consolidation system for corrections.
● Language packages are included in separate language CDs delivered with the installation or upgrade. The
language transport tool (transaction SMLT) is used to import the language packages.
For information about language transports, see SAP Help Portal under Language Transport
Activities
1. Prepare the consolidation system for corrections for the translation of the add-on into the new target
language
For more information about this, see SAP Help Portal under Setting Up and Coordinating Translation (BC-
DOC-TTL).
You must verify that all language-dependent objects in your add-on have been translated. To do this, use the
current full add-on piece list as the basis for determining the objects to translate. The full add-on piece list
consists of the the component piece list of the add-on and the piece lists of the support packages and conflict
resolution transports that have already been created. You can create the full add-on piece list, for example, in
Transport Organizer.
If you encounter problems when preparing your systems for the translation, open a problem message on
component BC-DOC-TTL.
2. Translate the objects in question into the new target language
For more information about this, see SAP Help Portal under Translation Tools for Translators (BC-DOC-TTL).
3. Create an add-on language packages for the new target language
You create the language package using the language export tool (transaction SMLT_EX).
For information about language exports, see SAP Help Portal under Language Transport
Note the following points when creating the language package using the language export tool:
General
○ When you select the objects, specify the full add-on piece list as the transport request.
○ Select all object types.
○ Note the special handling of the objects Terminology, Glossary, Public Holiday Calendar, and Balance
Sheets. The language guide contains information about this under Objects with Special Handling.
○ Use only one transport request for the language package. Do not spread the language package across
more than one transport request.
○ Use the wizard for creating add-ons.
To do this, choose the Wizard button. If SAP Add-On Assembly Kit is installed in your system, the
following query appears: Use wizard to create add-ons? Choose Yes.
Note
Do not use the general language export wizard. This wizard appears if you choose the Wizard button
and then answer the query Use wizard to create add-ons? with No.
Example
/usr/sap/trans/EPS/out
If you do not specify your own name for the language package, it is given the following name:
<SID><installation number>_<7-figure consecutive number>.PAT
The transport request is included in the language package. If you have not specified your own transport
request name, the system generates a name for the transport request automatically.
5. Test the add-on language package
To test the language package, copy it from the transport subdirectory EPS/out in the consolidation system
for corrections to the transport directory EPS/in in the test system.
If you have not specified the software component on which the language packages based, verify that this
component is installed in the system before importing the package.
Also verify that the test system has the same support package level as the consolidation system where you
created the language package before you import it. If you import the add-on support packages after you
import the language package, it is possible that some of the imported languages are overwritten. This creates
a language inconsistency in the test system that can only be resolved by lengthy follow-up work. For more
information, see SAP Note 195442 .
Use the language import tool (transaction SMLT) to import the language package in the test system.
Check that the full add-on is available in the new target language.
6. Migrate the language package to Software Delivery Assembler
Migrate the language package to Software Delivery Assembler in the system where you registered your other
packages. This ensures that all packages your create are in the same repository.
The language import tool does not read any attributes specified in Software Delivery Assembler (such as a
specific support package level). This means that you do not need to specify these attributes.
7. Deliver the add-on language package
If your tests are successful, you can provide the language package for delivery [page 68].
If the language package is based on a specific add-on support package level, notify your customers that they
first need to import all add-on support packages created before the language package was created. Only then
can they use the language import tool (transaction SMLT) to import the language package.
8. Follow-up actions
From now on, you need to maintain the add-on in the new target language too, which means you have to add
the new language in the parameter LANGUAGE [page 43] in your consolidation system for corrections. From
now on, translate all languages in the consolidation system for corrections.
This is how you make sure the support packages you created from now on also contain the new translated
target language.
Note
When you deliver your add-on in the target language in question, it is essential that your installation guide
advises customers to use the following import order:
○ Install the add-on package and all support packages created before the language package was created
1. Create a current full add-on piece list. You can create this, for example, in Transport Organizer.
2. Translate the full add-on piece list into the new target language.
For more information about this, see SAP Help Portal under Translation Tools for Translators (BC-DOC-TTL).
3. Use the language export tool (transaction SMLT_EX) to export the new languages.
4. Use Software Delivery Composer to include the new export in the new support package of the add-on. You
must select the new translated target languages explicitly in Software Delivery Composer. To do this, choose
Delivery Component Display/Select Export Languages .
5. You must use Software Delivery Assembler to set the attribute LANGUAGE_BY_SP with the new translated
target languages for the new support package. In imports to a target system, this registers the new delivered
languages as installed. The languages specified in the mandatory attribute LANGUAGE must exist and match
the selected export languages in Software Delivery Composer. The values for this attribute must be specified
using the two-character ISO language key.
Example
LANGUAGE ISO-DEENFRJA
LANGUAGE_BY_SP ISO-FRJA
You have the following tasks after you deliver an add-on for the first time:
● You must make corrections to any errors in the add-on. You do this by creating add-on support packages.
Depending on the underlying SAP release, use either the type CSP (component support packages from SAP
Web AS 6.40) or AOP (add-on support packages up to SAP Web AS 6.20).
● If you made modifications to the standard SAP system when developing your add-on, you must restore them
if overwritten by a support package delivered by SAP. You do this by creating conflict resolution transports.
Recommendation
We recommend that you only create non-modifying add-ons.
● Deliver any further developments to the add-on as an upgrade. You do this by creating add-on upgrade
packages.
● Another of your important tasks is to support the add-on in SAP system upgrades. This is because you usually
need to update an installed add-on in an upgrade to ensure it can run on the new SAP release.
To upgrade an add-on during an SAP upgrade (this is known as an add-on exchange upgrade), create one of
the following packages as dictated by the underlying SAP release:
○ From SAP NetWeaver 7.0: Add-on exchange package
○ SAP Web AS 6.20 and SAP NetWeaver '04: Add-on upgrade package with extended attribute
CREATE_FULLTASK = T
The package is included in the correct place in the SAP system upgrade.
If the add-on is compatible enough to run on multiple SAP releases without modification, you can preserve
your add-on in the SAP system upgrade to the new SAP release without updating it. The attributes and import
conditions of the packages, however, must also describe this new SAP release as a valid target state of the
system. If this was not previously the case, the appropriately modified attributes and import conditions can be
delivered retroactively using an attribute change package (ACP).
● Before you can convert a system containing one of your add-ons to SAP S/4HANA, you must decide how you
want to handle the add-on. There are several options:
○ The add-on can be used on SAP S/4HANA without any modifications.
○ The add-on can be used on SAP S/4HANA but some prework is required before the upgrade.
○ The add-on is no longer relevant in the SAP S/4HANA environment.
○ The add-on is replaced by a new version.
The classification above is required because some basic functions provided by SAP are no longer available in
SAP S/4HANA systems. For an overview, see the simplification database.
If the add-on remains available but prework is required before the upgrade, SAP offers a framework where
you can provide functions for prechecks and define the compatibility between SAP S/4HANA and the various
software components (based on the classification above).
This framework is then used to handle your software automatically during the upgrade. SAP provides support
for classification and also if you have questions about creating the precheck or exemptions from the
precheck. Also see SAP Note 2308014 and the references it contains to additional documents.
An add-on is maintained using add-on support packages and conflict resolution transports (CRTs).
Use
If you provide corrections for errors in your delivered add-ons, it is advisable to create add-on support packages
(CSPs (or AOPs)).
Note also the restrictions that apply to permitted changes. You can find these in Rules for Add-On Maintenance
[page 76].
Use
If you want make developments in a shipped add-on that are not merely corrections to errors, we recommend
that you create an add-on upgrade package (AOU). Add-on upgrade packages are used for add-on delta upgrades
(that change the add-on release while preserving prerequisite SAP software component version). You use SAP
Add-On Installation Tool to import add-on upgrade packages.
Recommendation
If you want to deliver new objects, we recommend that you always create an add-on upgrade package instead
of an add-on support package.
Note
Note that you must also create an add-on upgrade package (AOU) for add-ons based on SAP Web AS 6.20 and
6.40, to ensure that the add-on is updated during an SAP system upgrade. This procedure is described in
Updating Add-Ons in SAP System Upgrades [page 78].
Procedure
1. Complete your development work in the development system for the add-on release in question.
2. Import the new development work into the consolidation system or final assembly system.
Use
Note
This section describes the behavior of add-ons in SAP system upgrades. For information about the SAP system
upgrade of your add-on development and maintenance landscape, see Upgrading the Development/
Maintenance Landscape [page 44].
Whenever SAP publishes a new release (with new prerequisite software versions), you must decide how your add-
on reacts.
● You can update your add-on during the SAP system upgrade.
In this case, you can use SAP Add-On Assembly Kit to define an add-on exchange package (AOX). This
ensures that you package is included in the upgrade at the correct place. In the case of add-ons based on SAP
Web AS 6.40 and lower, you can do this by defining an add-on upgrade package (AOU) with the extended
attribute CREATE_FULLTASK = T.
Recommendation
We recommend this option as the default method.
● If your add-on can run on the new SAP release without any modifications, you can preserve your add-on in the
SAP system upgrade without updating it. To do this, you must define the appropriate import conditions in the
extended attributes in Software Delivery Assembler. For more information, see the online documentation in
Software Delivery Assembler.
If the import conditions for the new SAP release or the prerequisite software component version were not yet
defined, you can provide your customers with them in an attribute change package (ACP). In this case, the
ACP contains the additional import condition for the new SAP release.
Caution
You cannot use this option for modifying add-ons.
Remember that you cannot delete your add-on during an SAP system upgrade. For more information, see
End of Maintenance [page 80].
If your upgrade strategy involves updating the add-on during the SAP system upgrade, you can create an add-on
exchange package (AOX) from SAP NetWeaver 7.0.
1. Complete your development work in the development system of the new SAP release.
2. Import the new development work into the consolidation system or final assembly system.
3. Create the delivery using the AAK tools (see Creating a Delivery [page 57] ).
Note the following points here:
1. In Software Delivery Composer, use the delivery type Installation/Upgrade to create a delivery request of
the type Exchange Component Piece .
The exchange component piece list contains the full add-on. When the exchange component piece list is
created, the associated component piece list is flagged automatically for the same add-on release and
included. Select the component piece lists of all add-on releases supported as upgrade source releases.
2. Register the exchange component piece list in Software Delivery Assembler. If you choose Delivery
Request Register (by SDA Locally) in Software Delivery Composer, Software Delivery Assembler
displays the corresponding tab page automatically:
○ From SAP NetWeaver 7.0: Tab page AOX:
Creates an add-on exchange package
○ Up to and including SAP Web AS 6.40: Tab page AOU:
Creates an add-on upgrade package
This action sets the extended attribute CREATE_FULLTASK to the value T automatically. This
ensures that the AOU is accepted as an upgrade package during the SAP system upgrade.
Note the following points when defining the import conditions in Software Delivery Assembler:
○ When you define the import conditions, specify the release and support package levels of the software
components in the target release in enough detail. For example, you can specify as prerequisites the
software components referenced by your add-on using a particular support package level or using other
add-ons that reference your add-on.
○ In the source release, enter the add-on release of your add-on as a prerequisite and in this way specify the
add-on source release for the upgrade. You cannot, however, specify your own support packages or CRTs
as a prerequisite for your own add-on source release.
If your add-on also supports further add-on source releases, you can add these by choosing Alternative
Import Conditions.
Caution
You cannot use the import conditions to force the installation of a new add-on during an SAP system
upgrade.
4. Perform the upgrade to the new release in the test system where you installed your add-on source release.
Note
If you previously package the delivery package in an SAR archive [page 130] and place this archive in the
directory /usr/sap/trans, the EPS file is placed in the directory EPS/in automatically when the SAR
archive is unpacked. For information about packing and unpacking archives, see CD for Add-On Deliveries
[page 130].
During the upgrade, your add-on has the status UNDECIDED in the PREPARE phase IS_SELECT. Select your
add-on and confirm it by choosing OK. Then choose the option Upgrade with SAINT Package for your add-on.
The Add-On Exchange Package/Add-On Upgrade Package is included in the upgrade in the correct place.
If the SAP upgrade tool does not detect your add-on, this could be because the EPS file is not in the transport
directory EPS/in or because the import conditions for the add-on package are not met.
5. After the SAP system upgrade, verify that your add-on can run on the higher release.
6. Maker the add-on exchange package/add-on upgrade package available to your customers and describe the
procedure in the PREPARE phases UPLOAD_REQUEST and IS_SELECT (see also: Providing a Delivery [page
68]).
Your customers can now use the add-on exchange package/add-on upgrade package to perform an SAP
upgrade to the new release. The add-on is updated in the upgrade and can run on the new release.
Note
Your customers can access more information in the upgrade guide for the release in question, located in
SAP Service Marketplace under https://service.sap.com/instguides .
It is possible to develop add-ons that can also be uninstalled. Add-ons of this type can be removed from the
system after the maintenance phase has ended. Provide instructions about how to delete your add-on from the
system in your add-on delivery.
● You must verify that the add-on can work for each support package of the SAP release underlying the add-on.
● You must also provide a response to each SAP upgrade. Here, you can either update the add-on at the same
time as the upgrade or (in exceptional cases) preserve the add-on without modifying it. For more information,
see Add-On Behavior in SAP System Upgrades [page 78].
It is possible to remove installed add-ons from an SAP system completely with the SAP Add-On Installation Tool
(transaction code SAINT).
In order for add-ons to be uninstalled, on the one hand these must fulfill certain criteria and on the other hand they
must provide additional information in order to be able to be deleted successfully. The checklists in the following
sections contain information for the entire software lifecycle of the add-on, starting with the development phase.
If you are planning on creating an uninstallable add-on, use the checklists in order to understand what you need to
take into consideration before and during the creation of an uninstallable add-on.
Caution
After an add-on has been uninstalled, the system must have a consistent state. You must make sure that
uninstalling an add-on does not affect the functionality of other add-ons or software components.
Note
At this time it is only possible to uninstall small and simple add-ons. It is not possible to uninstall larger and
more complex software components correctly.
The following SAP Notes are relevant for creating uninstallable add-ons:
Table 15:
SAP Note Content
For more information about the technical steps involved in uninstallations, see the SAP Add-On Installation Tool
documentation under http://help.sap.com/spmanager SAP Add-On Installation Tool General Description of
the Uninstallation Process .
The sections Phases in the Uninstallation Process and Checks in the Uninstallation Process provide you with tips
on how to detect any problems when uninstalling an add-on.
You must consider the following aspects before and during the development phase of an uninstallable add-on:
Table 16:
Activity Procedure
Check its relevance to the architecture You must check the relevance of the add-on in the application
architecture. Provide answers to the following questions
about the relationship between the add-on and the architec
ture:
Modify table entries Sometimes tables that are not part of the add-on delivery
have to be modified before the add-on can be used. This be
havior can be unpredictable, which means that these table en
tries need to be deleted manually.
Delete activated services in the back-end system Any services created for the add-on (such as ICF (Internet
Connection Framework) services) have to be deleted.
Integration into the system landscape This can involve components such as SAP NetWeaver Gate
way or SAP PI services.
Undo the implementation ● Check your installation and implementation guides and
use installation or configuration automation programs to
identify what has been modified or added in the system.
● This must include both automated and manual activities.
The customer must undo these activities manually.
Implement and activate enhancement spots ● Does the add-on contain enhancement spots for end
users?
● Are any enhancement spots planned?
Define namespace conventions Get an overview of which objects and names are used that
were created by the add-on.
Check objects created by the add-on To identify add-on-specific customizing settings, you must
follow naming conventions in the development phase.
Identify generated objects in connected systems Verify whether there are any generated objects that might no
longer exist if the add-on is uninstalled.
Check data in tables outside of the add-on If you need to modify the add-on, check whether it uses any
tables that are part of another add-on.
Check reimports of the deleted add-on Check what happens if a customer installs a deleted add-on
again.
Remove customizing settings Any data inserted in tables manually must be removed before
the add-on is deleted.
Consider uninstallations before dynamic programming The more complicated your style of programming is, the more
difficult it is to delete the add-on. This means it is important
that development teams use a simple programming style
from the start if they want their add-ons to be uninstallable.
Test whether the deletion was successful. You must know what to test to verify that the add-on was de
leted successfully.
You must consider the following system landscape aspects when creating an uninstallable add-on:
Table 17:
Activity Procedure
Prepare the add-on uninstallation The add-on deletion action must be the same as the add-on
installation action. For example, product managers must de
cide whether the add-on is deletable and developers must
make this possible.
Reduce customer activities Ensure that the add-on can be deleted with the least amount
of work possible for the customer. This saves time and costs.
Consider reinstallations of the add-on You must know what happens when customers delete an add-
on and then want to install it again.
Note
If this is not possible, the add-on cannot be deleted.
Make a decision about backup data ● Decide what you want to happen with backed up data.
● Decide what you want to happen with add-on data in
backups after the add-on is deleted.
Modify the guides to handle the add-on Check whether any guides (or other documentation not part
of the system documentation) is affected by the uninstalla
tion. This could include any other documents provided to the
customer.
Define a maintenance strategy ● If the add-on does continue to exist, you must update this
information and test whether it can still be deleted.
● If the add-on no longer exists, give your customers
enough time to react.
Before uninstalling the add-on you must consider the following aspects with regard to other components in the
system where the add-on is installed and other systems that the system is connected to:
Table 18:
Activity Procedure
Adjust Business Configuration in Other Software Components It is possible that the configuration in other software compo
nents (add-ons) activates the add-on (for example, if a proc
ess consists of multiple functions that are in different add-
ons). The configuration must be completely adjusted.
Plan Background Processes No background processes must be running during the dele
tion. The functions of the add-on must no longer be used
productively. All running jobs must be completed before the
add-on can be deleted.
Messages Between Add-on and Other Systems ● Messages that are in the queue and waiting for confir
mation must be removed. The add-on sends messages
to other processes that are possibly waiting for confir
mation. If the add-on is deleted then these messages
also need to be removed.
● Messages that were sent to the add-on are in the queue.
If the add-on is deleted, then there must be a decision
made about these messages and they must be located.
Check Cancellation of Workflow All workflow activities must be canceled from the business
side. This means that you must check if workflow processes
are still open before the deletion. Workflows that are in proc
ess must either be cancelled or executed.
Note
Once the add-on is deleted then you can no longer com
plete the workflows.
Check Configuration for Reuse Options A system-wide configuration is necessary to be able to reac
tivate add-ons. Examples for this are RFC connections or
communication users.
Note
An add-on can only be deleted when it is no longer in use.
Check Dependencies Between Other Systems and the Add-On Ensure that customer enhancements do not build on a de
leted add-on. The add-on must use standard interfaces so
that you can control what is affected by the deletion.
Adjust Central Monitoring If the add-on is connected to the central monitoring by pro
viding data for this? If yes, then this must be set accordingly.
Manage SAP Solution Manager ● Inform the system administrator of SAP Solution Man
ager about the scheduled add-on uninstallation.
● Adjust the landscape database.
You must take the following aspects into consideration with regard to tests on an uninstallable add-on:
Table 19:
Activity Procedure
Validate the uninstallation process Ensure that the process of the add-on uninstallation is the op
posite of the process of the add-on. For example, product
management must confirm the decision that the add-on is to
be deleted and development must check that the work to be
executed and the deletion function correctly.
Test whether the deletion was successful. Ensure that you know what you need to test in order to deter
mine if the add-on deletion was successful.
Check the new installation of the deleted add-on Check what happens if a customer wants to install the de
leted add-on again.
Document the full add-on uninstallation process Document all steps that you executed during the deletion in
an add-on uninstallation guide.
Before you uninstall an add-on, you must make sure that the add-on can actually be deleted without errors. How
you check this is described below. The add-on is considered to be uninstallable if it has passed the following check
steps.
Procedure
1. If the add-on that you want to delete needs to be made uninstallable post delivery, you generate an attribute
change package (ACP).
For the system to recognize the add-on as uninstallable, the attributes DEINSTALL_ALLOWED and, if required,
DEINSTALL_PLUGIN must be set for the installation package. If you want to make an add-on uninstallable
post delivery, a corresponding delivery for attributes for the software component (an ACP) must be created. If
For more information about post-delivering attributes, see the section Errors in the Delivery [page 59].
2. Set up a test system.
To test the uninstallation, use a suitable test system. If necessary, set up a new system for this purpose.
3. Create a test plan.
The test plan should make sure that functions used in the environment of the add-on continue to run without
errors after the add-on has been uninstalled, and that no functions have been removed that are still required
(for example, by dynamic calls).
4. Import the current SPAM/SAINT update into your test system.
Download the most recent SPAM/SAINT version from SAP Support Portal at https://support.sap.com/swdc
and install this version using Support Package Manager (transaction SPAM).
If the add-on that you want to delete was marked as uninstallable post delivery and an ACP was created,
import the ACP as well. Generate realistic application data so that runtime data can be taken into
consideration as well in the uninstallation.
6. Start a test run for the uninstallation.
a. Use transaction SAINT to call the SAP Add-On Installation Tool.
b. Make sure that the add-on that you want to delete is listed on the Uninstallable Components tab.
Note
If you can't see the Uninstallable Components tab, or the component you want to delete is not in the
list, either the ACP is missing or the uninstallation attributes have not been set for your component. In
this case, first generate an ACP.
c. Under Extras Settings , select the scenario Test on the Import Queue tab and confirm your entry.
d. Mark the add-on that you want to uninstall and start the uninstallation process.
Since this process is running in a test scenario, all the checks are done, but the add-on is not actually
uninstalled.
If errors occur in the COLLECT_OBJLIST phase, please contact SAP Support for component BC-CTS-
AAK. Let us know in your message which object is affected.
If an add-on cannot be uninstalled because other add-ons depend on it, uninstallation is only possible if
the dependent add-ons are uninstalled as well. These add-ons may need to be made uninstallable first.
Then perform the uninstallation test for the add-on and its dependent add-ons. As of SPAM/SAINT
version 59 it is possible to uninstall several add-ons at the same time.
If there are no errors in the test run, you can move on to the next step.
7. Uninstall the add-on in the test system.
a. Use transaction SAINT to call the SAP Add-On Installation Tool.
If there are no errors, you have successfully deleted the software component from the test system. It is no
longer listed as an installed component.
8. Go through the Test Plan [page 86] that you created to check your system after uninstallation.
○ No Errors in Test Run
If no errors occur during the test run, the add-on is currently uninstallable.
Recommendation
The check result is a snapshot, which you do not want to be endangered by subsequent deliveries (for
example, support packages). To be on the safe side, you should always perform an object list check for
uninstallation for any subsequent deliveries. We also recommend repeating the check described here,
because it cannot be guaranteed that the add-on is permanently uninstallable.
Inform your customers about the uninstallability of the add-on. If the add-on has already been delivered,
provide the ACP to your customer as well.
Note
The above process only covers the technical deletion. Any preparatory steps (for example, data
backup), descriptions of dependencies, or resolutions of uses must be described in the documentation
for your add-on. If an ACP is required, this should also be mentioned in the documentation.
● DEINSTALL_ALLOWED
The attribute DEINSTALL_ALLOWED specifies whether the add-on can be deleted. If this attribute is set, the
add-on is flagged as uninstallable. This attribute can be set only for deliveries of add-ons for the package
types AOI, AOU, and AOX or post-deliveries using package type ACP. The attribute has the number of an SAP
Note containing general information about the uninstallation. Since you cannot create your own SAP Notes,
the system uses the default 1883223 when Add-On Assembly Kit is used.
● DEINSTALL_PLUGIN
You can specify the name of an interface class in the attribute DEINSTALL_PLUGIN that supports the
uninstallation process using add-on-specific functions.
For examples of how to set attributes, see Examples: Attributes for Add-On Uninstallations [page 128].
In some cases, add-ons create dynamic objects of their own. To delete these during the uninstallation, the add-on
must inform the uninstallation framework about such objects. It can also happen that an add-on can only be
uninstalled under certain conditions which have to be checked by the add-on itself.
An add-on can support its uninstallation using its own methods. You can define a check with which you can check
if an add-on can be deleted before the deletion.
In addition to this, the add-on can provide a list of objects that were created dynamically and which need to be
deleted.
The add-on can define a class that is called during the deletion process. The name of this class is provided in add-
on attribute DEINSTALL_PLUGIN. The value of this attribute is the name of the implementing plug-in class. If this
attribute is set, the uninstallation checks if the class exists. If it does not exist, the add-on uninstallation is
cancelled with a corresponding message. If the class exists, the plug-in is instantiated with the static method
GET_REFERENCE.
Note
If no class is called during the uninstallation, you must not set the DEINSTALL_PLUGIN attribute.
If the instantiation was successful, the system checks if the interface methods exist and calls them if they do. (At
least instance method GET_REFERENCE must exist for the plug-in class.) This takes place in the following phases
in the SAP Add-On installation tool:
● CHECK_SWCV: This phase checks if the add-on can be deleted. It calls method CHECK_PRECONDITIONS in the
plug-in interface. If the method interface returns EV_CHECK_RESULT = space, the deletion is deleted.
It must also display the corresponding error messages using ET_MESSAGES.
● COLLECT_OBJLIST: This phase collects all objects that have to be deleted by calling method
GET_CREATED_OBJECTS and puts all objects in to the deletion task.
In order for the implementation to work, the interface must have the following properties:
Test the implementation of the interfaces. Development errors can cause add-ons to be incompletely uninstalled
and other unwanted side effects.
The following table contains a consolidated list of objects that can be deleted using SPAM/SAINT version 0058
(or higher).
During the add-on uninstallation it is only possible to delete complete objects (R3TR *). If the consolidated object
list of the deletion package contains subobjects (LIMU* objects) or language parts of objects (LANG * objects),
Note
The description of the object types in the following table is only available in English.
R3TR CDAT LRM_CUST_BS IRM: Tables for the Business Suite Deleted 58
R3TR TABU /BA1/ Text Table for Permitted Step Cate Deleted 57
P3_TA_STYT gories
R3TR TABU /UI5/TREP_FILES UI5 mapping table for row files with Deleted 57
text entries
R3TR TABU /UI5/TREP_TEXT UI5 mapping table for texts from Deleted 57
row files
R3TR TABU /UI5/ UI5 table for translated texts from Deleted 57
TREP_TEXT_T row files
R3TR TABU AGR_TIMEB Time Stamp for Role (Profile Gener Retained 54
ation)
R3TR TABU ALTOOLCHEK Alert: Tools that have been checked Deleted 55
as usable
R3TR TABU CNVMBTCOPYC Copy Control Data for TDMS & Deleted 60
CMIS packages
R3TR TABU CNVMBTSTATE Status table for execution of all ac Deleted 60
tivities and history
R3TR TABU CRMC_Q1O_FIELD Field names for One Order Search Deleted 58
S
R3TR TABU FEHT_PROXY2CM Mapping from API and API Mehtod Deleted 58
PR to Business Process
R3TR TABU PPFTFLTVAL PPF: Value Table for Filter Value of Deleted 57
BADI EXEC_METHODCALL
R3TR TABU TBDME ALE supplement data for EDI mes Deleted 59
sage type
R3TR TABU TNODEIMG Node table for the new IMG Deleted 53
R3TR TABU UJ0_FACTORY BPC: System table for BPC Facto Deleted 58
ries
R3TR VDAT ECHV_PROCESS Process Data for Error and Conflict Deleted 54
Handler
R3TR VDAT FEHV_PROXY2CM Mapping from API and API Mehtod Deleted 54
PR to Business Process
R3TR VDAT V_CNVMBTCOPY MBT PCL Copy Variants for Proc Deleted 60
VAR Type switch
R3TR VDAT V_TTZEX Convert time zone ID ext. -> SAP Retained 58
The concept of downward-compatible SAP NetWeaver releases was introduced alongside SAP NetWeaver
enhancement packages. Downward compatibility means that ABAP software developed for a specific SAP
NetWeaver release can also run on higher downward-compatible SAP NetWeaver releases. This means that a
package given attributes for a specific SAP NetWeaver release (either a support package, installation package, or
upgrade package) can be installed in higher downward-compatible SAP NetWeaver releases.
The compatibility rules are shipped using the ABAP software logistics tools Support Package Manager
(transaction SPAM) and SAP Add-On Installation Tool (transaction SAINT).
Recommendation
Always import the newest version of a SPAM/SAINT update before working with these tools.
● not compatible:
Packages in this SAP NetWeaver release cannot be installed in the other SAP NetWeaver release. It is not
possible to give packages attributes and deliver them in such a way that they can be imported into both SAP
NetWeaver releases.
The following matrix contains the current compatibility rules. The columns indicates the SAP NetWeaver release
where the packages is installed and the rows indicate the original SAP NetWeaver release of the package.
6.20
6.40
7.00
7.0 EHP1
7.00
EHP2
7.1
7.1 EHP1
7.2
7.3
7.3 EHP1
7.4
7.5
Example
● A package was built for SAP NetWeaver 7.0 EHP1. This package can be imported into the SAP NetWeaver
Releases 7.0 EHP1, 7.0 EHP2, 7.3 EHP1, 7.4, and 7.5.
● A package was built for SAP NetWeaver 7.1. This package can be imported into the SAP NetWeaver
Releases 7.1 and 7.1 EHP1. If the appropriate attributes are set, it is also possible to import the package into
the SAP NetWeaver releases 7.2, 7,3, 7.3 EHP1, 7.4, and 7.5.
● Your system has the release level SAP NetWeaver 7.3 EHP1. Packages for SAP NW Releases 7.0, 7.0 EHP1,
7.0 EHP2, and 7.3 EHP1 can be imported in standard cases. In the case of packages built in the SAP NW
releases 7.1, 7.1 EHP1, 7.2, and 7.3, the alternative import conditions must be checked for importability.
Table 22:
Tool Description
SAP Add-On Installation Tool (transaction SAINT) Installs and upgrades add-on packages directly from the SAP
system.
Support Package Manager (transaction SPAM) Imports support packages (such as add-on support packages
or conflict resolution transports)
Software Update Manager (SUM) Controls SAP system upgrades (based on ABAP) To update
add-ons during SAP system upgrades, add-on upgrade pack
ages and add-on exchange packages can be included in the
upgrades.
Note
Detailed information about the tool in question can be found in SAP Add-On Installation Tool and Support
Package Manager
SAP system upgrades using SUM are described in Update of SAP Systems Using Software Update Manager for
the SL toolset release in question (linked under https://help.sap.com/sltoolset) and individual upgrade guides
are available in SAP Service Marketplace https://service.sap.com/instguides .
You must check whether your add-on requires modifications to be made to the standard SAP system before you
start development of the add-on.
It is technically possible to make modifications to application components in the layer R for any add-ons creating
using SAP Add-On Assembly Kit. We strongly advise against creating modifying add-ons, however, since
modifications change the behavior of the entire system. Modifying add-ons are not certified by SAP. If you want to
make modifications to an object, you must verify that no other SAP components could still use it. This means that
modifications entail significantly more work and also have consequences in the following areas:
More Information
● In many cases, you can avoid making modifications by using enhancement techniques instead, such as
enhancement spots or appends. If your development work is based on SAP NetWeaver 7.0, you can use
Enhancement Framework. Check the viability of these options thoroughly before resorting to modifications.
See also: Additional Information About Enhancements and Modifications [page 48].
● If modifications are essential regardless, you must still follow a number of rules [page 119].
● Also read the information under Conflicts [page 122] and the associated sections.
If you want your add-on to support multiple SAP releases, you require a separate development landscape for each
release in question. To set up a development landscape for add-ons with modifications, proceed as follows:
Procedure
1. Create the new development system as a copy of the first consolidation system.
2. Choose one of the following options in for the client layout:
○ In the new development system, use the former test client as the new development client and the former
delivery client as the new customizing client.
○ If you want to base your development work on the delivered customizing of the predecessor release, you
can also create the new development client as a copy of the new customizing client.
Example
The modifying add-on EFGH, Release 100, was developed on SAP NetWeaver 7.0 (EFGH 100_700). The add-on
is now developed further as the new Release 200 on SAP NetWeaver 7.4 (EFGH 200_740). The figure
illustrates the setup of the new development landscape.
Recommendation
You can also apply this procedure to non-modifying add-ons. This is not recommended, however, since
upgrades in this case require more work.
Note
In all cases, you must reconstruct the state you require for your delivery strategy [page 19], in particular the
release state and support package state, when you are setting up the SAP system.
When you are setting up the system landscape, also take care when creating the client layout [page 36].
In the case of modifying add-ons, you can perform the modification adjustment in the maintenance system to
create CRTs. The two-system landscape also enables objects without versioning to be compared. The second
In the case of system landscapes with modifications, the modification adjustment is an additional maintenance
task to those tasks described in section System Landscape for Add-On Maintenance [page 32].
If it becomes necessary to make modifications to standard SAP objects, we recommend the "less is more"
principle. Note also the following rules:
● Modifications to objects in the software components SAP_BASIS and SAP_ABA plus modifications to other
add-ons are not permitted.
Modifications to ABAP Dictionary objects from SAP_BASIS can be lost in upgrades. After an upgrade, these
objects exist in their original form again. The system does not support modification adjustments to objects
from SAP_BASIS.
● Any modifications made by your add-on can only be done in an SAP main component or application
component (such as SAP_HR or SAP_APPL).
● Use the Modification Assistant. For more information, see SAP Help Portal under The Modification Assistant
● Also note the further restrictions in this table:
Table 23:
Changes to the standard SAP user in Not allowed Not allowed
terface
Note
Check your modifications at regular intervals in the Modification Browser (transaction SE95).
Use
Note
Conflict resolution transports (CRTs) are not required for non-modifying development projects.
CRTs adapt an add-on to SAP support packages. Before this can happen, you must first detect the conflicts
between the SAP support packages and all add-on deliveries for an add-on release.
Note
In the case of CRTs, the term SAP support packages refers to any support packages for the main component or
application component where the add-on made modifications.
For add-ons based on SAP Web AS 6.20 or higher, Software Delivery Composer supports conflict detection
and the creation of CRTs for support packages in layer R (application components) and one add-on from the
layer C. (See also: Software Component Layers [page 14])
Note also the restrictions that apply to permitted changes. You can find these in Rules for Add-On Maintenance
[page 76].
First perform the steps under Actions in the Maintenance System and then the actions required for corrections in
the consolidation system.
1. Load the support packages in question from SAP Support Portal under https://support.sap.com/swdc .
2. Use Support Package Manager to import the support packages into the maintenance system.
3. Use transactions SPDD and SPAU to adjust the modifications in Support Package Manager.
1. Adjust the direct conflicts.
2. Adjust any dependent objects.
3. Adjust any copied objects.
4. Choose Reset to Original for any preliminary corrections in the SAP support package.
4. If required, you can also make corrections to the add-on software.
5. Verify that all objects have been processed in transaction SPAU. Then release the following requests:
1. All modification adjustment requests
2. Any transport requests containing corrections to add-on software
1. Use Support Package Manager to load the SAP support packages imported into the maintenance system into
the consolidation system for corrections ( consolidation system for short).
2. Use Support Package Manage to import these support packages into the consolidation system and execute
transaction SPDD (adjust dictionary objects) again if required.
3. Import the transport requests mentioned in the last step into the consolidation system.
If imports have errors or if corrections are missing, make the appropriate changes in the maintenance system
and transport them into the consolidation system.
4. Detect the conflicts between the imported SAP support packages and all add-on deliveries for an add-on
release.
○ To do this, compare the current add-on scope for the add-on release in question (consisting of add-on
installation package, add-on upgrade packages, add-on support packages, and shipped conflict
resolution transports) with the object lists of the SAP support packages you have just imported.
○ The intersection of the add-on scope in question and the SAP support packages contains all modified
objects that were overwritten and the overwritten objects that you previously reset to original.
○ You must deliver the objects that were reset to original and that now reoccur in the SAP support
packages to your customers again. This adapts the customer system in question to the new add-on
correction level.
○ Use Software Delivery Composer to detect the conflicts. On the initial screen of Software Delivery
Composer, choose Utilities Display/Determine Conflicts . If this check does not detect any conflicts,
you do not need to create a CRT.
Software Delivery Composer checks for conflicts in the following objects:
○ Repository objects
○ Logical transport objects
Software Delivery Composer does not check for conflicts between table entries.
5. If you need to create a CRT, create the delivery using the AAK tools (see Creating a Delivery [page 57] ).
Create the change list of the CRT by including the transport requests imported into the consolidation system:
1. Transport requests with modification adjustment
13.4 Conflicts
If your add-on contains modifications, that is, it delivers changes to a different software component to your own,
you may encounter conflicts when installing it.
When packages are imported, Add-On Installation Tool and Support Package Manager check for conflicts with
existing add-ons or Support Packages. Conflicts only occur with modifying add-ons. If, for example, an add-on
modifies an object that is then delivered again with a SAP Support Package, the person who created the add-on
has to resolve this conflict. Otherwise, the Support Package cannot be imported. If you have created an add-on
that contains modifications, you have to react to any conflicts in order to ensure that your add-on can still run.
Conflict resolution causes a lot of extra effort, and is sometimes not possible.
From the introduction of the software component hierarchy in SAP Web AS 6.20, add-ons created using SAP Add-
On Assembly Kit are in level 'C'. Add-ons in level 'C' can reference objects from components in lower levels.
Modifications, however, can only be made to objects from software components in layer 'R'. SAP Add-On
Assembly Kit supports conflict checks and makes it possible to create conflict resolution transports only for
conflicts of the add-on with support packages from layer 'R'.
When an add-on is installed or upgraded, Add-On Installation Tool checks for the following conflicts:
Add-On Installation Tool checks for conflicts with add-on components in lower layers.
Example: Add-on 1 in layer ’I’ and add-on 2 in layer ’C’ modify the same object in component SAP_APPL (in
layer ’R’). Add-on 1 has already been installed. During installation of add-on 2, Add-On Installation Tool detects a
conflict and aborts the installation process.
If you want add-on 1 and add-on 2 to be installed in one system at the same time, and you created add-on 2
yourself, you now need to resolve the conflict. To do this, you need to define add-on 1 as a prerequisite for add-on
2. Add-on 1 must therefore be installed as a condition for installing add-on 2. In this case, no conflict check is
performed for the prerequisite component. To ensure that add-on 1 can still run, however, you need to make sure
that add-on 2 contains the modification from add-on 1. This means that add-on 1 also needs to be installed in your
system landscape, so that you can test the functionality of both add-ons.
Add-On Installation Tool checks for conflicts with add-on components in the same layer.
Example: Add-on 1 and add-on 2 in layer ’C’ both modify the same object in component SAP_APPL (in layer ’R’).
Add-on 1 has already been installed. During installation of add-on 2, Add-On Installation Tool detects a conflict and
aborts the installation process.
In this case, there is no way of resolving the conflict. It is not possible for both add-ons to be installed in one
system.
Add-On Installation Tool checks for conflicts with Support Packages from software components in lower layers
that exceed the import conditions, that is, with installed Support Packages whose level is higher than the
prerequisite Support Package level in the import conditions. Add-On Installation Tool does not check for conflicts
with Support Packages that are prerequisite in the import conditions.
Example: An add-on in layer ’C’ modifies objects in component SAP_APPL (in layer ’R’). Four SAP_APPL Support
Packages are prerequisites for the add-on. In one system, seven SAP_APPL Support Packages have already been
imported. Support Packages 5 and 6 contain corrections to some of the objects modified by the add-on. When the
add-on is installed in this system, Add-On Installation Tool detects conflicts with Support Packages 5 and 6. It
then prompts the user to add a Conflict Resolution Transport to the queue.
If you created the add-on, you are responsible for resolving the conflict. You do this by creating Conflict
Resolution Transport for Support Packages 5 and 6, or by creating a collective CRT for both of them. The
procedure is described under Creating a Conflict Resolution Transport [page 120] .
During add-on installation, Add-On Installation Tool checks for conflicts with add-on components in higher layers.
Example: Add-on 1 in layer ’I’ and add-on 2 in layer ’C’ modify the same object in component SAP_APPL (in
layer ’R’). Both add-ons are installed in one system. SAP now creates an upgrade package (AOU) for add-on 1 in
layer ’I’. This contains the modified object again. When add-on 1 is upgraded, Add-On Installation Tool detects
conflicts with add-on 2 and aborts the upgrade package installation process, in order to prevent the modifications
from add-on 2 from being overwritten.
If you created the add-on, you are responsible for resolving the conflict. You also do this by creating an upgrade
package (AOU).
To do this, you need to assign the extended attribute MULTISTEP_INSTALL to your upgrade package in Software
Delivery Assembler. This allows Add-On Installation Tool to install two upgrade packages in one installation queue
at the same time. In this case, these are: AOU 1 for add-on 1 and AOU 2 for add-on 2. Normally, only one
installation or one upgrade package is allowed. While registering the package, select the Extended Attributes tab
page and select MULTISTEP_INSTALL. Then assign the value T (=True) to this attribute.
Whenever Support Packages are imported, Support Package Manager checks for conflicts with add-on
components from higher layers.
Example: An add-on from layer ’C’ modifies an object from component SAP_APPL (from layer ’R’). If a SAP_APPL
Support Package contains corrections to the modified object, Support Package Manager identifies a conflict and
prompts the user to add a Conflict Resolution Transport to the queue.
If you created the add-on, you are responsible for resolving the conflict. You do this by creating a Conflict
Resolution Transport for the Support Package. The procedure is described under Creating a Conflict Resolution
Transport [page 120] .
In addition to the attributes already generated automatically by the system it is possible to enhance additional
attributes depending on the use case. In the following sections you will find examples for specific use cases:
The following attributes are relevant when determining whether add-ons can be uninstalled:
DEINSTALL_ALLOWED and DEINSTALL_PLUGIN.
For more information about these attributes, see Attributes for Uninstallations [page 87].
You can also deliver the attribute at a later time in an attribute change package. You do this by setting the
registration option Post-Delivery with ACP).
If the prerequisite software component versions of an add-on are violated when an enhancement package is
installed, you can remove this violation by providing updated attributes for the add-on. You can deliver the new
prerequisites using an attribute change package (ACP) for the add-on software component. You no longer need to
request a vendor key.
Caution
The new import prerequisites cannot be delivered until they have been checked. The functions of the add-on
must be capable of running on the enhancement package level. Any unchecked import prerequisites can
produce unexpected errors.
EA-FINSERV 600 T
SAP_BASIS 700 T
EA-FINSERV 603 T
SAP_BASIS 701 T
The extended attribute NEEDED_DBSYS enables you to define database dependencies for an add-on. If this
attribute is not set, the add-on can be used on any database. More specifically, this extended attribute makes it
possible to develop SAP HANA-specific add-on and deliver them using SAP HANA Transport for ABAP (HTA) or
SAP HANA Transport Container (HTC) (depending on the underlying SAP release).
For more information, see the documentation Transport Scenarios for SAP HANA Content in SAP Help Portal.
This structure applies to CDs containing one add-on for one SAP release.
● DATA (mandatory)
Save the SAR archive for the add-on package in question in this directory.
● LANGUAGE (optional)
You can save language-dependent data in this directory, if required.
● PATCHES (optional)
You can save the SAR archives for the add-on support packages in question in this directory, if required
● DOCU (optional)
You can save technical documentation about the import in this directory. (See also: Template: Installation
Guide [page 69] )
You can save the add-on-specific documentation in this directory.
● README.ASC (mandatory)
This file is a list of all files contains on the CD, with a short description.
Create the file README.ASC. Once you have completed this file, create the associated EBCDIC file on UNIX
with the following command:
dd if=README.ASC of=README.EBC conv=ebcdic
You require the dd command to convert the file README.ASC to README.EBC for the platforms IBM eServer
iSeries and IBM z/OS .
Note
The dd command is recognized on UNIX. On Windows, you must install the package Windows Services for
UNIX.
When you deliver an add-on on CD, you must place the delivery data itself in the CD directory DATA as a SAR
archive.
Note
*.SAR archives can be created using the SAPCAR tool, which is located in every hardware directory (HPUX, AIX,
and so on) on the kernel CD.
For more information about the SAPCAR tool, see SAP Note 212876 .
The SAR archive must meet the ISO standard 9660, level 2 for file and directory names:
To create SAR archives for delivery packages, proceed as follows (this example is for UNIX):
On Unix, the command for unpacking SAP archives manually is SAPCAR –xvf /usr/sap/trans/<name>.SAR .
Table 25:
Support Package Manager Support Package Load Packages From Front End .
End .
13.7 Troubleshooting
You can create messages for SAP Add-On Assembly Kit in SAP Support Portal under https://support.sap.com/
message . Use the component XX-PROJ-AAK.
The following guides you to more detailed information in the different releases in SAP Help Portal under https://
help.sap.com
Table 26:
Change and Transport System SAP NW 7.4. Change and Transport System
CTS-LAN)
CTS-LAN)
CTS-LAN)
CTS-LAN)
CTS-LAN)
nance
SAP NW 7.3 EHP 1 Software Logistics
(Note that you can display the current
version of the documentation about SAP NW 7.3. Software Logistics
software maintenance tools using the
SAP NW 7.0 EHP 2 Software Logistics
help function in the pushbutton bar on
the initial screen of the tool in question.)
SAP NW 7.0 EHP 1 Software Logistics
Documentation and translation tools SAP NW 7.4. Services for Information Developers and
Translators
BC Sets and IMG enhancements SAP NW 7.4. ● Business Configuration Sets (BC-
CUS)
● IMG Enhancement
Roles and authorizations SAP NW 7.4. User and Role Administration of Applica
tion Server ABAP
Changing the SAP standard (BC) SAP NW 7.4. Changing the SAP Standard (BC)
13.9 Terminology
The following contains some of the most important terms used in this documentation:
● add-on
An additional software component that can be installed in the system Add-ons can be specific to an industry,
country, or enterprise, or can be customer or partner projects.
They are installed using a delivery package imported using Add-On Installation Tool. The delivery package
combines multiple transport request and contains the development objects of the add-on.
● add-on delta upgrade
Upgrade of the add-on release without upgrading the SAP system
● add-on exchange upgrade
Upgrade of the add-on release while upgrading the SAP system
● add-on exchange package
Used in add-on exchange upgrades. Add-on exchange packages are available from SAP NetWeaver 7.0.
● add-on release
Release (version) of the add-on
● add-on support package
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be a
binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however, does
not apply in cases of wilful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as "sales
person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun does not
exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does not
warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any damages
caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for transparency
(see: http://help.sap.com/disclaimer).