WINDOWS Live Search

To contact me for any clarifications regarding any posts / information, please mail me at arijit [dot] basu [at] gmail [dot] com


Showing posts with label How To's. Show all posts
Showing posts with label How To's. Show all posts

Wednesday, June 23, 2010

SQL Server 2008 R2 Best Practices Analyzer (BPA)


This is nothing to do specifically with Dynamics AX :-) but this is something that caught my attention and I decided to try it out and share it and this can definitely be used in an AX environment to conduct a health & BP check on the AX SQL Database. The SQL Server team has released the SQL Server 2008 R2 Best Practices Analyzer (BPA) tool.
BPA is designed for administrators who want to determine the overall conformance of their SQL Server instances and topology with established best practices. BPA examines your SQL Server instance for system events, reviews login permissions, scans your SQL Metadata for advisable settings, and recommends solutions to items that do not conform with established Microsoft best practices.
There is an AX Security Hardening guide available from Microsoft but this is something extra which can definitely be used. I tried it on my AX Environment and it provided some nice results.

 Happy DAX-ing :-)

Wednesday, May 5, 2010

TFS 2010 and Dynamics AX 2009 VCS

Recently the technology landscape is going rapid changes. New products/ releases like VS2010, SQL 2008 R2, Office 2010 Suite etc have changed the technology scenario a lot. All these have opened up tremendous opportunities for the developer as well as the customer. Its really an amazing time to be in technology :-). I was present for the India VS 2010 Launch and immediately dived in :-). One of my task was to evaluate TFS for our AX projects. As we had been using TFS 2008, it was an interesting R&D to see if this worked with TFS 2010.
Installation of TFS 2010 went of perfectly and I was able to configure a single server TFS 2010 environment. TFS 2010 comes with tons of great features and you can read it here.
TFS blog of bHarry

Well after creating the project in TFS 2010 I set out to configure it for AX 2009 but was greeted with an error as shown below.

















On closer examination i saw that the assembly version was creating the issue. Version 9.0.0.0 was for TFS 2008 and AX was looking for that. So the next step was to see if TFS 2008 Team Explorer could be used to access TFS 2010. One interesting link I found helped me overcome that.
TFS 2008 Team Explorer to access TFS 2010

The steps to follow are:
1. Install & Configure TFS 2010
2. Install Team Explorer 2008
3. Install VS 2008 SP1
4. Install the Forward Compatibility patch (Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010
5. Open Team Explorer and Connect to TFS 2010



















Now configure VCS inside AX 2009 SP1 as shown below and it should work fine.



























Well it appears to work fine. AX 2009 SP1 does not support out of the box integration with TFS 2010 but this workaround helps you to work with TFS 2010 VCS. Microsoft may/may not release a fix/patch for AX 2009 but AX '6' should definitely support TFS 2010 out of the box. I have done some basic tests and they appear to work fine. However more detailed testes need to be carried.
The Dynamics SE team should put some update on this.
Happy DAX-ing :)

Friday, April 9, 2010

AX Environment Information on UI - Simple & sweet tweak.

I've ofter observed that during implementations where there are multiple environments it becomes difficult to identify which environment a form belongs to especially when there are multiple forms open form different environments (Live, Test, Prod, Training etc). I made a very simple tweak which highlights which environment a form belongs to. Very similar to the AX 2008 Workflow band. This was successfully tested in AX 3.0, AX 4.0 and AX 2009. Its really very simple and effective. See screenshot below.

















The XPO is attached below. This XPO is for AX 2009 SP1 and the SysSetupFormRun class was modified.



Happy DAX-ing

Sunday, March 14, 2010

Company Profile, Social networking inside Dynamics AX 2009


I was working on an AX CRM implementation where the need for social networking & company profiling came. Requirement was that BD people should have access to social networking information, stock informations for applicable Business relations which would help them do a profiling of the BR. With the widespread use of social networking like twitter, linkedIn etc, some feature need to be inside AX. Well I like such challenges and did a small POC to show stock information inside AX. Integration to LinkedIn is in WIP :-).
I added a flag in BR for the BR the sales people wanted to track.












Then I built a small and simple form to show the flagged BR. The user would have to add the ticker symbol (careful as these are case sensitive) and then can view stock information for the BR . I've used Yahoo Financials for the charts and can be used to see for multiple duration as shown.













The integration to LinkedIn is in WIP and will try to complete that when I get some time :-(. I've also added a small video and have uploaded the XPO. This was done in AX 2009 SP1 Vanilla. I've modified the smmBusRelTable so take care to import the XPO. It would be great if we could have such information inside Dynamics AX :-)
The Video is here.


The XPO and the video is also uploaded in SkyDrive . You need to have internet connection to make this work.





Happy DAX-ing :-)

Tuesday, March 9, 2010

Dynamics AX 2009 Bulk Data insert using SSIS

Recently I was working on a POC which required me to insert 1,00,000 records into AX 2009 from an external LOB application and post these lines in AX. Well that got me thinking since it was a huge amount of import. .NET BC would be very slow, excel import would not be feasible. Direct SQL inserts seemed to be the feasible solution but I had to deal with RecId, RecVersionId & Company. Well after much R&D I hit upon using SSIS and some custom scripts to get the data inside AX. My test environment was:

Environment: WIN 2008 Enterprise 32 Bit, 4 GB RAM, MSSQL 2008 Developer SP1, AX 2009 SP1.

Test Dataset: 1,00,000 records into a table in a separate database in SQL 2008.

Objective: Insert these records in AX 2009.

Results: Inserted 1,00,000 records inside AX 2009 in 13.6 seconds (along with RecId, RecVersionId & DataAreaId). Used SSIS to bulk insert the records.

So how I went forward??

1. Created a sample database & sample table and populated with demo data.

The script for sample table create is as follows.

USE [Database]

GO
SET ANSI_NULLS ON

GO
SET QUOTED_IDENTIFIER ON

GO
CREATE TABLE [dbo].[tbl_PortalTrans]( [TransactionId] [nvarchar](20) NOT NULL, [TransactionReference] [nvarchar](30) NULL, [TransactionAmount] [numeric](28, 13) NULL) ON [PRIMARY]
GO

The script for sample data in the above table is as follows.

declare @counter int

set @counter = 0

while @counter <>

begin

set @counter = @counter + 1

insert into tbl_PortalTrans values ('TRID-'+cast(@counter as char),'Transaction Ref : ' + cast(@counter as char),

1000)

end

SSIS005

2. Created a sample target table & form in AX 2009.

This would be the ultimate target of these 1,00,000 records from the source table. The source xpo is attached in the download url.

SSIS003

3. Created a SSIS package to extract, transform & load data in AX 2009.

This was the meat of the application. I creates a SSIS package which reads the source tables, uses a few transformations to add extra columns to the data, use the custom script to generate the recid’s on the fly and finally push it inside AX 2009. I have also uploaded the VS 2008 SSIS package.

SSIS Control Flow objects.

SSIS001

SSIS Data Flow objects.

SSIS002

I’m also attaching a video on how this works :-)



The source files are present below at Sky drive. In case you want to use the package, you need to have a good understanding about SSIS 2008 in order to modify the package. To use it, please modify the package. The upload also contains the AX 2009 XPO files and scripts for creating the Source Table & demo data. The files also contain a detailed video.

Happy DAX-ing :)

Monday, October 12, 2009

SharePoint 2007 on Windows Server 2008 R2

An interesting post by a fellow MVP Michael Nemtsev [MVP, Web Developer and SharePoint Consultant based in Sydney, Australia.] regarding MOSS 2007 & WIN 2008 R2. Definitely a reference if you want to install & configure EP on WIN 2008 R2.
Click here to read.

Wednesday, July 8, 2009

AX Email & URL Validation

All of you are aware that Standard AX does not carry out any validations on EMail addresses and URL's present in the contact details of BR/Cust/vend etc. However sometimes it becomes necessary to validate EMail addresses when they are entered in AX [DirECommunicationAddress] table. I was involved in a AX CRM implementation where it was required to validate email id's of contacts, BR when they are entered. Well if you consider the email validation piece, there are 2 parts:
1. Check if the EMail address is well formed
2. Check whether the well formed EMail id is valid.
For checking well formedness, you can use Regex (shown in this example) and for online validation of these emails, you can use any of the online email validation tools/ web services. For using online email validation web services, you can refer the whitepaper on 'Consuming external Web Services' by Helmut Wimmer
Well as for checking Well formedness, I created a small demo which validates email id's using regex:). The code is as below and is pretty simple. In this example I have used regex to validate email id's and URL's. The sample project is also attached as a download.


The small tool looks like this. There is a class in the project file which has 2 static methods that validates the input email/ url parameters using regex. You can change the regex match pattern.


The XPO and a small video is available for download below.

Well the main trick is to ensure that all emails entered in AX is validated, so just go ahead and check the method '\Data Dictionary\Maps\DirECommunicationMap\Methods\initCommInfoFromDirParty()'
You can extend the same to this method also and if you want have an online validation here as well.
Happy DAX-ing :-)

Friday, July 3, 2009

AX EP Role Centre inside Outlook [Short n Sweet :)]

I was just playing around with Outlook and AX trying to see see if the Role centre could be got into outlook as a default homepage. Well the simple way is to add the EP link as the defailt homepage , but it didnt look to good , with the menu etc. However if you append '&RUNONCLIENT=1' at the end on the EP RC URL, the menu's get chopped off and you see the Role centre real cool. Say if the URL is 'http://arijit:150/sites/DynamicsAx/Enterprise%20Portal/RoleCenterCEO.aspx?WCMP=CEU' then append '&RUNONCLIENT=1' at the end of the url [http://arijit:150/sites/DynamicsAx/Enterprise%20Portal/RoleCenterCEO.aspx?WCMP=CEU&RUNONCLIENT=1] and the heads of the MOSS/WSS site get chopped off. Pretty kool. See the screenshot below from my Outlook default homepage with AX CEO RC :)



Happy DAXing :-)

Wednesday, July 1, 2009

AX Intelligent Data Management Tool : Inside look

After a few hitches I've managed finally to get the IDMF started up and running and the results are pretty nice. One prerequisite is that you must have XRef done on your DB (Production :-(). Also during the post install steps watch out for the windows application log coz that goes full and you have to clean it up. However after you complete the post install steps and have executed the batches, the results are nice. To avoid the XRef* tables occupy the top tables in terms of rows and size, do not run the full XRef, just XRef the data model. Here are some screens (Done on AX 2009 SP1; WIN 2003 R2SP2,SQL 2008 ENT).

Analysis Dashboard:
Dashboard Closeup:

Analysis Details:

Data Purging (Visual XRef):

The IDM is not for Production use and should be only used in a Sandbox/ Dev environment. This is a Pre Release version . The Production build will have some more features :) like application log control...
Happy DAXING :)

Wednesday, May 6, 2009

AX 2009 & Office Business Applications [OBA]

A small example of Dynamics AX 2009 , OBA, .NET BC & Web Services (AIF). I found this OBA thing pretty interesting and did a simple demo which enables a developer to use VSTO to customize Excel which connects to AX 2009 using 2 ways (.NET BC & AIF WS) and retreives the customer list and populates the excel sheet.

A very simple example with great potential. Basically the demo consists of customizing the Ribbon in Excel 2007, adding buttons which fetches the customer master from AX 2009 using .NET BC & AIF WS. The sample code (VS 2008) is also uploaded. You can download this and customize it. I have used the base AX CustomerService Service as a sample WS. You need to change the Web Reference in the project file.

The sample project file is uploaded below.


Happy DAX-ing :)

Saturday, February 21, 2009

AX Application Launcher

I have often seen that it becomes difficult to manage AX Configurations in an implementation. Considering the fact that one has multiple instances in any implementation like Development, test, UAT, Pre Production, Production, Training and DR, it becomes quite confusing to centrally manage these and at the same time distribute these to end users. Also asking end users to manually select configurations sometimes becomes quite confusing to end users. Moreover deploying .axc and .url files to all end users becomes quite a pain :-(. To relieve this pain in one of my implementations, I came up with an AX Launcher which can be installed on each users machine . It creates 2 local folders , one for .axc files and other for .url files . This launcher then shows all the files in groups to the user. These 2 folders can now be remotely updated/ synched by the admin so when new configurations are available, it is dropped into these folders and end users can access them. Also when existing configurations are no longer used, they can be remotely removed from the folders :)
The Application looks like this...



There is an installer which I created which can be installed in users PC/Laptops (I tried with WIN XP and WIN 2K3).
You need .NET 3.0 framework to install this. The Installer created 1 root folder "AXConfig" in C:\ of the users PC and inside that folder creates 2 folders "AXRichClient" and "AXWebClient". You need to have Admin privilidges to install this. In the "AXRichClient", drop some .axc files and in the "AXWebClient" drop in the EP shortcut files - .url". The application is set to autosync with this folder every 10 mins. However the sync can also be done manually. I have attached the video on how to install the files and how to use it.



For testing purposes, I have uploaded the installer files [LauncherSetup.msi & setup.exe] as well as the video file. Please see the video file before installing. In case you want to try it out, please download these 2 files into the same folder and run setup.exe. Please do this in a test environment :). In case of any bugs, let me know.



Happy DAX-ing :)

Sunday, January 18, 2009

AX 2009 Document Management & MOSS / WSS

Recently I was re looking at AX 2009 Document Management capabilities (Which is pretty limited) and trying to find some way to extend it. Since AX 3.x, the AX Document Management has hardly undergone any major changes. I was doing a POC on AX 2009 Document Management capabilities & MOSS. Since MOSS/WSS is an integral part of AX 2009, it would be a nice idea to integrate these so as to be able to take full advantage of the document features of MOSS/WSS. However there were challenges like Security, referential integrity etc which posed a challenge. However I did some R & D and created a POC which lets users attach documents to a MOSS Document library along with AX Metadata using the base AX 2009 Document handling functionality. Although its not complete and far from perfect, it opens up a new vista for developers who want to extend AX Document handling to MOSS.

If you are aware of the basics of WSS/MOSS, there are Web Services [_vti_bin\] (Specially copy.asmx) which lets u programatically upload documents. Other than that Microsoft,Sharepoint.dll also has some interesting methods which let u do the same .

The first step was to create a MOSS Site (Document Centre template - MOSS 2007 SP1). Now I needed to store documents of various AX Modules so I created subsites for the different AX modules like CRM, Projects etc. Then the next step was to create a document library, add some extra columns to store metadata from AX (I created columns for RecId, Company, Remarks). Then save this docu library as a template for reusability :-).








Since the plan was to have separate Sites for AX Modules and separate library for different kinds of documents within a module ( Say in CRM Module, the different types of documents required to be uploaded are case Studies, Brochures etc), I needed to create some parameter tables in AX which stored the parameters per module and per document category. See attached screens. I also had to tweak the basic docuview table and form as well as the Document handling functionality.




Then I created a C# Class library which accepts parameters and uploads the document to a specified URL, Site & Document Library and returns the URL of the attached document. See code snippet below:
======================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.IO;
using System.Net;
using Microsoft.SharePoint;
using System.Collections;

namespace DynamicsAX2009
{
public class MOSSDocumentManagement
{
public String uploadDocument(String _URL,
String _Site,
String _Library,
String _File,
String _AXID,
String _AXCompany,
String _AXRECID,
String _AXReference)
{
String sUser = "mossadmin";
String sPwd = "H@lloom24";
String sDomain = "MVP";
System.Net.NetworkCredential NC = new System.Net.NetworkCredential(sUser, sPwd, sDomain);
try
{
string SiteURL = _URL + _Site ;// "http://arijit:150/AXCRM";
String Library;
SPSite sp = new SPSite(SiteURL);
SPWeb site = sp.OpenWeb();
Library = _Library;
SPFolder folder = site.GetFolder(Library);//Case Studies ; Solution Brief
SPFileCollection files = folder.Files;
FileStream fStream = File.OpenRead(_File); //path of the file to upload
byte[] contents = new byte[fStream.Length];
fStream.Read(contents, 0, (int)fStream.Length);
fStream.Close();
Hashtable MetaDataTable = new Hashtable();
MetaDataTable.Add("AX-ID", _AXID);
MetaDataTable.Add("AX-Company", _AXCompany);
MetaDataTable.Add("AX-RECID", _AXRECID);
MetaDataTable.Add("AX-Reference", _AXReference);
_File = _File.Substring(_File.LastIndexOf("\\") + 1);

SPFile currentFile = files.Add(_File, contents, MetaDataTable, true);

if (currentFile.CheckOutStatus != SPFile.SPCheckOutStatus.None)
{
currentFile.CheckIn("New Version from AX");
}

return SiteURL + "/" + currentFile.ToString();
}
catch (Exception err)
{
return ("
" + err.Message);
}
}
}
}

======================================================

Then I deployed the dll in the \Client\Bin folder of the AX Client and added as a reference. Then write a few lines of code (See Project Screenshot) in the base AX Document Handling Functionality (Forms\DocuView) which let users upload documents into MOSS Site Library and store the URL in AX :-). Pretty kewl. However security remains still a challenge. I was hoping to use the Target Audience features of MOSS for Record level Secirity but didnt have time enuff :(.






Attaching a small video. Lemme know if anyone has any suggestions.




Uploading the video . Click on link below:



HAPPY DAX-ing :-)

Saturday, January 17, 2009

AX 2009 :Cubes & Security Documentation

I was kind of very busy with an AX 2009 SP1 GDL Cons Implementation and really had some tough time configuring the cubes when country configuration keys were switched off :(. Well I gathered some nice documents regarding this . Click on the link below to download these.



Happy DAX-ing :)

Saturday, December 27, 2008

Installing AX 2009 Reporting Extensions in MSSQL 2008 & WIN 2008

When we try to install AX 2009 SP1 Reporting Services on a PC running SQL 2008,we get an error saying that MSSQL 2005 SP2 is required. Well there is a solution to this issue which is as follows: 

1. Locate the AX Reporting services dll from the extracted AX 2009 SP1 folder
[\\AX2009SP1\support\axsetupresources\microsoft.dynamics.setup.reportingservices.dll;File Version - 5.0.1000.52]

2. Extract the AX 2009 .iso to a shared folder

3. Copy the microsoft.dynamics.setup.reportingservices.dll into the folder:
\\DynamicsAX\Msi\Components32\Program Files\Microsoft Dynamics AX\50\Setup
\\DynamicsAX\Msi\Components64\Program Files\Microsoft Dynamics AX\50\Setup

4. It will ask to replace the existing dll having File Version - 5.0.593.0. Say Yes and replace.

5. Then Install AX Reporting Services extensions. It works fine and the Reporting Extensions are installed nice. 

Saturday, June 28, 2008

“How Do I” Videos — Dynamics AX

The Dynamics AX 2009 EP has undergone some major changes. Couple of “How Do I” Videos have been uploaded at MSDN by Mey and his team. Its a must download.
“How Do I” Videos — Dynamics AX
Also check out the AX EP team BLOG
AX EP Team BLOG
Check it out during the weekend :)

Saturday, June 14, 2008

Using AX .NET BC to create Purchase Orders

A small but nice project to create multiline Purchase Orders in AX from a .NET Windows application. In this small POC, there is a Windows Application (C#) which uses the .NET BC to create PO into AX. Its a simple demo but can be extended to other areas like journals, Sales Orders , Inventory Transactions (any multiline header - detail type). For this a small class is written inside AX which exposes the logic. I have used the AXPurchTable() & AXPurchLine() classes to enter PO in AX. There is a similar post in MSDN (Using Axapta Business Connector to Create Microsoft Business Solutions–Axapta Sales Orders) but that uses the COM Connector & consists only of a single line. This sample can support multiline PO :). I have not worked too much on the validations & other advanced areas. The C# code also may not be the best :) but its simple.

The video on how to use it is attached below [Assumes that the current logged in user has User rights to AX]


I have also uploaded all source files in the link below. To run the exe, you must import the xpo inside AX. I have used AX 4.02 to make this demo.


Let me know if anyone has a better way of doing this.
Happy DAXING :)

Sunday, May 4, 2008

Infopath, Web Services & AX Integration

A small quick demo on how to interface Infopath forms with AX using Web Services. In this small simple demo I have created a new supplier registration infopath form which can be posted to the company website. Any supplier
interested in registering can fill up the form and submit it to AX via Web Services. To do this, the following things were required:


1. A class in AX which holds the AX business logic to create new records in VendTable [Class_AXWS.xpo]
2. A Web Service (ASP.net) which invokes this AX class via .net Business Connector
3. A Infopath form which uses this web service [AXVendor.xsn]

First create/ import the class in AX. Then create a Web Service which invokes this class using .net Business Connector. Then create a Infopath form to use this Web Service to interface with AX.


The Web Service which interacts with AX:




The Web Service Code:




The Infopath Form:



Video of the completed application:
Infopath, Web Services & Dynamics AX
Infopath, Web Services & Dynamics AX


Source Code: [Contains all source files & raw video :)]


Happy DAXing:)

Monday, April 28, 2008

AX .NET BC - Sample Project [Level 100]

Hi, I've created a small sample project which demonstrates the use of .NET Business Connector . Ive created a Windows Application which uses the .NET BC to interact with AX. Its useful for beginners who want to understand the .NET BC. This sample shows how to read data, invoke class & table methods, insert records into AX. I've made the source files [VS 2005 Project & the AX Class ] available so you can play around with it. To use this project, you need to have access to AX, have the .NET BC installed & configured, the current windows user must have access to AX. You also need to import a sample class into AX to make this work. All files have been shared. Any improvement suggestions would be greatly appreciated.
Let me know if you face any issues.
The Application (AXBusinessConnector.exe) looks like this :)



The Source files are uploaded below:


Happy DAXING :)

Tuesday, December 18, 2007

Multiple AOS in a Multi CPU Machine :)

You are all aware that presently AX AOS does not support more that 2 processors. Now say you have a multi processor Box where you want to install multiple AOS and make sure that each AOS Service points to a specific processor. Follow the steps:
1.Open Task Manager
2.Right Click on AX32Serv.exe
3.Click "Set Affinity"
4.A window opens up which shows all the CPU's your Box has
5.You can now , for each AOS Service point/ check the CPU's you want to run on :)



But the limitation is that when you restart the service/ Box , you must do this again. Also if the AOS Service runs under local/system/network Account, you cannot do this. Only available for AD accounts.

This is NOT recommended in a live environment.

Happy DAX-ing

Sunday, November 18, 2007

AX 4 AOS Basics: [Level 100]

You are well aware that AX 4.0 has gone some serious Architectural change . If we consider the "Chart Of Accounts" as the functional heart of an ERP system, then the AOS is the technical heart of AX :). Its a very important pece in AX and it has undergone significant changes in 4.0. I'll point some major ones for techie folks who are new to AX.

AOS changed to Windows service
The Dynamics AOS is now a True windows service and can be viewed in Services.msc window. It also means that AOS Exceptions is available in the Windows event viewer. In case of any issues regarding AOS errors, the same can be viewed in the Windows Event Viewer.Also the 2-Tier configuration has been removed. All connections via 3 Tier AOS Authorized only :)

Dynamics Server$instance-numberAOS-instance-name.
AOS Service:



AOS Logs in the Windows Event viewer:




Session management
Session info moved to database - No more .udb file in the application file folder which means no more writing the user sessions in the .udb file. The user session management has been migrated to the database making it possible to manage all user and business connector sessions from one console. It also makes it possible to view all AOS sessions from 1 console which was not available in AX v 3.x.User specific information is now stored in the database.


Active directory integration
All users must use AD Authentication to access the AOS. Also no more ‘sa’ / ‘bmssa’ authentication. Normally when we install the AOS, the default User is NT AUTHORITY\NETWORK SERVICEThis is not recommended in a production environment and the AOS must have separate Domain accounts with adequate rights and privileges.
The AOS account must be a user in the database and be assigned to the following database roles
• db_ddladmin,
• db_datareader, and
• db_datawriter
Also the AOS user must have execute rights to the following stored procedures in the AX Database
• createserversessions
• createusersessions



Normally when we install AOS, we select NT AUTHORITY\NETWORK SERVICE as the AOS Startup account. Later when we go to services and want to change the startup Account, the changes must also be made in the database for the new AOS User account.

Other Improvements


You can easily restrict number of sessions for an AOS. You can now restrict the nos. of connections an AOS can accept from the AOS Server Manager utility in the main page.




Load Balancing - You can now dedicate an AOS instance as a “load balancer”. For this you do not need a high end server. This piece will access all incoming requests and distribute to the available AOS Servers. Kind of useful in TS scenario. Also now we have NLB clustering features available.



• You can easily drain stop an AOS before removing from a cluster. It is useful for maintenance mode and during upgrades. This reduces downtime of the application.


The proprietary AOCP (AX v 3.x) has been replaced by RPC. Improved Client Server calls.


Enhanced server API securityLot of work has been done regarding security API & CAS.
Lot of new security API’s are available. (For reference see the whitepaper by MFP – “Writing secure code in Microsoft Dynamics AX

Secured write access to the AOT & table permissions framework AOS
Table permissions framework helps avoid unauthorized access to AX system tables. Normally when we use the .NET BC / COM connector by validating against a AD User, the AD user Security (Set in AX) is bypassed :(.
This is security vulnerability. In AX 4.x, the table permission framework has been introduced to counteract this issue. It also means that now we can secure access to the AOT Tables. In the Table property sheet, we have a new property called AOS Authorization with the following values as shown. By default its set to ‘None’ for all tables except the System Tables (See table SysUserInfo where this property has been set to “CreateDelete”).




The AOS Authorization property helps us to enable security @ the server tier. In simple words, it tells to validate User Permissions for any CRUD operations on that table. The options for this property are shown above. If we select “Create Delete” then it will enforce User Permissions for Create & Delete operations on that table. If we select “CreateReadUpdateDelete” then it will enforce User Permissions for all operations on that table. That’s smart :).You also have this at the table level for specific user levels. There are 4 new methods in a Table.





AOS authorization – All authentications via Active Directory.

• 64 Bit Table Level RecId – Now no more worrying about running out of RecId’s :)

HAPPY DAX - ing :)