Skip to content

Restrict LAA/Extend on the inside

Restricting Layered Application Architecture is now possible from entity level, projection level or even from component level. If a component is final, it does not allow customization of any models inside that component or to add any new customization models to the component. Further, code generation is restricted if any of the models are customized within a final component. If a projection/entity is marked as final, then it restricts the customization capability of that particular projection/entity (This restriction is also imposed in code generation level). This is a sort of black-listing of things that should not be used for extend on the inside.

Mark an Entity Final

Use @Final annotation at the beginning of the .entity file.

Mark a Projection Final

Use @Final annotation at the beginning of the .projection file.

Mark a Component Final

Add the following code snippet to deploy.ini file of the component to make it final.

For 22R1 following set of framework components are marked as final. With that, customers are not allowed to have any customizations for below components in customer code base. If customer code base has any customizations done on any of the below components, that would lead to a code generation error at build time due to LAA restriction with @final on components. Hence, unexpected customizations need to be removed before getting the release update of 22R1.

Product Area Component
Development and Extensibility FNDCOB, FNDDEV
Experience Framework FNDTST
Infrastructure and Framework FNDADM, FNDBAS, FNDDSS, FNDREM, FNDSCM
.IoT Workflow Data FNDCAT, FNDMIG, FNDRPL, FNDWF
Mobile Experience FNDMOB
Automation FNDSCH
Business Modeling Reporting and Analytics FNDRRE, BISERV, BRBASE, ISTOOL, BIAXSV, TABMFW, UCFONT, BUSMOD, CRYSTL, TMCRM, TMEAM, TMEMPA, TMGC, TMGL, TMINMA,TMPROC,TMPROJ,TMPRPE,TMSALE, TABMDL, PBIES

Main objective of this initiative is to avoid unnecessary customizations on Platform/Framework components for 22R1 and onwards.