Chapter 2. A Sample Application

Let's create a structure of our own in Microsoft Dynamics NAV. To do this, we must think of something that is not already available in the standard package but can be built on top of it.

For our example application, we will run a squash court. Running a squash court is simple to understand but something we cannot do without changing and expanding the product. In order to define our changes, we first need to make a fit-gap analysis.

After this chapter, you will have better understanding on how to reuse the framework of the Microsoft Dynamics NAV application. We will show how to reverse engineer the application and to study its functionality by going into the application code.

For this example, some new and changed objects are required. The Appendix, Installation Guide, describes where to find the objects and how to install and activate them.

In the first part, we will look at how to reverse engineer the standard application to look at and learn how it works and how to reuse the structures in our own solutions.

In the second part of the chapter, we will learn how to use the journals and entries in a custom application.

Lastly, we will look at how to integrate our solution with the standard application; in our case, sales invoicing.

When we do a fit-gap analysis, we look at the company's processes and define what we can and cannot do with the standard package. When a business process can be handled with the standard software we call this a Fit. When this cannot be done it's called a Gap. All gaps have to be either developed or we need to purchase an add-on.

However, even when something could be done with standard software features it does not necessarily mean that doing this is wise. The standard application should be used for what it is designed for. Using standard features for something else might work in the current version but if it changes in a new version it might no longer fit. For this reason it is better to design something new instead of wrongly using standard features.

To determine the design for this application, we will first look at the parts of the standard application, which we can use to learn how they work. We will use this knowledge in our own design.

In Microsoft Dynamics NAV, customer and vendor master data are maintained using relationship management (RM). For our solution, we will create a new master data for squash players being the business part of the application. This will also be integrated with RM.

To design the squash court, we will look at the design of items in the standard package. The squash court will be the product part of our application with a journal to create reservation entries, which we can invoice.

For this invoicing process, we will use and integrate with the sales part of Microsoft Dynamics NAV.