Quantcast
Channel: SAP CRM: Webclient UI - Framework
Viewing all articles
Browse latest Browse all 188

Inside AET: why "create field" button is visible in some UI while invisible in others?

$
0
0

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

can.png

                                                                  Figure1

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

cannot.png

                                                            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:

 

clipboard.png

                                                            Figure3

 

Below is an example for PRODUCT:

sample.png

                                                            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:

 

e1.png

                                                            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.

 

design.png

                                                            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)

 

ui object.png

                                                            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:

button.png

                                                            Figure8

 

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

 

 

design have.png

                                                            Figure9

 

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

18.png

                                                            Figure10

 

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

workbench.png

                                                            Figure11

 

w2.png

                                                            Figure12

 

get the respective UI object type by design object:

get ui object.png

                                                            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.

check.png

                                                            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.


Viewing all articles
Browse latest Browse all 188

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>