Controller Overview – Custom Data Explorer

Controller is responsible for updating model data based on events received from views/abap screens. It does this by defining the events it will listen to (the abap screen will dispatch these) and by registering method listeners for each controller event type. Continue reading Controller Overview – Custom Data Explorer

Model Overview – Custom Data Explorer

Model acts as a central location to store data from ddic based on commands triggered by controller. It is crucial that only one instance of model exists through out the report execution ensuring all views and the controller itself access the same data. Because of this we don’t allow for a model instance to be created outside the model class. Continue reading Model Overview – Custom Data Explorer

MVC Package Structure – Custom Data Explorer

In most programming languages (that I’ve used anyway) packaging is directly related to directory structure. ABAP is different in this aspect and has its own particularities. Since almost everything related to SAP is stored within a database, including source code, we can’t talk about defining package structures with the help of directory structures. We have to manually create them. Continue reading MVC Package Structure – Custom Data Explorer

MVC Class Structure – Custom Data Explorer

Using an MVC approach you have a model holding all data, a controller manipulating the data and a view displaying the data. This way you can isolate business logic (controller) from business data (model) and  display logic (view). Each of the three elements can be developed and tested independently. For example,  making a change in business logic won’t affect in any way the existing model or views. It allows you to  easily maintain or enhance existing applications. Continue reading MVC Class Structure – Custom Data Explorer