Dynamics AX
  RSS Feed  LinkedIn  Twitter
Want to turn you're data into a true asset? Ready to break free from the report factory?
Ready to gain true insights that are action focused for truly data informed decisions?
Want to do all of this across mutliple companies, instances of Dynamics and your other investments?
Hillstar Business Intelligence is the answer then! (www.HillstarBI.com)

Hillstar Business Intelligence for Microsoft Dynamics AX and NAV on Mobile, Desktop, Tablet


Let us prove to you how we can take the complexity out of the schema and truly enable users to answer the needed questions to run your business! Visit Hillstar Business Solutions at: www.HillstarBI.com

Monday, August 28, 2006

Dynamics AX 4.0 & COM InterOp

In DAX 4.0 a greater level of security is implemented, in that you have to assert different types of permission classes when performing different functions. If for example the InteropPermission class is not used in conjuction with calls to COM objects you might run into a similar message as below:

Error: "Request for the permission of type 'InteropPermission' failed."

Basically this is because there was a COM call without first creating an instance of the InteropPermission and then asserting correct security permission in order to interact with the said / given COM calls.

If you are an Admin of a system, then you want run into this, but if you are a normal user then you will. This is a good point to say you always need to preform unit testing as a given process user, vs. in admin mode. With that said, below is an example of how to call and use the InteropPermission:


COM com;
InteropPermission permission = new InteropPermission(InteropKind::ComInterop);
;

permission.assert();
com = new COM(namespace.classname);

So you have to .assert(); before you can work with the COM object. In doing so you then successfully enable the given code to execute properly without security errors. You should always encapsulate your code in try{} catch{} blocks to handle Any errors properly.

Check back for more as we explore File IO security, and preforming both COM and IO work in the same scope of code, and dealing with asserting at different levels.

Find a job at: www.DynamicsAXJobs.com

Sunday, August 20, 2006

MBSCM - Install and Config - Update

Well after being worked like crazt over the summer, it seems that I have time now to plan out and finish up my MBSCM - Install and Config Ax 3.0. I really considered Not doing so since DAX 4.0 is here, but then after talking with peers, and Microsoft, figured that it would be good to go ahead and finish up.

With that in mind, I still have my SQL exam left (among others) that I need to take. I was looking at this, as the requirement calls for the SQL 2000 exam. I thought to myself that man, that would be a waste, espically since 2k5 has been out for nearly a year now, and the new Microsoft Certification tracks have you obtaining a MCTS by passing a SQK 2k5 exam.

With that in mind I wrote MBS U, and asked them if I took the SQL 2k5 exam would it replace the SQL 2000 exam requirement, and count towards my MBSCM? To my surprise they actually said yes! This is great news for anyone who has not yet completed their MBSCM - Install and Config. Now you can go for it, and also get one of the new Microsoft Next Gen. Certs, being MCTS - SQL 2k5, taking care of two birds with one stone!

I am always looking for ways to take advantage of such offers, and since this is not something that is highly published about I thought it would be worth something to some of my readers. I know for me it was great news, because this also not only helps me finish off my MBSCM, but also puts me on the new Microsoft Cert path.

Well check back, as this coming week I plan on writing about DAX 4.0 Application Integration Framework (AIF) as well as posting code examples for using the .Net business connector to perform task in DAX 4.0.

Find a job at: www.DynamicsAXJobs.com

Wednesday, August 16, 2006

Returning the Current SQL Server, Database, and Configuration

Recently I needed to add business logic around code, that acted differently based on what Ax instance I was in. I wanted to know the best way to always determine that, and after doing some searching I cam across the following line of code:

SqlSystem::databaseBackendDesc();

The above line of code will return in string value the: [Server Name] [Database Name]

This is not documented really anywhere, and the SqlSystem class is not something that can even be seen from the AOT itself. It's one of those hidden, but very useful classes that we have all had to deal with, or wish we knew more about. Anyway, this method works great and returns the correct information everytime!

Another method that is great comes from the xInfo class, and it looks like this:

xInfo::configuration();

This method will return the name of the current configuration in use, which in turn can also help you determine which instance of Ax you are using.

I know that I will have use for this in the future and so I have posted this little tidbit in hopes that it will helps others as well!

Find a job at: www.DynamicsAXJobs.com

Sick :(

I just wanted to post real quick that I have been fighting a stomach virus all week. I had plans on writing up a big post this week on .Net business connector, and also the Application Integration Framework.

I will not be posting anything this week, but wanted to assure everyone that hopefully I will be over this sickness, and I can pick up posting next week!

Find a job at: www.DynamicsAXJobs.com

Wednesday, August 09, 2006

Microsoft's Next Generation of Certification Tracks

Microsoft recently release information about their new generation of certifications. I think 100% this is a great move for Microsoft. This bring the certification track up to the level and specialization that now exist in the actual technology side of Microsoft.

The link for more information on this can be found here: Microsoft NewGen Certification Track

I have not seen how this will affect the MBS or now Dynamics Certification tracks. I do know though that I am wanting to continue to get certified in Dynamics AX, as well as continue to be certified in the newest platform technologies.

With that said I am going to complete my MBSCM for Ax 3.0, and then also go for my MCTS in two area's right off the bat:

1.) MCTS in SQL Server 2005
2.) MCTS in BizTalk Server 2006

My ultimate goal is to become a MCA one day, but that is a Hard thing to do. I believe the introduction of the MCA though is a very smart move in which it will be comparable to a Cisco CCIE. Only a few thousand will most likely exist in a given timeframe, and it will make such a certification very valuable.

On the way to becoming a MCA though I plan on becoming, a MCTS in a few area's that would build up to the MCPD or Microsoft Certified Professional Developer and MCITP or Microsoft Certified Inforamtion Technology Professional.

Anyway I wanted to take the time and post about this because I truly believe that for someone to be a good Dynamics AX, ERP, Business Consultant you need to know the platform that the newest version of the software will run on and work with.

Check back soon for more!

Find a job at: www.DynamicsAXJobs.com

Wednesday, August 02, 2006

Creating and using an Edit method on a Datasource

I was wanting to emulate a "marking" of a record within a grid, similar to the way this is done when you settle a payment journal. Well I created a edit method of NoYes type on the InventTable datasource for the form I was working on. Seemed like it would work, and used the InventTable.RecId field, which is the datasource record, to store and base the return off of.

When I tried this though the grid kept acting strange. I would mark one, and then leave the record, which would then make the one below or above marked and not the one I just marked. I really scratched my head on this one and sent an email out to the Axapta Knowledge Villiage news group. An associate by the name of Steeve said that if I could get the current InventTable record passed in then I could make it work. He also stated that he could not get it to compile.

Well I messed around with this a little and found out the reason why my buddy Steeve could not get it to compile. Turns out, the boolean set must be the first variable passed in. Then the NoYes variable must be the Last (there is the key), and the passed in current record be between those two passed in variables. With this I was able to create an edit method that worked like the settle method and have the grid behave like it was suppose to.

Below is example code of the edit method and the correct way to achieve this:

edit NoYes MarkSKUs(boolean set,
InventTable Invent,
NoYes _markSKUs)
{

if (set)
{
MarkMap.insert(Invent.RecId,_markSKUs);
MarkMap.valueSet();
}
else
{
if (MarkMap.exists(Invent.RecId))
{
_markSKUs = MarkMap.lookup(Invent.RecId);
}
}

return _MarkSKUs;
}


Find a job at: www.DynamicsAXJobs.com


Copyright 2005-2011, J. Brandon George - All rights Reserved