Welcome to TechNet Blogs Sign in | Join | Help

Deleted alert records are shown in the Unified Worklist web part

When users delete alert records, the records continue to display in the unified worklist on the users Role Center page. When records in EventInbox are deleted, they are not always physically removed from the database.  If the ''SendEmail'' field is selected, then the records are soft deleted.  In such a case the ''Deleted'' field is flagged and the record is update.  When the ”SendEmail” field is false, the records would instead be removed from the database. This is an after effect of the Data Set used by the worklist using the following query when building its temporary table.

 

This is from line 64 of \Data Sets\UnifiedWorkListTmp\Data Sources\TmpUnifiedWorkList\Methods\init.

 

while select alert where alert.UserId == curuserid()

 

This issue can  easily be worked around by implementing the code as shown below. This code this prevents the worklist from displaying alerts that users have deleted.

 

while select alert where alert.UserId == curuserid() && alert.Deleted == false

 

Ensure to restart the AOS so that any cached records can be cleared. Also recommended but not required is an IIS reset to a obtain a new IIS application pool and .NET BC.

 

Posted by Brian King | 0 Comments

Incorrect posting profile used when cancelling a prepayment

Prepayment reversal is posted using the default posting profile summary account and then eventually reversed to the prepayment posting profile summary account. When cancelling a payment unnecessary reversal transaction records are inserted in the CustTrans table.  These transactions should be at least marked/checked in the ‘CancelledPayment’ column.

 

This fix is applied in \Classes\CustVendSettle_Cust\postingProfileSettle().

 

Change:

 

    custVoucher.parmTransVoucher(_custVendTrans.Voucher);

 

    custVoucher.parmVoucher(_custVendTrans.Voucher);

    custVoucher.parmInvoiceId(_custVendTrans.Invoice);

    custVoucher.parmPaymMode(_custVendTrans.PaymMode);

    custVoucher.parmPaymSpec(_custVendTrans.PaymSpec);

    custVoucher.parmFormLetter(_custVendTrans.Voucher);

To:

    custVoucher.parmTransVoucher(_custVendTrans.Voucher);

 

    cust.Voucher.parmCancelledPayment(true);

    custVoucher.parmVoucher(_custVendTrans.Voucher);

    custVoucher.parmInvoiceId(_custVendTrans.Invoice);

    custVoucher.parmPaymMode(_custVendTrans.PaymMode);

    custVoucher.parmPaymSpec(_custVendTrans.PaymSpec);

    custVoucher.parmFormLetter(_custVendTrans.Voucher);

 

 

Posted by Brian King | 0 Comments

Item template detail will be deleted if the item is deleted

If the original item in the Inventory Table is deleted,  then the records in the tables, with itemID field, will also be deleted. Since this is a general issue for the record templates feature in Ax, and is caused by the fact that deleting templates is not supported, SE’s recommendation for solving this issue is as below.

 

This fix is applied in \Classes\SysRecordTemplate:initValue().

 

Change:

 

    if (common.TableId == tablenum(EventRuleData))

        excludeValidateField.add(fieldId2Ext(fieldnum(EventRuleData,RuleId),1));

 

To:

    switch(common.TableId)

    {

        case tablenum(EventRuleData):

            excludeValidateField.add(fieldId2Ext(fieldnum(EventRuleData,RuleId),1));

            break;

        case tablenum(InventTableModule):

            excludeValidateField.add(fieldId2Ext(fieldnum(InventTableModule,ItemID),1));

            break;

        case tablenum(InventItemLocation):

            excludeValidateField.add(fieldId2Ext(fieldnum(InventItemLocation,ItemID),1));

            break;

}

Posted by Brian King | 0 Comments

Performance issue in "Open Transaction Edit" form

 

SE has noticed a performance issue in “Open Transaction Edit” form (AP >> Vendor Details form >> "Open Transaction Editing") in AX 2009 SP1. Post our investigations, we see that much time is consumed sizing the grid columns. Implementing a customization on  the VendOpenTrans form will significantly reduce the time needed to open the form. ON test results from our end , we saw an improvement from 60 seconds to 11 seconds  post implementing this customization .

 

Please note that you can also utilize the customization on various other forms that pose the same impact in performance reasons. Below are details on how to work around this issue by making changes to the \forms\VendOpenTrans with some code snippets given below.

 

Pre requisite : Ensure to have KB 968397 installed on both the client & server. This KB is also included Ax 2009 SP1 Roll-up 2 and is available here

 

Code snippets :

 

\Forms\VendOpenTrans\Designs\Design\[Tab:TabControl]\[TabPage:OverviewTab]\[Grid:OverviewGrid]

 

Change the AutoDeclaration Property from No to Yes.

 

The code snippet below contains an addition of “overviewGrid.autoSizeColumns(false)” which was a  kernel method that was introduced by the referenced KB 968397 fix.

 

\Forms\VendOpenTrans\Designs\Design\[Tab:TabControl]\[TabPage:OverviewTab]\[Grid:OverviewGrid]

 

 

    

    super();

 

    overviewGrid.autoSizeColumns (false); //added line

 

    switch (originator.TableId)

   

 

The Company info table is updated:

A new field is added called DataArea which uses extended data type “CompanyID

 

Method initValue() has 1 line added to populate the new field when a new company record is created.

void initValue()

{

 

    super();

    this.dataArea = this.dataAreaId; //line added

    this.LanguageId = new Session().interfaceLanguage();

}

 

Secondly the entire CustVendOpenTransBalances.initCustVendBalanceMst() method is re-written as follows:

 

/// <summary>

///    Initializes the posted customer or vendor balance in the monetary standard (MST) currency.

/// </summary>

/// <param name="_custVendAccount">

///    The customer or vendor account number that is used to initialize the balance.

/// </param>

/// <param name="_isCustomerAccount">

///    A Boolean value that indicates whether to initialize the posted customer balance or the vendor

///    balance.

/// </param>

protected void initCustVendBalanceMst(AccountNum _custVendAccount, boolean _isCustomerAccount)

{

    DirPartyId    custVendPartyId;

    CustVendTrans custVendTrans;

    CustTrans custTrans;

    VendTrans vendTrans;

    CustVendTable custVendTable;

    CustTable custTable;

    VendTable vendTable;

    CurrencyCode transMstCurrency;

    Amount transMstBalance;

    CurrencyExchHelper currencyExchHelper;

    CompanyInfo companyInfo;

 

    changecompany(custVendCompany)

    {

        if (_isCustomerAccount)

        {

            custTable = CustTable::find(_custVendAccount);

            custVendPartyId = custTable.PartyId;

            custVendTrans = custTrans;

            custVendTable = custTable;

        }

        else

        {

            vendTable = VendTable::find(_custVendAccount);

            custVendPartyId = vendTable.PartyId;

            custVendTrans = vendTrans;

            custVendTable = vendTable;

        }

    }

 

    // Initialize currency exchange helper

    currencyExchHelper = CurrencyExchHelper::construct();

    currencyExchHelper.parmCompany(displayCompany);

 

    while select crossCompany:sharedServiceCompanies sum(AmountMst), CurrencyCode, AccountNum from custVendTrans

        order by companyInfo.CurrencyCode asc

        group by companyInfo.CurrencyCode

        join DataArea, CurrencyCode from companyInfo

            where companyInfo.DataArea == custVendTrans.dataAreaId

        exists join AccountNum, PartyId from custVendTable

            where custVendTable.AccountNum == custVendTrans.AccountNum

                && custVendTable.PartyId == custVendPartyId

    {

        transMstCurrency = companyInfo.CurrencyCode;

        transMstBalance = custVendTrans.AmountMST;

 

        // Convert to the company currency of the display company using the system date and the display company exchange rate, if necessary

        if (transMstCurrency != displayMstCurrency)

        {

            if (Currency::existByCompany(displayCompany, transMstCurrency))

            {

                // Calculate the balance from the transaction company if its currency exists in the display company.

                currencyExchHelper.parmCurrency(transMstCurrency);

 

                transMstBalance = currencyExchHelper.calculateAmountCurToMst(transMstBalance, true);

            }

            else

            {

                // Otherwise the balance from that company should not be added to the total.

                transMstBalance = 0;

            }

        }

 

        custVendBalanceMst += transMstBalance;

    }

}

 

Posted by Brian King | 0 Comments

New Compatibility Testing Results - October 2009

Dynamics AX Sustained Engineering Team has completed the following compatibility tests for the new releases of the following external stack components :

 

Microsoft Product

Dynamics AX version

Windows 7

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Supported as a client only, in 32 bit and 64 bit mode

Windows Server 2008 R2

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Operating System Supported in 64 bit only

 

Note: for upgrade from Windows Server 2008 to R2 with SharePoint 2007 already installed please refer to KB962935 and the following Technet article.

Windows Server 2008 Service Pack 2

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Operating System Supported in
32 bit and 64 bit mode

Windows Terminal Services

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Office 2007 Service Pack 2

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Please watch this space for compatibility & support updates. For further information, feel free to contact daxsecom@microsoft.com

Dynamics AX 2009 Rollup 3 has been released to Partner Source and Customer Source

Recently, we had given a hint on RU-3 that was planned for a September release. Last week, we released the rollup to Partner Source and Customer Source. This rollup carries the richest content compared to the previous ones in terms of the number of the country specific features. Additionally, RU-3 for Microsoft Dynamics AX 2009 SP1 includes Hebrew language support (User interface only) for Microsoft Dynamics AX 2009 SP1, providing the language baseline for the GLS-IL (Israel) layer that is planned to be released later this year.

Due to cumulative nature of the rollups, RU-3 carries all of the content that has been released in RU-1 and RU-2. 

Here are the links to the KB articles for RU-3:

·         Dynamics AX 2009 RTM RU-3 KB Article à KB974407 (Download Package Size ~ 60MB)

·         Dynamics AX 2009 SP1 RU-3 KB Article à KB974409 (Download Package Size ~ 100MB)

Microsoft Dynamics AX 4.0 and AX 2009 are compatible with Microsoft Windows 7 and Microsoft Windows Server 2008 R2

Dynamics AX Sustained Engineering is proud to announce the following compatibility between the released versions of Dynamics AX and the Release Candidate of Windows 7 and Windows Server 2008 R2:

 

Microsoft Product

Dynamics AX version

Windows 7

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Supported as a client only, in 32 bits and 64 bits mode.

Windows Server 2008 R2

Dynamics AX 4.0 SP2 and Dynamics AX 2009 RTM and SP1

Operating System Supported in 64 bits only.

 

 

The System Requirements of Dynamics AX 4 and Dynamics AX 2009 will be updated on Customer Source and Partner Source and can be found at the links below.

   CustomerSource AX 4.0: https://mbs.microsoft.com/customersource/documentation/systemrequirements/systemrequirementsax40.htm
   PartnerSource AX 4.0: https://mbs.microsoft.com/partnersource/documentation/systemrequirements/systemrequirementsax40.htm
   CustomerSource AX 2009: https://mbs.microsoft.com/customersource/documentation/systemrequirements/ax2009systemrequirements.htm
   PartnerSource AX 2009: https://mbs.microsoft.com/partnersource/documentation/systemrequirements/ax2009systemrequirements.htm

 

For further information, feel free to contact daxsecom@microsoft.com

 

Thanks,

Dynamics AX Sustained Engineering

Microsoft Dynamics AX Roll-up 3 is under development...

As you know, the SE team had started releasing hotfix roll-ups for Microsoft Dynamics  AX 2009 RTM and SP1 platforms back in March 2009. As mentioned in the previous blog post, the goal for the roll-ups has been to provide an easy way of deploying Microsoft Dynamics AX with the latest hotfixes and country specific updates on a given Service Pack level. Since so far, we have received very positive feedback from partners on the availability of hotfixes and country-specific updates in the form of a roll-up package.

 

Following Roll-up 1 in March and Roll-up 2 in June, Roll-up 3 for AX2009 RTM and SP1 is currently under development and scheduled to be released to Partner Source and Customer Source in the second half of September. In addition to the hotfixes, Roll-up 3 is going to carry multiple country-specific updates for various regions on SYP and GLS layers except for GLS-TR.

 

We will post a separate announcement with links to the release KB articles at the time of the RTW. Stay tuned!

Microsoft Dynamics AX 2009 Roll-up 2 is available on Partner Source and Customer Source!

To assist our partners and customers in their new Microsoft Dynamics AX deployments, the SE team started releasing roll-ups for Microsoft Dynamics  AX 2009 RTM and SP1 platforms. The roll-ups aim to provide an easy way of deploying Microsoft Dynamics AX with the latest hotfixes on a given Service Pack level. Roll-up 2 for AX2009 RTM and SP1 has been available on Partner Source and Customer Source as of June 29th, 2009. Please find the roll-up KB articles below:

 

Roll-up

KB Number

Package Size

Dynamics AX 2009 RTM RU-2 KB Article

KB971535

~60MB

Dynamics AX 2009 SP1 RU-2 KB Article

KB971536

~80MB

 

There will be one roll-up package for each Service Pack level. Each roll-up will carry all previously released hotfixes up to one month prior to the release of the roll-up and country specific updates. Each roll-up will be cumulative and will not require the presence of the previous roll-up on the system.

 

The roll-up package will contain both a cumulative kernel update and a cumulative application update. Although there is no dependency between these two updates, we recommend that you install both of the updates together. The roll-up will be installed on P-layers (i.e. SYP and GLP) and update the SYS layer as well as the GLS layer that is installed on the system.

Posted by Brian King | 0 Comments

Updated Lifecycle policy for Microsoft Dynamics Products

Microsoft Dynamics Products have announced a new lifecycle policy - shifting from a 12 month model to a 24 month model.  More information can be found at the Help and Support page listed below:

http://support.microsoft.com/gp/lifean41

 

Posted by Brian King | 0 Comments

Upgrade script ReleaseUpdateDB41_Invent\updateInventItemPrice () fails without LogisticsAdvanced license code

During upgrade from Axapta 3.0 to Dynamics AX 4.0 or AX 2009, upgrade script ReleaseUpdateDB41_Invent\updateInventItemPrice () fails in the absence of LogisticsAdvanced license code. License codes are used to enable configuration keys. Absence of LogisticsAdvanced license codes cause the disabling of the LogisticsAdvanced configuration key, which, in turn, removes the InventDimCombination Table from the database. This results in the upgrade script ReleaseUpdateDB41_Invent\updateInventItemPrice () failing.

The fix is to add a configuration key validation before processing table InventDimCombination, in \Classes\ReleaseUpdateDB41_Invent\updateInventItemPrice ()

 

public void updateInventItemPrice()

{

    CostingVersion                  costingVersion;

...

    // copy sales prices

    insertInventItemPrice(#commonCostingVersionId, ModuleInventPurchSales::Sales, CostingVersionPriceType::Sales, NoYes::No, NoYes::No, NoYes::No, NoYes::No,

                           InventItemCostingType::Undefined);

    if(new DictConfigurationKey(new DictTable(tablenum(InventDimCombination)).configurationKeyId()).enabled())

    {

        // copy records from InventDimCombination to InventItemPrice

        // copy cost prices

        insertInventItemPriceDimCost(#commonCostingVersionId, NoYes::No,  InventItemCostingType::Undefined);

        insertInventItemPriceDimCost('',                    NoYes::Yes, InventItemCostingType::Last);

        // copy purcahse prices

        insertInventItemPriceDimSalesPurchase(#commonCostingVersionId, ModuleInventPurchSales::Purch, CostingVersionPriceType::Purch, NoYes::No, NoYes::Yes,

                                               InventItemCostingType::Undefined);

        insertInventItemPriceDimSalesPurchase('',                    ModuleInventPurchSales::Purch, CostingVersionPriceType::Purch, NoYes::Yes, NoYes::Yes,

                                               InventItemCostingType::Last);

        // copy sales prices

        insertInventItemPriceDimSalesPurchase(#commonCostingVersionId, ModuleInventPurchSales::Sales, CostingVersionPriceType::Sales, NoYes::No, NoYes::No,

                                               InventItemCostingType::Undefined);

    }

    if (rowCount)

 

...

    ttscommit;

}

 

 

 

Posted by Brian King | 0 Comments

New Compatibility Testing Results

Dynamics AX Sustained Engineering Team has completed the following compatibility tests for the new releases of the following external stack components :

 

Microsoft Product

Dynamics AX version

Microsoft Internet Explorer 8.0 version 8.0.6001.17184

With Dynamics AX 4.0 SP2 and Dynamics AX 2009

Microsoft SQL Server 2008 Service Pack 1 version CTP 10.00.2520.00

With Dynamics AX 4.0 SP2 and Dynamics AX 2009

Note: Report Builder 2.0 capabilities was not tested

Microsoft BizTalk Server 2009

With Dynamics AX 4.0 SP2 and Dynamics AX 2009

Including the RFID connectivity

Note: The “side by side” scenario with Dynamics AX 4.0 and Dynamics AX 2009 on the same box is not supported.

 

We are currently in process of completion in testing the following :

Windows Server 2008 SP2

Windows Essential Business Server

 

Please watch this space for compatibility & support updates. For further information, feel free to contact daxsecom@microsoft.com

 

 

Thanks,

Dynamics AX Sustained Engineering

Microsoft Dynamics AX 2009 Roll-up 1 is available on Partner Source and Customer Source!

To assist our partners and customers in their new Microsoft Dynamics AX deployments, the SE team started releasing roll-ups for Microsoft Dynamics  AX 2009 RTM and SP1 platforms. The roll-ups aim to provide an easy way of deploying Microsoft Dynamics AX with the latest hotfixes on a given Service Pack level. The first roll-up packages for AX2009 RTM and SP1 have been available on Partner Source and Customer Source since mid-March and we have been seeing hundreds of downloads. Please find the roll-up KB articles below:

 

Roll-up

KB Number

Package Size

Dynamics AX 2009 RTM RU-1 KB Article

KB967146

~60MB

Dynamics AX 2009 SP1 RU-1 KB Article

KB967145

~75MB

 

There will be one roll-up package for each Service Pack level. Each roll-up will carry all previously released hotfixes and updates up to one month prior to the release of the roll-up. Each roll-up will be cumulative and will not require the presence of the previous roll-up on the system. The roll-ups will also carry the tax updates that have been released previously.

 

The roll-up package will contain both a cumulative kernel update and a cumulative application update. Although there is no dependency between these two updates, we recommend that you install both of the updates together. The roll-up will be installed on P-layers (i.e. SYP and GLP) and update the SYS layer as well as the GLS layer that is installed on the system.

 

Moving forward, the roll-ups will be announced at least one month prior to the release date. Currently, SE team is working on the plans for roll-up 2.

Posted by Brian King | 0 Comments

SQL Server 2005 sp3 &amp;amp; SQL Server 2008 with Dynamics AX

Microsoft SQL Server 2005 Service Pack 3 is now compatible with Dynamics AX 4.0 SP2 and Dynamics AX 2009 SP1. The Dynamics AX SE team would also like to announce the availability of the latest SQL Server 2008 support packages for Dynamics AX 2009. This update now includes a fix for a variant of the “Deploy ODC Files” issue which was not addressed in the previous support pack release (KB957312-v2). This variant also affects Dynamics AX 2009 SP1 and a SP1 specific hot fix is also available.

 

Issue summary:

The issue is that the business connector calls into Microsoft.Dynamics.AnalysisServices during web initialization prior to the custom resolve handler fix that was implemented with the fix for KB957312-v2. The issue is similar in that it attempts to load the SSAS 2005 library but is not found. This surfaces later as a failure when attempting to deploy the ODC file even though the custom resolve handler is loaded  … because the previous resolution failure is cached. The fix which is to load the custom resolve handler prior to loading the business connector within the EP framework assembly is now available in KB957312-v3 (RTM hot fix) and KB960158 (SP1 hot fix).

 

Package availability:

AX2009 RTM SQL Support Pack (v3) [KB957312]: https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;957312

AX2009 SP1 Hot fix [KB960158]: https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;960158 ( KB coming soon..at the same link )

 

For DAX 4.0 SP2, please note the following:

 

Database

Notes

Microsoft SQL Server 2008

Supported with Microsoft Dynamics AX 4.0 Service Pack 2 with kernel version 4.0.2503.358 or higher. To obtain this version, you must download the hot fix described in Knowledge Base article number 944115.

 

For more details on this see here. Also for more information on SQL Server Reporting Services and SQL Server Analysis Services integration with AX 2009 read up here.

 

For further information, feel free to contact daxsecom@microsoft.com

 

Thanks,

Dynamics AX Sustained Engineering

Compatibility Testing

Dynamics AX Sustained Engineering executes Quarterly External Dependency Tests to provide information to customers and partners on the existing products releases. In this blog you shall get to hear the latest compatibility matrix on AX 3 SP6, AX 4.0 SP1 and SP2 , AX 2009 RTM and AX 2009 SP1. Check this space often to keep yourself up to date on our latest compatibility tests.

For more specific information contact daxsecom@microsoft.com

Thanks,

DAX Sustained Engineering

 

More Posts Next page »
 
Page view tracker