Pages

Thursday 30 May 2013

Forms can be used for


Forms can be used to do the following:
  • Enter or modify data in the database
  • Open other forms or reports
  • Activate commands, such as Create Record or Delete Record
  • Accept and act on user input
Most of the information displayed in a form comes from data stored in the database tables. Other information is stored in the form’s design. For example, descriptive text and graphic elements such as lines and images.

Dynamics AX 2012: A very Simple RPD report creation


BUSINESS LOGIC IN REPORTS:::::
When I discuss "business logic" in this post, I am referring to code that is used to generate data for use in reports. In Dynamic AX 2009 there really is no great way to reuse your X++ code in an SSRS report. This is one reason I recommend that everyone stick with simple query-based reports in Dynamics AX 2009. Of course, I wanted to make this much easier in Dynamics AX 2012 and that is why I created a concept called the Report Data Provider.



WHAT IS A REPORT DATA PROVIDER?
It is a X++ code-based way of generating data for reports. This code can use any technique to generate data for Dynamics AX 2012 Reports. It is the correct and supported way to reuse your existing X++ code in Dynamics AX 2012 reports.

HOW IT WORKS
The simplest summary is that you create a table – usually a temp table. And then a class – this is known as the Report Data Provider class. When the report is run, the class populated the temp table with data. Once the data is completely populated it is transferred to the SSRS server.

CONSTRUCTING THE TEMP TABLE
First, decide what fields you need in your report. Then create a table with those fields. You MUST assign Extended Data Types to those fields. Then set the TableType property to "TempDB"
Here's a simple table with just two fields






Notice that that Extended Data Type has been set for the Name field


And for the ID field


And then notice that the TableType property has been set on the table to "TempDB".


CONSTRUCTING THE DATA PROVIDER CLASS
The simplest RDP class has only three components – they are shown below.


The classDeclaration is simple. The RDP Class MUST extend SRSReportDataProviderBase. Also it has a reference to the temp table.


The next method is needed for the AX 2012 reporting framework to retrieve data from the temp table. TheSRSReportDataSetAttribute attribute MUST be used to identify the temp table to the framework. The specific name of this method is not important – the attribute is what counts.


The processReport() method MUST be implemented when a class extends SRSReportDataProviderBase. In this example, you can see that this method is a completely code-based way of generating data into the report.




YOU'RE FINISHED
And that's it for the basics. Now you have a datasource that can be used in an X++ Report.

PARTING THOUGHTS: THIS IS IMPORTANT TO LEARN
In practice, many or most of the reports you'll work with or implement will be built on Report Data Providers. Above I have provided the very simplest implementation. Master it. Once you get AX 2012 implement this over and over until you have memorized the steps because you'll be doing quite a bit of it in the future.

Wednesday 29 May 2013

Creating a View In Ms Dynamics Ax


  1. In the AOT, expand the Data Dictionary node, right-click Views, and then click New View.
  2. Add tables as follows:
    1. Click the view that you created in step 1, and then expand the Metadata node.
    2. Click the Tables node in the Data Dictionary, and then click Open New Window.
    3. Create a parent data source by dragging a table from the new window to the Data Sources node, which is below the Metadata node. Existing views and maps can also be used as data sources in a view.
    4. Create a child data source by clicking the parent data source, and then drag a table from the new window to the Data Sources node, which is below the parent data source node.
      Repeat steps 2c and 2d to add more tables.
  3. Set up relations by using one of the following procedures:
    1. To automatically add a relation between the child and parent data sources, right-click the child table that you added in step 2d, clickProperties, and then set the Relations property to Yes. Microsoft Dynamics AX follows this procedure when it automatically adds a relation. If a table relation exists between the parent and child tables, the new relation is based on the existing table relation. If there's no existing table relation between the parent and child tables, the new relation is created based on an existing relation on an extended data type.
      –or–
    2. To manually add a new relation, click the child table added in step 2d, right-click Relations, and then click New Relation.
    3. Right-click the new relation, click Properties, and then select the fields you want to link together by setting the Field and RelatedFieldproperties.
  4. Add fields to the view as follows:
    1. Expand the view's Data Sources node, and then navigate to the table (or the map or view).
    2. Expand the data source Fields node.
    3. Drag a field from the data source Fields node to the Fields node under the view. Repeat steps 4a through 4c to add more fields.

Tuesday 28 May 2013

Labels?


Labels?

Labels are used to localize strings in Dynamic AX. A label start with a @ followed by a module identification and a label number.
A label @SYS12 may translate to "Account/Group number" in English and to "Konto-/Gruppennummer" in German.
When you as a developer use labels you should create a new label-file so your string customizations will be translatable. And even if your customization is for one language only it is best practice to make a label because you can reuse terms within your customization.
The label strings are stored in an file with the extension ”.ald”. You will have to make one file for each language you make. The complete filename will a concatenation of “ax”, a “label module id” and “language id”. The system auto-creates two other files with the extension ".ali" and ".alc".
File name
Usage
axSYSen-gb.ald
Label source file (in Ansi or UTF-8)
axSYSen-gb.alc
Label comments (binary, auto-created from source file)
axSYSen-gb.ali
Label index (binary, auto-created from source file)

X++ code editor?


X++ code editor?
The X++ code editor is a text editor that supports color-coding, and provides the ability to look up and auto-complete method names, enumeration values, and so on as you type.
To open the X++ editor, double-click a method, class, or macro. Alternatively, click Edit in the shortcut menu for an object, or create a new job from the Jobsnode in the Application Object Tree (AOT).
The editor enables you to perform standard editing functions, such as copy, cut, and paste. Undo and redo is available 10 actions back.
The editor has shortcut menus (activated by right-clicking) where the available commands depend on whether you have selected text in the editor.
Scripts are available to help you quickly complete common programming tasks. For more information, see Editor Scripts

Application Object Tree (AOT) [AX 2012] ?


Application Object Tree (AOT) [AX 2012] ?
In Microsoft Dynamics AX, application objects are defined in the Application Object Tree (AOT) and are instantiated at runtime. The AOT also contains application resources, references, and documentation. This section describes the AOT and its contents, how to use the AOT to define application objects, and how to import and export definitions of application objects.
For reference information about the properties for element nodes in the AOT,
 see  Properties of AOT Elements

What is Morphx?


What is Morphx?
I wrote and published the AX programming book MORPHX IT in 2006. MORPHX IT target group are newbies to AX development. If you want to save time on learning AX development, wants to catch up on a certain area or if you are working as a Dynamics AX functional consultant and want to learn some about AX development, then MORPHX IT will beneficial for you.
MORPHX IT is written based on AX 3.0 Service Pack 4. You can still use this book to get to know the basic on AX development if using AX 4.0 or AX 2009.
At the time I wrote MORPHX IT there were no other books on AX development on the market. I had for a long time wonder why as there was, and still is, a need for information on AX development as Dynamics AX is a growing market area. I wanted to contiribute to make it easier for people interested in AX to get to know the system. If I just could cut 1 month of the learning curve for a person learning AX I would have reached on of my goals

What I first realized later on was how much I learned on AX and project management by writing MORPHX IT. At that time I wrote MORPHX IT I had been working with AX for 8 year and I thought I knew all there was to know about AX development. I was so wrong. I learned a lot as I had to check every corner of AX. Especially the importance of organizing development projects and how much cost and time you can save later on by verify best practice is followed. As a friend said to me: "Anyone can get a bolt in place. But if you are not are aware of how to do it you might end up not being able to unscrew the bolt and you will have to start all over if you later on have to do changes.". This is so true, and I hope MORPHX IT will help making it easier to 'uscrew the bolts again'.

Programming Language?


Programming Language?
Microsoft Dynamics AX was originally developed as a collaboration between IBM and Damgaard as IBM Axapta. Axapta was initially released in March, 1998 in the Danish and U.S. markets. IBM returned all rights in the product to Damgaard shortly after the release of Version 1.5. beforeDamgaard was merged with Navision Software A/S in 2000. The combined company, initially NavisionDamgaard, later Navision A/S, was acquired byMicrosoft in July 2002.[4]
In September, 2011, Microsoft announced the release of new version AX 2012.[5] Today, it is available and supported in 25 countries and 23 languages.

new features in ms dynamics 2012?


new features in  ms dynamics 2012?
Microsoft Dynamics® AX 2012 is not just the next release of a great product. It is, in fact, a generational shift in business software, delivering new levels of capability, unmatched agility, and a compelling and empowering user experience. At the same time, Microsoft Dynamics AX 2012 sets a new standard for simplicity. This paper does not pretend to capture every detail of the product, but instead highlights the key innovations that make Microsoft Dynamics AX 2012 powerful, agile, and simple

History of MS Dynamics?


History of MS Dynamics?
Microsoft Dynamics AX is an ERP solution in theMicrosoft Dynamics family. Microsoft Dynamics AX is a major player in the following types of businesses: manufacturing, distribution, services, retail and public sector organizations. As a single solution management tool, Microsoft Dynamics AX was designed and intended to handle complex business needs of larger enterprises.
Microsoft Dynamics AX was originally developed as a collaboration between IBM and Damgaard as IBM Axapta. Axapta was initially released in March, 1998 in the Danish and U.S. markets. IBM returned all rights in the product to Damgaard shortly after the release of Version 1.5. beforeDamgaard was merged with Navision Software A/S in 2000. The combined company, initially NavisionDamgaard, later Navision A/S, was acquired byMicrosoft in July 2002.[4]
In September, 2011, Microsoft announced the release of new version AX 2012.[5] Today, it is available and supported in 25 countries and 23 languages.

difference between ms dynamics 2009 and ms dynamics 2012?
check this link
security start from scratch
eliminate all EDT relations, and translate it to refrecID.
all journal posting classes have split-up in a validate, post and print class. so you have to split your customizations
Forms, go back to the defaults, first add your fields to existing field groups. otherwise create new field groups.
every code deserved his performance. generic solutions are slow, dedicated are fast.....
use the security profile tool, it is on information source.

Why MS Dynamics AX?



Why MS Dynamics AX?
Microsoft Dynamics AX is the complete ERP solution for enterprises that provides a purpose-built foundation across five industries, along with comprehensive, core ERP functionality for financial, human resources and operations management. It empowers your people to anticipate and embrace change so your business can thrive. All of this is packaged in a single global solution giving you rapid time to value

What is ERP?


What is ERP?

ERP is short for enterprise resource planning.
Enterprise resource planning (ERP) is business management software that allows an organization to use a system of integrated applications to manage the business. ERP software integrates all facets of an operation, including product planning, development, manufacturing processes, sales and marketing

  • Product planning, cost and development
  • Manufacturing or service delivery
  • Marketing and sales
  • Inventory management
  • Shipping and payment

Monday 27 May 2013

Macros


Macros 

Macros are constants, or pieces of code, that are being taken care of by the compiler
before the rest of the code to replace the code where the macro is used with the
content of the macro. There are three different types of macros: stand alone macros,
local macros, and macro libraries.
Macros are typically constant values that are only changed by developers. They are
used so that developers don't have to hardcode these kind of values in the X++ code,
but rather refer to the macro.
The macro libraries can be found in the AOT under Macros. Each of them can contain
multiple macros that can be used throughout the rest of AX.
To use the macros from a macro library in AX, simply include them in the scope
that you would like to use them. The next example shows how to use two different
macros from the same macro library in a Job.
First we create a macro library that consists of two macros:
#define.Text('This is a test of macros')
#define.Number(200)
Then we use these macros from within a Job:
static void Datatypes_macro_library(Args _args)
{
// Referencing macro library has to be done in the class declaration
// or in the declaration like in this example
#MacroTest
;
info(strfmt("Text: %1. Number: %2", #Text, #Number));