View Elements – Custom Data Explorer

Custom data explorer is structured as one screen (screen number 100) with three subcreens: table search (150), table query where clauses (200), table data (300). Each screen is a view inside MVC. These views are totally independent of each other actions, they’re just coded to reflect model current data and dispatch controller events based on user commands. Data storage and data handling happens in model and controller. Continue reading View Elements – Custom Data Explorer

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