Quantcast
Channel: Microsoft Dynamics 365 Support : dynamics ax 2012
Viewing all 475 articles
Browse latest View live

How to install and configure Windows AppFabric for AX 2012 Enterprise Portal in a multi-server web farm

$
0
0

 

When setting up AX 2012 Enterprise Portal (EP) in a multi-server web farm, then setting up AppFabric caching is required. This is for caching session info.

When installing SharePoint 2013 it is recommended to use the prerequisite installer to install AppFabric, ref https://technet.microsoft.com/library/jj219572(office.15).aspx section “Plan for the Distributed Cache service”.

Note: If you are using custom applications (DAX Enterprise Portal is a custom SharePoint application) in SharePoint Server 2013 which use the AppFabric client APIs, or are creating custom caches, you should create a separate AppFabric cache cluster to support your custom applications. Do not use the AppFabric cache cluster supporting your SharePoint Server 2013 farm. Run your separate AppFabric cache cluster for your custom applications on separate servers from the servers dedicated to your SharePoint Server 2013 farm.

 

Recommended setup:

Install SharePoint 2013 on the web servers in the farm.

Install and configure AppFabric cache on separate servers (cache cluster not running SharePoint), see https://technet.microsoft.com/en-us/library/dn473937.aspx section “Install and configure Windows Server AppFabric in a cluster”. Do only process 1-4.

Install EP in the web farm using host header, see https://blogs.msdn.microsoft.com/axsupport/2015/11/09/how-to-install-ax-2012-enterprise-portal-in-a-multi-server-web-farm/

If you already have a web server running EP on a web application that was not created with host header and you want to add more web servers to the farm, then you need to create a new web application using host header and then install EP on that web application.

On the EP servers you now need to configure the AppFabric caching. Continue with configure cache client, process 5 in this article https://technet.microsoft.com/en-us/library/dn473937.aspx , on each EP server running as web front end (WFE). Important: See the comment to the article. Do not install the cache client as this is already installed by the SharePoint prerequisite installer, but start from step 4.

When cache clients are configured, then continue with process 6 Validate deployment.

Examples to come.

 

Setup in test systems:

Install SharePoint 2013 on the web servers in the farm.

In this example I have used 3 web servers, 1 running SharePoint Central Administration (CA) and 2 Web Frontend (WFE).

Note: If you want to have a high availability cache cluster then you need at least 3 cache servers. Ref: https://msdn.microsoft.com/en-us/library/ee790974(v=azure.10).aspx

 

When installing SharePoint 2013 in the web farm, then SharePoint will configure a default cache cluster. To verify this, open a Windows PowerShell as Administrator on any of the web servers and execute the Use-CacheCluster command without parameters to set the context of your PowerShell session to the default cache cluster.

Then execute Get-CacheHost without parameters to list the host machines in the cache cluster.

 

Steps to configure AppFabric cache for Enterprise Portal. I did this on the CA server.

  1. Open a Windows PowerShell command prompt as an administrator.
  2. Execute the Use-CacheCluster command without parameters to set the context of your PowerShell session to the default cache cluster.
  3. Execute the New-Cache command to create a new named cache. Make a note of the name you specified. You will enter this cache name in the next procedure.
  4. SharePoint grants cache client access to the accounts in the groups WSS_ADMIN_WPG and WSS_WPG, so you don’t need to execute the Grant-CacheAllowedClientAccount command and specify the .NET Business Connector proxy (the account that is used by the Enterprise Portal application pool).
  5. Export the configuration with this command: Export-CacheClusterConfig and specify a name for the file.
  6. Open the file that you just created and add the following configuration to the <advancedProperties> section:
    <transportProperties maxBufferSize=”1000000000″ />

  7. Execute the Stop-CacheCluster command to stop the cache.
  8. Import the configuration with this command: Import-CacheClusterConfig and specify the configuration file you just canged.
  9. Execute the Start-CacheCluster command to start the cache.

 

Next: Install EP in the web farm using host header, see https://blogs.msdn.microsoft.com/axsupport/2015/11/09/how-to-install-ax-2012-enterprise-portal-in-a-multi-server-web-farm/

 

After EP has been installed in the web farm, then continue with configuration of the AppFabric cache on the WFE’s.

If the CA server should not be acting as WFE, then stop the web application service on the CA server (SharePoint Central Administration > System Settings > Manage services on this server).

 

On each of the WFE’s (cache clients) do the following:

  1. In Windows explorer, open the C:\inetpub\wwwroot\wss\VirtualDirectories\<EPsite> folder. Ex: C:\inetpub\wwwroot\wss\VirtualDirectories\EP.contoso.com80
    Locate the web.config file and create a backup of this file in a different location.
  2. Open the web.config file in e.g. Notepad.
  3. Locate the <configSections>. Add the following section tag before the <sectionGroup name=”Microsoft.Dynamics”> tag:

    <section name=”dataCacheClient” type=”Microsoft.ApplicationServer.Caching.DataCacheClientSection, Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ allowLocation=”true” allowDefinition=”Everywhere” />

    If these tags does not already exist in the web.config file, then you need to add it:

    <sectionGroup name=”Microsoft.Dynamics”>
    <section name=”Session” type=”Microsoft.Dynamics.Framework.BusinessConnector.Configuration.SessionConfigurationSection, Microsoft.Dynamics.Framework.BusinessConnector, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    <section name=”ServerState” type=”Microsoft.Dynamics.Framework.Portal.Configuration.ServerStateConfigurationSection, Microsoft.Dynamics.Framework.Portal, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    <section name=”AppFabricCaching” type=”Microsoft.Dynamics.Framework.Portal.Configuration.AppFabricConfigurationSection, Microsoft.Dynamics.Framework.Portal, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    </sectionGroup>

    Note: if you are running AX 2012 R2, then the version numbers in the above sections must be 6.2.0.0

  4. Add the following dataCacheClient tag to the web.config file after the </configSections>. Replace each instance of “Host_server_name” with the name of a cache server. Replace “default” with the name specified when you executed the New-Cache command.

    <dataCacheClient>
    <localCache isEnabled=”false” />
    <hosts>
    <!–List of hosts –>
    <host name=” Host_server_name1″ cachePort=”22233″ />
    <host name=” Host_server_name2″ cachePort=”22233″ />
    <host name=” Host_server_name3″ cachePort=”22233″ />
    </hosts>
    </dataCacheClient>
    <Microsoft.Dynamics>
    <ServerState Enabled=”true” />
    <AppFabricCaching CacheName=”default” />
    </Microsoft.Dynamics>

    Note:
    If the AppFabric Caching Service account (Control Panel > System and Security > Administrative Tools > Services) is running under a domain account then you need to add dataCacheServiceAccountType=”DomainAccount” to the dataCacheClient tag, ref: http://blogs.msdn.com/b/distributedservices/archive/2012/10/29/authenticationexception-in-appfabric-1-1-caching-for-windows-server.aspx

    Example:

 

Use the following procedure to verify that the AppFabric cache stores Enterprise Portal session on the server:

  1. On all the AppFabric servers, verify in the Windows Services console that AppFabric Caching Service is running.
  2. Open a Windows PowerShell command prompt as an administrator.
  3. Execute the Get-CacheStatistics command and specify the name used for the EP cache. The results should display all zeros.
  4. Open Enterprise Portal and open some edit pages.
  5. Execute the Get-CacheStatistics default command again and specify the name used for the EP cache. Verify that the cache displays values. This indicates that cache distribution is working.

 


OIOUBL – eInvoice for Denmark – DAX 2012 setup reviewed 01032016

EHF – eInvoice for Norway – DIFI – validation rules

How to reverse a Fixed Asset disposal sale transaction

$
0
0

Fixed asset has two types of disposal transaction disposal sale, or disposal scrap. In this post I will focus on the disposal sale, this is accounting treatment in case of the company decided to sell a building, which is a fixed asset. The asset disposal sale transaction is executed from a customer free text invoice. In some scenarios the accountant may want to reverse the posted disposal sale transaction.

The following diagram illustrate a logical overview of the business process of fixed asset disposal sale to a customer. The cycle starts by acquiring a fixed asset in the fixed assets sub module, and this will result in the fixed asset status as open asset. Then move to accounts receivable sub module to execute the disposal sale transaction, this transaction is executed by the free text invoice. After posting the free text invoice the system generates two actions: –

  • The first in AR submodule by posting a customer invoice.
  • The second in fixed assets submodule by post disposal sale transaction and set status of fixed asset as sold.

The reversal of disposal sale is done from the accounts receivable submodule by using the reverse transaction functionality in the customer transactions form. This transaction has two effects, the first is to reverse the customer invoice, and the second to reverse the asset disposal entry in the fixed assets submodule. The asset status set to open as well.

 

Here I will show you how to execute this process in Microsoft Dynamics AX 2012.

  1. Go to fixed asset| Common| Fixed assets| All fixed assets.
  2. Create a new asset record.
  3. Select asset group.
  4. Enter asset name.

 

Acquire the newly created fixed asset by following the below steps.

  1. Go to Fixed assets| Journals| Fixed assets.
  2. Create a new journal.
  3. Enter the asset in the journal line.
  4. Post the acquisition entry.

In order to check the status of the fixed asset,

  1. Go to Fixed assets| Common| Fixed asset| All fixed assets.
  2. Filter on the asset number.
  3. Go to Value model in the ribbon. As shown in the below screen shot the asset status is Open.

 

Select the transactions to show the posted asset transaction.

Create a Free text invoice to create a disposal sale of the asset. This is done by adding the Asset ID to the invoice line.

  1. Go to Accounts receivable| Common| Free text invoice| All free text invoice.
  2. Select customer ID.
  3. Move to invoice lines pane and select Main account.
  4. Enter unit price.
  5. Select Fixed asset ID.

Check the customer transaction by following the below steps

  1. Go to Accounts receivable| Common| Customers| All customers.
  2. Filter to the customer which added to the free text invoice.
  3. Select transactions.

  1. Go to Fixed assets| Common| Fixed assets.
  2. Select fixed asset number.
  3. Select value mode. Here the status is changed to Sold.

Select Transactions in order to show the posted disposal sale transaction.

To reverse the asset disposal transaction,

  1. Go to Accounts receivable| Common| Customers| All customers.
  2. Filter to the customer which added to the free text invoice.
  3. Select transactions.
  4. Click Reverse transaction.

The transaction reversal dialogue box will pop up, enter a reversal date, reason code, and reason comment.

An Infolog will pop up which indicates the customer transaction has been reversed.

Check the posted reversal entry.

  1. Go to Accounts receivable| Common| Customers| All customers.
  2. Filter to the customer which added to the free text invoice.
  3. Select transactions.

  1. Go to Fixed assets| Common| Fixed assets.
  2. Select fixed asset number.
  3. Select value mode. Here the status is changed back to Open.

Select Transactions in order to show the posted disposal sale reversal transaction.

 

Backup/restore the Model database or export/import the Model Store?

$
0
0

In this post I would like to clarify the differences between doing a backup/restore of the Model database, and doing an export/import of the Model Store.

Since version 2012 R2, and the separation of the application elements in a different database (the Model database), it is technically possible to restore this database separately. However, this is not the best practice, as documented in the “Deploying Customizations Across Microsoft Dynamics AX 2012 Environments” white paper.

The reasons why the recommended process is to export/import the Model Store are the following:

  1. When importing the Model Store, a validation is performed on the Element IDs, giving visibility of possible conflicts.
  2. It is possible (and recommended) to import the Model Store into a temporary schema, which reduces the application’s downtime. This technique also allows you to go back to the previous Model Store quicker than restoring a database backup, in case a problem is detected and a rollback is necessary.

In addition, you will find information on the differences between XPO, AXModel, and AXModelStore here.

I hope this is helpful!

Bertrand

With the help of Johan Broberg.

Sales order refunds for credit card payments

$
0
0

 

Processing refunds can be a very simple and easy task, a customer returns an item that they do not want and you refund the money they paid for it right? Unfortunately, it’s not quite that simple as you also need to take into consideration partial returns, taxes, discounts, freight, and restocking fees?

There are 3 main areas of Microsoft Dynamics AX that returns are processed through in respect to credit card functionality: Accounts Receivable, Call Center, and MPOS/EPOS. I will be covering some basic scenarios and suggestions on how to process a refund based on the current design of the application.

Optional note: Another refund scenario to consider in place of issuing a straight up refund to a customer’s credit card is to issue an account credit for future orders or a check refund process to track refunds. I have seen both of these being used by businesses, which can help deter fraud returns. The refund terms are normally defined in additional sales agreement verbiage. This also allows for additional return options in AX outside of the credit card processing limitations.

Accounts Receivable (AR):

The design expectation is that you will be creating a Credit Memo/Note from the original Sales Order to perform the return/refund. The credit card functionality in AR is strict that it is expecting a “return of the item” and not just crediting the credit card. This functionality is not included in the Payment journal form nor is it supported to use RMA’s (Return Merchandise Authorization). If you are not returning an item but want to refund a certain dollar amount, a workaround or customization is needed as this is not directly supported through AR.

Below are a few basic scenarios and suggested solutions. There may be other scenarios but this small list will provide you with a basic understanding to help determine a solution for anything not listed below.

  • Refunding the entire transaction (Net amount, Charges, and Taxes).
    • On the original sales order, click Create Credit note on the Sell menu tab.
    • Select the sales order and the item lines to be returned.
    • All entities (items, charges, taxes) will be included in the refund.
    • Invoice the Credit note sales order to refund the credit card.
  • Refunding only a few of the items from the transaction (Net amount, Charges, and/or Taxes).
    • On the original sales order, click Create Credit note on the Sell menu tab.
    • Select the sales order and the specific item lines to be returned.
    • The selected items and their associated taxes along with ALL charges will be included in the refund.
    • Make any updates as needed to create a partial refund, such as removing or changing the charges, or changing line items quantities.
    • Invoice the Credit note sales order to refund the credit card.
  • Refunding only partial of the net amount (price adjustment).
    • In this scenario, you are looking to refund the customer an amount of the sale, not an actual item or any of the charges or taxes.
    • On the original sales order, click Create Credit note on the Sell menu tab.
    • Select the sales order and one of the item lines in order to create the return order.
    • Delete the line item as you are not returning that item.
    • Add a non-inventory item (Price Adjustment) that will need to be used to perform the refund.
    • Make any updates as needed such as removing the charges.
    • Invoice the Credit note sales order to refund the credit card.
  • Refunding only certain items.
    • On the original sales order, click Create Credit note on the Sell menu tab.
    • Select the sales order and the specific item lines to be returned.
    • The selected items and their associated taxes along with ALL charges will be included in the refund.
    • Make any updates as needed to create a partial refund, such as removing or changing the charges or changing line items quantities.
    • Invoice the Credit note sales order to refund the credit card.
  • Refunding only charges/fees.
    • You cannot refund charges without returning an item as the Invoice option will not be enabled.
    • On the original sales order, click Create Credit note on the Sell menu tab.
    • Select the sales order and one of the item lines in order to create the return order.
    • Delete the line item as you are not returning that item.
    • Add a non-inventory item (Charges-Fees Refund) that will need to be used to perform the refund.
      • Either use the non-inventory item with a dollar amount for the refund (remove the charges)
      • Or have a zero price for the non-inventory item and the Charges amount will be refunded (recommended)
    • Invoice the Credit note sales order to refund the credit card.
  • Refunding only Taxes.
    • Taxes are not line items nor are they normally refunded without the item. The design of sales orders does not support the direct refund of just the tax to the credit card. Thus performing any reversal not involving the return of the item does not affect any tax posting accounts.
    • On the original sales order, click Create Credit note on the Sell menu tab.
    • Select the sales order and one of the item lines in order to create the return order.
    • Delete the line item as you are not returning that item.
    • Add a non-inventory item (Tax Refund) that will need to be used to perform the refund and enter the amount of the tax refund.
    • Invoice the Credit note sales order to refund the credit card.

 

Call Center:

The credit card functionality in Call center can be used similar to that of AR. The only difference is the addition of the Complete and Payment buttons to submit the payment. When the “Enable order completion” option is marked in the Call center channel, these option will become available on the Sales Order.

Call Center does add a feature called “Order credit” to the Sales order form. Using this button, you can perform standalone credits to the customer from the Invoiced order (it must have at least 1 invoiced line) without having to return an item or create a credit note. You would just simply enter the amount of the credit with a reason code and post it. The 2 biggest drawbacks to utilizing this workflow is that this credit will not be directly associated to the sales order, and that the posting will only affect the Customer Account offset by the Offset account listed for the Journal specified in the Call center parameters. It is strongly recommended to test this workflow to ensure it meets your posting needs prior to use.

  • Refunding Misc using Order credit.
    • On the original sales order after invoicing part or all of the order, click Order credit in the Sales order menu tab.
    • Enter the amount of the credit with a Reason code, click OK to process the refund the credit card.
      • If Credit type defaults to Account credit, uncheck the option at the bottom for Credit to account.
      • This option can be changed in the Call center parameters in the Payment section.
  • Refunding only Taxes/Charges.
    • On the original sales order after invoicing part or all of the order, click Order credit in the Sales order menu tab.
    • Enter the amount of the credit.
    • Select a Reason code for Charge Refund or Tax Refund.
    • Click OK to process the refund to the credit card.

EPOS/MPOS:

The credit card functionality in POS is dependent on the previous sale. In order to process a refund to a credit card, you can either use the Return Transaction or Return Product function. The main difference in this functionality is that the Return Product doesn’t care about the customer and will use the current discounts and offers, whereas the Return Transaction uses all of the original information from the recalled transaction. When dealing with a lot of discounts and returns, it is recommended to utilize Return Transaction.

  • Return Transaction requires a receipt and can use any credit card for refunding the payment. If you would like to use the same card, this would be a process of the cashier verifying the last 4 digits of the card number on the receipt with the card being used for the return.
  • Return Product can return any item and use any credit card for refunding the payment.

Here are a few scenarios and suggested solution based on the Return Transaction functionality:

  • How to refund the original Full amount (Net amount, Charges and Taxes)
    • Use the Return Transaction function to recall the original transaction (either from a customer receipt or Show journal).
    • Select all items for return
    • Perform all entities will be included in refund
    • Swipe the Credit card via hardware or click Credit card to manually enter the card info to process the refund.
  • Refunding only certain items from the original transaction.
    • Use the Return Transaction function to recall the original transaction (either from a customer receipt or Show journal).
    • Select only the items needing an adjustment.
    • Swipe the Credit card via hardware or click Credit card to manually enter the card info to process the refund.
  • Refunding a partial amount of an item from the original net amount (price adjustment).
    • In this scenario, you are looking to refund the customer an amount of the sale, not an actual item or any of the charges or taxes. There are two ways to accomplish this, either add a non-inventory item to the sale for a courtesy credit, or return and resell the item at the correct price.
    • Use the Return Transaction function to recall the original transaction (either from a customer receipt or Show journal).
    • Select only the items needing an adjustment.
    • Two options:
      • Return the item with the full original amount and then resell the item at the correct price. (recommended)
      • Add a non-inventory item (Price Adjustment) that will need to be used to perform the refund.
    • Swipe the Credit card via hardware or click Credit card to manually enter the card info to process the refund.
  • Refunding Misc credits.
    • You cannot refund charges, taxes, or fees directly. The best way to perform this is to add a non-inventory item to the sale for the credit.
    • Click Return Product
    • Add a non-inventory item (Misc Credit) that will need to be used to perform the refund with a prompt to enter a dollar amount.
    • Swipe the Credit card via hardware or click the Credit card tender to manually enter the card info to process the refund.

How to enable Foreign currency revaluation in Cash and bank management

$
0
0

When using General ledger foreign currency revaluation the revaluation transactions will be created with type Ledger for the bank accounts. This will lead to a mismatch between the Ledger bank account total and the Subledger bank account total in the company currency amounts. The bank exchanage rate adjustment functionality has been requested by several customers and already available in AX2012 for Russia, where it’s a legal requirement. Below I will show how to make it accessible in any country context in 3 steps.

1. Add your country code to the following items by modifying the property CountryRegionCodes:

  • \Menu Items\Action\BankExchAdj_RU
  • \Data Dictionary\Extended Data Types\BankExchAdjVoucher_RU
  • \Data Dictionary\Tables\BankAccountTrans\Fields:
    • AccountingCurrencyAmountCorrect_RU
    • ReportingCurrencyAmount_RU
    • ReportingCurrencyAmountCorrect_RU

Property / CountryRegionCodes

2. Modify the code by adding your country code into the appropriate lines of the following objects

  • \Data Dictionary\Tables\BankAccountTrans\Methods
    • Insert – 14
    • modifiedField – 14
    • Update – 19
  • \Classes\BankExchAdj_Ru\Methods
    • calcAndPostCurrency – 28
    • calcBalance – 12

3. In Cash and bank management parameters setup a number sequence for Bank – Exchange adjustment

Cash and bank management parameters > Number sequences tab > Bank - Exchange adjustment

After that functionality appears in the Cash and bank management module under the section Periodic > Bank > Foreign currency revaluation

Cash and bank management/Periodic/Bank/Foreign currency revaluation

To post the adjustments select foreign currency revaluation parameters, such as date, currencies, bank accounts.

Select Foreign currency revaluation parameters

As a result Bank exchange rate adjustments appear in the Bank transactions form

Bank exchange rate gain/loss transaction

If you have any feedback or questions about this article please provide them in the comments below or use the stars at the top.


Disclaimer. The described code changes are for your information only. Microsoft only supports installation of the packaged hotfix, and we do not recommend that you attempt to implement similar changes without appropriate testing.

Performances hotfixes for the new Warehouse Management module

$
0
0

Several partners and customers have raised support requests related to performances of the new WMS module. In addition to this, some code defects have been logged and addressed by Development.

In the past months, several fixes and enhancements related to WHS performances were developed and released; these hotfixes were included in latest cumulative updates (CU9, CU10).

A list of some of the available hotfixes is provided below, with KB number and link to download them from Lifecycle Services.

 

Table 1 – Sample list of WHS performances fixes

Title

KB number

Link to download the hotfix from LCS

Performance problem when opening Physical On Hand Inventory form in WMS

3034785

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3034786&bugId=3249169&qc=9e48d82e31b9cbbbae33c128a06c237b4775374f0fea02252d64edfa62e96969

WHS Replenishment performance- Address regression from 3393286

3051622

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3051622&bugId=3612779&qc=e32d5b83a806e8af11a9119de7979c8fc85ceeb943068449c27ef10111695799

WHS Replenishment performance

3051622

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3051622&bugId=3612779&qc=e32d5b83a806e8af11a9119de7979c8fc85ceeb943068449c27ef10111695799

Performance gain in Load Planning Workbench

3062188

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3062188&bugId=3611246&qc=77455aeea2d5ba94c0e35dfb49b9e31de731a89398c9a35971265c93ee1f979c

Improve performance of ship confirm for loads for entire transfer orders

3019832

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3019832&bugId=3189842&qc=91db24b1ea8b8fe2e83d0bdb2ef33c6b63587277ad77766aef9b7aa94f02f2eb

Improve performance of manual work completion for work created by located license plate

3019834

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3019834&bugId=3189840&qc=b7320cc6511def68231f874521310f1a0bc2c2ebb394b8321363b1cee27a243d

Perf: Load planning workbench is unusable on a system with any latency

2988304

https://fix.lcs.dynamics.com/Issue/Resolved?kb=2988304&bugId=1711093&qc=89612992cff54c9ca46a96332687db66384e0c72a25dbcf6d0023bb8f9494f4f

Improve the performance of the Release to warehouse process for larger order scenarios

3020975

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3020975&bugId=3209569&qc=88cc084d1b480cd7c035f63b7c6016b38149dacd147f6ab219f9ac18c3e56e38

Performance: Cannot run with more than 7-8 WMDP sessions – WMDP service client objects require explicit recycling

3010993

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3010993&bugId=2892401&qc=24b1f39b2de9945ce6d1a00051081348fd39a1b036b1b4564d298c1c4ce2b0b6

Performance problem when opening On Hand By Location form in WMS

3034786

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3034786&bugId=3249169&qc=9e48d82e31b9cbbbae33c128a06c237b4775374f0fea02252d64edfa62e96969

Performance of the location stocking limit check can be improved by optimizing the stocking limit retreival logic and unit of measure conversion logic

3072510

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3072510&bugId=3638492&qc=ad0f29b1cf3d6f898aaa14dd03d81f398d1bc0b1b39bba67b4f7cfd3da2c0122

Perf: The pack operation should be improved by avoiding client/server calls and utilizing the Financial Lite update which was done for Work

3073529

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3073529&bugId=3638991&qc=932dba5b4ed557d9058ecb898a81ed416263794653e8d080e6f13b50bf787170

Intermittent performance issue with Inventory onhand inquiry for AX2012 R3 with queries in sp_WHSOnHand stored procedure

3073717

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3073717&bugId=3611313&qc=5c18fd97190bac6452dd28dd25c9a49c89bb643fdf06bb0f42a803dec1d03591

InventSum and WHSInventReserve clean up

3063513

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3063513&bugId=3601375&qc=6fb02c3461d1ef56a53eca07567a63daa0e27b122bc30c5cb884f76ecadd5ad6

Load Planning Workbench has performance problems, takes too long to load

3051069

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3051069&bugId=3231430&qc=6fb35610e343d00532f7e9fd37db78b4015110bd5e2f8d3aebb82870afa32fc5

Perf: Containerization process can be improved 50%

3073177

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3073177&bugId=3637360&qc=8ce0709fc285b26f9d95258dd706bec091ccafffbe3a4e38c0e6c77ebf85a9d0

perf: WHSWorkCreateHistory table has incorrect setting of clustered index which leads to very expensive queries during processing of larger waves with many allocation errors

3071893

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3071893&bugId=3638496&qc=cb30d9a00ab8e406ba49b802fd34e900509df5c4f639ae83718110a9d09ffbb1

Perf: We should not track WMSLocationLoad records on WHS location since they cannot be used and the maximums cannot be configured.

3074073

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3074073&bugId=3643913&qc=fe61aa98c92702c647b9ec484c4a5a9b683151a55365e26c8d476217956fe33a

perf: The number of full locations that fit the location directive query should not affect the time it takes to find a putaway location when using Volumetrics

3073602

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3073602&bugId=3638553&qc=cd6483285548fa40d82b1cf4512a7b2245e623611a663245381cd958412fc195

Perf – Work creation (after the allocation step) Optimization – avoid re-evaluation of empty locations

3104480

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3104480&bugId=3679983&qc=1616a755c0d38452521750f1852e05dde7da817231d5203f9274343b088e4826

Perf – Work creation (after the allocation step) Optimization

3099718

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3099718&bugId=3671768&qc=641c41b8e94ec1682dbff0b6b32a8f7178ea783167702f459abe5a22604ebda6

perf: Min/Max replenishment can be optimized with +20 % by avoiding to do laborstandards calculations for each work one by one but for all the works created as part of the replenishment

3073600

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3073600&bugId=3673156&qc=b1f56f8204851eb275c895df8688c5b0094c3e55af14f6e51204927b029a9023

Performance improvement for KB3073717

3112873

https://fix.lcs.dynamics.com/Issue/Resolved?kb=3112873&bugId=3691967&qc=f23b52f1b34c5e60ed2b68c9a614bd815311067b829d1dafd5e9c44d8d8eb28f

 

Comments and tips

Depending on the situation, you may choose one of the following options:

  • Download a specific hotfix individually if an issue has been reported in the environment
  • Upgrade to the latest CU
  • Create a package of hotfixes via the Update Installer in LCS.

Quick and easy debugging in AX 7

$
0
0

This purpose of this blog is to show how you can get quickly get started with debuggingin AX7, specifically by showing how you can debug an error message issued from AX.

So, let’s begin !

Imagine you are posting a Bank journal and you get the following error message upon posting ‘Currency EUR not allowed for account USMF OPER’

You would like to know the logic behind this error message, but need to trace in the code where it was issued from

Blog1

We will use a classic debugging technique known from AX 2012 to demonstrate how this can be done quickly and easily, by inserting a breakpoint on the Info class to enable the debugger to track down in the code where the error is generated from.

These are the steps

  1. Start Visual Studio as ‘Administrator’

Blog2

2.  Go to the Application explorer, go to the ‘Code’ node, select ‘Classes’ and locate the ‘Info’ class

Blog3

On the ‘Info’ class rightclick and select ‘View code’

Blog4

In the window that opens up, select the ‘Add’ method

Blog5

3. Insert your breakpoint on the ‘Add’ method by pressing ‘F9’

Blog6

 

4. Press ‘Debug’ from the toolbar and select ‘Attach to process’

Blog7

 

In the ‘Attach to process’ screen mark ‘Show processes from all users’ and then browse to
the process ‘w3wp.exe’

Blog8

Wait for the Symbols to load

Blog9

 

5. Once the symbols have loaded repeat the application procedure, eg. in this case we will post the journal again to generate the error message

Blog10

 

And note that almost immediately the debugger starts executing in Visual Studio

Blog11

I copy the call stack into Notepad and here I note especially the highlighted line as this is the line that is triggered just before the call to the Infolog code

Blog12

I can see that the error is triggered on the BankAccountTable, checkCurrency method on line 225 and I stop debugging

Blog13

I go to this code to study the method

 I open up the BankAccountTable and similar to as on the ‘Info’ class I select ‘View Code’ and open the method I am interested in

Blog14

Here naturally ‘checkCurrency’

Blog15

 

And  we can study the code that generated the error message

Naturally, you can use the same technique to insert breakpoints in other places of the code such as on ‘init’, ‘update’ and ‘insert’ methods etc

Happy debugging !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EHF – eInvoice Norway – Contact ID on customer

$
0
0

DIFI (authorities) defines the Contact ID: The customer contact, known as “Deres ref” in Norwegian, is mandatory.

The element is used for the reference of who ordered the products/services. Information is specified in the element AccountingCustomerParty/Party/Contact/ID

In AX 2012 R3 the customer contact reference is entered in the field Organizational ID under Miscellaneous details on Customer/Contacts.

In the XML file it looks like this.

Please also see attached document describing the issue – Customer contact person id

Partner Requirements for using Cloud Powered Support in new Microsoft Dynamics AX LCS Projects

$
0
0

The following steps are required for partners to be able to use the Cloud Powered Support tool to submit cases to Microsoft from a project linked to the new version of Microsoft Dynamics AX. There still are requirements for having a valid support plan in order to use the tool, but the following steps are necessary for the Cloud Powered Support tool to be able to recognize what level of support you should be receiving.

Existing partners that already work with our Dynamics AX 2012 solution will need to create a second contact for themselves in PartnerSource Business Center. They will then need to link that second contact to their Work/School account so that they have one contact linked to a Live ID (used for Dynamics AX 2012 projects) and one to a Work/School account (used for new Dynamics AX projects).  To create this second contact and link it to their Organizational account have them do the following:

Login to PartnerSource and go into the PartnerSource Business Center

  1. Have your PartnerSource Admin create a second contact for the user and pick a valid email address (which does not have to match their work/school account)
  2. Choose the Send Invite Email button in the Relationship with Microsoft section
  3. The partner should receive an email with a link in it – they should copy that link but NOT click on it immediately.
  4. They should close all internet browsers and then choose to open Internet Explorer or Edge using InPrivate browsing or Google Chrome using Incognito mode.
  5. They then should paste the link into their InPrivate browser and when they get to the screen shown below, they should choose Organizational Account
  6. Then, when they get to the login window, they should login with their work/school type of account.

 

Once they have done this, it may take a day or two for the information in LCS to be updated with the new updates.

The error message that is received if this setup is not done properly is “Cannot find support account” and “Your LCS account is not correctly associated with a Microsoft Support Plan. Please contact your Microsoft Account Manager to investigate.”

“Unable to find the digital certificate” error when posting an invoice using the Mexican localization

$
0
0

In this post I would like to mention a known issue related to the Mexican electronic invoice (CFDI) in Dynamics AX 2012.

If you have followed all the configuration steps detailed here, have valid certificates, and still see the error message “unable to find the digital certificate” when posting an invoice, you should make sure to have a valid schema file and a valid certificate set up for CFD, even if you are using CFDI, and CFD is disabled.

  1. Go to Organization administration > Setup > Einvoice > Electronic invoice parameters
  2. Make sure you have valid values for the parameters “CFD XML schema file” and “Certificate”:

To be able to edit these values you will have to disable CFDI, enable CFD, make the changes, disable CFD and enable CFDI again.

This issue is fixed in the new version of Dynamics AX.

I hope this is helpful!

Bertrand

With the help of Felix Vazquez.

IDMF – Archiving Restoring and Purging data from a custom table

$
0
0

Consider a scenario where you are running AX 2012 R3 and you want to archive or purge data from a custom table in AX using IDMF.

The screenshots are from a VMTEST environment with CONTOSO DEMO DATA that is running AX 2012 R3 CU10 on SQL Server 2014 and the latest version of IDMF.

1. The custom table

I’ve created a simple custom table called IDMFTestTable1 which has three fields (RowID, Date, Value) and where RowID is the Primary Key (i.e. unique):

idmfA1

I’ve inserted 1000 rows for each year between 2012 and 2016 in order to simulate data row growth over time, so I can demonstrate date based purging and archiving:

idmfA2

2. Archiving data

I begin by creating a new Archive Object from the Configure menu:

idmfA3

Note that I’ve chosen the Primary Key on RowID by checking it.

In this example, I am going to add an expression under by clicking on Add/Edit rules and then choosing Add expression:

idmfA4

Note that I’ve configured the rule to only archive rows from the custom table where the Date field is <= to the value I enter when I schedule the archive job to run.

I now schedule the Archive job to run and add the value I want to use for Date <=. All this is done from the Schedule menu:

idmfA5

idmfA6

idmfA7

Once you’ve scheduled the job, it should appear in the job status list under Status:

idmfA8

When the job has run successfully, you can see how many rows it inserted into the Archive database:

idmfA9

If I check my Archive Database, I can see that there are now 1000 rows in the archive table stored there:

idmfA10

3. Purging data

I begin by creating a new Purge Object from the Configure menu.

In this example, I am going to add an expression under by clicking on Add/Edit rules and then choosing Add expression:

idmfP1

Note that I’ve configured the rule to only purgerows from the custom table where the Date field is <= to the value I enter when I schedule the purge job to run.

I now schedule the Purge job to run and add the value I want to use for Date <=. All this is done from the Schedule menu:

idmfP2

idmfP3

idmfP4

Once you’ve scheduled the job, it should appear in the job status list under Status.

When the job has run successfully, you can see how many rows it purged.

If I check my Production Database, I can see that there are now 1000 rowslessin the table I purged the data from, as intended:

idmfP5

4. Restore archived data

To restore archived data, go to the Schedule menu and click on the Restore archive button.

Name the job under the General tab:

idmfR1

Select the relevant schedule under the Configure archive restore tab:

idmfR2

And finally, schedule the job to run when convenient under the Schedule tab:

idmfR3

Once you’ve scheduled the job, it should appear in the job status list under Status.

When the job has run successfully, you can seehow many rows it restored.

idmfR4

If I check my Archive Database, I can see that there are now no rows in the table I restored the data from, as intended:

idmfR5

5. Testing

As always, ensure you’ve set up a proper Dynamics AX TEST environment first, and that you are familiar with the impact of your IDMF archiving, restoring, or purging actions before you perform them in PROD.

Get started developing in AX 7

$
0
0

This blog will show how you can start making a customization in AX 7 by showing you the steps needed to make a simple script

Before starting customizing AX it is recommended to create your own Model

  • The first step is to log into Visual Studio as an Adminstrator

Dev1

Once within Visual Studio, go to the AX7 menu and select Model Management and ‘Create model’. A model is not exactly the same as a layer, but it might be a useful analogy to think of it as being similar to a layer in the sense, it is a way to isolate and manage your customizations

Dev2

Create the model in the form that appears and fill out the fields as appropriate

 

Dev3

Click ‘Next’ and select ‘Existing package’ and choose ‘Application Suite’

 

Dev4

Press ‘Next’ – accept the default values suggested and press ‘Finish’

 

 

Dev5

In the ‘Save’ screen that appears, select the project DynamicsAX7 and give it a name of your choice and press ‘OK’

Dev6

Notice in the Solution Explorer to the right in the screen a new Project has been created in your newly created Model

 

Dev7

On the Solution Explorer go to the project and rightclick and select ‘Properties’

Dev8

In here note that the project is in the new Model just created and that the customizations will be saved in the ‘USR’ layer

Dev9

Also, it’s a good idea to specify which company you wish to execute the code in, here ‘DEMF’

Press OK

 Now to add ‘Runnable Class(Job) to the Project do the following. On the project rightclick and select ‘Add’ and then select ‘New Item’

Dev10

 

In the screen shat appears select ‘Code’ and then ‘Runable Class(Job)’

Dev11

And press ‘Add’

Note that now in the Solution explorer that the Runable Class has been added

Dev12

Doubleclick on the ‘Runable class’ and enter the code editor window and give your job a meaningful name and write your code like you would do any X++ job as known in previous versions

dev12B

Save the project(Ctrl + S) and to compile the job, select ‘Build’ and ‘Build Solution’ from the toolbar

Dev13b

 

Wait until the output window reports that the build has completed

Dev14

 

 

Now in order to run the job, you need to set it as a ‘Startup Object’

Go to the Solution Explorer and on the Job, righclick and select ‘set as Startup Object’

Dev15

Now to execute the job, select ‘Debug’ in the toolbar and then ‘Start without Debugging’

Dev16

And note the output in the browser

DevFinalOutput

And that’s it. Happy AX7 developing !

 

 

 

 

 

 

 

 

 

 

 

eInvoice DAX 2012 – Trouble shooting

$
0
0

In the attached file you will find some basic steps to run in case any problems with generating eInvoice files. The steps apply to DAX 2012 for EHF (Norway), OIOUBL (Denmark) and Peppol (Austria).

Trouble shooting


Improved High Availability Support for SQL Clusters

$
0
0

We have recently released an updated kernel for Microsoft Dynamics AX 2012 R3, KB 3141722, that will improve the way we handle the tables created in TempDB. As you may be aware, TempDB is a transient database, that means when SQL is started or after a cluster node failover, the TempDB database is created empty. Whenever the AOS creates a table in TempDB we also create a reference to that in an internal pool within the AOS service. The reason for this is that once a TempDB table is used, we don’t drop it, but truncate to retain an empty copy to be reused again by another session.

There are also different types of tables created in TempDB by the AOS to handle certain situations. The AOS service was designed to handle a failover in regards to some of these table types, however there were some that were not covered. This fix now handles all situations by introducing a new internal thread that will periodically check the internal pool of temp tables used against the actual tables residing in TempDB. If it finds that they are not present, then the pool is cleaned up.

Out of the box, this new feature is disabled, but it can be enabled by setting the string value “synctempdbpoolfrequency” in the AOS service registry settings. The value set in this key is used to determine the polling frequency of thread that validates the internal temp table pool to the TempDB tables. When setting this, chose a suitable value that will not cause an overhead to the database, a suitable suggested value would be between 30 to 60 (seconds).

The “synctempdbpoolfrequency” registry value is setup under:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dynamics Server\6.0\<instance_number>\<configuration_name>

See example below where the instance was 01 and the configuration was named “Debug”

KB3141722RegistryChange

You can download this from Lifecycle Services here: https://fix.lcs.dynamics.com/Issue/Resolved?kb=3141722

As kernels fixes are cumulative, you can install any later kernel as well. The build number for this kernel is 6.3.3000.1480.

Dynamics AX 2012 – Audit of Security Role Membership Changes

$
0
0

It is a common request from customers to be able to audit security changes made for users in Dynamics AX. The most common requirement is to log security role membership changes and be able to identify:

  • The security role which was added or removed
  • The user affected
  • The administrator user who made the change
  • The date/time of the change

Such requirements are often addressed using database logging (which has some significant limitations) and/or with customisations but I would like to draw your attention to a feature which appears in AX 2012 R2 onwards, in the Estonia country localisation:

(EEUR) Permission changes log (report) [AX 2012]

The report functionality is described as follows:

“Generate and print a report that displays changes to an employee’s permissions to access information, security rights, or user role in Microsoft Dynamics AX. You can select to view the permission changes as an overall list for the employee, or as a breakdown of tables and fields.”

I would leave as an exercise for the reader to fully enable this feature for other country localisations, however we can make use of the underlying log table and business logic to meet the basic requirements laid out above, with some very simple customisation.

In standard AX, when modifying the role membership of a user, we already make a call to the class method:

EePersonalDataAccessLogging.logUserRoleChange()

If we review the code in this method, we can see that changes are logged to the table EeUserRoleChangeLog only if the changes will affect access to a legal entity which is in the country Estonia (#ISOEE.) With a change to the code in this method, we can log role membership changes in all cases.

Changes to class method EePersonalDataAccessLogging.logUserRoleChange()

After compiling and generating CIL we can test that changes to role membership are now being logged and the table meets the original data requirements:

Records created in table EeUserRoleChangeLog after changing role memberships for a user

From here, it should be a simple exercise to develop a custom report or a new form, from which to review the historic role membership changes for a given user. In the example below, I have simply added a new tab page to the ‘Log’ form SysUserLog accessed from the users list page:

Highlighting access to the SysUserLog form from Users list page

It displays the change type, the security role, the company affected (if applicable,) the user who made the change and the date/time of the change, in a grid:

New tab added to the SysUserLog form

You can download my sample in the attached xpo however please note this is a ‘proof of concept’ sample only and is not supported by Microsoft, as per our standard disclaimer. I hope that helps a few people to get up and running with a simple audit log for security in Dynamics AX!

Sample Code is provided for the purpose of illustration only and is not intended to be used in a production environment. THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. We grant You a nonexclusive, royalty-free right to use and modify the Sample Code and to reproduce and distribute the object code form of the Sample Code, provided that. You agree: (i) to not use Our name, logo, or trademarks to market Your software product in which the Sample Code is embedded; (ii) to include a valid copyright notice on Your software product in which the Sample Code is embedded; and (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and against any claims or lawsuits, including attorneys’ fees, that arise or result from the use or distribution of the Sample Code

Download zipped xpo: SharedProject_UserRoleMembershipChangeLog.zip

DIXF – Compare Entities – SQL Server replication tool is not installed

$
0
0

Consider a scenario where you are running AX 2012 R3 and you want to compare entities between AX companies using DIXF, but you get an error telling you that the SQL Server replication tool is not installed.

1. The DIXF functionality

On a CONTOSO Demo Data TEST environment, you can find the functionality by navigating to:

USMF/Data import export framework/Common

and then clicking on:

Compare entity data between companies

S0

2. The error

The error you may see if you haven’t set up the environment correctly looks like this:

S1

3. Checking if the SQL Server replication tool has been installed

I begin by running some T-SQL on the SQL Server instance to see if the tool has been installed (click on the link below to get a copy of the script I am using)

CheckReplInstalled

When I run the script on an instance where the tool has not been installed, I get this sort of output:

S2

4. Installing the SQL Server Replication instance feature

Having established that the error message does indeed appear to be correct and that we are missing the required SQL Server instance feature, we proceed to install it using the SQL Server installation media.

Note that you may need to do this on several boxes if you are using multiple SQL Servers in your topology.

S3

S4

S5

S6

5. Verifying that DIXF functionality works

When I run the T-SQL script on an instance where the tool has been installed, I get this sort of output:

S7

If I run the DIXF Compare entity data between companies functionality now, it works:

S8

S9

S10

6. Points of interest – Database Compatibility Level

If you have confirmed that you have installed the SQL Server Replication instance feature on your SQL Servers but you still get the error, then please check the Database Compatibility Level on your AX databases and ensure they are all set to the same value.

This information is shown in the T-SQL script output.

For SQL Server 2012 the value would usually be 110, and for SQL Server 2014, it would usually be 120.

-- SQL Server 2012
-- 
-- VERSION              DBNAME                                   COMPATLVL
-- -------------------- ---------------------------------------- ---------
-- 11.00.6523           MicrosoftDynamicsAX                      110
-- 11.00.6523           MicrosoftDynamicsAX_model                110
-- SQL Server 2014
-- 
-- VERSION              DBNAME                                   COMPATLVL
-- -------------------- ---------------------------------------- ---------
-- 12.00.4439           MicrosoftDynamicsAX                      120
-- 12.00.4439           MicrosoftDynamicsAX_model                120

7. Testing

As always, ensure you’ve set up a proper Dynamics AX TEST environment first, and that you are familiar with the impact of your DIXF and SQL FEATURE SETUP actions before you perform them in PROD.

DIXF – Importing data using Excel and ODBC

$
0
0

Consider a scenario where you are running AX 2012 R3 and you want to import data from Excel files using ODBC. Having recently worked a case on this topic, I thought I’d share some of the details on how this can be set up.

1. Background

The main reason we were looking into this way of importing Excel data was that trying to import the data in Batch using Excel files would in some scenarios result in this error:

The version of Microsoft Excel is not supported.-Exception from HRESULT: 0xC020801C

S0

Working with a LCS Repro VM we were able to reproduce the issue, and then establish an alternative approach that I will outline below.

There are lots of ways to import data into Microsoft Dynamics AX and this is only one of them. The best tool for the job and approach will depend on many factors, including the degree of control you have over source data formats (CSV File, Excel File, XML File, AX, ODBC), the frequency of the imports, the complexity of the entities being used, security considerations, etc.

The aim of this blog post is simply to outline one approach which you may be considering.

2. Prepare the environment

In this example, we are working with a very simple 2 column Terms of delivery entity Excel input file.

// Disclaimer:// Microsoft provides programming examples for illustration only, without warranty// either expressed or implied, including, but not limited to,// the implied warranties of merchantability or fitness for a particular purpose.// This mail message assumes that you are familiar with the programming language that// is being demonstrated and the tools that are used to create and debug procedures.//// This source code is freeware and is provided on an "as is" basis without warranties of any kind,// whether express or implied, including without limitation warranties that the code is 
// free of defect, fit for a particular purpose or non-infringing. The entire risk as to the 
// quality and performance of the code is with the end user.

A. Download the 64-bit version of Microsoft Access Database Engine 2010 Redistributable:

http://www.microsoft.com/en-us/download/details.aspx?id=13255

B. Copy the installer to a local folder and run the install from command line using the /passive parameter:

C:\MSFT\AccessDatabaseEngine_x64.exe /passive

S1

C.Backup the registry and rename the key mso.dll in the following location:

Warning:Incorrectly editing the registry may severely damage your system. At the very least, you should back up any valued data on the computer before making changes to the registry.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths

S2

D. In Windows, create a 64-bit ODBC data source pointing to the Excel file to be imported:

S3a

E. In AX, create an ODBC source data format using the 64-bit ODBC data source created before:

S3b

F. In AX, create a Processing group using the source data format just created. The query should look like: select * from [worksheet$], for example:

Select * from [S1$]

S5

G. In AX, generate the mapping and test:

S4

3. Run the DIXF Excel file / ODBC source data format import as a Batch

We can now proceed and run the DIXF import using Batch processing:

S6

The Batch job is executing:

S7

The Batch job has ended successfully:

S8

We can verify that the job ran as expected by checking the Execution history, too:

S9

4. Testing

As always, ensure you’ve set up a proper Dynamics AX TEST environment first, and that you are familiar with the impact of your DIXF actions before you perform them in PROD.

Setting up SharePoint Online with Lifecycle Services project fails with error OAuthAppAuthorizationFailure

$
0
0

The scenario is this:
You have the role as Project Owner for a project in Lifecycle Services (LCS) and you want to use a SharePoint Online team site to store the project documents. You did not create the team site, but you have been granted Site collection administrator permissions for the team site so you can do the needed setup.

  1. You log in to LCS and open the project.
  2. In the project under Action center or in Project settings > SharePoint Online click on button “Setup SharePoint Online”.
  3. Type in or past the URL to the team site – do not include the template info in the URL – click Continue.
  4. Click Yes to verify you want to continue.
  5. You will be redirected to the team site. Click Trust it to let LCS create documents in the site.
    You will get this error:

The reason you get this error is that you are not the Team Site owner. In order to link the SharePoint site to your LCS project, then you need to be both Site Collection Administrator and member of the Site Owners group.

If you already is a Site Collection Administrator, then you can add yourself to the Site Owners group. If not, then you need to get a Site Collection Administrator to add you to both groups.

Note that you must use the same account in LCS and the Team site.

To add yourself to Site Owners:

Browse to the site, click on the gear button and select Site settings.

In site settings select Site permissions.

In Site permissions click the link to the Site Owners group.

Click New to add yourself to the group.

 

Now when you have the needed permissions, then follow the steps 1-5 above.

  1. You will return to LCS. Verify the account and URL and click Save.
  2. You are done and can start uploading documents. Under More tools you will see the button to go to the documents.

 

The first time you upload a document, then in the team site it will be created a folder with the name of the LCS project where all the documents will be saved.

Viewing all 475 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>