Tools, 4GL, VRC, and the extension model

How LN's Tools 4GL, VRC code-layering, DAL/DAL2 hooks, and business object scripts map to D365's X++ metadata model, extension-first architecture, chain of command, security, and Azure DevOps ALM. Includes a direct account of the cultural change teams must anticipate.

What you will be able to do

Introduction

LN and D365 are both mature ERP platforms, but the experience of extending and customising them is profoundly different. LN's Tools 4GL gives developers a single environment where they can read, modify, and check back in any part of the system — including Infor standard code — under VRC version control.

LN Tools: the 4GL, sessions, and the data dictionary

LN's development environment is Infor Tools (historically called Baan Tools). Tools is a proprietary 4GL environment consisting of:

VRC: the three-layer code architecture

When a developer checks out a session from the VRC repository and modifies it at the Customer layer, the modification is stored as a delta against the Release or Version layer. The build system merges the layers to produce the deployed binary.

DAL, DAL2, and business object scripts

DAL (Data Access Layer) is LN's abstraction for database operations. DAL scripts intercept database events: pre-insert, pre-update, pre-delete, and post-equivalents. A Customer-layer DAL script can add validation before a record is inserted, or populate a field after a record is updated.

The D365 extension model in practice

A D365 extension package is a separate Visual Studio project in Azure DevOps that references the standard D365 model by name. It contains only additive objects:

Security: roles, duties, and privileges

LN security is session-centric: access is granted to specific sessions, and within a session, to specific options (create, view, update, delete). Segregation of duties is enforced by granting or denying session access.

Knowledge check

Summary

The LN-to-D365 development migration is a re-implementation, not a conversion. The architectural difference — edit-in-place VRC versus additive extension packages — is the single most important thing for LN development teams to internalise before the build starts.