Quantcast
Channel: Microsoft Dynamics AX Support
Viewing all 748 articles
Browse latest View live

Resolving a missing reference during Package deployment

$
0
0

Issue:

When deploying a package to UAT an error occurs:

The running command stopped because the preference variable “ErrorActionPreference” or common parameter is set to Stop: Unable to resolve dependency ‘dynamicsax-dimensionsformadaptor’

Any model in a package you are deploying needs to also include all the models it references if they don’t already exist in the environment you’re deploying to.  We see this commonly with any of the ‘formadapater’ model which, while present on the builder server, are not present on UAT environments.  Form adapter models are used exclusively for automated testing.

Resolution:

  1. On one of the development environments open Visual Studios.
  2. Right click on AOT in the Application Explorer
  3. Select Model View
    pic1-s3
  4. In the model list, find the one referenced in the error; e.g. DimensionFormAdaptor
  5. Right click on the model, select View Package Dependencies > View Incoming References
    pic2-s5
  6. This will display a diagram showing all models referencing this model.
    pic3-s6

Next: Remove the reference from model

  1. Remove the reference from the model
  2. In Visual Studio, click on Dynamics 365 > Model Management > Update Model Parameters
    pic4-s8
  3. Select your model in the drop down, click Next
  4. In the reference packages section unselect the model referenced in the error.

*Note* This is an example of a model reference which shouldn’t be included, it is likely removing a referenced package will result in compile errors.  These errors will need to be resolved before moving forward with a new build.  For unit testing projects which will need to reference formadapter models the best option would be to split these out to separate packages with TEST in their name, so they will not be included in the final package deployment.  Additional details for unit testing: https://ax.help.dynamics.com/en/wiki/tst101-testing-and-validations-in-microsoft-dynamics-ax-7/


What would you love to see in Dynamics 365 for Operations? Post your idea on the Ideas Portal

$
0
0

We now have a Dynamics 365 Ideas Portal for you to log any new ideas for Dynamics 365 for Operations: https://ideas.dynamics.com/ideas/dynamics-operations

Like Microsoft Connect, you can view other suggestions, vote for or against an idea and add comments.

If you want to see what has the most votes, there is a hot tab plus there is a new tab to quickly see the latest ideas posted. You can also filter by status and time:

When you enter the site the Quick Links allows you to filter to see all the ideas under each module:

You can select “My feedback” to see a detailed view of ideas that you have submitted, the status and the total votes received.

Please take a read through the Posting Guidelines and FAQ on the Ideas Portal for more information.

Please note that suggestions that were previously entered under the Dynamics ERP Feedback product in Microsoft Connect have been migrated over to the Ideas Portal. These are displayed as created by Microsoft.

What does the Maximum penny difference parameter do?

$
0
0

This post will describe the purpose of the General Ledger parameter ‘Maximum penny difference’. This is quite an important parameter, but its purpose is often not clearly understood. Hopefully this post will demystify it !

Suppose your company currency is EUR and you post the following journal

pennydifference1

The voucher looks as follows

pennydifference2

This is completely as could be expected and the voucher resembles the journal lines

However, now imagine we repeat the same posting, but with the difference that we specify that the posting is done in USD

pennydifference4

Note the ‘Maximum penny difference’ parameter is set to 0.00

pennydifference5a

and the exchange rate is 117.56742

pennydifference5

When posting the journal, AX throws the following error

pennydifference6

As the error message indicates, there is an imbalance of 0.01 in the voucher

Now, let’s change the Maximum Penny difference parameter to 0.05

pennydifference7

and then retry to post the journal. The journal was posted without an issue

pennydifference8

 

If we go and have a look at the voucher we can now more clearly see why it was possible to post the journal after changing the Maximum penny difference parameter

pennydifference9

The Amount in transaction currency column shows us the journal line amounts, eg. 49.50 and 99, but the ‘Amount’ column(company currency value) shows us the exchange adjusted value in the company currency.

Notice also, that the system has posted the 0.01 difference that previously caused the imbalance error on the ‘Penny difference in accounting currency’ account. (Note, the exact same principle applies for reporting currency, but for the clarity of the example it has been omitted it here)

So, this leads to the question – why is there an imbalance of 0.01 when posting the USD journal and not the EUR journal ?

The reason has to do with exchange rates difference and the rounding effects of this

Note firstly, the difference in the credit and debit columns

We have 2 credit entries of 58.20 in the account currency column- and normally if you multiply this with 2 to get the debit amount, you would expect to see 140EUR (58.20 x 2)

pennydifference10

But, instead we see 116.39 (and the 0.01 added to this amount is equal to 116.40 and the voucher balances with debit and credit being equal). But, why is the debit amount to begin with 116.39 and not 116.40 ?

The reason for this can be found by looking at the exchange rate which has been applied, as displayed under the ‘Amount’ tab

pennydifference11

The exchange rate here is displayed as 117.565656565657 which is the internal number AX uses. If we divide this rate with 100 and multiply it with 99 (117.565656565657 / 100 * 99) we get the following value, 116.39000000000043, eg. 116.39. This amount substracted from the credit totals of 116.40 gives the difference of 0.01 and hence is the reason why we need the Maximum penny difference parameter to ensure that debit and credits are equal so that we can post the journal without any problems.

If we don’t specify a ‘Maximum penny difference’ tolerance that we accept to be posted to the account specified for penny difference we can not post the journal as due to the debit amount being rounded downward, it’s sum will never be equal to the sum of the credit amounts.

The key concepts to keep in mind with regards to the Maximum penny difference parameter is hence

  1. The parameter is used in connection with foreign currency postings as these can cause rounding differences
  2. Each debit and credit line in a voucher are calculated individually line by line

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Source document or Accounting distribution?

$
0
0

This blog will explain the purpose of the General Ledger Parameter ‘Values used for summary account’

You can choose 2 values here, either ‘Source document’ or ‘Accounting distribution’

accrule1

The purpose of this parameter very shortly is that it governs which dimension should be used on a summary account. If you select ‘Source document’, the dimension specified on the Master record, eg. Vendor will be applied to the summary account upon posting. If you select ‘Accounting distribution’, the dimension specified on the lines, eg. Purchase Order lines will be applied to the summary account upon posting

Example

The parameter value is set to Source document

accrule2

On the Vendor Master we have set the Financial dimension for Business unit equal to ‘001’

accrule3

Proceed to make a Purchase Order and on the lines, specify a different Business unit dimension, here ‘005’

accrule4

Upon invoicing the voucher looks like this. Note the dimension for the Vendor balance account is ‘001’, the same as on the Vendor master record

accrule5

Now, let’s change the parameter to ‘Accounting distribution’ and repeat the Purchase Order posting

accrule6

The voucher looks like this. Note the Business unit dimension is ‘005’, the same as specified on the Purchase Order line

accrule7

In summary

If you select the value ‘Source document’ in the parameter, the summary account posting will always take the dimension from the Vendor Master

If you select the value ‘Accounting distribution  in the parameter, the summary account posting will always take the dimension from the Purchase order lines

 

Database indexes to improve Management Reporter 2012 for Dynamics AX 2012 R3 data mart integration performance

$
0
0

To get the best performance for Management Reporter 2012, it is always recommended to be up-to-date and have the newest version installed. You can check your version information against the version list at:

 

Management Reporter feature and version number summary

http://blogs.msdn.com/b/dynamics_financial_reporting/archive/2014/03/25/management-reporter-feature-and-version-number-summary.aspx

 

If you already have the newest version and have a large amount of data in Dynamics AX 2012 R3 and Management Reporter 2012 is running slowly when performing the incremental synchronization of transaction data to the data mart database (or if you just want to try and optimize your environment when used with Management Reporter 2012), here are some indexes which may assist. Make sure to verify these in a test environment first and confirm that the indexes do not have a negative performance impact for your daily AX business processes as well as other less-frequent items such as those ran during month end/year end. Thanks to Microsoft’s Mark Prazak for helping to develop these.

 

The indexes must be created as listed for the queries used by Management Reporter 2012 to hit the index. It would not be suggested to modify any existing indexes which may have been created for Dynamics AX as that may negatively impact your Dynamics AX implementation. All the indexes listed here can be created and maintained through the AOT. For more information on how to create an index in the AOT for Dynamics AX 2012, refer to:

 

How to: Create an Index [AX 2012]

https://msdn.microsoft.com/en-us/library/aa607289.aspx

 

The list of suggested indexes are below:

 

Table

DIMENSIONATTRIBUTEVALUECOMBINATION

Keys

MAINACCOUNT, PARTITION

Included Columns

RECID

   

Table

DIMENSIONATTRIBUTEVALUEGROUPCOMBINATION

Keys

DIMENSIONATTRIBUTEVALUECOMBINATION, PARTITION

Included Columns

(none)

   

Table

GENERALJOURNALACCOUNTENTRY

Keys

GENERALJOURNALENTRY, PARTITION

Included Columns

RECID

   

Table

GENERALJOURNALACCOUNTENTRY

Keys

LEDGERDIMENSION, PARTITION

Included Columns

GENERALJOURNALENTRY

   

Table

LEDGERENTRY

Keys

GENERALJOURNALACCOUNTENTRY, PARTITION

Included Columns

CONSOLIDATEDCOMPANY, ISBRIDGINGPOSTING

   

Table

TRANSACTIONREVERSALTRANS

Keys

REFTABLEID, REFRECID, PARTITION, DATAAREAID

Included Columns

TRACENUM, REVERSED

   

Table

VENDPACKINGSLIPTRANS

Keys

PARTITION, DATAAREAID, INVOICETRANSREFRECID

Included Columns

RECID

 

Troubleshooting Errors when Submitting Reports to the Digipoort Service for Dutch Companies

$
0
0

AX 2012 supports submission of VAT and ICP declarations using the Digipoort services provided for Dutch companies.

However, the services only support the TLS 1.2 protocol, which is why you may see some errors in AX:

  • “The private key is not present in the X.509 certificate”
  • “Authentication failed because the remote party has closed the transport stream”

In order to troubleshoot this problem, we can use Microsoft Message Analyzer to track network traffic and determine the source of the errors.

Firstly, the prerequisites for using the Digipoort service are:

  1. Valid certificates. For more information please check: https://msdn.microsoft.com/en-us/library/dn757173(v=nav.90).aspx
  2. .NET Framework 4.5 or later – this is needed because a new enum value needs to be available in System.Security.Authentication.SslProtocols – Tls12. Please check: https://msdn.microsoft.com/en-us/library/system.security.authentication.sslprotocols(v=vs.110).aspx. The .NET assembly that defines this is System.dll, which is updated with a new framework version and is available even for programs compiled with an older version.
  3. Registry settings that force TLS 1.2 version to be used by the .NET Framework:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
    
    "SchUseStrongCrypto"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
    
    "SchUseStrongCrypto"=dword:00000001

 

To troubleshoot using Message Analyzer, you’ll need to monitor local traffic and check the TLS communication:

1. Install Message Analyzer: https://www.microsoft.com/en-us/download/details.aspx?id=44226

2. Run Message Analyzer and choose Start Local Trace

3. Check the IP address of the Digipoort endpoint (it can be either the production or pre-prod one)

ping dgp.procesinfrastructuur.nl

ping

4. In Message Analyzer add a filter on the IP address: *address==144.43.253.21

filter

5. Check the TLS “Client Hello” message:

clienthelo

6. In the Details pane, if the TLS version is 1.0, the Client is attempting to use the old version of the protocol and the server closes the connection right away (sending FIN flag in the next message).

tls1

To fix this, setting the registry value on the client should help.

7. If the connection is not closed right away, the server will request the client certificate. If the certificate is expired, the server aborts the connection with the Alert – certificate_expired:

certexp

certexpdetails

8. To find more information about the certificate, you can check the details on the previous TLS message, sent from client to server:

certbody

In the Field Data pane, you can find the certification authority (the “Issuer” field) and expiry date (the “NotAfter” field). Using this information, as well as other fields displayed on that pane, you should find the expired certificate using the Certificates tool in Windows (certmgr.msc) and update it.

Prerequisites to allow cancelling a packing slip for WHS items

$
0
0

We’re very happy to announce that in AX 2012 R3 CU12 you are now able to reverse loads, cancel packing slip updates for sales orders and product receipts for purchase orders. This means you are now able to reverse the loads even when these updates have been done. This change will come through KB 3196554 within CU12.

Please be aware that there are two prerequisites to allow cancelling a packing slip for WHS enabled items.

1: The Shipment must be confirmed
2: The packing slip must be posted from the shipment

If the packing slip was posted from the sales order instead of the shipment, the cancelling of the packing slip will not work.

You can only post packing slips of confirmed loads. AX will check the shipment status and also if the packing slip was posted from the shipment. If both are true, “Cancel packing slip” is enabled in the Load details form.

Once the packing slip was cancelled the “Reverse shipment confirmation” button will be enabled to reverse the confirmation:

Dyn365fO – Update GER functionalities with 2 options

$
0
0

This blog describes 2 options ‘How to update Electronic reporting configurations (GER) in Dynamics 365 for Operations’

OPTION 1: Installing latest KBs for Electronic reporting (GER)


  • Open the environment in ‘Full details’

two

  • In the lower grid in Monitoring click on X++ updates

three

  • Click ‘Show filters’

four

  • Open Module and unmark all, then mark Organization Administration and search

  • 30 results are returned. Click ‘Select all’ and click +Add

  • The KBs are collected in ‘Download package (30)’ and for each KB you can find some more details

Installing KB 4022704 resolves multiple error messages when importing configurations from LCS repository https://fix.lcs.dynamics.com/Issue/Resolved?kb=4022704&bugId=3830731. If this KB is not already included to the package downloaded in option 1, please add it to the package.

***********************************************

OPTION 2: Updating reporting configurations using ‘Import from XML’

Update GER once LCS is not available:

a

  • Select GER Configuration

b

  • Click on the required GER Configuration file

c

  • Save to the desired destination
  • Now navigate to Dynamics 365>>Workspace>>Electronic reporting

d

  • Click Reporting configurations>>Select payment model (for example as importing DTAZV) in the left grid
  • In Configurations section click ‘Exchange’>>Load from XML file

e

  • Browse for the file saved previously and click OK

f

The configuration has been imported and can be used for further steps

g


AX for Retail: Modern POS Custom Labels and Strings

$
0
0

This is a follow-up to a previous article I wrote about modifying labels and strings in Enterprise POS.  The process is similar in Modern POS (MPOS) and Cloud POS (CPOS) but different enough that a new article is warranted.  Additionally, since that article was written we have added a couple tools to make this more seamless for the system administrator.

These steps are good for the following:  Modern POS in AX 2012 R3 and Modern POS / Cloud POS in Dynamics 365 for operations.  The screenshots I used are for Dynamics 365.

Step 1:  Identify the labels to change

Before you can change the text on a field or message you need to identify the ID of that label.  This is very easy in MPOS and CPOS.  First, launch the product and go to Settings > Developer mode.  Turn on the options for Developer Mode and then Show String IDs:

clip_image001

After you restart the POS you’ll immediately see that the Label ID is shown before all text.  Walk through the process to get to the label or message that you want to change and note the Label ID.  In my example I wanted to change the strings on the login page:

clip_image001[4]

Step 2:  Create the overridden strings

Launch Dynamics 365 and go to the Retail Language Text form (Retail and commerce > Channel setup > POS setup > POS profiles > Language text).  This is a form that didn’t exist in the first iteration of my original article, so you don’t have to worry about entering the data directly in the table browser anymore.

In this form, enter the Label ID and the new text you want to override.  Make sure to enter strings for all languages that you plan to use:

clip_image002[4]

Step 3:  Push the data to the channel database

The RetailLanguageText table is also now included in a default job so you can simply run the 1090 job to push your changes to the channel database.  Go to Retail and Commerce > Retail IT > Distribution schedule and highlight the 1090 job.  Select Run Now to run the job.

After this, go to Retail and Commerce > Inquiries and Reports > Commerce Data Exchange > Download Sessions and monitor to make sure the data made it to the channel database.


clip_image001[6]

You might want to also restart your Retail Server (IIS) after this as well, just in case the Commerce Runtime caches any values.

Step 4:  Activate MPOS or CPOS

When MPOS or CPOS displays a string, it checks for the existence of an overridden string and if it it finds one, uses that string instead.  However, it doesn’t actually do a table hit against the RetailLanguageText table each time since that would involve a pretty expensive round trip to the Retail Server.  Instead, it stores those override strings in its local configuration file.

The trick here is that those strings only get written to the configuration file during device activation.  For a new device this is no problem; go ahead and activate it and you will see your new strings immediately.  To get new strings to display on existing devices you will need to plan to reset and reactivate.

Result:

If all works well, your Sign In screen should now be a Log In screen and you can enter your User ID instead of your Operator ID:

image

Leave feedback below if you have any questions.  One area for improvement that I have suggested to the product team is to create a mechanism for refreshing the local configuration file with new strings instead of having to reset and reactivate.

Sales Tax on Gift card sales in Retail

$
0
0
Sales Tax on Gift card sales in Retail With the hotfix KB 3183056 installed there is possible to get a sales tax calculated on gift card transactions. Setup and repro steps how this feature is supposed to be working can be in the attached file. Sales-Tax-on-Gift-card-sales... Read more

What does the Maximum penny difference parameter do – Part II

$
0
0

This is a continuation of the blog entry ‘What does the Maximum penny difference parameter do’

On the above blog it was described how the Maximum penny difference works. However, it might be surprising why the parameter does not work for a more simple scenario where there is a penny difference entered into a journal directly. This blog will explain why this is the case and how the penny difference parameter works in this scenario.

EXAMPLE

In this example the Maximum penny difference has been set to 0.02

A general journal is entered where there is a difference of 1 penny between the debit and credits

However when trying to either validate or post it, the following imbalance error is thrown, despite the 1 penny difference falling within the threshold of 2 pennies specified in the Maximum penny difference parameter.

The reason for this is due to the validation found on Classes\LedgerVoucherObject\CheckBalance

Here the variable ‘TransactionCurrencyBalance’ is being validated. This variable contains the sum of the journal lines

eg. in this example -99.99 + 100 which gives a difference rather than balances at 0.0 and hence the voucher is not valid and we get the imbalance error.

What the system hence is doing is checking on the entries that are directly entered in the journal lines and if these do not balance then there is an imbalance as it is not desirable to have an imbalance here. The penny difference parameter is not applied in the code here

Note how this differs from the scenario described on the previous blog in that the scenario described in this blog the validation occurs for the ‘amount that will be posted’ to the ledger and this amount is the sum of a rounding rather than what is entered in the journal. In this case the penny difference parameter threshold check is implemented into the code

This principle can be seen in the method checkBalanceAccountingCurrency on the LedgerVoucherObject class

In this case, the system is checking whether the amount in the accountingCurrencyBalance variable is bigger than in the penny difference parameter.

Here it would not be the case as 0.01 is less than 0.02, but what has to be kept in mind is that the validation has already failed on the check for the ‘transactionCurrencyBalance’ variable which stored the sum of the amounts entered in the journal line and where the penny difference parameter is not implemented in the code. Furthermore, what needs to be kept in mind is that the penny difference parameter is implemented when the sum of the amounts due to a rounding do not equal to zero as detailed in the original blog

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Recurring Integrations in Dynamics 365 for Operations

$
0
0

To enqueue messages for recurring integrations in Dynamics 365 for operations, the sample app published in github is helpful. To make this file enqueue work seamlessly, few setups in azure portal and Dynamics 365 for operations need to be done before running the sample application.

Here is a step by step guide on the setup changes to be done.

Azure portal Setup

  • Go to Azure Portal > Azure Active directory > AppRegistrations

  • Click New Application Registration and select “Web app/API” for application type.
  • Enter your Ax URL for sign on URL

  • Click create and make sure to note the application ID
  • You might go back to the list of applications and you need to filter for your app
  • Click on the app and go to “Required Permissions” page

  • Click add and select “Microsoft dynamics ERP”

  • Got to select permissions tab and select all the permissions available (make sure you select each checkbox individually as select all might not work) and click Select

  • End result will be something like below

  • Go to keys, enter key description and save. Copy the value field as it won’t be displayed afterwards. This will be your client secret
  • Close azure portal

Dynamics 365 for operations Setup

  • Open Dynamics365 for operations and go to System Administration > Set up > Azure Active Directory Applications
  • Enter the client Id (Application Id from “Azure setup” section (step 4)
  • Enter name and select user from drop down (make sure user has System Administrator privileges )

Github code changes

Download the “RecurringIntegrationsApp” from github https://github.com/Microsoft/Dynamics-AX-Integration and extract the files from zip

To get this to work on your local env, please make sure you make the following setup

Go to <Path where Zip is extracted>\Dynamics-AX-Integration-master\DIXFSamples

  • Make sure below folders are created in your C:\Temp folder

  • Folder structure can be altered by modifying below parameters in the app.Config file

  • Make sure you set below parameters as per you env
    • AAD Tenant –Azure tenant value. One way to fix this out is open your application web.config file and you will find a
    • Azure client ID -The client Id copied in Azure setup (step 4)
    • Rainier URI – Dynamics Ax URL
    • Recurring job Id – Activity Id for the recurring job created in Ax
    • Entity name – Entity for which the recurring job is created

 

In the visual studio solution explorer, Go to Helpers and open AuthenticationHelper.CS > AuthorizationHeader method, if you see that code is not using Client App secret, please make below code change (comment out existing code for acquiring the token and add new code). This code should be updated in github code soon.

If you see that client App secret is already being used, please skip below code changes

 

string aadClientAppSecret = “Client Secret from Azure App registration”;

var credential = new ClientCredential(“Application Id from Azure App registration”, aadClientAppSecret);

AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(“Dynamics 365 for operations URL”, credential).Result;

return authenticationResult.CreateAuthorizationHeader();

Build the code and make sure there are no compiler errors

 

Enqueuing Files

Place the file to be enqueued to “C:\Temp\Input” folder

Run the github code to open “Ax7 recurring data jobs processor”

Go to settings page, you can see that all values are defaulted

Go to execution tab and Click start

Dynamics AX 2012 – DIXF Performance Benchmark Results

$
0
0

The Dynamics AX InMarket team has provided the following benchmarking results for DIXF imports based on numerous requests for this information. If there are any questions or requests for additional entity coverage please let me know!

Problem Statement:

Customer is importing around 500K records and the need for some form of benchmarking the performance expected out of importing/exporting using DIXF.

This article answer customer’s questions about what kind of performance they could expect out of DIXF.

 

Machine Configuration

Below was the machine configuration on which the benchmark testing was performed.

Machine (3 BOX Setup) 

Processor GHz 

RAM (GB) 

#Cores 

OS Version

AOS 

2.67 

16 

24 

Windows Server 2008 R2 Enterprise 

SQL  

2.13 

48 

8 

Windows Server 2008 R2 Enterprise 

Client 

2.41 

8 

8 

Windows Server 2008 R2 Enterprise 

 

 

Entities

Microsoft performed the benchmark performance testing for below entities with different amount of data in each iteration. Similar iterations was performed with different numbers of batch tasks.

           

Entity

Iteration 1

(Records)

Iteration 2

(Records)

Iteration 3

(Records)

Iteration 4

(Records)

Iteration 5

(Records)

Opening Balance 

1500 

3000 

6000 

12000 

24000 

Product

5000 

10000 

20000 

40000 

80000 

Sales Order header

1000 

2000 

4000 

8000 

16000 

Sales Order Line

5000 

10000 

20000 

40000 

80000 

Vendor Invoice Header

500 

1000 

2000 

4000

8000 

Vendor Invoice Line

1500 

3000 

6000 

12000 

24000 

Sales Order Composite Entity 

6000 

12000 

24000 

48000 

96000 

Vendor Invoice Composite Entity 

2000 

4000 

8000 

16000 

32000 

 

Results

Below are the results for each entity when run under the batch execution with different tasks/record counts.

 

Opening Balance Entity (Batch Execution)
         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

 

Opening Balance

32

1500 (3 lines per journal)

3 sec

24 sec

32

3000 (3 lines per journal)

4 sec

32 sec

32

6000 (3 lines per journal)

9 sec

59 sec

32

12000 (3 lines per journal)

9 sec

2 min 2 sec 

32

24000 (3 lines per journal)

15 sec

5 min 28 sec 

 

Execution details with different numbers of tasks.

         

Entity

No. of Tasks

Record Count

Staging Execution Time

Target Execution Time

 

Opening Balance

32

24000 (3 lines per journal)

15 sec

5 min 28 sec 

16

24000 (3 lines per journal)

14 sec

8 min 27 sec

8

24000 (3 lines per journal)

14 sec

10 min 52 sec

 

 

Product Entity (Batch Execution)
         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

 

Product

32

5000 

6 sec 

2 min 45 sec 

32

10000 

9 sec 

5 min 26 sec 

32

20000 

17 sec 

11 min 13 sec 

32

40000 

37 sec 

26 min 41 sec 

32

80000 

1 min 3 sec 

58 min 37 sec 

 

Execution details with different numbers of tasks.

         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

Product

32

80000

1 min 3 sec 

58 min 37 sec 

16

80000

1 min 1 sec 

1 hr 1 min 56 sec 

8

80000

1 min 2 sec 

1 hr 41 min 32 sec

 

 

Sales Order Header (Batch Execution)
         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

 

Sales Order Header

32

1000 

3 sec 

7 sec 

32

2000 

3 sec 

11 sec 

32

4000 

4 sec 

21 sec 

32

8000 

5 sec 

40 sec 

32

16000 

7 sec

1 min 40 sec 

 

 

Sales Order Line (Batch Execution)
         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

 

SALES Order Line

32

5000 

5 sec 

48 sec 

32

10000 

7 sec 

1 min 49 sec 

32

20000 

10 sec 

3 min 47 sec 

32

40000 

23 sec 

7 min 28 sec 

32

80000 

42 sec 

17 min 1 sec 

 

 

Sales Order Composite Entity (Batch Execution)
           

Entity

Sub Entity 

Record Count 

No. of Tasks

Staging Execution Time

Target Execution Time

 

 

 

 

Sales Order

SOH

1000 

10

16 sec 

2 min 13 sec 

SOL

5000 

22 

SOH

2000 

10

34 sec 

4 min 

SOL

10000 

22 

SOH

4000 

10

1 min 

8 min 34 sec 

SOL

20000 

22 

SOH

8000 

10

2 min 15 sec 

18 min 16 sec 

SOL

40000 

22 

SOH

16000 

10

3 min 38 sec 

38 min 19 sec 

SOL

80000 

22 

 

Execution details with different numbers of tasks.

           

Entity

Sub Entity 

Record Count 

No. of Tasks

Staging Execution Time

Target Execution Time

 

 

Sales Order

SOH

16000

32

3 min 40 sec 

37 min 18 sec 

SOL

80000

SOH

16000

16

3 min 38 sec 

40 min42 sec 

SOL

80000

SOH

16000

8

3 min 36 sec

52 min 37 sec 

SOL

80000

 

 

Vendor Invoice Header (Batch Execution)
         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

 

Vendor Invoice Header

32

500 

2 sec 

4 sec 

32

1000 

2 sec 

6 sec 

32

2000 

2 sec 

10 sec 

32

4000

3 sec 

17 sec 

32

8000 

4 sec 

41 sec 

 

 

Vendor Invoice Line (Batch Execution)
         

Entity

No. of Tasks

Record Count 

Staging Execution Time

Target Execution Time

 

 

Vendor Invoice Line

32

1500 

3 sec 

24 sec 

32

3000 

4 sec 

41 sec 

32

6000 

3 sec 

1 min 23 sec

32

12000 

6 sec 

2 min 44 sec 

32

24000 

8 sec 

5 min 51 sec 

 

 

Vendor Invoice Composite Entity (Batch Execution)
           

Entity

Sub Entity 

Record Count 

No. of Tasks

Staging Execution Time

Target Execution Time

 

 

 

 

Vendor Invoice

VIH 

500 

10

3 sec 

33 sec

VIL 

1500 

22 

VIH 

1000 

10

11 sec 

1 min 

VIL 

3000 

22 

VIH 

2000 

10

20 sec 

1 min 56 sec 

VIL 

6000 

22 

VIH 

4000 

10

35 sec 

3 min 54 sec 

VIL 

12000 

22 

VIH 

8000 

10

1 min 13 sec 

7 min 58 sec 

VIL 

24000 

22 

 

Execution details with different numbers of tasks.

           

Entity

Sub Entity 

Record Count 

No. of Tasks

Staging Execution Time

Target Execution Time

 

 

Vendor Invoice

VIH 

8000 

32

1 min 6 sec 

7 min 43 sec 

VIL 

24000 

VIH 

8000 

16

1 min 7 sec 

7 min 34 sec 

VIL 

24000 

VIH 

8000 

8

1 min 6 sec

9 min 15 sec 

VIL 

24000 

 

Update plattform for General Electronic Reporting (GER)

$
0
0
How to get the GER feature updated and latest report configurations imported Electronic-reporting-configuration... Read more

Unmarking locked transactions

$
0
0

When trying to apply a payment to an invoice in Dynamics 365 for Finance and Operations a person with a cross icon is displayed on the Settle transactions form. Typically, you could click on Inquiry> Specifications to see the transaction it is marked against. If this is blank you are not able to unmark the transaction to mark it again correctly.

To resolve this issue, you need to can now run the Consistency Check (System Administration> Periodic Tasks> Database> Consistency check) and selecting the Payments option. This allows users to unlock these transactions for them to be marked again to be settled. This consistency check will identify and clean up the orphaned settlement (SpecTrans) records.

For previous versions of AX you can find information on how to resolve this by following KB 894412: https://support.microsoft.com/en-us/help/894412/a-red-hand-symbol-appears-next-to-an-invoice-in-the-open-transaction-e

If you do not see the Payments option in the Consistency Check form please download KB 3187699 via LCS: https://fix.lcs.dynamics.com/Issue/Resolved?kb=3187699&bugId=3776531&qc=32c247d250343e3ddf31e7f5d74bff96793abd51d340836f4bc3608d95ac05a6


Additional settings for Management Reporter 2012 CU16 Hotfix 3815274

$
0
0

Hotfix 3815274 is an optional hotfix that can be applied to CU16. It can be loaded to revert a CU16 change with reporting tree rollups. The hotfix will allow children nodes to be rolled up to a parent that contains a Dimension filter.

Before making any changes, be sure to have a backup of the MRServiceHost.settings.config file. You can then do the following:

  1. Open the Management Reporter Configuration Console. You will need to be logged in as a user that has the Administrator role in MR, when starting the console.
  2. Stop both the Process Service and the Application Service.
  3. Navigate to “C:\Program Files\Microsoft Dynamics ERP\Management Reporter\2.1\Server\Services\MRServiceHost.settings.config”
  4. Edit the config file in Notepad and then add the following line. This will make dimension filters on summary tree units be ignored (pre-CU15 functionality):

<add key=”ReportingTreeUnitsInheritCriteriaFromParent” value=”false”/>

This new line should be added before the </appSettings>

 

  1. Save your changes and close Notepad.
  2. In the Management Reporter Configuration Console, start the Process Service and the Application Service.

Once the services have been restarted, you will need to re-generate your reports for the changes to be applied.

 

Hotfix 3815274 can be downloaded here:

https://mbs.microsoft.com/files/customer/MgmtReporter/Downloads/ProductReleases/ManagementReporter2012-CU16-Hotfix-3815274-en-us-update.exe

Management Reporter 2012 CU 16 Hotfix 3813390

$
0
0

This hotfix addresses an issue where user security may be removed during the Company to Company mapping if there is a SQLException.

If a SQLException occurs during the AX 2012 Companies to Company integration task, such as a SQL server being offline, users may be removed from the security groups in Management Reporter Security and from reporting tree definitions. Once the cause of the SQL exception is corrected, the data mart integration task will complete, and users will once again be synchronized from Dynamics AX and added to Management Reporter Security, except they will have new user IDs. The users with new IDs are then not added to the groups/trees that they were in previously. This issue is logged as bug 3813390. Hotfix 3813390 prevents this issue from occurring.

 

Hotfix 3813390 can be downloaded here:

https://mbs.microsoft.com/Files/customer/MgmtReporter/Downloads/Servicepacks/ManagementReporter2012-CU16-Hotfix-3813390-en-us-update.exe

Dynamics 365 for Finance and Operations – Requesting a ‘Database refresh’– Enable user access

$
0
0

As I am sure you are already aware, you can now submit requests directly to the Dynamics Service Engineering (DSE) team by using Lifecycle Services (LCS).

Submit a request to the Dynamics Service Engineering team
https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/lifecycle-services/submit-request-dynamics-service-engineering-team

One of the request types that you can select is the Database refresh, which includes the ability to refresh a database from Production to Sandbox.

When you log this type of request on LCS, you will see a list of Terms and Conditions which you should be familiar with so you know what will happen and what you need to do when DSE have completed their actions and the Database refresh is listed as Succeeded.

I am not going to include a screenshot of the current Terms and Conditions here as they may change over time and you should refer to the most up to date information each time you request a Database refresh, but I would like to draw your attention to one particularly important point regarding user access:

// Currently point 2a in the Terms and conditions as of 29th August 2017

All users except the Admin user have been disabled. This process allows the Admin user to delete or obfuscate data before allowing other users back into the system.

In order to provide your users with access to a recently refreshed sandbox environment, you need to enable user access for them.

Production order end process results in variances due to differences in estimated and realized subassembly setup labor costs.

$
0
0

The issue that we were initially encountering was that we were experiencing large variances in our production costing.  Upon further investigation, what we found was that the variances were coming from a subassembly that had been created and was being utilized in the finished good.  Reviewing the details on that subassembly and comparing to our realized costs, we found the variance to be related to the labor for the setup time on the operations for that subassembly.  On this particular subassembly 20 hours of setup time for a process quantity of 100.00 had been assigned for several operations.  Production orders were then created for a quantity of 1.00 of the finished good.  The production order estimation included all 20 hours of setup time for each operation.  Since the production order was only being created for 1/100th of the process quantity, the expectation was that the setup time should decrease accordingly.

 

Pertinent setup:

  1. Route operations for the subassembly were set up with a process quantity of 100.00.
  2. Route operations for the subassembly were set up with a setup time of 20 hours.
  3. Cost calculation is completed for a quantity of 100.00 of the finished good resulting in a cost per lot size of $16,886.35 or cost per unit for the subassembly of $168.86.
  4. Production order is created and estimated for a quantity of 1.00 of the finished good.
  5. Estimated cost on the production order for the subassembly is $786.62.   Looking back at the cost calculation this should have been a red flag for this scenario since this is much higher than the cost calculation result.
  6. Route cards were posted for 12 minutes on each operation.
  7. Ending the production order resulted in significant variances.

In this example, the determination is that everything is working correctly.  The reason for the variance is that setup time does not does not dynamically adjust for differences between the production order quantity and the process quantity since it is assumed that the time to set up the operation is the same regardless of the quantity.  The variance received would be expected in the given scenario since the production order was created for a quantity different than the process quantity specified on the operation, but the setup time required and realized was just a fraction of the value estimated for the setup time since the estimated value was for the full process quantity.

 

Alternate setup options:

  1. Set up the process quantity, and all corresponding values in a smaller unit.  For this particular customer, they determined that they would be commonly producing smaller quantities, so they recreated the route with a process quantity of 1 instead of 100 and adjusted all other values accordingly.
  2. Create and process production orders only in the process quantity value.
  3. Include the setup time in a different time category (runtime).  Unfortunately this will of course result in loss of visibility of the separation of the time values and categories and may not be possible if costs are associated differently.
  4. Customization.

Dynamics 365 for Finance and Operations – How to delete a record in the Number sequence – Status List form

$
0
0

Seeing an unexpected number sequence record in the Status list form (from the Number sequence form) that you need to delete? Wondering where to find that ‘Delete’ (File>Delete record) option that used to exist in AX 2012?

That option no longer exists in Dynamics 365 for Finance and Operations.

For now, you would have to use ALT+F9 to delete selected record/s in the Status List form:

1. Mark the record that needs to be deleted and press ALT+F9 keys.

2. Click Yes to delete the selected record/s.

There is a plan to bring back the Delete option but until then, you can use this workaround.

 

Viewing all 748 articles
Browse latest View live


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