Wednesday, June 27, 2018

Models

A model is a logical grouping of elements within a layer. Models help in
situations where multiple ISV solutions or projects must operate together. This
architecture allows many solutions to co-exist within each layer.
An element can exist in exactly one model in a layer. The same element can exist
in a customized version in a model in a higher layer. New models are easy to
create in the MorphX IDE and are applied when modifying or adding objects in
the AOT. Models can be exported, installed, or uninstalled from the model store.
Models are identified by a name and a publisher, and have a set of properties that
can be changed, including a version number.
Following is an example:
• A company has two lines of business. They manufacture and sell
medical products. They also manufacture, sell and service
specialized equipment to produce medical products.
• Solution A is an advanced vertical solution for the production of
food and drug products. Among other things, this solution adds a
new field to the item table to store the government approval number.
This is stored in the ISV layer and in the model MEDICAL.

• Solution B is an advanced vertical solution for managing the ongoing
service of equipment which is sold to customers. Among other
things, this solution adds a new field to the item table for the default
service period. This is stored in the ISV layer and in the model
SERVICE.
• You can use models to view the modifications to the item table made
by all ISV solutions and easily see where each change originated.

Managing Models 
Models can be created in the development workspace by clicking on Tools >
Model management > Create model
. Then you can enter the model name, your
company, which layer the model is in, the version number, a full description, and
a shorter description. The combination of name and publisher make a unique
model.
 
To change the current model, click the current model in the status bar.
 
Best  Regards,
Hossein Karimi
  

Model Driven Architecture(Layer)

Microsoft Dynamics AX is designed with a unique layer and model structure that
separates and controls the updates and modifications made in the application.
This structure provides a powerful and flexible architecture for developing
business logic.

The key benefit of the layer and model structure is that it lets developers change
and extend the functionality in Microsoft Dynamics AX while maintaining
upgradability to new versions.

LayersApplication object layers hold all elements that are displayed in the AOT. There
are eight application object layers available. Each of these layers also has a patch
layer making a total of sixteen layers.
Layers are a hierarchy of levels in the application you can use to make
modifications and additions without interfering with the application elements in
the next lower level. When you make an element modification on one level, the
modification overshadows the element on a lower level. When the application is
compiled, only the top-level version of an application element is used.
There are three layers available only to Microsoft to deliver the base application.
(The xxP layer indicates the patch layer for each application object layer).

.
Layer Description
SYS, SYP System layer: The standard application is developed in this
lowest layer. This includes the core application and the
localization for most countries.
GLS, GLP Globalization layer: Includes features developed for some
countries that were not yet moved into the SYS layer.
FPK, FPP Feature Pack layer: Includes industry feature packs that are
controlled by Microsoft.

There are three layers available to partners and ISVs.

Layer Description
SLN, SLP Solution layer: Includes Microsoft endorsed industry solutions.
ISV, ISP Independent Software Vendor layer: Includes generic or
vertical solutions developed by ISV's.
VAR,
VAP
Value Added Reseller layer: Includes multi-customer solutions
developed by VAR's.

There are two layers available to both partners and customers who have a license
to access the AX source code.

Layer Description
CUS, CUP Customer layer: Includes customer specific functionality.
USR, USP User layer: Includes installation specific functionality and
customizations.


Benefits of Layers: Source Code ProtectionThe elements in the standard implementation (SYS, GLS, FPK layers) can only
be changed or deleted by the Microsoft Dynamics AX Development team.
The layers help protect the original source code and keep it separate from
modifications.
Similarly, ISV solution code is separated in a model within the ISV layer. Any
customer specific changes to the ISV solution would be in a higher layer.

Benefits of Layers: Faster and Easier UpgradesUpgrades and service packs contain changes in the lower layers where the base
code resides. This means that any changes by partners or customers are
maintained throughout the upgrade. Powerful compare and merge tools are
available to guide developers through the upgrade. These tools highlight
elements that are modified in higher layers and therefore might require some
action to merge the changes.
As an example:
• The item number is an extended data type that exists in the SYS
layer. This field is a string which is 20 characters in length.
• If a company that uses Microsoft Dynamics AX requires 30
characters for their item numbers, the field length would be changed
to 30 characters and the change saved in the CUS layer. The item
number data type now exists in both the SYS layer and the CUS
layer. The CUS layer is a higher layer so when the application is
compiled, the 30 character length is used.
• If in a future version, Microsoft extends the length of the item field
to 40 characters, the upgrade tool would highlight that there is a
change in the SYS layer to 40 characters and there is an existing
change in the CUS layer to 30 characters. The developer would then
have the option to keep the CUS layer change or delete the CUS
layer and revert to the new field length in the SYS layer of the new
release.

Best Regards,
Hossein Karimi

Saturday, June 23, 2018

Extended Architecture

Several other components of the Microsoft technology stack are used in a typical
deployment.
Reports are delivered by SQL Reporting Services (SSRS). SSRS is a component
included in SQL Server.
Business Intelligence (BI) components such as Key Performance Indicators use
Online Analytical Processing (OLAP) cubes which are delivered by SQL
Analysis Services (SSAS). SSAS is a component included in SQL Server.
The Enterprise Portal and Role Pages are hosted in SharePoint. There are two
versions of SharePoint that can be used. Window SharePoint Foundation 2010 is
a free download. Microsoft SharePoint Server 2010 is a product that can be
purchased to provide extended collaboration and content management tools.
Integration to other applications or to third party organizations might require
integration solutions such as web services.

The following image describes a typical system architecture that includes other
components of the Microsoft technology stack.
 
  


Architecture

Microsoft Dynamics AX has a three-tier architecture.Three-Tier ArchitectureThree-tier architecture is defined as having a separate database, server and client
where:
• The database stores the data.• The server runs the application business logic.• The client application allows users to connect to the server to access
business logic and use the data in the database.
In Microsoft Dynamics AX the three tiers include the following:
• A SQL Server Database that houses the data entered into, and used
by, the Microsoft Dynamics AX application. It also houses the model
store that contains the application elements. (Application elements
are explained in the following lesson)
• An Application Object Server (AOS) is a service that runs most of
the business logic. This runs continuously on a central server.

•The Client application is the user interface through which an enduser accesses Microsoft Dynamics AX. There are various clients
available including the Microsoft Dynamics AX rich client and
Enterprise Portal.

Wednesday, June 20, 2018

Data Types in X++

The following table provides an overview of the simple data types available in Microsoft Dynamics AX:
Data Type Description Example Declaration
Keyword
String A string is a number of
characters. X++ supports several
types of strings: Left aligned,
right aligned, fixed length or not
fixed length. The maximum
length of a string is 999
characters.
Name str
Integer An integer, also named a natural
figure, is a number without a
decimal point.
1090 int
Real Reals, also named decimals, are
numbers with a decimal point.
3.14 real
Date The date type contains day,
month, and year.
10\29\1978 date
UTC
DateTime
Contains year, month, day, hour,
minute and second.
9/28/2008
07:11:02 am
utcDateTim
e
Enum Enum values are represented
internally as integers. The first
literal has the number 0, the next
number 1, the next number 2,
and so on. You can use enums as
integers in expressions.
NoYes Must be
declared as
a Base
Enum first
Boolean Booleans can only contain the
values false and true. The enum
values false and true are
predefined in X++ and
recognized by the compiler.
TRUE boolean
Time Contains hours, minutes, and
seconds. To declare a time, use
the system type timeOfDay.
15:23:08 timeOfDay
GUID Global Unique Identifier
(GUID) is a reference number
which is unique in any context.
{3F2504E0-
4F89-11D3-
9A0C-
0305E82C3
301}
guid
Int64 A large integer, represented by
64 bits.
5637144579 Int64


Client Workspace

The client workspace is the standard rich client interface that an end-user uses. The workspace consists of various components:
 Navigation Pane 
The Navigation pane is the menu on the left side of the screen that shows all of the modules the current user has access to.
Content Pane
The content pane displays role centers, list pages and area pages. 
• Role centers display specific data, reports, alerts, and common tasks associated with a user's role in the organization. The role center is displayed when an end-user opens the application or goes to Home in the Navigation pane. 
• List pages display lists of data. They are optimized to view and search through a list of records and act on information. 
• Area pages display all menu items relevant to the module selected in the Navigation pane. They are grouped logically to make it easier for end-users to find what they need.


Customers List Page
In the Navigation pane, click Accounts Receivable > Common > Customers > All customers. This brings up a list of all customers in the system.  In the center of the form is a grid that displays a list of customers. At the top of the screen is the Action Pane that contains buttons to open other forms and take actions related to the selected customer. On the right are FactBoxes that show data related to the selected customer.  To create a new customer, click New > Customer in the Action Pane. A new form opens where you can enter data for the new customer. Fields with a red wavy line are mandatory.
In the grid on the list of customers, click the field header of the Customer account field. Doing this sorts the data by customer account number order.

Monday, June 18, 2018

Safety level of invoiced orders field


In account receivable parameters there is a parameter that allows you stopping users from making changes to invoiced SO. This option is valid for purchase order as well. With this setup you allow or disallow to make any changes in the invoiced sales order (purchase order).
Go to Accounts receivable > Setup > Accounts receivable parameters.
On the Updates tab, Safety level of invoiced orders field is presented.
Specify whether to allow changes to a fully invoiced sales order.
Safety level of invoiced orders field has three options:
  • None: You can make any changes to an invoiced sales order, such as adding sales order lines..
  • Warning: You can make any changes to an invoiced sales order, but a warning message is displayed.
  • Locked: You cannot make any changes to an invoiced sales order.

Configure the Firewall on the Enterprise Portal Server

After you install Enterprise Portal, enable Web Server (HTTP) in Windows Firewall. If you do not enable the web server in Windows Firewall...