Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Advisor
Advisor

recently I was asked by one customer why they can create extension field via AET in intellectual property overview page:

                                                                  Figure1

however they cannot see the "create field" button when trying to enhance "edit scope" page:

                                                            Figure2

in order to explain this discrepancy, it is necessary to understand how does AET work. The SAP development will make registrations on those Business object which are considered as extensible and you can view the registration via tcode AXTREG:

                                                            Figure3

Below is an example for PRODUCT:

                                                            Figure4

So it is not technically possible to extend one UI which is created based on a non-extensible BO.

Let's analyze why the second ui could not be extended. Just set breakpoint on the method below, which can be used as an entry point for your trouble shooting on such kind of issue:

                                                            Figure5

The framework will first check whether there exists an extensible BO which is dedicatedly registered with an UI component and its child view -

nothing found. Then try to check design layer assignment.

                                                            Figure6

The reason to try with design layer assignment is that the context node of ui view could be assigned to design layer object while the latter always belongs to one ui object. The ui object type is mapped to Genil component, BOL object, BOR object, and one extensible BO if any. See below example for UI object type PRODUCT ( view via tcode BSP_DLC_SDESIGN_DL)

                                                            Figure7

as displayed in the above picture, there is no design layer object assigned for edit scope view, so finally "create field" button is not rendered at all, according to the logic below:

                                                            Figure8

Now go back to the first example. The first check fails as well, however 18 design layer assignments are found:

                                                            Figure9

it shows there are so many context nodes of the view which are assigned to design objects

                                                            Figure10

we can also find such assignment relationships in ui component workbench:

                                                            Figure11

                                                            Figure12

get the respective UI object type by design object:

                                                            Figure13

Now the extensible BO maintained in ui object type is evaluated. Now there would be one entry appended to result table, so finally "create field"  button is enabled.

                                                            Figure14

Summary: if "create field" button is invisible or disabled ( in lower release ), it is not the issue of AET itself but simply because that UI is not regarded as extensible by AET at all.

2 Comments