You can use the Easy Enhancement Workbench to add fields to a business partner. This method allows you to avoid writing code by following a simple wizard to create your custom fields.
Key Concept
Users often need custom fields to collect industry- or company-specific business partner information. Adding fields by including them in extensions created by the Easy Enhancement Workbench is the fastest way to do it, especially if you do not know ABAP code.
Most SAP CRM implementations require you to add fields to business partner master data. As I discussed in the first article in this series, you can use these fields for a variety of reasons, from reporting to operational concerns. To add fields to business partner master data, you can use several methods, each of which has its own benefits and drawbacks depending on your company’s situation. I’ll show you how to use the Easy Enhancement Workbench (transaction EEWB) with an example scenario in which you are tracking your business partners’ hobbies.
This example shows the work that you need to perform within the Easy Enhancement Workbench and then the simple wizard that you need to go through to create your extension (collection of added fields) and test it. This process applies to recent releases of SAP CRM, including SAP CRM 2005. The Easy Enhancement Workbench can also add custom fields on transactions as well as custom tables linked to a business partner. My example focuses on extending the business partner with custom fields.
Although you can use this method without being an ABAP expert, it generates code and many workbench objects. However, you do not have to create the objects -- all you need to do is answer some questions. This method allows you to store additional business partner fields efficiently and also to extract information to SAP NetWeaver Business Intelligence (SAP NetWeaver BI). It may require the assistance of an ABAP expert later in the process, namely to handle all the ABAP objects the system creates and the subsequent maintenance of the enhancement.
Easy Enhancement Workbench
Use transaction EEWB to access the Easy Enhancement Workbench (Figure 1). Click on the create icon to create an enhancement project. In my example, the project is called Z_ADD_HOBBY_FIELDS, which indicates that you need to add fields related to hobbies.

Figure 1
Initial Easy Enhancement Workbench screen
You create the project in the development system, so the system prompts you for a transport package for the system you’re using, in my example DTZ_800 (Figure 2). Then it prompts you for a transport request (Figure 3). You need these transport objects because you must execute the Easy Enhancement Workbench in the development environment and then transport it to quality assurance (QA) and production. For more information about workbench requests, refer to https://help.sap.com/saphelp_crm50/helpdata/en/57/38e1824eb711d182bf0000e829fbfe/frameset.htm.

Figure 2
Transport package

Figure 3
Transport requests linked to the transport package
When you finish creating the project, you see a screen that resembles Figure 4. This is the starting point to create the enhancement. In my example, this means adding a table of fields and linking it to the business partner tables in standard SAP. Right-click on the project (Z_ADD_HOBBY_FIELDS in my example) and select Create Extension. Here you determine which SAP object you are extending and in what manner you are doing this (Figure 5). For my example, I elected to add a new table (as opposed to adding fields to an existing table). I used the Easy Enhancement Workbench object BUPA, which stands for business partner. From an ABAP perspective, it might be cleaner to add your custom fields to one special table, but functionally there is little difference.
Note
You can use the Easy Enhancement Workbench to enhance many CRM objects besides business partners, including opportunities, complaints, sales and service orders, and marketing elements.

Figure 4
The created project (shell)

Figure 5
Technical details of the extension
After you create the basics of the extension, the system launches a fairly straightforward wizard. The wizard asks you for the custom fields and then builds the underlying ABAP code and ABAP objects automatically. Selecting the Continue button walks you through all the steps.
After continuing through the initial Start screen, you can define properties for the extension (Figure 6). The first two options you see are CARDINALITY and TIME CONSTRAINTS. The cardinality option allows you to choose for a single instance or multiple instances. In my example, this option defines whether the business partner can like two hobbies at the same time, or only one. You can set the time constraints, such as whether the extension has gaps. For example, I could define that I liked skiing, but only from 1970 to 1999. Within that setting, you can decide whether the extension allows gaps in the time-dependent records: I liked skiing from 1970-1978 and from 1984-1999.

Figure 6
Extension properties
After clicking on the Continue button to advance, you reach the Frame Title screen. Skip this screen and click on the Continue button again to reach the Field Definition screen (Figure 7). Here you can define the field length and type for the fields on the custom table you are creating behind the scenes. In the Ty. column, I set each field to the CHAR type and in the Length column, I assigned a length of 15 characters. You must choose a value for the maximum length for these fields.

Figure 7
Actual fields are technically defined
Click on the Continue button to advance. You then reach the Field Usage screen, which allows you to assign the system to create the changes necessary to transfer the new fields to BW and your mobile desktop (Figure 8). No action is necessary if you just want to use the fields in CRM without including them in BW.

Figure 8
Select the BW-Releva… check box if you want to include the custom field in BW
However, if you want to be able to use the custom field in BW reports, you need to mark the field as relevant to BW. Select the BW-Releva... check box to assign the field. The system implements a Business Add-In (BAdI) to add the project’s fields to the standard BW extractor.
When you finish the wizard, the last step is to generate the objects. To do this, click on the generate icon in Figure 9. You can see the work the Easy Enhancement Workbench performed to generate the objects by reviewing the Log tab (Figure 10). This shows you the amount of ABAP work you avoided.

Figure 9
Generate the extension objects

Figure 10
Review what the system performed in the Log tab
To appreciate the work performed, have an ABAP expert review the objects with you, or let the ABAP expert actually run the Easy Enhancement Workbench so that he or she will be in a better position to maintain the enhancement in the future. Notice, for example, that in addition to creating the two fields, the system created function groups and tables as well.
Next you need to test the Easy Enhancement Workbench hobbies enhancement, which you can do by creating a business partner (Figure 11). Your custom fields - in my example, Sports and Non_spt - should be available to you in the Customer Data tab.

Figure 11
Create a new business partner to test the new field
Now you have three methods to choose from when creating a custom field. The "Pros and Cons" sidebar compares each method and gives an overview of when to use each one.
Note
SAP CRM classes CR600 (marketing) and CR100 (customizing fundamentals) provide additional information related to this topic.
Each of the three techniques features positive and negative aspects. There is no “right” choice, so I’ve provided a table with summarized pros and cons that should help you decide which way is best for your given situation. Marketing attributes | No custom objects are created in the system. Mass maintenance tools are delivered in CRM. | The data is stored in a complex linked table design. This technique is inefficient for ABAP reports or to extract custom fields to BW for reporting. | User-defined attributes | Minimal effort necessary | Limited to 10 two-character codes. Slight system modification necessary if you want the field text to change. | Easy Enhancement Workbench | Efficient storage of additional business partner fields. Extraction to BW is an option. | Creates many ABAP objects, so an ABAP expert must perform subsequent maintenance of the custom fields | | Table 1 | Pros and cons of the three methods | |
Ned Falk
Ned Falk is a senior education consultant at SAP. In prior positions, he implemented many ERP solutions, including SAP R/3. While at SAP, he initially focused on logistics. Now he focuses on SAP HANA, SAP BW (formerly SAP NetWeaver BW), SAP CRM, and the integration of SAP BW and SAP BusinessObjects tools. You can meet him in person when he teaches SAP HANA, SAP BW, or SAP CRM classes from the Atlanta SAP office, or in a virtual training class over the web. If you need an SAP education plan for SAP HANA, SAP BW, BusinessObjects, or SAP CRM, you may contact Ned via email.
You may contact the author at ned.falk@sap.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.