how to reuse a popup screen in accordance with the 4 layer architecture?

Hi all,

Today we had a discussion on the right way of reusing a popup screen without violating the ui side reference rule. We would appreciate your input on the case presented below:

Application A and B require popup screen P containing Customer details

Solution 1:

  • Create a web block CustomerDetail_WB in eSpace Customer_CS
  • Create a Popup screen in both application A and B and place CustomerDetail_WB in the screens.

In this case we do not violate the UI layer side reference rule and reuse the CustomerDetail logic. The drawback is that we have to create a popup screen in every UI layer eSpace that requires the popup.

Solution 2:

  • Create a Popup screen in Customer_CS
  • Create a public webblock CustomerPopupWB in Customer_CS inside the webblock implement the logic to call the popup screen
  • Reuse the CustomerPopupWB in application A and B where needed.

In my opinion this solution would classify Customer_CS a UI layer application since a popup screen is also a WebScreen. If we would classify Customer_CS as a Core layer application there are no violations and we would have to create only one reusable component.

So which solution do you favor and why?

Best regards,


Hi Paul, 

That solution 2 sounds better. I do not think this solution would be classify like UI Layer. The core layer does not need to have just Logics and WebBlocks. What is important not to have is Reference Cyclic and we have the most part of our code reusable.

It is my opinion :)

Hi Paulo,

What criteria do you use to determine if an eSpace is UI Layer? My rule is if there is a WebScreen or an exposed API it is UI Layer. From the 4LC I got the impression that a core layer only contains WebBlocks and ServerActions with Business Logic and no WebScreens.

Best regards,