Showing posts from January, 2013

AX 2012 R2 Step By Step Installation Guide

AX 2012 R2 Step By Step Installation As you know the much awaited AX 2012 R2 is launched. I just installed AX on my local computer, So i am just sharing some screen shots for your reference to install AX 2012.

1) Start the Setup Program.

2) Click "Microsoft Dynamics AX Components" under Install.

3) Click Next.

4) Select "I accept the license terms" *.

5) Choose Appropriate Option.

6) Processing will start.

7) Choose "Add or modify components".

8) Select Options to install/upgrade.

9) Review the Errors/warnings and click on "Configure" check box for the 
applicable errors. and click "Configure".

10) Click "Start" to start configuring components as per AX needs.

11) Select "Configure existing database (for upgrade scenarios)".

12) Specify your existing databases.

13) Choose models to upgrade.

14) Specify the "Temp" location for setup files.

15) Specify the SSAS details.

16) Specify credentials (we just have used…

How to pass values from form to report

How to pass values from form to report
Hi Folks,
Follow below steps to understand this, 
1. Make the report as Interactive

2. Create MethodinitFromCaller and pass the args to it.  

3. Set the report caption (it will appear in dialog).

4. The Method initFromCaller. Method initFromCaller  Basicllt this form will call whenever you call this menu item from FORM. 
public void initFromCaller(Args _args) { InventJournalTable inventJournalTable; QueryBuildDataSource qbds; ; if (_args.caller()) { if (! _args.record().recId)    throw error(strfmt("@SYS22338",funcname())); switch (_args.dataset()) { case tablenum(InventJournalTable):

Sending mail from AX using .NET Framework

Sending mail from AX using .NET FrameworkSometimes happen that SysMailer class (using CDO) is not the right solution for sending mails with attachments. There is a little sample of X++ Job that is using System.Net.Mail namespace to achieve same.

static void JobNETSendMail(Args _args) { System.Net.Mail.MailMessage mailMessage; System.Net.Mail.Attachment attachment; System.Net.Mail.AttachmentCollection attachementCollection; System.Net.Mail.SmtpClient smtpClient; System.Net.Mail.MailAddress mailAddressFrom; System.Net.Mail.MailAddress mailAddressTo; str strBody; str strSMTPServer; str strFileName; FileIOPermission perm; ; // preparing parameters mailAddressFrom = new System.Net.Mail.MailAddres"", ""); …

Open any object from code editor to in AOT node(Editor script)

Open any object from code editor to in AOT node(Editor script)I have posted a editor script method earlier that can open and browse table for code editor.using below code developer will have ease of opening any object from AX code editor to AOT node.


void addIns_OpenInAOT(Editor e) { #AOT TreeNode treeNode; FreeText selectedLine; str 1 curSymbol; int iCopyFrom; int iCopyTo; Set selectedNodesSet = new Set(Types::Class); SetIterator setIterator; Map map;   void add2Set(TreeNodePath _path) {  ; treeNode = TreeNode::findNode(_path + #AOTRootPath + selectedLine); if (treeNode) selectedNodesSet.add(treeNode); }  ; if (e.markMode() != MarkMode::NoMark && e.selectionStartCol() != e.selectionEndCol()) { selectedLine = strLRTrim(subStr(e.currentLine…

How to Restrict Multiple Time login of a same user

Hi Folks,
Many times intentionally or unintentionally a user may open multiple session of AX. That surly impact your performance. So here is a fix, 1.Go to AOT 2.Open class ‘Info’ 3.Copy Paste the Following Code in startupPost method.
void startupPost () { // To restrict user login form second login xSession session; SysClientSessions SysClientSessions; UserId currentUserId; int counter; ; currentUserId = curUserId(); if(currentUserId!="Admin")// only Admin User is allowed to login multiple time { while select SysClientSessions where SysClientSessions.userId == currentUserId && SysClientSessions.Status == 1 // 1 : Login 0 : Logout { session = new xSession(SysClientSessions.SessionId, true); if (session && session.userId()) { counter++; } } if(counter>=2) { Box::stop("Already Logged-in : The same user id can't log in twice."); infolog.shutDown(true);