Wednesday, August 10, 2011

Adding custom fields to the screen using the AET

AET stands for Application Enhancement Tool, and as the name suggests, the AET helps you enhance the application.
In many previous posts, tools were explained on how to influence and enhance the application by implementing logic. The AET enables you to enhance the application by implementing new fields.

Adding fields might not look like rocket science (and it isn't of course), but is technically more complex than you might imagine. SAP CRM is designed according to a layered model, like the OSI model. Which is good from a software engineering perspective. Decoupling the functions in each layer enables you to change stuff in one layer without disturbing the others.

The biggest downside of the layered design would be that adding a field at database level, will not automatically also add the field in the Generic Interaction Layer, nor in the Business Object Layer, nor in the Presentation Layer. 

The AET takes care of this for you. Beside adding the field to all the layers, the field is also added to the applicable BW Datasource, so the information that is entered will also be available in BW.

How does AET work?
The AET can be started from the CRM Webclient, very intuitive. Simply start the configuration by clicking the 'Show Configurable Areas' button in the top right corner.

Depending on the screen (and configurable area) you are in, you will now see two buttons in the top of the screen. 

If you click the 'Create New Field' button, you will be able to create a new field.
If you click the 'Show Enhancements' button you will be able to see previously created enhancements.

The wizard will help you make decisions on the field. You have to decide for instance which part of a business object you want to enhance. For instance when adding a field to the activity screen, you can decide to enhance the ORDERADM_H, which will also add the field (technically) to sales- and serviceorders, as ORDERADM_H is also used there. You can also choose in this case to add the field to the ACTIVITY_H, which will only add the field to documents of the type Activity (BUS2000126). What you decide here always depends on what type of field you are adding. If the field has to do with for instance organisational data, you might consider enhancing the ORGMAN_H structure.

In the field definition, you decide what will be the field label, the data type (Decimal Number, Numerical, Date, Time, Indicator (checkbox), Currency, Quantity, Text or Hyperlink), the check table (to allow only certain values), the search help (to help the user find the correct value), whether information entered should flow to BW, to ERP and to Mobile (not Sybase Mobile Sales) and whether the information should be enabled in CRM Interactive Reporting as a Key Figure or as a Characteristic.

Whether you can enter values in a field depends on other choises you have made. For instance, you will not be able to select a check table if you have indicated the field is of data type Indicator.
When all fields have been entered, you simply click the generate button and the enhancement will be made in all relevant layers.
When generation is done, you can select the field from the available fields list in the node that you have enhanced and add it to the screen configuration(s).

The field is now ready to use.

AET vs EEWB
Before the AET, this type of enhancements were done using the EEWB (Easy Enhancement WorkBench). The EEWB will not be supported anymore in the future, so it is highly recommended to use the AET unless AET does not comply.

Some of the functions of the EEWB are not yet available in CRM 7.0, but apparently will be in the future. One of the missing functions is adding a table as an attribute to an object. This was possible in the EEWB on the Business Partner, but is not anymore on the AET. So adding simple fields is possible, but multiple-select fields are not, nor are table entries.

The good thing about the AET in comparison to the EEWB is that in the AET, the logic and wizard is always the same, independent of the object you are enhancing, while in the EEWB, the logic differs per object.

6 comments:

  1. good post and more informative.

    ReplyDelete
  2. GREAT POST...how can i add a custom field in the inbox ( ICCMP_INBOX) ? plz

    ReplyDelete
  3. I have a doubt, How to get Business object name while adding custom field with AET. Here you told that for activity BO is BUS2000126....
    How to get that BO

    ReplyDelete
  4. Shiva,

    As far as I know, the best place to get a full list of business objects is in table TOJTB.

    Is this what you are looking for?

    Regards,
    Pieter

    ReplyDelete