LeaderBoard

Showing posts with label Dynamics AX. Show all posts
Showing posts with label Dynamics AX. Show all posts

How to Call Report from Dynamics AX 2009

After you created your report in AX you can call report from  AX form by follow the below steps:

1- Create menu item with type output by drag and drop report to MenuItems nodes under AOT.

2- Open the form that you need to call report from.

                  Note: the form should be have dataSource with the table in report

3-  Drag and Drop menu Item created in step 1 in the form under any button group.

4- Add the following method to Report

void initFromCaller(Args _args)
{
    str                   QrderId; // field used as Rang and used to filter data
    QueryBuildDataSource  qbds; // should be represent report datasource and selected record in the form

    ;

    if (! _args ||
        ! _args.caller() ||
          _args.dataset() != tablenum(TableName) )
        return;

    QrderId = _args.record().(fieldnum(TableName,FieldName));

    qbds    =  element.query().dataSourceTable(tablenum(TableName));

    if(!qbds.findRange(fieldnum(TableName,FieldName)))
    {
        qbds.addRange(fieldnum(TableName,FieldName)) ;
    }
    qbds.findRange(fieldnum(TableName,FieldName)).value(queryvalue(QrderId));

}

Inventory Closing slow

May The below link lead you to solve Dynamics ax closing slowness issue by creating new indexes in the main tables used in the recalculation and closing process in Dynamics ax.

Inventory Closing slow:

Performance considerations for number sequences in Dynamics AX

Consider the following information about how the configuration of number sequences can affect system performance before you set up number sequences.

Continuous and non-continuous number sequences

Number sequences can be continuous or non-continuous. A continuous number sequence does not skip any numbers, but numbers may not be used sequentially. Numbers from a non-continuous number sequence are used sequentially, but the number sequence may skip numbers. For example, if a user cancels a transaction, a number is generated, but not used. In a continuous number sequence, that number is recycled later. In a non-continuous number sequence, the number is not used.

Continuous number sequences are typically required for external documents, such as purchase orders, sales orders, and invoices. However, continuous number sequences can adversely affect system response times because the system must request a number from the database every time that a new document or record is created.

If you use a non-continuous number sequence, you can enable Preallocation on the Performance FastTab of the Number sequences form. When you specify a quantity of numbers to preallocate, the system selects those numbers and stores them in memory. New numbers are requested from the database only after the preallocated quantity has been used.

Unless there is a regulatory requirement that you use continuous number sequences, we recommend that you use non-continuous number sequences for better performance.

Automatic cleanup of number sequences

In case of a power failure, an application error, or other unexpected failure, the system cannot recycle numbers automatically for continuous number sequences. You can run the cleanup process manually or automatically to recover the lost numbers.

Carefully consider server usage when you plan the cleanup process. We recommend that you perform the cleanup as a batch job during non-peak hours.

Description of the main processing steps that are performed by the Inventory Close and the Inventory Recalculation in Dynamics AX

When you run the Inventory Close routine or the Inventory Recalculation routine in Microsoft Dynamics AX, Microsoft Dynamics AX performs a sequence of steps in their processing.

Steps that are performed by the Inventory Close routine
When you run the Close routine, Microsoft Dynamics AX performs the following steps:
  1. Check whether any Recalculations were run after the date that you choose for your Close. Microsoft Dynamics AX will cancel any of those later Recalculations before the Close can start.
  2. Put all the items that are to be processed into a queue. These items are stored in the InventCostList table.
    Note While a Close or Recalculation is processing, you can click Calculation/Calculation List from the Close & adjustment form to view the data in the InventCostList table. This shows which items are still to be processed by the Close or Recalculation process.
  3. Process each item from that queue sequentially. Microsoft Dynamics AX performs the following for each item:
    1. Settle individual receipts and issues against one another for the item according to the Inventory Model Group such as FIFO, Weighted Average.
      • Make any required cost adjustments to the issue that was settled based on the cost of the receipt(s) against which the issue was settled.
      • Update the inventory transactions to show the settlement and cost adjustment data.
      • Write the settlement data into the Inventory Settlement table. The data will include records that show explicitly which Receipt(s) were settled to each Issue in addition to any cost adjustment that is made to the Issue that is settled.
    2. As soon as all possible transactions are processed for that item, Microsoft Dynamics AX looks for any transactions that are fully settled, and then update those transactions to "Closed." For more information, see the "What fields show that an inventory transaction is closed" section.
  4. As soon as all the items are processed, the settlement records that were created are read and sorted by General Ledger Account. Then, Microsoft Dynamics AX summarizes all the cost adjustments that were made, and a General Ledger Journal is created and posted.
  5. If you select the Run recalculation after closing check box in the Close dialog box, a Recalculation will be run for all items up to today's date.
Steps that are performed by the Inventory Recalculation routine
The Inventory Recalculation routine does a similar job to the Inventory Close routine. However, there are a few differences. When you run the Recalculation routine, Microsoft Dynamics AX performs the following steps:
  1. Check whether any Recalculations were run after the date that you choose to run your Recalculation up to. Microsoft Dynamics AX will cancel any of those later Recalculations found before your Recalculation routine can start.
    Notes
    • In the Select dialog box, you can select item(s) for which you want to run the Recalculation, unlike the Close routine that always processes all items.
    • While a Recalculation or Close is processing, you can click Calculation/Calculation List from the Close & adjustment form to view the data in the InventCostList table. This shows which items are still to be processed by that Close or Recalculation.
  2. Put all the items that are to be processed into a queue, and then store the queue in the InventCostList table.
  3. Process each item from that queue sequentially. Microsoft Dynamics AX performs the following for each item:
    • Make a "virtual" settlement between individual receipts and issues for the item according to the Inventory Model Group such as FIFO, Weighted Average. This is a "virtual" settlement because it is occurs in the Recalculation’s calculations. However, the detailed settlement data that shows the explicit matching of each issue to the various receipts is not stored in the InventSettlement table. The only data that is stored is the cost adjustment that is made to the issue.
      • Make any required cost adjustments to the issue that was settled based on the cost of the receipt(s) against which the issue was settled.
      • Write a single settlement record for any cost adjustment that is made for that Issue into the Inventory Settlement table.
  4. As soon as all the items are processed, the cost adjustment settlement records that were created are read, sorted by General Ledger Account, and summarized and posted in a General Ledger Journal.
What fields show that an inventory transaction is closed
To show that an inventory transaction is "closed", Microsoft Dynamics AX performs the following:
  1. When the Inventory Close routine has fully settled the Quantity and Financial Cost of a specific inventory transaction, Microsoft Dynamics AX updates the individual inventory transaction to show that the transaction is "closed."
  2. For a transaction to be closed, it must meet the following criteria:
    • The "Quantity" must match the "Quantity Settled."
    • The sum of "Cost Amount Posted" plus "Cost Amount Adjustment" must match the "Cost Amount Settled."
  3. When those conditions are met, then the Close program will do the following:
    • Set the field "Value Open" from "Yes" to "No."
    • Store the date of the close in the field "Date Closed."
    This means that the individual inventory transaction is "closed."

Common Keys Steps for The Planning integration process Between AX and Others Application

1. In a typical integration scenario, users who have business expertise first determine the document exchange needs. These are requirements from a business perspective. The business users work with the Implementation team to specify:
a. What data is to be exchanged.
b. Any business logic related to that data.
c. The external systems with which data is to be exchanged.
d. The conditions under which data is sent from or received by Microsoft Dynamics AX.


2. The partner or system implementer works with the customer and their IT staff to determine the hardware and software requirements for AIF. They analyze the existing environment and recommend any new hardware or software that must be installed.


3. The customer's IT staff installs and configures any required hardware and software to support AIF.

4. The partner or customer developer programs the document exchange. They can make customizations to the AIF documents or create new documents to meet the requirements of the business users. How AIF is configured depends in part on the network environment. Therefore, the developer may work with IT staff when implementing an integration scenario.

5. IT staff monitors the document exchanges and troubleshoot any errors that are generated.

Dynamics AX Build numbers

The build version numbers are split into three parts. First the client version number is listed, followed by the application version. Formatted like: Build #client version/application version/localization versions.

Contents

  • 1 Dynamics AX 2012 R3
  • 2 Dynamics AX 2012 R2
  • 3 Dynamics AX 2012
  • 4 Dynamics AX 2009
  • 5 Dynamics AX 4.0
  • 6 Axapta 3.0

Dynamics AX 2012 R3

Build number

Version

6.3.126.8

2012 R3 CTP5

6.3.42.13

2012 R3 CTP4

Dynamics AX 2012 R2

Build number

Version

6.2.158.0

2012 R2

6.2.1000.156

2012 R2 Cumulative Update 1 (CU1)

6.2.1000.1437

2012 R2 Cumulative Update 6 (CU6)

6.2.1000.4051

2012 R2 Cumulative Update 7 (CU7)

Dynamics AX 2012

Build number

Version

6.0.852.78

2012 Beta

6.0.947.0

2012 RTM

6.0.947.61

2012 Cumulative Update 1 (CU1)

6.0.947.280

2012 Cumulative Update 2 (CU2)

6.0.947.862

2012 Feature Pack

6.0.1108.670

2012 Cumulative Update 3 (CU3)

6.0.1108.2423

2012 Cumulative Update 4 (CU4)

6.0.1108.4316

2012 Cumulative Update 5 (CU5)

Dynamics AX 2009

Build number

Version

RPC interface version

5.0.593.0

2009 RTM

50444.0 (C50C.0000)

5.0.593.439

2009 Hotfix Rollup 1 (RU1)

N/A

5.0.593.662

2009 Hotfix Rollup 2 (RU2)

N/A

5.0.593.827

2009 Hotfix Rollup 3 (RU3)

N/A

5.0.593.1084

2009 Hotfix Rollup 4 (RU4)

N/A

5.0.593.1287

2009 Hotfix Rollup 5 (RU5)

N/A

5.0.593.1429

2009 Hotfix Rollup 6 (RU6)

N/A

5.0.1000.52

2009 SP1

50444.0 (C50C.0000)

5.0.1500.358

2009 SP1 Hotfix Rollup 1 (RU1)

50444.0 (C50C.0000)

5.0.1500.809

2009 SP1 Hotfix Rollup 2 (RU2)

50444.0 (C50C.0000)

5.0.1500.1313

2009 SP1 Hotfix Rollup 3 (RU3)

50444.0 (C50C.0000)

5.0.1500.2116

2009 SP1 Hotfix Rollup 4 (RU4)

50444.0 (C50C.0000)

5.0.1500.2985

2009 SP1 Hotfix Rollup 5 (RU5)

50444.0 (C50C.0000)

5.0.1500.3761

2009 SP1 Hotfix Rollup 6 (RU6)

50444.0 (C50C.0000)

5.0.1500.4570

2009 SP1 Hotfix Rollup 7 (RU7)

50444.0 (C50C.0000)

5.0.1500.6491

2009 SP1 Hotfix Rollup 8 (RU8)

50444.0 (C50C.0000)

Dynamics AX 4.0

Build number

Version

RPC interface version

4.0.1659.26

4.0 RTM

41638.0 (A2A6.0000)

4.0.1659.35

4.0 RTM (localized)

N/A

4.0.2163.0

4.0 SP1

42060.0 (A44C.0000)

4.0.2500.XXX

4.0 SP1 DIS layer hotfixes

42060.0 (A44C.0000)

4.0.2501.116

4.0 SP2

42060.0 (A44C.0000)

4.0.2503.XXX

4.0 SP2 DIS layer hotfixes

42060.0 (A44C.0000)

Axapta 3.0

Build number

Client version

AOCP version

1951.8

3.0

N/A

1951.17

3.0 SP1

60029 (0xEA7D)

1951.18

3.0 SP1

N/A

1951.2410

3.0 SP2

60031 (0xEA7F)

1951.2411

3.0 SP2 Hotfixed

60031 (0xEA7F)

1951.3730

3.0 SP3

60031 (0xEA7F)

1951.3733

3.0 SP3 Hotfixed

60031 (0xEA7F)

1951.4060

3.0 SP4

60031 (0xEA7F)

1951.5160

3.0 SP5

61031 (0xEE67)

1951.6710

3.0 Kernel Rollup 1

61031 (0xEE67)

1951.7500

3.0 Kernel Rollup 2

63031 (0xF637)

1951.7609

3.0 Kernel Rollup 3

63031 (0xF637)

Build number

Application version

514-90

3.0 SP2

514-193

3.0 SP3

514-320

3.0 SP4

514-513

3.0 SP5

514-859

3.0 SP6

Install Microsoft Dynamics AX in Silent Mode

When you run the Setup wizard, Setup is running in interactive mode. This means a graphical user interface (GUI) prompts you for required information.
Alternatively, you can run Setup in silent mode, with no GUI displaying. In this mode, required information is supplied at the command prompt or in a parameter file. You can install any Microsoft Dynamics AX component in silent mode.
NOTE: A silent installation is especially useful when deploying multiple clients at one time.

Deploy Multiple Clients
To deploy multiple Microsoft Dynamics AX Windows clients at one time, it is recommended that you use the following process.
1. Copy the contents of the Microsoft Dynamics AX DVD to a shared directory on the network.
2. Create a common configuration file in a shared directory on the AOS computer that clients will connect to.
3. Create a batch file to install clients with a shared configuration. The file must be located in a shared directory in  the Microsoft Dynamics AX DVD shared folder, at the same level as Setup.exe.
4. Test the batch file on a local computer.
5. Use a mass deployment tool such as Group Policy or Microsoft Systems Management Server to run the batch file from a logon script.

For more information about using Group Policy to deploy software, refer to: http://go.microsoft.com/fwlink/?LinkId=92736.
For more information about using Systems Management Server to deploy software, refer to: http://go.microsoft.com/fwlink/?LinkId=115327.
The following procedures contain more detailed information about creating a shared configuration file and creating a command file.

 

Determine Which Parameters to Use
The same parameters are available whether you enter them at the command prompt or create a parameter file. For information about individual parameters, refer to the Setup parameters reference (http://go.microsoft.com/fwlink/?LinkId=191476) on TechNet.
To determine which parameters to use, it is recommended that you install a client on a single computer and then review the Setup log file, which is located at <Drive>\Program Files\Microsoft Dynamics AX\Dynamics AX\60\Setup
logs\Date Time\DynamicsSetupLog.txt. The log lists the parameters used in the installation.

Specify Installation Parameters at the Command Prompt
Use the following procedure to run the installation by entering parameters at the command prompt.
1. Open a Command Prompt window.
2. At the command prompt, type the following information: <Path to DVD or shared directory>\Setup.exe parameter1="value" parameter2="value". When using multiple parameters, insert a single space between parameters.
WARNING: If you enter duplicate parameters, Setup will fail silently.
3. After you have listed all parameters, press Enter.

Specify Installation Parameters Using a Parameter File
Use the following procedure to run the installation by specifying a parameter file at the command prompt.
1. Create a text file that lists the appropriate installation parameters and their values. In the parameter file, the Name=Value combination for each parameter must be on a separate line.
WARNING: If you enter duplicate parameters, Setup will fail silently.
2. Do not include double quotation marks in parameter files. Because a line return is used as a delimiter in a parameter file, values that otherwise require the use of double quotation marks do not require them here. To prevent a line in a parameter file from being read, type a number sign (#) before the line. The line will be treated as a
comment rather than a command or parameter.
3. Open a Command Prompt window.

4. At the command prompt, type the following information: <Path to DVD or shared directory>\Setup.exe ParmFile=<path to file\FileName.txt>. The path can be fully qualified or relative to the location of the Setup.exe file. Relative paths can include upward qualifiers such as "..\..\".
5. Press Enter.

NOTE: To set up clients to use a shared configuration file, set the ClientConfigFile path parameter to the file in the shared directory. ClientConfigFile="X:\<name of configuration file>.axc"

Sample Parameter File
The following is an example of a parameter file that can be used to install the databases and the Application Object Server (AOS). Your parameter file will vary, based on the components that you are installing.
HideUI=1
AcceptLicenseTerms=1
DbSqlServer=SQLServerName
DbSqlDatabaseName=DatabaseName
InstallApplication=1
ApplicationInstanceName=ApplicationInstanceName
InstallAos=1
AosInstanceName=AOSInstanceName
AosApplicationPath="C:\Program Files\Microsoft Dynamics AX\60"
AosReportErrors=0

Procedure: Create a Group Policy Logon Script
To install clients using Group Policy, follow these steps:
1. Open Start > Administrative Tools > Group Policy Management.
2. Expand Group Policy: Management > Forest: Contoso.com > Domains > Contoso.com.
3. Right click Contoso.com, and select Create a GPO in this domain, and Link it here.

image

4. In the Name field, type "Dynamics AX Logon Script", then click OK.
5. Right-click "Dynamics AX Logon Script", then click Edit.
6. Expand User Configuration > Policies > Windows Settings > Scripts (Logon/Logoff).
7. In the right pane right click Logon, and then click Properties.
8. Click Show Files. This will bring up a file dialog in a logon folder.
9. Right-click the folder and then click New > Text Document to create a new text document in this directory.
10. Double-click the new file to open it in Notepad.
11. Enter the following script and save the file: D:\Setup.exe HideUI=1 AcceptLicenseTerms=1 InstallClientUI=1
ClientAosServer=Company1 ClientLanguage=en-US ClientHelpLanguages=en-US

NOTE: The directory path for Setup.exe should be a network path.

12. Right-click and rename "New Text Document.txt" to "AxInstallClient.cmd", then confirm the change of the file name extension when you are prompted.
13. Close the Windows Explorer menu.
14. Click Add, then click Browse.
15. Select "AxInstallClient.cmd", and then click Open.
16. Click OK.
17. Notice that the script has been added to logon properties, and then click OK.
18. Close Group Policy Management Editor.

NOTE: This setup can be proven by uninstalling the client, look to verify that the client has been removed, logoff the Virtual Machine (VM), logon to the VM, and verify that the client has been reinstalled. It might take several minutes after the logging on for the Microsoft Dynamics AX 2012 to apply.

NOTE: Scripts can also be set to run on the startup and shutdown of a server.

How to: Override the fetch Method to Filter Data for Reports (MorphX Reporting Tools)–AX 2009

You can override the fetch method to filter the data that is displayed in a report. This override does not reduce the number of records that are returned by the query of the report. Instead it prevents some records from being sent to the final report. Each record is examined by the branching logic you add to the fetch method. Branching determines which records to give to the send method. Those records appear in the final report.

Note

Do not call super() when you override the fetch method in a report.

By default, each record that is returned by the query appears in the report. To reduce the number of records returned, add range restrictions to the query. Report ranges are more efficient than overriding the fetchmethod; however, report ranges are less expressive. For information about adding ranges to queries, see Query Elements in the AOT.

Example


The following code example loops through each record that is returned by the query. The code tests a field in each record and branches to a send method call for records that belong in the report.

In this example, the BankAccountTable table is the only data source for the report. The fetch method in the report is overridden with the following code.

public boolean fetch()
{
boolean retCode = false;
BankAccountTable bankAccountTableRec;
QueryRun qrun;
;
// Use the queryRun object that is associated with the
// report; element refers to the report.
qrun = new QueryRun(element);

// Verify that the report dialog works.
if (! qrun.prompt())
{
return retCode;
}

// Loop through each record from the data source query of the report.
while (qrun.next())
{
// Get the BankAccountTable fields from the query record.
bankAccountTableRec = qrun.get(TableNum(BankAccountTable));

// Exclude ODDBANK from the visible report.
if (bankAccountTableRec.AccountID != "ODDBANK")
{
// Include the current record in the report.
element.send(bankAccountTableRec);
}
}
retCode = true;

// retCode = super(); // Do not call super() when you override the fetch method.
return retCode;
}

RAID Subsystem – Very important topics when you implement Dynamics AX

With an Enterprise Resource Planning (ERP) system such as Microsoft Dynamics AX 2012, the database server generally stores a very large amount of important data for the business. If this data is unavailable for any length of time, the business could experience significant financial losses. Using a Redundant Array of Independent Disks (RAID) can help reduce the possibility of this loss from occurring. Another important aspect for a database server is fine tuning for optimal performance. A RAID disk subsystem can also be used to help achieve this goal.

RAID refers to a group of two or more disks managed as a single unit to store the data together with additional, or redundant, information to provide recovery if
there is a disk failure. Usually a failed disk in a RAID system can be replaced while the server is still running. This is one benefit of RAID.

NOTE: More Information on RAID can be found on the Microsoft MSDN web site.

Read/Write Performance:

Hardware RAID controllers divide read/writes of all data from Windows and applications such as Microsoft SQL Server into slices (usually 16 KB - 128 KB) that are spread across all disks participating in the
RAID array. Splitting data across physical drives distributes the read/write Input/Output (I/O) workload evenly across all physical hard disk drives participating in the RAID array. This increases disk I/O performance because the
disks participating in the RAID array are all kept equally busy, instead of some disks becoming a bottleneck because of irregular distribution of I/O requests.

Fault Tolerance: RAID provides protection from hard disk failure and accompanying data loss with two methods: mirroring and parity. There are many types of RAID configurations; each is called a RAID level, but only some RAID
levels are typically used with Microsoft Dynamics AX 2012.

RAID 0
RAID 0, which is not recommended for use with Microsoft Dynamics AX 2012, is typically defined as a group of striped disk drives, without parity or data redundancy. RAID 0 arrays deliver the best data storage efficiency and
performance of any array type.

image

RAID 1
RAID 1 is also known as disk mirroring. This is a pair of disk drives that store duplicate data, but appear to the computer as a single drive. All writes move to both drives of a mirrored pair so that the information on the drives is kept
identical. However, each drive can perform concurrent, independent read operations. Mirroring therefore doubles the read performance of a single nonmirrored drive, while the write performance is unchanged. RAID 1 delivers the
best performance of any redundant array type.

image

RAID 5
RAID 5 is also known as a Rotating Parity Array. RAID 5 works by striping data and parity across all the drives. Typically RAID 5 arrays offer similar read performance as pure striping, although writes are slower because the parity
information is updated every time. If one hard disk fails, it must be replaced with a new one of equal or larger size and it rebuilds from the parity on the remaining drives.

image

RAID 0+1
RAID 0+1, is a dual-level RAID and achieves a balance between the increased data availability of RAID 1, mirroring, and the increased read performance of RAID 0, striping. Do not to confuse RAID 0+1 with RAID 10, they work
differently and RAID 0+1 is what is recommended.

image

For maximum performance configure the database server shown in the following example:
• Two disk RAID 1 for the operating system and database software
• A small, four disk RAID 0+1, or two disk RAID 1 for database logs
• A larger RAID 0+1 for the main database files
o To reduce cost, swap out the RAID 0+1 for a RAID 5. However, this will result in slower performance.

What makes a good Dynamics AX Project Manager?

The success and failure of Dynamics AX project is directly related to the quality of the project manager leading it. A recent survey of PWC showed that over 85% of dynamics ax project failed to achieve their core objectives – poor project management was one of the root causes.

to complete the post kindly click this link

30 database entity relationship diagrams (ERDs) for tables of Microsoft Dynamics AX 2012 R2

Announcing the AxERD site: Database Entity Relationship Diagrams (ERDs) for Microsoft Dynamics AX 2012
The new "AxERD" website is now online! This site contains about 30 ERDs for the most-used tables in Microsoft Dynamics AX 2012. The AxErd site has all the foreign key information sorted and gathered together in one place. For any table, you can retrieve a list of the child or parent tables with one click. Visit the AxERD site today and let us know what you think: http://go.microsoft.com/fwlink/p/?linkid=296623.

Dynamics AX 2012 - Developing Secure Mobile Apps

Updated Version of "Developing Secure Mobile Apps" White Paper Now Available
This white paper describes how to develop mobile client apps to communicate with Microsoft Dynamics AX 2012 from phone or tablet platforms. Mobile apps can enable a wide variety of business processes, such as submitting expense reports and timesheets, to be conducted from anywhere. This document provides a walkthrough of a sample app for employee expense capture.

Microsoft Dynamics AX 2009 System Requirements

Microsoft supports the following system recommendations for Microsoft Dynamics AX 2009. Before installing Microsoft Dynamics AX, be sure that the system you are working with meets or exceeds the minimum hardware and software requirements.
Network requirements
The following table lists the minimum network requirements for the connection between the client and the Application Object Server (AOS) and the connection between the AOS and the database in a Microsoft Dynamics AX system.
Value Client to AOS AOS to database
Bandwidth (b) 100 megabits per second (Mbps) 100 Mbps
Latency (l) Less than 5 milliseconds Less than 5 milliseconds

The total response time for running a task in Microsoft Dynamics AX can be expressed by the following formula:
Response time = (Number of calls to and from the server * l) + Number of bytes sent/b
We recommend that you consider the following types of connections when planning your system:
· For a system that uses a local area network (LAN), connect directly through a Microsoft Dynamics AX client.
· For a system that uses a wide area network (WAN), connect using Windows Server Terminal Services or another remote connection product. For more information about using Terminal Services, see the Terminal Services site on Microsoft TechNet.

Test Data Transfer Tool for Microsoft Dynamics AX 2012


Reference:
technet.microsoft.com and other sources

Microsoft has released the beta version of Test Data Transfer Tool for Dynamics AX 2012. Which is applies to Microsoft Dynamics AX 2012 Feature Pack and Microsoft Dynamics AX 2012.

This tool is a command-line tool that exports data from a Microsoft Dynamics AX 2012 transaction database in a production or non-production environment. The tool also imports data into a Microsoft Dynamics AX 2012 business database in a non-production environment. The non-production environment can be either a development or test environment. Microsoft strongly recommends not use this tool to import data into a production environment.

The Test Data Transfer Tool (beta) is a powerful tool for importing and exporting data. The test data transfer tool is useful when we required to import large set of data into other environment (Non production), move data in different environments with similar customization's and when data version is required. You must run the tool directly from the system that is hosting the database during import.


To use this tool you should have prior knowledge on SQL databases. To perform the activity using this tool you should be a database administrator or a developer who has experience and also have permission to read from or write directly to the Microsoft Dynamics AX database that you are working with, and to execute applications directly on the computer that is hosting the database. Before performing this activity you need to take the backup of source and destination databases.

Each and every operation that works with data has risks and also make sure that you understand which conditions are logged as errors during import. For example, you might try to import data for a table or column that does not exist in the target database. This attempt is not treated as an error by the tool, because the tool is designed to work seamlessly when the source and target databases have a different set of tables.

The Test Data Transfer Tool (beta) is available from the InformationSource Services download page.

Benefits:

The Test Data Transfer Tool (beta) uses the Microsoft SQL Server bulk copy tool (bcp). The Test Data Transfer Tool provides the following key benefits that other methods for importing and exporting Microsoft Dynamics AX data do not provide:

  • You can export or import data when an AOS instance is not running.
  • You can export or import Microsoft Dynamics AX data more quickly compared to other methods.
  • Only minimal changes are made to the data that you import. This feature helps guarantee that the data is stable over time. For example, the tool never renumbers RecIDs.
  • The data file format is text-based. Therefore, the data can be compared with earlier versions and stored in a version control system.
  • The data file format is a standard format that is produced by bcp.

The Test Data Transfer Tool (beta) adds the following features that work with bcp. These features make bcp an appropriate tool for managing data for Microsoft Dynamics AX.

  • Exported data can be filtered. Therefore, specified tables, columns, or rows can be easily excluded from the export.
  • Differences between builds of Microsoft Dynamics AX 2012 are found and corrected. These differences often occur during development. Because of this feature, data can often be imported without user intervention, even when the table definitions have changed. For example, tables or fields that have been renamed do not prevent import.
  • Entity IDs, such as table IDs, class IDs, and extended data type IDs, are updated to match the IDs of the target system.
  • The tool reads and correctly updates the SYSTEMSEQUENCES table.

Limitations:

  • The Test Data Transfer Tool (beta) does not make sure that data that you export is complete or coherent. However, the tool does export any data that you ask it to export.
  • The tool does not make sure that data that you import produces a complete or coherent database. However, the tool does import any data that you ask it to import.

The Test Data Transfer Tool (beta) imports and exports the data as-is. In some cases, you might exclude tables or records from either import or export. Nevertheless, the tool does not make sure that the data is complete or coherent when other tables contain references to excluded tables or records. Therefore, after import and export, you must make sure that the data that you are importing or exporting is coherent.

Microsoft Releases New Dynamics AX App for iPhone

Microsoft has released a new Dynamics AX iPhone app for use with Microsoft Dynamics AX 2012 R2.
Features:
This application enables you to capture your expense transactions and receipt information. This application also allows you to create and submit timesheets. The information captured with this application will be available when you enter or update an expense report and/or timesheets in Microsoft Dynamics AX 2012 R2. If your organization uses Microsoft Dynamics AX 2012 R2 and has enabled these features, you will be notified by your system administrator.
You can download Dynamics AX from the App Store for free.
Read More

Source

Ax 2012 R2 Hotfix for Compile Time needs Schema Update

Just a quick note on the hotfix that was released quite a while ago to improve compile times on R2. Many blogs including the official Microsoft one linked directly to the hotfix, and many people have installed it immediately with no result. What many people don't seem to know (and honestly in my own haste to try it out I did the same thing at first) is that you need to update your model store schema to benefit from the improvements which included new indexes in the model store.
So, if you have installed the hotfix (KB2844240), make sure to run "axutil schema" on the model store to actually make the changes take effect!

Source Joris dG

Top 10 issues discovered from Dynamics AX Health Check

A very informative blog post by Bertrand Caillet covering important points for Dynamics AX best practices for health check, and it contains a sub links under main points. I am glade to share it over my page.

1. Max Degree of Parallelism is not set to 1

2. No Pre-Allocation for Non Continuous Number Sequences with high consumption

3. Insufficient Auto Growth for Data and Log files

4. Processor bottleneck for Dynamics AX batch processing

5. Heavy Application database logging

6. Missing Clustered indexes

7. Wrong Index maintenance

8. Enabled debug in Production

9. Power Management set to Balanced

10. Kernel and Application are outdated and should be patched

The Premier Field Engineer team has been running several hundred of Dynamics AX Health Check worldwide and I thought it would be interested to share the most common issues discovered during onsite. Some of the following issues might look trivial but the reality is that despite all the literature that exists today on the solution Dynamics AX, we can still see same repeated patterns, especially when default settings are used in production. Please note there is no logical order in this list.


1. Max Degree of Parallelism is not set to 1

The default setting from SQL Server installation is zero. If OLAP applications are running on the same SQL Server instance, the risk is that all CPUs are consumed (% Processor Time) and therefore impact performance of the OLTP application. To prevent this, we recommend to set MAXDOP to 1. Please note that in some situation when SQL Server batches or queries are run, using some degree of query parallelism can be beneficial. In this case setting Max degree of parallelism to 2 or 4 is probably a better value to take into account both types of queries.


2. No Pre-Allocation for Non Continuous Number Sequences with high consumption

This is a crucial setting in the Dynamics AX application that needs to be reviewed every few months on production to match the usage of the number sequences. Basically, number sequences can be Continuous or Non Continuous. When they are non-continuous, you can allow pre allocation per ID and therefore reduce the database calls and improve performance. When consumption is high, like several ID per seconds, we have noticed Lock Escalation events on the table NumberSequenceTable. This is especially true when Dynamics AX batch are running and generate thousands of records for Journals Lines creation or Sales Order Invoicing. Please read this blog post to better estimate this consumption.


3. Insufficient Auto Growth for Data and Log files

The default Auto growth is By 1 MB for Data and By 10% for Log files. If the initial size is too small, you will notice frequent auto growth events, resulting in negative performance impact. In the SQL trace, you can monitor such event with ID and see the duration of each auto growth event. The goal is to set an appropriate Auto Growth value on the Dynamics AX and TempDB Data and Log files to prevent frequent auto growth events during daytime. You can monitor such events and their duration in milliseconds in the SQL Trace with ID 92 and 93. One recommendation is to set the Auto Growth with a greater value, from 200MB to 500MB.


4. Processor bottleneck for Dynamics AX batch processing

Most of the customer running Dynamics AX are enabling only one AOS instance for the batch processing and several AOS dedicated for rich clients load which therefore limit the number of batch thread to the number of logical processor available on that single AOS instance. Also the setting on the AOS batch is often the default one with 8 maximum batch thread and 24 hours a day schedule . A good ratio to calculate the number of thread is to multiply the number of cores by 2, but this depends on the processes running and should be validated in testing. To overcome this limitation, you can set different batch thread for different time of the day and enable more AOS for Batch processing at night. For example, you can dedicate one AOS for Rich client load from 8 am to 6 pm and leverage it for batch processing at night. You can read this blog post to learn how to tune the number of thread required for faster batch execution.


5. Heavy Application database logging

This is another important setting in the Dynamics AX application that often has negative impact when over utilized. This feature allows to track all CRUD operations (including Rename primary key) on any field and any table of the database. This information will be stored in the table SYSDATABASELOG. You should not use this feature to track automated transactions run in batch jobs. You can monitor the table growth of SYSDATABASELOG and estimate the most expensive table set up with database logging. Please also notice that enabling the logging on field like CreatedDateTime or ModifiedDateTime will change the default behavior of InsertRecordSet from a single round trip to the database to a record-by-record operation. The three recommendations are:

  • Define a retention policy to only keep the latest 3 months for example so that size of table SYSDATABASELOG remains small. You can find the clean-up form under Administration | Inquiries | Database log | Clean up log.
  • Avoid heavy logging for transactional tables processed during the batch and prioritize activity that is absolutely necessary either for legal compliance or to meet other business requirements.
  • Avoid logging the columns CreatedDateTime or ModifiedDateTime of any table.


6. Missing Clustered indexes

This might not be the most common issues but it is definitively one of the most impacting one. All tables in an OLTP database should have clustered indexes, and you should investigate them by looking at the highly active tables, tables frequently involved in blocking or deadlock situations, tables that frequently incur the overhead of forwarded rows. Because the database model is changing during the lifecycle of the application with new customization and because indexes are managed from the Application Object Tree, it is important to periodically check the missing indexes from SQL Server Statistics. You can use the query “4-Analyze_SQL_Indexes.sql” from Dynamicsperf version 1.1.6 to find all missing indexes.


7. Wrong Index maintenance

Following the Missing clustered indexes issue mentioned above, the index maintenance is clearly one of the unhealthiest issue for Dynamics AX. Having a bad index maintenance or no index maintenance at all will have the same consequences: when statistics are outdated, Query Plan will use SCAN instead of SEEK operations and their performance will be badly impacted. The level of fragmentation is not that critical as such for performance, but it should be part of the weekly maintenance. The following is a recommended example:

  • Reorganize indexes that are larger than 1000 pages and are between 10% and 30% fragmented.
  • Rebuild indexes that are larger than 1000 pages and more than 30% fragmented using a fill factor between 85% and 95% depending on the frequency of the job execution.

It is also strongly recommended to run Update Statistics regularly with FULL SCAN, or with at least a 50% sample, as well as having Auto_Create_Stats and Auto_Update_Stats enabled. If you are running SQL 2008 R2 SP1 or greater, you can also enable Trace Flag 2371.


8. Enabled debug in Production

In the Dynamics AX Server Configuration Utility, you should always disable the two settings that allow user breakpoint and global breakpoint to debug X++ code. Even though you delete all breakpoints in the Application Object Tree, you will still suffer from a clear performance degradation around 10%.


9. Power Management set to Balanced

This is an easy one but almost never implemented in production since the default power management is set to balance. Changing it to High performance is highly recommended for all Windows Server 2008 used in Production. You can see this setting from Control Panel – hardware – Power Options or with the following command: “powercfg –getactivescheme”.


10. Kernel and Application are outdated and should be patched

Last but not least, maintain your Dynamics AX solution as much updated as possible. For example, you can notice that latest Rollup for Dynamics AX 2009 SP1 is RU8 and is already one year old. Several hundred of Hot Fixes have been released since and it is a best practice to apply those to leverage the latest fixes from the Product Group. The two recommendations are:

  • Patch the Binaries with the latest Kernel available. You can see the latest KB on the AX Support Blog. As of today, the latest one for Dynamics AX 2009 SP1 is build 5.0.1600.1824 from June 2013.
  • For the Application, you should upgrade to latest RU available, but you can also proactively check the list of individual Hot Fixes relevant to your business logic.

As you can see this list is not exhaustive and we could elaborate hundred of issues discovered from existing Dynamics AX live instance, but I do hope it can help you remediate some of the current issues you may experience. I will also encourage you to read the great article written by Arvind Shyamsundar on MSPFE blog regarding the 10 top SQL Server Issues uncovered by the SQL Server Risk Assessment Program.

Finally, please contact your Microsoft Premier Technical Account Manager if you will like to receive guidance from the Premier Field Engineering.

Source: Dynamics AX in the Filed

Create display Method in Dynamics AX Table

Let is say you have value you want to display in Ax report or Form, and this value not available in your table for example

We have salesTable in AX have salesStatus field and you want to display sales order status in your report or form, to achieve that you want to create display method in SalesLine Table to display sales order status in required form and report.

Display salesStatus getSalesStatus()

{

SalesTable         _salesTable;

;

select salesStatus from _salesTable where _salesTable.salesId == this.salesId;

return _salesTable.salesStatus ;

}