Tuesday, June 25, 2013

AX 2012: Database ERDs on the AxErd Website

Thank to MSDN , they ran an awesome online tool in order to manipulate the table relations under AX 2012 with more than thousands tables. General speaking almost it is impossible to construct ERD (entity relationship diagrams) for every table; Every one who involved anytime with customizing or creating x++ in AOT in such a way now should be impressed by this service, like I did. You might need this tool if you did one of the following jobs during your development life style :
1. Manually looking up all the parent tables for a given table which has more child.
2. Technically using cross-reference with more iterations on every child table.
So now you can replace your action by just using this tool and save up to 50% on time and headache!
 Go to now:

Friday, June 21, 2013

x++ series: Where do call Super() ?

For everyone who has ever written a x++ code perhaps noticed to Super() method, but some times it should appear after your code and in another situation may leave it at top, before the code.

For who are new to Super() or confusing about that, let me say it means that "initialize me along with 'this' and alter the rest things". It means that everything you place before Super() will affect that initialization  and each code that placed after Super() just comes up to not alter the initialization but maybe need the objects to be ready to be used afterward or add some new functionality.

It will however more important when you are working with queries.
For example ff you are going to modify the query, by placing the code before the Super() you will make sure that query  is modified just before fetching the data;

The real world situation could be when you want to apply a filter to an existing data source on a form. In this case you have to override the executeQuery() method and place your SysQuery::findOrCreateRange(...) then put Super() at the last line (after your own code).

Thursday, June 20, 2013

x++ series: EDT (Extended Data Types)

One of important AOT objects is EDT. You have heard about Extended Data Types so far, at every job interview this is one of the questions, but no one could answer correctly nor interviewee knows the right answer and why should it is going to be asked! just MUST ask it.
Even worst, because EDT is going to be obsolete at next Microsoft Dynamics releases so developers assume they should ignore from using it.
But, actually EDT is more that these :
1) derived type.
2) Display a variable in user friendly.
3) Make it sense to relevant program's structure.
What is more?
By using EDT, you can establish a table relation which is no longer could be created from EDT node and totally moved to table node properties. It is recommended to convert all existing EDT by using EDT Relation Migration Tool in AX 2012
One of the most advantage of using EDT along with this tool is you can add a data field to a form with just a few steps with no need to define a data source relations manually then thanks to Field Groups just establish everything at once by adding this newly created field to the table's Group Field so having the relevant data in Form Design and that's it, you done!

Tuesday, December 11, 2012

'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

You may get the error " 'Microsoft.ACE.OLEDB.12.0' provider is not registered" during importing the Excel file from SQL Serve Data Tools (in a business intelligence 2012 project) into an Analysis Service 2012 Tabular instance (However, you may also get this error while working with MS Access or MS Excel data source projects in other environment other than business intelligence projects).

Searching for this error over the net returns the guide to install Microsoft Access Database Engine 2010 Redistributable.
While it is true that you need the above modules in order to fix the error however there is no match to mention that if you do install the 32 bit version of "Microsoft.ACE.OLEDB.12.0" while working on the server which have already installed the Analysis Services in 64 bit mode but the MS Office 2010 in 32 bit at the same time there is no chance to escape from that mentioned error. Meanwhile, if you are going to install the 64 bit version of "Microsoft.ACE.OLEDB.12.0" you will be stuck because you have already installed MS Office 2010 32 bit(or other MS Office products in 32 bit mode).
(Note: As a rule, you won't be allowed to install the other MS Office 64 bit version products as long as you have (even one) the 32 bit of MS Office product, and vice versa).
Solution :
The only solution which I've tried in order to resolve the problem successfully is :
1. Remove/Uninstall all of the MS Office in 32 bit versions, including Project Server, SharePoint Designer, Visio, ... . (do not worry about the current configuration or the data inside Outlook or your records within OneNote, they will be back like a charm while installing the same version of MS Office regardless of 32 or 64 bit).
2. Do reboot your computer even if did not ask for it.
3. Installing the 64 bit version of MS Office 2010 (note that by default when you run the "setup.exe" inside the MS Office DVD it will start with the 32 bit version of setup, instead open "x64" folder and run setup.exe in order to install the 64 bit of MS Office).
4. Now check your outlook or open excel, then activate your product.
5. Install the 64 bit version of  "Microsoft.ACE.OLEDB.12.0"  (AccessDatabaseEngine_x64.exe).
5. Done. Now open the SQL Server Data Tools and continue to do import Excel file into the Tabular instance of the Analysis Service project.


Sunday, December 09, 2012

How to deal with Time Dimension in SQL Server 2008,2012 Business Intelligence

Here I'm not going to learn how to create a Time Dimension in business intelligence 2008 and 2012 as you may know it well or it could be found on the net, however there are some consideration in order to create the Time Dimension.
The key difference is that in one approach it will never show you the  Time Dimension during that wizard and you have to create it later by manual.

1. In first approach, we have already installed (or restored) our data mart database using SQL Server Management Studio, so we would create a cube at top of data mart. In this case we do the following steps briefly:
a. Using SSDT (in SQL Server 2012) or BIDS (in SQL Server 2008) to create a new Analysis Services project.
b. Create a new Data Source.
c. Create a new Data Source View.
d. Create a new Cube:
in this step while creating a new Cube, you asked to define the measures and dimensions except Time Dimension. Then we have to create our Time Dimension manually.

2. In second approach, we do not have the data mart yet, instead we are going to create our data mart using business intelligence tools. In this case we do the following steps briefly: 
a. Using SSDT (in SQL 2012) or BIDS (in SQL 2008) to create a new Analysis Services project.
b. Create a new cube:
in this step while creating a new Cube, you asked to define the Time Dimension along with the other measures and dimensions as well as at the end of the wizard you have to check the "Generate Schema" to create the data mart followed by the measures and dimensions which you have defined during that wizard as the schema. In this case we will asked to define a Data Source and Data Source View during the data mart creation (after click "Finish", it will open a new wizard page) and only if we did check the "Generate Schema".

As you may be noticed, in the second approach we followed the opposite direction in compare to the first approach, as well as we create the data mart on demand but asked for Time Dimension, in contrast at the second approach we have to create the Time Dimension manually but already have the data mart.

Thursday, December 06, 2012

My new certifications as well as considered an upgrade

Last month (30 - 31 Oct) I got the new certifications on MS Dynamics AX 2012 on two exams :
MB6-869 : MSTS - MS Dynamics AX 2012 installation and configuration, with score 875.
MB6-872 : MCTS - MS Dynamics AX 2012 development introduction, with score 1000.
to be recognized as MCTS - Dynamics (with one exam also you get this).
The sources to study were :
1. My current job function.
2. Book: Inside Microsoft Dynamics AX 2012, by The Microsoft Dynamics AX Team.

This week, on Monday, I passed exam 70-452,  PRO: Designing a Business Intelligence Infrastructure Using Microsoft SQL Server 2008, which allow me to get my MCITP in Business Intelligence 2008 (along with 70-448 which had passed last year), with score 833.
So now I'm MCITP - Business Intelligence Developer 2008 as well.
The sources to study were:
1. My current job function.
2. Book: Delivering Business Intelligence with Microsoft SQL Server 2008 by BRIAN LARSON.

Then , the day after, I also passed 70-460, Transition your MCITP: Business Intelligence Developer 2008 to MCSE: Business Intelligence, with score 700.
Some explanation about this exam may be considered:
That is 2-in-1 exam, 70-466 and 70-467, consist of 3 parts with 49 questions and 190 minutes time limit. First I asked by answer to 25 questions.
Then I ended the exam, the timer was resorted and return to the next 9 questions. Afterward I also ended this exam but the timer continued till the rest of the 15 questions which were 3 separate scenarios.
Type of question were: Single choice,  Multi choices (up to 10 options), Drag and Drop, Select -in application menu, Scenario.
My idea is the exam is designed specially for who has the practical experience with working in real world, such BRIAN LARSON did in his books using MaxMin conceptual company and database model.So I have found the BRIAN LARSON book Learn By Doing section the most usefull source for study and pass the exam.
The sources to study were:
1. Book: Delivering Business Intelligence with Microsoft SQL Server 2012 by BRIAN LARSON.
2. Book: Microsoft SQL Server 2012 Analysis Services, The BISM Tabular Model, Microsoft Press.
3. MSDN and Technet libraries and resources.

My goal is to get MCSE 2012 on Business Intelligence.
The plan is, I should complete exam 70-457 and 70-458, now working on 70-457.

Tuesday, October 09, 2012

Download Advanced Linux Programming

Original source: http://www.advancedlinuxprogramming.com/alp-folder/

Download Advanced Linux Programming

Do not use a download accelerator to download these files.
To view and print the book, you will need a Portable Document Format (PDF) viewer application, such as
Some web browsers have problems with inline PDF files. Try saving the file to your local filesystem before opening with a stand alone PDF viewer. If you still have problems viewing the file, make sure you have downloaded the entire file and the md5 checksum matches.
TitleFileFilesizemd5 checksum
The Entire Advanced Linux Programming Book in One Filepdf12733615e722dc5dfcde263ea06fa193e9f61b4
Front Matter and Table of Contentspdf1273361fe0c601b919879e93d79d25a78818b5c
Chapter 01 - Advanced Unix Programming with Linuxpdf2358355923f2a5d7fb4f941fe905fbe45be196
Chapter 02 - Writing Good GNU/Linux Softwarepdf28032644c823c1240c7f70a6dc9dbfddbe03fa
Chapter 03 - Processespdf24175887b5d98ba5b5933cf2ad1dbcf37641aa
Chapter 04 - Threadspdf29241911f392b44c073498e9ec9b3f718e54e7
Chapter 05 - Interprocess Communicationpdf2898530de9b56476a0e6e536fbac68e09b02d2
Chapter 06 - Mastering Linuxpdf268821ab8940fbcc40018d72bd2016e662afba
Chapter 07 - The /proc File Systempdf258582b3fe701f67a37ad7ba7233bcdc3f5d90
Chapter 08 - Linux System Callspdf261352583182dc09bc8b3c3773ba6d0fc710f2
Chapter 09 - Inline Assembly Codepdf204992c226e58fc7bf544df477d8ae96b680ed
Chapter 10 - Securitypdf288441fc340b97e9c7f3fc2f5fe4dd71132ffd
Chapter 11 - A Sample GNU/Linux Applicationpdf29821550a205644e441ae26d2041567d131b82
Appendix A - Other Development Toolspdf27237709a9a79a3c3abe6869df3f1ab5b39b14
Appendix B - Low Level I/Opdf2527553eaa0f0bbd103e1cc7872663e227a14b
Appendix C - Table of Signalspdf1778793b02a6abb38877580b743392b98c3290
Appendix D - Online Resourcespdf148074372964ff1eb4f85aca3985736a06cc48
Appendix E - Open Publication License Version 1.0pdf1765965b1ddb8d38b6a44b357345ba6c25010e
Appendix F - The GNU General Public Licensepdf228793e207c51489e6f3cfafba5b13bb5e3bd9

Problems with this web site? webmaster@codesourcery.com

Share it