0% found this document useful (0 votes)
145 views7 pages

CRM40 Extension Cookbook

This document provides guidelines for extending CRM 4.0 applications by adding custom fields using Customizing Includes. It describes the extension mechanism which allows adding fields through a simple process without additional coding. Customizing Includes are used to define and contain customer-specific fields. Several CRM applications like Business Partner, Activity, and Opportunity are listed as extensible using this approach. Restrictions and best practices for creating, transporting, and database integrity of extensions are also covered.

Uploaded by

JustinNeumann
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views7 pages

CRM40 Extension Cookbook

This document provides guidelines for extending CRM 4.0 applications by adding custom fields using Customizing Includes. It describes the extension mechanism which allows adding fields through a simple process without additional coding. Customizing Includes are used to define and contain customer-specific fields. Several CRM applications like Business Partner, Activity, and Opportunity are listed as extensible using this approach. Restrictions and best practices for creating, transporting, and database integrity of extensions are also covered.

Uploaded by

JustinNeumann
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Extension Guideline for CRM 4.

0 Applications
Scope: This Guideline describes which actions are necessary for customers to extend
CRM applications in an easy way by adding their own fields. This guideline is only
valid for the applications described using the People-Centric UI.
Current Version: 1.3, 9th of May 2003

Extension Mechanism to add new Fields............................................................ 1


1.1
Description of the Extension Mechanism ................................................... 1
1.2
Restrictions ................................................................................................ 2
1.3
Creating an Extension ................................................................................ 3
1.4
Extensible Applications ............................................................................. 6

1 Extension Mechanism to add new Fields


1.1 Description of the Extension Mechanism
To allow easy extensibility of CRM applications based on the people-centric UI, an
extension concept with the following properties is provided:
Same extension concept for all objects
The concept allows the addition of customer fields (1:1 relationship)
Changes need only be made in one place
No additional coding or mapping is necessary
To provide this functionality, Customizing Includes are used:
A Customizing Include is a DDIC structure that satisfies a special naming convention
(for example, the name of a Customizing Include begins with CI_). Such predefined
structures are included in SAP DDIC structures and tables to contain customerspecific fields. The Customizing Include (the definition of the structure itself) is
created in the customer system, allowing enhancement without modifications or
upgrade problems.

CI 1

CI 1

UI
BSP-Application

Access Class
API

CI 1

CI 1

The picture shows the principle for a CRM Application using the people-centric UI.
The anchor object of extensions is the Application object (for example, Activity
Header) containing a Customizing Include. The relevant database table also includes
this Customizing Include, as well as API structures and one or more suitable screen
structures.
Care is taken that the Customizing Include is mapped directly between those places.
All fields that belong to a Customizing Include of a screen structure are displayed
automatically in the people-centric UI with a default behavior (visible, editable). If a
field is not to be visible on a particular screen, it can be switched off using the CRM
Designer Tool.

1.2 Restrictions
There are some restrictions to this very simple and lean approach:
Fields appear on predefined screens, they cannot be moved to other screens.
It is only possible to add fields (1:1 relationship), not tables
CRM Middleware BDocs are not automatically extended (exceptions are
mentioned below)
Migrating manual extensions to Customizing Includes is not supported currently

1.3 Creating an Extension


1.3.1 Creating an extension manually
As mentioned above, the extension process is very simple:
Just create the Customizing Include providing the functionality wanted (see
description below) in your CRM Systems Data Dictionary (transaction SE11).
Use your data elements and domains to define the field properties.
Take care that field names are not longer than 16 characters or have a RAW
type. Some Customizing Includes do not allow extensions with numerical
fields, DDIC will report errors in that case.
Ensure that your field names begin with ZZ, as this is the DDIC naming
convention for customer fields.
After that, you can start the application it will contain your fields!
Most Customizing Includes will appear on several screens. If you want to remove
them from a particular screen, you can use the CRM Designer Tool1. The CRM
Designer Tool can also be used to change properties of the fields.

1.3.2 Creating an extension with tool support


As an alternative, Easy Enhancement Workbench (transaction EEWB) can be used.
This Tool provides a wizard, allowing the definition of an extension. The Customizing Include is generated according to that definition. How to use Easy Enhancement
Workbench is described in its application documentation.
Using Easy Enhancement Workbench has the following advantages:
No actions in the Data Dictionary are necessary, a wizard guides you through the
extension process
The Tool contains information on all existing Customizing Includes
Currently Easy Enhancement Workbench only generates the Customizing Include and
its data elements and domains. All UI specific properties are either generated automatically at application runtime or defined manually by CRM Designer.
In the following releases additional functionality will be provided by Easy
Enhancement Workbench, such as extending the BDoc (including Mobile BDoc),
SAP GUI and BW data sources. If EEW is used for extension, this functionality can
be used in future without the need for migration.
Note: If you want to use the enhanced CRM 4.0 functionality in future, you should
use EEW for your extensions. Migrating manual extensions to EEW extensions is not
supported currently.

CRM Designer is a WYSIWYG, graphical Tool used to alter the screen layouts of any CRM
application. The Advanced Search Area, Detail Area and List Area of a CRM application can be
altered to suit customer specific needs.

1.3.3 Database integrity


As described above, every Customizing Include is part of a database table that stores
the contents of the new fields. Therefore some changes of the Customizing Include
are critical for the database:
Deleting fields
Changing type or length of a field
Some databases do not support these operations directly, but need adjustment of the
database structure. This adjustment can be made using the Database Utility of the
ABAP Dictionary. Its documentation describes the details of this process.
Both the ABAP Dictionary and Easy Enhancement Workbench will provide
information if database adjustment is necessary after changing a Customizing Include.
Important: Take care that you have the necessary authorization for database
adjustments. Your authorization should contain activity 42 of object type TABL.

1.3.4 Transport behaviour


Customizing Includes (if not assigned to packet $TMP) can be transported like normal
includes. Necessary activations and adjustments will be done automatically by
transport mechanism.
Nevertheless, you must take care, that all objects referenced by the Customizing
Include are transported, too. This means, that not only data elements and domains of
the Customizing Include must be transported, but also check tables and reference
tables must be available in the target system.
Easy Enhancement Workbench allows you to create several extensions of the same
type (e.g. new fields for Business Partner). These fields will be grouped together in
the same Customizing Include. So take care that all extensions to one Customizing
Include are transported together otherwise activation in target system will fail until
the missing objects are imported.

1.3.5 Example
You wish to maintain a personal risk factor for customers (technically: Business
Partners) of an insurance company. For that purpose, just create a domain (for
example, ZPERSRISK) with predefined risk values (for example, LOW,
MEDIUM and HIGH) and a data element (for example, ZPERSRISK as well)
with a describing text (for example, personal risk factor).
Then create an Include called CI_EEW_BUT000, containing a field (for example,
ZZPERSRISK) with your data element:

In the people-centric UI, the result will look like this:

1.4 Extensible Applications


The following applications are extensible using the Customizing Include technique.
Message BDocs contain the Customizing Include if the BDoc column is marked.
Object

Customizing Include

BDoc

Remarks

Business Partner
Business Transaction
Business Transaction Item
Activity Header

CI_EEW_BUT000
CI_EEW_ORDERADM_H
CI_EEW_ORDERADM_I
CI_EEW_ACTIVITY_H
CI_EEW_ACTIVITY_I

X
X
X
X
X

1)

CI_EEW_OPPORT_H
CI_EEW_LEAD_H
CI_EEW_PRODUCT_I
CI_EEW_FINPROD_I

X
X
X
X

CI_EEW_SALES

CI_EEW_SHIPPING

CI_EEW_BILLING

CI_EEW_ORGMAN
CI_EEW_PRICING

X
X

CI_EEW_PRICING_I
CI_EEW_SCHEDLIN

X
X

CI_EEW_SERVICE_I
CI_EEW_CUSTOMER_H

X
X

2)

CI_EEW_CUSTOMER_I

2)

Activity Item
Opportunity
Lead
Transaction Item - Product
Transaction Item - Financing
Product
Business Transaction - Sales
Set
Business Transaction Shipping Set
Business Transaction - Billing
Set
Organizational Unit Set
Business Transaction Pricing
Parameter Set
Transaction Item - Price
Business Transaction Item Schedule Line
Transaction Item - Service
Transaction - Additional
Extension
Transaction Item - Additional
Extension
SDB - Symptom
SDB - Solution
Marketing element: Basic data
Marketing element: Execution
Installed Base (header)
Installed Base Component Addition/Specialization

Partner Product Ranges


CRM Case
Counter

Remarks:

CI_EEW_ISMP
CI_EEW_ISOL
CI_EEW_MKTPL_BDINC
CI_EEW_MKTPL_CHINC
CI_EEW_IBIB
CI_EEW_IBSP
CI_EEW_ACT_CATEGORY_EXT
CI_EEW_IBU_CP_EXT
CI_EEW_CHANNEL_COMM_EXT
CI_EEW_CMSS_DRG_SETTYP_EXT
CI_EEW_CRMT_CMG
CI_EEW_MPK_READING_WRK
CI_EEW_MPK_MPOINT_WRK

CI_EEW_ACTIVI
TY_I_UI

3)
3)
X
X
+UI

1) BUT000 + BUT000_X and BUT000_S


2) This Customizing Include is also part of the Order BDoc and appears in the
external order interface (IDoc or XML).
3) There has been another concept to extend campaign management since CRM 3.0.
Using transaction CRMC_MKTPL_SETTYPE, new fields can be defined based
on set type technique. These fields are only visible in the SAP GUI, not in the
people-centric UI. Connection to BW is supported, but not to CRM Middleware.
This functionality will also be provided for Customizing Includes in future, so
Customizing Includes should be used for new extensions. Currently there is no
migration concept to transfer set type-fields to Customizing Includes.

You might also like