Friday, October 15, 2010

EP 64 bit machine deployment


(1)    If you are using  64 bit machine for EP, make sure getSharepointTemplatePath method of SysEPDeployment class in AOT has the below code . This is needed so that whenever you save user controls in VS, that will automatically be deployed to the EP server.

public static str getSharepointTemplatePath()
{
    xSession session = new xSession();
    int pointerSize = 0;
;
    pointerSize = System.IntPtr::get_Size();
    if (session.clientKind() != ClientType::Client && pointerSize != 4)
        return SysEPDeployment::getSharepointTemplatePathDotNet();

    return SysEPDeployment::getSharepointTemplatePathWin32();
}


If you are making change to user controls in Visual studio, then there are no additional steps to have these changes propagated to the EP Server. Whenever you make changes on already existing user control in VS, it will automatically copy it to the SharePoint folder location. If you are creating new user control, when you add it to AOT by the right click menu and save the control in VS, it will automatically copy it to the SharePoint location.
(3)    If you are making changes to Tables/EDTs/Enums/Data Sets/Classes, then you need to click the “Refresh AOD” link available to the administrators in the EP home site quick launch. This will clear the metadata cache. You can also do an “iisreset” if needed
(4)    If you are making change to proxy file/static files/resources, then you need to deploy them. User AxUpdatePortal utility http://msdn.microsoft.com/en-us/library/dd261467.aspx (Manage Deployment Option does not work in 64 bit machines,so you have to use AXUpdatePortal)

Tuesday, October 12, 2010

Missing AX EP web project in Visual Studio 2008

So you have installed the Enterprise Portal Development tools add in for Visual Studio 2008. Everything works for you, but other users are complaining that they can’t see the AX web project template: 

Here's what you need to do:

1 - Verify the installation of VS2008
The EP dev tools setup installs EP project, control templates and Visual studio Add-In for VS 2008. Remember that EP dev tools must be installed on the same machine as Enterprise Portal

The Web Site project template (AxWebProject.zip is installed in My Documents folder under:
Visual Studio 2008\Templates\ProjectTemplates\Visual Web Developer\CSharp

Page and control templates AxWebpartPage.zip and AxWebUserControl.zip under:
Visual Studio 2008 \Templates\ItemTemplates\Visual Web Developer\CSharp

The Add-in is installed in
Program Files\Microsoft Dynamics AX\50\EnterprisePortalTools 
and is added to the VS  Add-in files path and enabled.


You can check this in VS Tools->Options->Add-in you should see

  
 In VS Tools -> Add-In Manager  Dynamics AX Enterprise Portal Tools must be enabled.


To check if everything is installed correctly, when you create a new Web Site Project in VS 2008 C#, you should see Dynamics AX Web project template. 



If a user can see Microsoft Dynamics Ax Web Project template it’s because in his/her profile on system the template is available. In general the template is located on a windows 2003 server at
C:\Documents and Settings\[user id ]\My Documents\Visual Studio 2008\Templates\ProjectTemplates\Visual Web Developer\CSharp\ AxWebProject.zip 

To make Microsoft Dynamics Ax Web Project template available for other users copy the Templates folder from the user who can see template and paste it to other users’ profile.

It assumed that your templates are available in the default located as mentioned in above path 

·         Go to C:\Documents and Settings\[user id ]\My Documents\Visual Studio 2008
·         Copy Templates folder
·         Open the other users’ profile and go to C:\Documents and Settings\[user id ]\My Documents\Visual Studio 2008\
·         Paste the Templates folder. If system says to overwrite it click on yes option. 

Then, you may need to refresh Visual Studios cache of templates after copying them:
·         Open the Visual Studio command prompt (Start \ Programs \ Microsoft Visual Studio 2008 \ Visual Studio Tools \ Visual Studio 2008 Command Prompt) and type devenv /installvstemplates.

If you still don't see the template, remember that you need to select C# as your project programming language before it shows up.
  
If you can see the template but can't connect to the AX AOS from Visual Studio check the following:

·         Check that .NET Business Connector has been correctly installed and that the configuration points to the correct AOS instance.
Check that the user you run Visual Studio with, has login and proper development permissions in AX.
·         Check that the "Dynamics AX Enterprise Portal Tools" Add-in is correctly installed in Visual Studio. Open Visual Studio / Tools / Add-in Manager to verify that Add-in is correctly installed and configured. If you can't see it, you must reinstall the EP Development Tools.

Monday, August 16, 2010

Use X++ to Loop through the AOT - Dianne Siebold's WebLog - Site Home - MSDN Blogs

I Came across his post that helps one loop through the objects on the AOT

Use X++ to Loop through the AOT - Dianne Siebold's WebLog - Site Home - MSDN Blogs

Monday, June 7, 2010

InventSum - www.ms-news.net

while working on a way to reverse a transfer between warehouses in Dynamics AX 4.0, i came across this little piece of information on how invent um is updated. InventSum - www.ms-news.net. As expected, invent sum is not updated directly in code, but rather a table called inventsumdelta. the changes are committed once one reaches the top tts level.

"
In version 4, the mechanism to update InventSum has been changed.

The purpose is to prevent locking on the InventSum table.

2 new tables have been added for this purpose:
-InventSumDelta and
-InventSumDeltaDim

All changes to InventSum in a transaction are no longer applied directly to
InventSum but recorded in InventSumDelta first.

When the TTS level reaches 1, the method
InventUpdateOnhand\ttsNotifyPreCommit (triggered from
Application\ttsNotifyPreCommit) is called. This method carries out the actual
update(s) in InventSum.

One of the methods called by InventUpdateOnhand\ttsNotifyPreCommit is
updateInventSum. If only 1 InventSum record has to be updated within the
transaction, this method takes the standard way (via the method
updateInventSumSimple) using InventSum.write()

But if more than 1 inventSum record has to be updated within the transaction
(for example if you change the value in the warehouse dimension, the
InventSum record with the old warehouse has to be decreased and the InventSum
record with the new warehouse has to be increased), updateInventSum takes an
alternative route via updateInventSumAdvanced which completly ignores
InventSum.write() and uses direct SQL.

If your code does not actually need to update the InventSum records and only
needs to be informed of the event that InventSum has changed, i would
recommand calling your code from the InventUpdateOnhand\ttsNotifyPreCommit
method. Insert your call after the this.UpdateInventSum() and before the
this.deleteInventSumDelta() methods. The InventSumDelta table will give you a
reference to all the InventSum records that have changed.


Thursday, June 3, 2010

My first Iphone App

Hello World!!!

So, here it is. i followed this nifty guide to complete this intro application.
Not too shabby... though, the syntax feels a bit wierd. i guess my C is a bit rusty

Wednesday, June 2, 2010

whats with the single mouse button?

so, Macs have this really annoying "feature". they only have a single mouse button. whats up with that i thought! these pretentious bastards are so hot on design that they sacrifice function over form.  sure my track pad looks nice being a HUGE single button, but if i have to do "control" + click every time i want to right-click on something, then this will be a major PITA! Then, my boss pointed out that in fact, the track pad has multituch capability? My instant reaction? i laughed very hard, what the hell would i need multituch capability in a track .... wait a minute, OMG, OMG, OMG!!!!
i never want to go back to two button mice again, screw that!

on a different, but related rant, i was LOLing very hard the other day when i realized that the macbook only has one delete key. actually it's a backspace key, named delete, so i tried very hard to forward delete something only to realize i was going backwards ... Major WTF! Oh and dont get me started on command + c/v

Monday, May 31, 2010

Introducing: The Mac

Macs are strange devices, they are pretty and sexy, they are fantastically designed, but expensive. I Have been, for the greatest part of my life, a windows user. I have worked on linux during the university days, and always thought , these guys could use some UI tweaks. then, i found out about emerald and the likes ... it was pure genius, but some themes were buggy, and definitely needed the kind of attention to detail you find in a mac. And it's not just the UI, it's the whole hardware design, the kind of of detail you find in a luxury vehicle...fantastic, but, is it really necessary?

either way, the fact of the matter is that i now am the proud guardian of the boss's MacBook .. hmm
why? because it has fallen, or should i say i willingly stepped into a project that concerns the developing of iphone apps .... it seems everybody has been doing it, so i guess i'm just another sheep in the herd. 

it seems that deving iphone apps is now as common as programming your vcr (do those still exist?) Either way, i'm looking for good resources outside the official channels (apple ) to guide my quest ...

i know no one is really reading, but ... you never know

Tuesday, May 18, 2010

.... A new Beginning

so, here we are .. starting a blog for a second time ....
this will certainly be fun, as i will be posting on progress on various projects that are coming to an end!
stay tuned