Acorel
To Acorel.nl
Acorel background

Creating tables with the AET in SAP CRM

Wilco Menge, 31 May 2017

Most of us are aware of the AET, the Application Enhancement Tool. It can be used to add fields to standard SAP objects in a safe and flexible way. It is also possible to create new relations with 1-to-many relationships to standard SAP Objects with the AET.

It has been possible for a long time to enhance the Genil model of standard SAP objects with new 1-to-many relations. The process however can be a bit cumbersome. One good overview can be found here. We need to write quite a bit of code and customizing, which can be error prone to get just right.

When you use the AET to create a new table, most of this work will be done automatically. We will walk through the process and discuss alternatives.

Preparation

The AET will generate a basic UI for your table. You are expected to supply a UI Component during the definition of the table:

You might get the following warnings:

These errors do sometimes signify an authorization problem, but it is also possible that the SICF node already exists.

Extending with EAT

Start the Web UI with Business Role ADMIN
Navigate to Tools > Enhance Applications

Click New and select the Object that you want to enhance. In our example we choose the APPOINTMENT

In the next screen you can either add fields to the object or complete tables.

Click on New in the Table Assignment Block and define to which part of the BO the extension belongs. In our case it is the Order Header (ORDERADM_H).

Fill in the details of your table. For component, supply the component from the preparation, for window, supply a new window name. The window will then be generated by the AET.

For each field you can supply additional details, as you are able to do with structure extensions in the AET

When you’re done, navigate back to the Object Extension Screen. You can now Save and Generate the extension.

Get a cup of coffee.

After generating, you can start using the table in the Web UI, it should already be available in the UI Configuration of your object:

Now you can populate your table with data:

In the background, the following objects have been generated:

Extending the AET extension

But what if the generated UI is too limited for your taste? It is possible to modify the generated component. But your modifications can be overwritten when someone regenerates the table with the AET. However: You can safely ignore the generated UI Component and bring you own. All the basic CRUD logic is already contained in the BOL object, so you can just create a new UI Component and present the data in a suitable way.

When to use

If you are interested in a flat table with no real business logic in the Genil Layer (besides simple CRUD logic), then use the AET. It is the quickest and easiest method to add new tables to standart SAP objects. If you are not happy with the generate UI, you can bring your own.

Another strong point is that not only the Genil/Bol layer is enhanced, but other API as well. This means you can also read and modify data with CRM_ORDER_READ, CRM_ORDER_MAINTAIN (and for example, idocs).

When you need more control and flexibility in the CRUD logic of your object, or even a multi-level hierarchy with multiple tables consider using the manual approach as shown in the link at the beginning of this post.

AET:
+ Quick and easy
+ Modifies most standard API’s (Function Modules, Idocs etc)
+ UI can be modified easily
– Limited flexibility in adding business logic

Manual extension:
+ More flexibility in business logic
– Complex, error prone
– New data is only available in Genil layer

Receive our weekly blog by email?
Subscribe here: