Tuesday, July 28, 2015

AX and Zebra Printer for Labels printing

I found this very useful information from Dynamics AX communities. Thanks to community members and I am posting it as is here;

This blog post is based on a document from Boštjan Golob, a solution architect working with Dynamics AX. You can connect with Boštjan through 

Step 1: Understanding
How does AX actually print the labels? It is important to know that most label printers currently in use (such as Zebra brand printers) include some sort of a programming language interpreter and that the print job sent to a label printer is actually a small program. This is no different than with larger printers that use Postscript (there are web servers written in Postscript). In label printing, the feature set of a command language is usually quite rich: you can control the cutting of labels, the printer itself knows how to draw barcodes, you can select fonts that it has loaded in its memory and so on. This is an example of a ZPL (Zebra Programming Language) program:


AX can print a very sophisticated label by sending such a »program« to the label printer, while at the same time knowing absolutely nothing about label layouting. The labels stored in AX are command snippets like above. These are stored in Document routing layouts (Warehouse management – Setup – Document routing – Document routing layouts).
Knowing when to print a label is the job of configuration of menu items and work templates. AX can initiate printing of labels at work creation (for example in receiving scenarios), or during work execution. Which label to print is the job of document routing setup, where we tell the system, based on what we are currently doing, which label to pick and which label to send it to. We well get to configuration later.

Step 2: Getting the label in a text format
In order for this walk-through to be as comprehensive as possible (and as easy to click through without any annoying »this is left as an exercise to the reader« parts), the process of creating a small demo label will be demonstrated. I will use the NiceLabel labeling software (Made in Slovenia).
First, get the NiceLabel Designer Pro from the web site (www.nicelabel.com) and install the 30-day trial. Also download the NiceLabel Label Printer Drivers, as we will need them to create a dummy printer for NiceLabel to adapt the label to. This is important – label designs can be printer dependent and if you use multiple types of printers, it's best to export the labels with NiceLabel set to every different printer you will use the label with!
Before creating the label, follow these steps to create a dummy printer:
  1. Open the »Devices and Printers« in Control Panel, click on any printer and from the toolbar, select Print Server Properties.
  2. In the next form, select the Ports tab.
  3. Click Add Port…
  4. Select Local port and click New Port…
  5. For the port name, enter a file name (I use C:\_TEMP for misc. crap, so I put in C:\_TEMP\ZEBRAPRINT.TXT)
  6. OK out of everything.
  7. Run the installation program for the NiceLabel Printer Drivers and select a printer you would like to use (I have chosen a pretty basic »ZEBRA GC420d ZPL« printer).
  8. Select the port you have just created.
  9. Finish the installation.
  10. Rejoice!
After the printer is ready, open NiceLabel Designer and create a new label, selecting the printer you have just installed. You will get a blank canvas and you can start drawing. I have created the following layout using the Text and Bar code tools:

The second text field is a variable field with the variable name LicensePlateId and the same variable is used for the bar code as well. You can design the label with fixed values, but you will then need to change the text in AX. NiceLabel also comes with plenty of out of the box sample labels, including GS1 SSCC label and so on, which can also be used as a starting point.
To get the text version of the label, you can use several options. NiceLabel Designer Pro supports export of templates for use in external systems. First, let's configure the AX specifics for export. Select File – Export – Printer Template Export Configuration and Add a new system. Give it a name (Dynamics AX WHS) and an extension (txt) and in the Variables tab page, enter $[Name]$ in Variables field like so:

This will cause variables used in the label to be exported in the generated file as $VariableName$, which is the format expected by AX when it does its own substitution of variable contents.
After you are done with this definition, click File – Export – Dynamics AX WHS and NiceLabel will create a nice text file which you then copy and paste into AX:

Step 3: Configuring document routing
We will use this label as part of the receiving put-away process 24 PO Direct, so we need to configure the document routing record. In the Document routing form, create a record similar to this one:

I have used my dummy printer that I have installed on the AOS. Feel free to experiment with other filter values, which you will probably use in production, at least to differentiate to which printer you want to print the label (note to Microsoft: some web browsers can print to locally attached printers that people carry around with them, so printing could also be done via the web interface). Again – to use the printers, AOS will need to be able to print to them. I would strongly suggest using networked printers, not printers connected locally to computers in the warehouse and then shared, at least from experience. It is best to log on locally to the AOS as the AOS service account and check if you can print to the printers.
Lastly, we need to configure the work templates to print the label as part of the process. To do this, insert a Print step in the Work Template. In our example, 24 PO Direct gets another work step:

The same approach can be used in the Sales order scenario as well, to create shipping labels for the picked license plates.
In case you would like to print your own labels as a part of receiving goods, you can use the "Print label" check-box on Mobile device menu items for several Work creation processes (PO receiving, Report as finished, Load receiving, TO receiving, Kanban). There is also an indirect activity "Reprint label" for later printing of LP labels.

Step 4: Demo
Create a purchase order for some goods and receive it using the mobile device (web or AX form). There will be no visible change from the user perspective, but, if all goes well, the file you set up for the dummy printer should appear and under Inquires – License plate labels, you should be able to see the newly created label. If you open the file using Notepad, it should contain ZPL with LicensePlateId substituted for the actual license plate number:


To see how the label would be printed out, you can use for example the Labelary service. The above example can be rendered using this URL.

That's it, you are all set to explore this on your own further, and thanks to Boštjan again for providing this comprehensive description of the process.

Wednesday, July 22, 2015

Time to Get active on Latest updates, solutions for Microsoft Dynamics AX 2012 R3.

Wednesday, March 23, 2011

Why the Fiscal Year Close in Microsoft Dynamics AX 2009 Is So Important, and How to Get It Right

When a company finalizes its accounts for a particular year using Microsoft Dynamics AX and doesn't want to make any further changes in that year, it can then close that year by using 'Fiscal Year Close'.

At that point, the records of that year will be available only for view. No more changes are possible in that year. If you have filed your returns for any particular year and don't need to make any changes, you can close that year.

You can close individual years only serially. i.e., the record of the first financial year will be closed first and then the next. You can't close a recent year if any of the previous years is not closed.

But, not surprisingly, it's all more complicated than that. Here are suggestions to close the previous fiscal year and prepare for the new one:


1.    Complete month-end and other period closings in all modules other than General ledger.
2.    Reconcile the modules and the ledger.
3.    Print the Trial balance, Account statement, Financial statement, and required reconciliation reports.
4.    Set appropriate periods to Stopped for the current fiscal year.
5.    Update the company currency value of balances and transactions in foreign currencies in ledger accounts with current exchange rates in the Exchange adjustment form.
6.    Click General ledger > Periodic > Sales tax payment > Sales tax payment to calculate the sales tax that is due for a specific period.
7.    Back up your company's data.

Related General Ledger Parameters for Fiscal Year Close:

Delete close-of-year transactions during transfer:
If this check box is selected, opening transactions and system-generated closing transactions that exist for the year to be closed are deleted when the transfer is processed again (process is repeated), in the Opening Transactions form.
So with this selection, you can process the transfer multiple times, if needed, while Opening entry will be only one.
It may be noted that, after you post the final closing adjustments, you can use the Opening transactions form to generate new opening balances that contain the sum of the original opening balance. Several opening transactions now can exist on a single account.

Create closing transactions during transfer:

If this check box is selected, the system creates closing transactions when running the Opening Transactions job. In that case, the system posts closing transactions to all profit and loss accounts and all balance accounts, although Opening Transactions are posted on balance accounts only.

Set period status to year closed:

If this check box is selected, the system displays a status of year closed for all fiscal periods for the year that is being closed (when you run the Opening Transactions job). Care should be taken while selecting this check box, as you may have to run Opening Transactions job several times.

Voucher number must be filled in:

If this check box is selected, a voucher number must be entered when opening transactions are created for a new fiscal year.
Limited number of open fiscal years:
Enter the number of open fiscal years you want to have in the system. So if the number of the currently open fiscal years plus the new fiscal year (that you just have created) will exceed this number, an error message is displayed and the new fiscal year is not created.
Note: For this purpose a fiscal year is not open if it has the status year closed in periods form.

Modules Closing:

1.    Post all open journal vouchers for the  year in all relevant modules
2.    Complete any batch posting routines in Accounts receivable and Accounts payable.
3.    Calculate interest.
4.    Create collection letters.
5.    Process exchange adjustments in the Exchange adjustment form.
6.    Process payment jobs in Accounts receivable and Accounts payable.
7.    Complete closing and adjustment processes in Inventory management.
8.    Post and adjust Project transactions.
9.    You also can print reports, such as account statements and aging reports.
10.  You should also reconcile your bank accounts

Procedure to Close Fiscal Year:

Create new fiscal year

The first step in the year-end closing process is to create a new fiscal year. It is important because the year-end close usually does not occur immediately and you can enter the next year's transactions even if the previous year has not been closed.
You can create the new year by clicking General Ledger >> Setup >> Periods and then create a new Fiscal year.

Control transactions in a closing period

It is necessary to control or stop transactions from updating the ledger accounts during the closing process. When a period is closed, the system displays a warning message that requires a confirmation to indicate the period actually should be closed because the action is irreversible.

Steps to stop or close a period:

1.                Click General Ledger >> Setup >>  Periods >> Periods
2.                Click the period to edit, and then drop down the status field
3.                Select either stop or close in the status field. By setting a  period to stopped in order to stop the postings in that periods.
Note: Keep in mind that you can reopen a stopped period but you cannot reopen a closed period

Change Module status in a period

During the closing period you should close all the modules in order to stop postings from the modules or you can allow specific user groups to enter transactions and leave the period open.

Steps to change the module status in a period

1.                Click General Ledger >> Setup >> Period >> Periods
2.                Click the period to edit and then click the module status tab
3.                In the module status field, specify either none if you want to deny everyone to access the selected module or user group if your want to give access to a specific user group.

Create a closing sheet

You should print the trial balance in order to look for any variations and make adjustments before closing the period. You can either use general journal entries for the adjustment or you can use the closing sheet.
o       Closing sheet shows an advanced view of the balances on accounts, and you can perform year-end posting directly from it.
o       The postings to it typically occur in the closing period of the fiscal year.
o       You can create several specific closing sheets for revenue, expenses and so on and then load the balances from the General Ledger into the closing sheet. After you load the transactions, make transfers from once account to another.
o       Closing sheet resembles a journal because you can create as many new closing sheets as needed.
Steps to create Closing Sheet
o       Click the general Ledger >> Periodic >> Fiscal year close >> Closing Sheet.
o       Press Ctrl + N to create a new record
o       Specify a unique identifier ( id ) in the closing sheet field and a Name
o       Select the posting layer for the closing sheet
o       Select the period code either Normal or Closing. In the closing sheet, you cannot make transactions to the opening period because it is used for the beginning balances.
Functions you can perform from the closing sheet

Define Dates:

Define dates is used for entering the date ranges for the closing sheet. On the general tab of the close form, enter the start date of the Fiscal year closing in the From field and the end date of the fiscal year in the To field. Enter post date of the transactions. It is the date on which the transactions would be posted in the system.
Load Balances:
Follow these steps to load the account balances into the closing sheet             
1.    From the close form click the Closing accounts button
2.    Click the load balances button to identify the accounts to include. The system totals all the transactions in each account when balances load from a company.
3.    Click the select button to select specific ledger accounts.
4.    Click OK when you select the ledger accounts to transfer into the worksheet. This process may take time depending upon the number of transactions in the database.

Make adjustments or transfers between accounts:

This process is used to make any adjustments or transfer between the accounts
1.    From the closing accounts form, select an account, and then click the Transfers button to make adjustments or transfers between ledger accounts after the balances are transferred into the work sheet.
2.    Enter the description in the Transaction text field
3.    Enter an amount, and the Offset Account to transfer the amount to
4.    After you add all the transfers for the selected account, close the form

Post the closing sheet:

After the transfers and adjustments are complete, click the post button from the closing account form to post the closing sheet. The closing sheet only posts to the closing period. Also run reports and verify results before you close the period and transfer the ending balances into the new year as opening balances. To post the closing sheet you must open the closing period in the periods form.

Transfer opening balances

In the opening transactions process
o       The system creates a line for the opening transaction which makes up the opening balance for the new year.
o       The system also creates a transaction for each currency and dimension. It is necessary to maintain this to keep statistics and financial reporting. You can transfer balances as frequently as needed during the year-end close process.
Steps to transfer the opening balances:
1.    Click General Ledger, click periodic, click Fiscal year close, and then click Opening transactions
2.    Enter the end date of the fiscal year
3.    Profit and loss accounts are always reset by the system. You must specify the transfer method for the balance sheet accounts. In the balance accounts fields, you should specify one of the following two options:
    * Reset:  Reset the balance accounts and enters the opening balances for the balance sheet accounts manually.
    * Closing > Opening: continues with the balance sheet accounts, and has the opening transactions created automatically by the system.
4.    Enter the account for transfer of year-end result in the system account.
5.    Enter the voucher number for the opening transactions that are created automatically.
6.    Click OK when all the fields are entered. This process may take several minutes, depending on the amount of data. When the process is complete, check the account balances or print the Trial balance.

You can run the year-end job as many times as needed. The opening balances will update correctly. If the chart of accounts for the new year differs from the previous year, you can create the opening transactions directly on the new accounts. This is made possible through the option to setup a different opening account for each account on the Chart of Accounts.

Tuesday, March 22, 2011

Discontinuation of Oracle Database Support for Microsoft Dynamics AX 2012

Microsoft Business Solutions will discontinue the Oracle database support for Microsoft Dynamics AX effective with Microsoft Dynamics AX 2012. General availability of Microsoft Dynamics AX 2012 is planned for the third quarter of 2011.

Microsoft is committed to support the database system that scales to meet customer needs and helps lower the total cost of ownership over time. Microsoft® SQL Server 2008 R2 delivers several breakthrough capabilities that will enable organizations to scale database operations with confidence and improve IT and developer efficiency, as well as enable highly scalable and well-managed business intelligence on a self-service basis for users.

SQL Server is in the leader's quadrant in Gartner's Magic Quadrant for BI. Total Cost of Ownership, Business Intelligence and the interoperability with Microsoft Office are some of the reasons to switch to SQL Server 2008 (please visit: Six to Switch for more information) and today our customers are selecting Microsoft SQL Server as their database system.

At Microsoft we believe that our customers will benefit from using Microsoft SQL Server as the database system for Microsoft Dynamics AX and as a result decided to discontinue the support of Oracle Databases for future releases of Microsoft Dynamics AX. The Oracle to Microsoft SQL Server Data Migration Assistant for Microsoft Dynamics AX, which was released in October 2010, helps customers to switch from an Oracle to a SQL Server database.

The data Migration Assistant helps with the migration of data from a Microsoft Dynamics AX Oracle database to a Microsoft Dynamics AX SQL Server database. The Data Migration Assistant supports the following versions of Microsoft Dynamics AX: Microsoft Axapta 3.0, Microsoft Dynamics AX 4.0, and 2009.

For further information and questions on how to migrate from Oracle to a SQL database please contact your Microsoft Dynamics Partner.

Getting Ready for Microsoft Dynamics AX 2012


This guide has been published by Microsoft at partner source and Customersource. You would need login access to download it. I have tried to post an extract of the same.


The purpose of this guide is to provide an overview of the readiness program that is being developed to support the release of Microsoft Dynamics AX 2012. It is intended to provide information that can be used prior to the release of Microsoft Dynamics AX 2012 in the preparation of skills development plans. It includes information about training and resources that are planned and currently available with the details subject to change as we progress towards the release date.

This guide along with many other resources, including role-based learning plans, will be posted on PartnerSource and will be updated throughout the release cycle. Future releases will include details of the sales and marketing readiness, the service offerings that will be available to help prepare partners for this release and details of tools designed to accelerate the Microsoft Dynamics AX 2012 skills.

The Microsoft Dynamics team is very excited about the potential for Microsoft Dynamics AX 2012 and is looking forward to working with you as we progress towards the release.

Microsoft Dynamics AX 2012 "What's New Series": There are 4 courses being released in April providing an overview of what's new in Microsoft Dynamics AX 2012. It is intended these courses provide a high level introduction to the features and functionality of Microsoft Dynamics AX 2012 and form part of the learning plan for your developers, technical and application consultants. Deeper details are covered in the Microsoft Dynamics AX 2012 documentation and the Microsoft Dynamics Partner Technical Services: Product Release Training. Training content will be available in April. Please check with your local subsidiary for scheduled classes.

Introduction to Microsoft Dynamics AX 2012

Microsoft Dynamics AX is a comprehensive business management solution for large and mid-sized enterprises that includes industry capabilities for distribution, manufacturing, service industries, retail, and public sector.

Microsoft Dynamics AX 2012 is the next release of Microsoft Dynamics AX and defines a new generation of Enterprise Resource Planning (ERP) solutions with significant enhancements to the architecture helping partners to bring solutions to the market faster, lowering product life cycle investments and expanding market opportunity.

Microsoft Dynamics AX 2012 represents a generational shift in ERP technology. It features a model-driven layered architecture, unified natural models and offers productivity and familiarity by design. The solution includes new features and capabilities built on the Microsoft application platform technology stack. The components of the Microsoft Dynamics AX 2012 solution are shown here.

Microsoft Dynamics AX 2012 Readiness Resources

Below are the links and resources where readiness content will be made available to help you prepare for the Microsoft Dynamics AX 2012 release. Please continue to check these sites for the latest information as they become available.

PartnerSource resources

  • Getting Ready for Microsoft Dynamics AX 2012 – Readiness Site

  • Microsoft Dynamics AX Product Site

  • Microsoft Dynamics AX 2012 Launch Portal (coming soon!)

  • Microsoft Dynamics Partner Academy

  • Microsoft Dynamics Role-Based Learning Plans

  • Microsoft Dynamics AX Solution Center

Microsoft Partner Network

  • Microsoft Dynamics AX Role Based Learning Plans

  • Microsoft Partner Learning Center

Microsoft TechNet

  • http://technet.microsoft.com/en-us/library/dd362025.aspx


  • http://msdn.microsoft.com/en-us/dynamics/ax/default.aspx

Microsoft Learning

  • http://www.microsoft.com/learning/en/us/default.aspx

Regional Sites

  • PartnerSource North America Microsoft Dynamics AX site