Вы находитесь на странице: 1из 28

ABAP Add-On: Usage & Pac k agi ng

Applies to:
SAP NetWeaver higher than 4000 ABAP
For more information, visit the SAP Integration & Certification Center homepage.
Summary
This article is dedicated to ABAP ADD-ON. The article elaborates features, usage and advantages of ABAP-
Add-On. We will also see packaging of ABAP Add-On using SAP AAK.

Author: Ms. Deepika Singh
Company: L&T Infotech
Created on: 12 January 2009
Author Bio
Deepika Singh is an ABAP consultant working in L&T Infotech.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 1
ABAP Add-On: Usage & Packaging
Table of Contents
Introduction.........................................................................................................................................................3
What is ADD-ON?...............................................................................................................................................3
What is AAK?......................................................................................................................................................3
Advantages of Delivering Software as Add-On: .................................................................................................4
Few More Pre-Requisites: ..................................................................................................................................4
How we make ADD-ON using AAK?..................................................................................................................5
What we do in development system?.................................................................................................................6
Maintaining the namespace............................................................................................................................6
Creating Software Component........................................................................................................................7
Checking system change option (SE03).........................................................................................................9
Assigning package to software component ..................................................................................................11
What all we do in Consolidation system?.........................................................................................................11
Creating Delivery Request ............................................................................................................................11
Naming Convention.......................................................................................................................................12
Creating Change Piece List ..........................................................................................................................12
Creating Component Piece List ....................................................................................................................19
Creating Exchange Component Piece List ...................................................................................................20
Releasing the Delivery Component ..............................................................................................................21
Creating Delivery Package from component list using software delivery Assembler ...................................21
Registration and PAT file generation. ...........................................................................................................23
Generation of password................................................................................................................................24
Confirmation and Final Release of Delivery..................................................................................................25
Related Content ................................................................................................................................................27
Disclaimer and Liability Notice..........................................................................................................................28

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 2
ABAP Add-On: Usage & Packaging
Introduction
This tutorial is intended to explain the Creation of ABAP Add-On Installation Package Using ADD-ON
Assembly Kit (AAK). We get to know the prerequisites for using AAK and an introduction into working with
the same. This article also briefs us, the relevant steps for creating a delivery request and registering it as an
installable package.
What is ADD-ON?
Add-On is one of the means of delivering our software to the client. Its a package which contains the entire
requests specific to a development and is made using an Add-On assembly Kit which has to be installed to
the server prior to packaging.
We can deliver software that is supplementary to the SAP standard in different ways, namely:
In the form of transport requests
As Add-Ons
Add-Ons are not allowed to modify SAP Kernel objects or SAP Basis objects, and are not dependent on a
specific database or operating system.
Third-party software vendors may purchase an SAP development license and the ABAP workbench in order
to enhance SAP applications with Add-Ons. Because these third-party ABAP Add-Ons are to be transported
into existing SAP customer code with their own registered namespaces, SAP offers the ABAP certification
program to ensure that the installation adheres to SAP guidelines and runs smoothly.
What is AAK?
AAK is a tool that allows packaging of ABAP Add-Ons developed by Independent Software Vendors
(ISV).Once an ABAP Add-on is packaged using AAK; it can easily be installed and upgraded in the
customers system. One of the important features of AAK is that it performs syntax check during packaging
and thus enables us to deliver an error free package.
The SAP Add-On Assembly Kit (AAK) was introduced to SAP customers with SAP R/3 Release 4.6C and is
recommended for proper distribution of any ABAP Add-On. It is available to third-party vendors as part of the
ABAP certification process and conveniently packages the Add-On for easy implementation in an SAP
system landscape.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 3
ABAP Add-On: Usage & Packaging
Advantages of Delivering Software as Add-On:
Compared to the alternative of delivering software with transport requests, add-ons offer the following
advantages:
Information about installation prerequisites
While creating Add-On certain prerequisites are maintained, this avoids any errors/warnings while we
import Add-On to any server.
While making ADD-ON few prerequisites has to be set :
1. What SAP standard release do you want to develop the add-on in?
2. Which SAP standard releases do we want to support?
3. Maintenance strategy for the customer delivery
4. Necessity of modifications to the SAP standard
5. Dependencies with other ADD-ONs
6. Language in which the ADD-ON has to be delivered
Information about the installation sequence
All the transport requests contained in the ADD-On are already in the sequence required so we dont
face installations sequence problem later on.
Conflicts with other software components can be resolved
There are specific ADD-ONs called Conflict Resolution Transport (CRT) which resolves conflicts
between SAP Support package and all the add-on deliveries for one add-on release.
Conflicts with customer modifications can be resolved
The installation or upgrade process is guaranteed
Anonymization of the objects
Visibility of the delivered software status
Few More Pre-Requisites:
Some software solution providers who integrate their products with SAP solutions decide to write an ABAP
Add-on for more seamless integration or to add functionality or interfaces to the SAP solutions.
ABAP development license is required to register our own namespace, to receive the Add-on
Assembly Kit (AAK), and most importantly to re-sell our ABAP code.
For developing our own ABAP code we should register a namespace with SAP and all our objects
and development classes must be part of this namespace.
Applications certified as ABAP Add-ONs will be listed in the online partner and product directory on
SAPs Homepage.
We must know how to install and copy SAP systems and work with transport and change requests.
Basic knowledge of ABAP programming and software maintenance.
ADD-ON doesnt support SAP Netweawer 2004.
We must have two systems a development system and a consolidation system. We can set up
these systems by either installing new ones or copying existing ones.
System must have current SPAM/SAINT update installed.
AAK must be installed in both the system.
For both systems, we need to make settings: such as client layout and transport routes, set
parameters for transport control program tp and set parameters LANGUAGE and LSM.
Test system is also needed to perform final assembly and functional tests.
The above mentioned pre-requisites are fulfilled and checked by BASIS team.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 4
ABAP Add-On: Usage & Packaging
How we make ADD-ON using AAK?
The system landscape for add-on package consists of the development system say WB1 and the
consolidation or quality assurance system W1C that also serves as Final Assembly system, as well as a
temporary test system W1T.
We will create delivery /SLOTEST/ADDON_100_620 in the consolidation system and after registering it as
an installable package, we can test package SAPK-162COINSLOTEST in the test system. This is also the
name of the package that we will deliver to our customers.

After BASIS sets up all the systems and installs Add-On Assembly Kit, ABAP development starts:
The main components of ADD-On Assembly Kit are Software Delivery Composer and Software Delivery
Assembler.
Software Delivery Composer: It is used to collect all the parts of our development and check for
consistency.
Software Delivery Assembler: It is used to convert the delivery into an installable package.

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 5
ABAP Add-On: Usage & Packaging
What we do in development system?
The transaction code for Software Delivery Composer is SSDC.
Maintaining the namespace
We maintain the namespace by choosing the tab Environment from the menu and choosing Create/Update
Namespaces. We see a list of namespaces that are available in our system. Namespace should be between
4 and 8 characters, between two forward slashes.


Click on New Entries.


I have used the /SLOTEST/ namespace for this tutorial. We assign the namespace role as P (Producer) and
role C (for recipient) in the development and consolidation system respectively.Developemnt and repair
license is entered and proper short text is maintained. The license number mentioned here are only for
demonstration.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 6
ABAP Add-On: Usage & Packaging
Creating Software Component
Name of the add-on software component is same as the namespace name.
Following demo with screen shots shows how to create an Add-On Installation Package for software
component SLOTEST in Release 100_620.
The number 100 means that it is the first major release of the add-on:620 means that the add-on is based on
SAP web AS (application server) 6.20.
In transaction SSDC, Goto environment->Create Add-On Software Component


Following screen appears. Give Software Component name and press Execute.


Enter 100_620 in the release field. To update the software component for the current release, choose
Execute

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 7
ABAP Add-On: Usage & Packaging
We transport the information about the software component by confirming the request.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 8
ABAP Add-On: Usage & Packaging
Checking system change option (SE03)
This determines whether Repository objects and cross client object Customizing objects are modifiable or
not.Goto t-code SE03->Administration->Set System Change Option.

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 9
ABAP Add-On: Usage & Packaging
To be able to create and change objects, the Global Setting, software component, and namespace for the
development objects must be set to Modifiable.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 10
ABAP Add-On: Usage & Packaging
Assigning package to software component
To develop an Add-On we create packages (SE80) and assign each package in the Add-On to the relevant
software component (/SLOTEST/ in our demo).The package (created in ABAP workbench) is assigned
software component SLOTEST.


All the above mentioned steps are mandatory and done in development system. Development is
over. For creating delivery, we transport the information about the software component and the
namespace (i.e. Request DE1K900008 in our case) to the consolidation system.
What all we do in Consolidation system?
Development in consolidation server also starts with transaction code SSDC.
Creating Delivery Request
This consists of namespace prefix that has been reserved for our Add-On software component within two
forward slashes, followed by free text. Give Delivery name and press Create.


A pop up comes where we give short text for Delivery and its type. Since we are creating Installation
package, select UPINS Installation/Upgrade as Delivery type.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 11
ABAP Add-On: Usage & Packaging
Naming Convention
Since we defined Add-On version as 100_620, but there are only 3 characters available for the version name
in delivery requests, it is recommended reflecting the long version name in the 3-character version name.
SAP recommends deriving the first letter of the release number and the first two letters of the underlying
Web AS release for the version name. System automatically takes 100 as version, so it informs that we have
changed the version.

Creating Change Piece List
When we continue with the above dialog box after mentioning the version as 162, we get a pop up for
creating Change Piece List. As per the naming convention, CH in SAPK-162CHINSLOTEST is for change of
Change Piece List.

Change Piece List is used to create an upgrade package for the Add-On delta upgrade and will only contain
changes to the Add-On since the last delivery.
Before we start composing the delivery, we should check the languages in which the Add-On will be
delivered. To do this we choose tab Delivery Component. I have chosen my Add-On to be in German and
English.

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 12
ABAP Add-On: Usage & Packaging


To choose the delivery we define a preconfiguration for the change requests that we want to include in our
delivery. Choose create/change Request Selection from the delivery component-Preconfiguration menu.


Since we want to create preconfiguration, we confirm it by selecting Yes.

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 13
ABAP Add-On: Usage & Packaging
Mention the Source System (the development server) and select the transport of copies and save the
configuration.


Though Change Piece List is used to create an Add-On upgrade package, we still have to create change
piece list because it is the basis for all other delivery requests that we need to create. So we must always
create it and perform the objects check list very thoroughly.
We include change requests in the Change Piece List. Before including the delivery requests, we need to
flag them for the delivery. Click on the Flag Delivery Request icon or press (Control +F3).We get the
following window:


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 14
ABAP Add-On: Usage & Packaging
To flag the change requests according to the preconfiguration and time period specified, choose Execute. If
suppose one of the flagged request turns out to be non-relevant we can exclude it from the delivery. Select
that request and choose Execute Change Request from the Delivery Request menu.


Mention the request number that is to be excluded.


It comes under the Excluded Requests as shown below.


We now include the flagged changed requests in the change piece list. To do these choose Include Change
Requests.



SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 15
ABAP Add-On: Usage & Packaging


Once we collect all the change requests that are relevant for delivery we do the software delivery composer
object list checks for the change piece lists. The checks avoid any installation and maintenance problems
occurring later.
To perform the checks, select the Change Piece List, In Delivery Request tab->Object List check.


Choose Check in the Dialog.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 16
ABAP Add-On: Usage & Packaging

The result screen displays each check with an overall result indicated by a traffic light icon. Additional
messages exist for some checks that further specify the results. There is a question mark icon next to each
check and a message that contains additional information about the check or the message.
The handling of the checks results depends very much on the content of the delivery requests that we are
checking.
If the system suggests an action to correct an error i.e. remove an object from the delivery request or add an
object to it, then an action icon is displayed next to the object name. We must check whether the suggested
action is also correct one for our specific situation. The Forbidden object checks determine all objects in the
delivery requests that must not be delivered in general ,such as customer objects for example in my tutorials
case I removed R3TR VERS SLOTEST from the request because R3TR VERS object are not to be
delivered, as these entries are made by the import tools.
The last check whether the description of the software component is contained in the delivery request. This
needs to be in the delivery request in all the languages in which the Add-On is delivered.Here, the English
and the German entries are translated and then included in the request (by correcting the entries.)
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 17
ABAP Add-On: Usage & Packaging
Below attached screen shot shows the screen where I have corrected the relevant errors.


After all the checks, we release the change piece list.


Confirm that we want to release the delivery request.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 18
ABAP Add-On: Usage & Packaging
We are asked three options:

We can choose whether we want to export with or without versioning or whether we do not want any object
export and versioning to take place when the change piece list is released. Since we are creating an Add-On
Installation package, we do not need the change piece list so we have to choose No Object Export or
Versioning.
Creating Component Piece List
While creating the Add-On installation package we need Component Piece List as it contains all the objects
in the Add-On. It is generated by choosing the Delivery Component tab->generate Component piece List.

As per naming convention, CO in SAPK-162COINSLOTEST is for component in Component Piece List.

It consists of the change piece list of the current Add-On release and the component piece list of the
previous Add-On list. In our case since we are making the Add-On for the very first time, we only have the
change piece list of the current Add-On release under component piece list.


After performing the object list checks as mentioned above, we release the component list by choosing the
option export with object versioning.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 19
ABAP Add-On: Usage & Packaging
Creating Exchange Component Piece List
We need to generate exchange component piece list for Add-On exchange upgrade. Though we dont intent
to create an Add-On package for SAP system upgrade still we need to generate this else software delivery
composer cannot continue the delivery creation process.
To create Exchange Component Piece list, select delivery component->Generate Exchange Component
Piece List.


As per naming convention, EX in SAPK-162EXINSLOTEST is for Exchange in Exchange Component Piece
List.

Exchange component piece list consists of component piece list of the current Add-On.

Object check list is not required here. We release it directly without exporting it.



SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 20
ABAP Add-On: Usage & Packaging
Releasing the Delivery Component
Finally we release the delivery component SLOTEST. A lock icon appears.


This finishes composing the delivery with the Software delivery composer.
Creating Delivery Package from component list using software delivery Assembler
Software Delivery Assembler packs the exported data to the delivery request into a package format that can
be imported, thus registering the package. We also define import conditions that set the prerequisites for
importing a package correctly.
We call software delivery assembler directly from within software delivery composer .To do so choose
Register Delivery Request (by SDA,) for component piece list.



SDA calls tab page AOI, which is used to create Add-On installation Package. It imports some attributes and
imports conditions from software delivery composer such as name, release, short description of Add-On as
well as the underlying SAP Basis release. We check the extended attributes and adjust them if necessary.

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 21
ABAP Add-On: Usage & Packaging
In tab Extended Attributes:


When we choose the attribute Editor for the extended attributes, it contains three extended attributes.
COMP_TYPE is the assignment to the software component hirerachy.For the Add-On that are created using
AAK, the value is always C and cannot be changed. LANGUAGE lists the abbreviations of languages in
which the package is delivered.DE stands for German and English .In the NEED_SPAM _LEVEL field, we
can enter any version of the SPAM/SAINT update that is required to install the current installation package.
But we should always enter the current or highest version of the SPAM/SAINT.
SEE_PNOTE attribute prompts our customers for a password. They need to enter the password before they
can install the package. Since we cannot create SAP note ourselves Note 567695 exists for this purpose.
This note informs our customers that they can find out the password by contacting their Add-On producers.
We must inform our customers of this password, for example by mentioning it in the installations instructions
for our Add-On.
The import conditions page is used to specify the conditions that have to be met regarding additional
components or packages when installing a package in the target system. All conditions in the source system
are listed here. We must carefully check the conditions and delete the ones that we dont need.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 22
ABAP Add-On: Usage & Packaging
In the above screen shot, component SAP_APPL = T (for true) means that this component must be installed
in release 600 in the target system so that our Add-On package can be installed. We leave all entries under
Main Components unchanged.However; we need to remove some Add-On components that are not
prerequisites.
If our package requires certain Support Package level to be installed, we indicate this in the Support
Package area. As we are interested only in installation package as of now so we our package doesnt require
any specific Support Package levels.

Registration and PAT file generation.
After we check all the extended attributes and import conditions, we can register the package by choosing
Register Package.


SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 23
ABAP Add-On: Usage & Packaging

The package gets registered and converted into an installable package format. The OCS file is now available
in the transport subdirectory EPS/out. If we still want to check the package attributes after registration, we
can do it in the Package List. To call it, we choose Package List from the Extra menu.
Generation of password
To generate password, choose Generate password from the extra menus.

In the next dialog box we enter our package name SAPK-162COINSLOTEST in the OCS package field and
give the note number 567695.


Final PAT file obtained after registration that has to be imported to test server and tested.
We have now finished creating and registering the Add-On Installation Package SAPK-
162COINSLOTEST.We now need to test our package and this includes installation tests as well as
functional tests. For this we require a temporary test system. If we find errors, we can correct the delivery
request and register the package again. Only when we are sure that all problems are solved, we confirm the
delivery in Software Delivery Composer.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 24
ABAP Add-On: Usage & Packaging
Confirmation and Final Release of Delivery
Once the testing is successful, confirm and finally release the Delivery Request
/SLOTEST/ADDON_100_620. Finally the package is released in Software Delivery Assembler. To do this we
choose, Register Delivery Request (by SDA locally).Select the Package List icon in the toolbar. Enter
/SLOTEST/ i.e. the software component name, select the package SAPK-162COINSLOTEST and choose
release. The package is this way released and we can no longer change it.



The lock icon indicates that the delivery has been confirmed and no further changes are allowed.


We now release the in Software Delivery Assembler. To do this choose by SDA locally




SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 25
ABAP Add-On: Usage & Packaging






This completes my tutorial on Creating an Add-On Installation Package Using ADD-ON Assembly Kit.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 26
ABAP Add-On: Usage & Packaging
Related Content
sdn.sap.com/irj/sdn/sdnservices/icc
help.sap.com

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 27
ABAP Add-On: Usage & Packaging
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com
2009 SAP AG 28
Disclaimer and Liability Notice
This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not
supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.
SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document,
and anyone using these methods does so at his/her own risk.
SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or
code sample, including any liability resulting from incompatibility between the content within this document and the materials and
services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this
document.