A taste of ERP : Microsoft Dynamics NAV 5.0

Enterprise Resource Planning systems (ERPs) integrate (or attempt to integrate) all data and processes of an organization into a unified system.

Microsoft Dynamics NAV is an enterprise resource planning (ERP) software product from Microsoft.
The product is part of the Microsoft Dynamics family, and intended to assist with finance, manufacturing, customer relationship management, supply chains, analytics and electronic commerce for small and medium-sized enterprises. VARs can have have full access to the business logic source code, and it has a reputation as being easy to customize

Microsoft Dynamics NAV C/SIDE Application Objects
  1. Tables
  2. Forms
  3. Reports
  4. Dataports * (Allows the import or export of table data)
  5. XMLports * (Allows the import or export of XML data)
  6. Codeunits*
  7. MenuSuites*
Programming Language of C/SIDE is object-based - No derived objects (NO-INHERITANCE) and No Polymorphism (Overloading & Overriding). A Pascal like language.

C/SIDE (Client Server Integrated Development Environment) :

Tools for creating Application Objects held in the "Object Designer"
  • Table Designer
  • Form Designer
  • Report Designer
  • Dataport Designer
  • XMLport Designer
  • Navigation Pane Desinger (Menu Designer)
  • C/AL Editor (Code Editor)
All objects in C/SIDE Applications are from the database. The Application ties these objects into a meaningful 'whole'.

Relating Application objects to the general concepts
  • Properties, Fields, Keys, Data Items,
  • C/AL Functions, Triggers, Controls, Request Form,
  • TagNames, TagTypes, XMLport Events,
  • Menu Node, Menu Group, Menu Item
  • Properties:   Properties control the appearance and behavior of application objects
  • C/AL: C/AL is the language used for writing functions in C/SIDE
  • Triggers: When specific things happen to the application objects, the system automatically activates a trigger. Inside a trigger, you can add your own C/AL code if you want to modify the default behavior of the application object or extend its functionality
  • Keys: A key defines the order in which data is stored in your tables and speed up searches on the data
  • Fields: A field is the smallest unit of information in the database
  • Controls: Controls are objects on a form or report that display data, perform actions or decorate the form.
  • Request Form: A request form is a form used in a report. Before a report is run, a request form appears to let the user specify filters and options for the report
  • Data Items: A data item is a building block used for defining a model of data when creating a report.
  • Sections: A section is a substructure of a data item. A section is where controls are placed to display information.
  • TagName: TagNames are used to specify the name of a tag in an XML document.
  • TagTypes: This property is used to specify whether an XML object is an element or an attribute.
  • Menu Node: Either a Menu Group or a Menu Item.
  • Menu Group: A collection of Menu Nodes.
  • Menu Item: The lowest level of the menu tree.
Logical structure of Database

Fields: A field can be of only one data type out of the 17 types supported
Records: A information holder that group fields that belong to a single entry in the database.
Tables: A logical collection of homogenus Records.
Company: A grouping of Private and Public (Tables shared with other companies) Tables.

Integration tools: ODBC, OCX (ActiveX/OLE Custom control) , OLE Automation and C/Front.NET (API  to access C/SIDE Database a library of functions)

Data Types of Fields used in C/SIDE database system

In the Microsoft Dynamics NAV Server, data is stored with a 4 byte alignment because of performance considerations. The sizes of text, code, and binary fields (that can have variable lengths) are rounded up to the nearest value that is a multiple of four. This means that, for example, a text string of ten characters occupies 12 bytes.

01 Option Equivalent to an Enumeration with a Display item as string and Value item as integer (starts with index 0) -2,147,483,647
to 2,147,483,647
4 Bytes INTEGER (4 Bytes)
02 Integer   -2,147,483,647
to 2,147,483,647
4 Bytes INTEGER (4 Bytes)
03 Decimal   -1063 to +1063 12 Bytes DECIMAL(38,20) (17 Bytes)
04 Text Alphanumeric string (The extra byte holds the length of the string) Maximum 1 - 250 Characters (n+1) Bytes
n = characters
05 Code Right Justified if all numbers
Left Justified if alphanumeric
Letters get converted to Uppercase
(The extra bytes - 1st stores the length of the string and 2nd stores the alignment)
Maximum 1 - 250 Characters (n+2) n = characters VARCHAR(n)
06 Date Undefined date expressed as 0 1/Jan/0 to 31/Dec/9999 4 Bytes DATETIME (8 Bytes)
07 Time Stored as an integer 00:00:00 to
(m+1) m = milliseconds after 0:0:0
4 Bytes
DATETIME (8 Bytes)
08 Boolean Displays YES or NO implicitly equals TRUE or FALSE TRUE/FALSE 4 Bytes TINYINT (1 Byte)
09 Binary Maximum 250 Bytes Max 250 Bytes  n Bytes VARBINARY(n)
10 BLOB Binary Large Object NOT stored with the record but linked to the BLOB Area of the TABLE 8 Bytes for the Link to the BLOB stored in the Record Upto 2GB IMAGE
11 DateFormula Used to validate DATEs entered eg: 30D, CM+1M, D15 4 Bytes 4 Bytes
12 DateTime Coordinated Universal Time Displays based on local settings 4 Bytes 4 Bytes
13 TableFilter Used to apply Filter on other tables      
14 BigInteger   64 Bit Integer 8 Bytes 8 Bytes
15 Duration Difference in milleseconds between 2 points in time - Allows negatives   8 Bytes 8 Bytes
16 GUID Globally Unique Identifier   16 Bytes 16 Bytes
17 RecordID Unique Record Identifier      

A Key is  sequence of one or more field IDs from the table, Upto 40 Keys can be defined on each table and the first key is always the Primary Key for the table. Keys provide a basis for indexing data. Secondary keys are used to view records in an order different from the one in which they are sorted according to
the primary key fields. Each secondary key can contain up to 20 unique fields. However, these 20 unique fields must also include all the fields from the primary key. (i.e., if your primary key has four fields then your secondary key can have these 4 fields and a maximum of 16 other unique fields) An Index is maintained on every "ACTIVE" Secondary Key

Special Table Fields:
•FlowFilter Fields

A SumIndexField is a decimal field that can be attached to a key definition. SumIndexFields permit the fast calculation of sums of numeric columns in tables, even in tables with thousands of records. They form the basis for the FlowFields. SumIndexFields permit the fast calculation of sums of numeric columns in tables, even in tables with thousands of records.

FlowFields is like a virtual field that extends the table data it is not a permanent part of the table . The information in the flowfields exists only at run-time. They are automatically initialized to zero. The C/AL function "<Record>.CALCFIELDS" is the function used to up   
Type DataType Description
Sum Decimal Sum
Average Decimal Average
Exist Boolean Record Exists
Count Integer Record Count
Min Any Minimum value
Max Any Maximum value
Lookup Any Lookup
date a FlowField.

Calculation Formula & CalcFormula Property
A FlowField is always associated with a calculation formula that determines how the value in the FlowField is calculated.

Types of Table
  • Master - Contains information about the primary focus subject of its functional area
  • Supplemental - Stores information about a supplemental subject used in one or more functional areas
  • Setup - Stores one record that holds general information about its functional area.
  • Register - A sort of table of contents for its corresponding Ledger table or tables
  • Subsidiary - Contains information which is subsidiary to either a Master table or a Supplemental table or both.
  • Ledger - Contains the transactional information that is the primary focus of its functional area.
  • Journal - The primary transaction entry table for a functional area.
  • Document - Secondary transactional tables that allow entries in a functional area or into multiple functional areas at once. This is actually implemented as a pair table. (Document Header Table & Document Line Table)
  • Document History - Contains the transaction history for documents that have been posted.
Types of Forms
  • Card Form (associated with Master Table)
  • List Form (associated with Master Table)
  • Statistics Form (associated with Master Table)
  • Tabular/Worksheet Form (associated with Supplemental/Subsidiary Table)
posted @ Sunday, July 8, 2007 8:54 PM

Comments on this entry:

# re: A taste of ERP : Microsoft Dynamics NAV 5.0

Left by K Nur at 7/20/2009 7:13 AM
How do I get pdf / video learning materials to learn it (microsoft dymanic nav 5.0)? Anyone please drop me an email.

# re: A taste of ERP : Microsoft Dynamics NAV 5.0

Left by K Nur at 7/20/2009 7:13 AM
How do I get pdf / video learning materials to learn it (microsoft dymanic nav 5.0)? Anyone please drop me an email.

# re: A taste of ERP : Microsoft Dynamics NAV 5.0

Left by Noel Serranilla at 10/8/2009 7:08 PM
How to setup new company Nav 5.0 using BRL Business Essentials Foundation Pack license. Thank you very much in advance.

Your comment:

(not displayed)


Live Comment Preview: