SAPmvc is an Open Source framework created to introduce the MVC design pattern to the ABAP Classical Dynpro using the pure ABAP Objects.
Model-view-controller (MVC) is a classic design pattern often used by applications that need the ability to maintain multiple views of the same data. The MVC pattern hinges on a clean separation of objects into one of three categories:
- Model - The model represents data and the rules that govern access to and updates of this data. In enterprise software, a model often serves as a software approximation of a real-world process.
- View - The view renders the contents of a model. It specifies exactly how the model data should be presented. If the model data changes, the view must update its presentation as needed. This can be achieved by using a push model, in which the view registers itself with the model for change notifications, or a pull model, in which the view is responsible for calling the model when it needs to retrieve the most current data.
- Controller - The controller translates the user's interactions with the view into actions that the model will perform. Depending on the context, a controller may also select a new view.
The controller represents system input, the model represents processing and the view represents the output of the system.
By decoupling models and views, MVC helps to reduce the complexity in architectural design, and to increase flexibility and reuse. Because of this separation, multiple views and controllers can interface with the same model. Even new types of views and controllers that never existed before can interface with a model without forcing a change in the model design.
SAPmvc can be used for application in the ABAP Platform up to release SAP Netweaver 7.0(2004s).
- SAPmvc is available in SAPlink format. To get the most recent version of SAPmvc go to SAPmvc page
- SAPmvc is compatible with release Netweaver 7.0 (2004s), It may not work in previous version.
- Screen and Subscreens
- Dynpro Events
- PF-Status and Titlebar
- Data Change Notifications
- Controls like ALV and HTML, Table Control, TabStrip, etc...
- On Value Request Event
- On Value Help Event