Skip to main content

Posts

Sharing Tips quickly for Performance Improvement for Axapta

Top Tips for Ax 2012 Performance improvement. I am sharing This clip will show you Top 10 tips for SQL performances on Ax Quickly. 1. How to Check Client and Server configuration of ax 2012. 2. Check memory setting options for SQL server databases. 3. Regular checking of Disk size is required. 4. Regular Cleanup of log data from ERP. 5. Client Usage data cleanup at ax side. 6. Index optimization(use include column option in index) and new index creation at Ax. 7. Reindexing and Rebuilding Indexes. 8. Use set based operations is required to improve the performance of execution of logic. insert_recordset , update_recordset and delete_from 9. Check batch jobs running sequences on Ax side. 10.Don’t create indexes directly on SQL for Axapta. Visit below clip to get practical knowledge for the above points. If you like this video do not forget to subscribe that channel. 

View creation from other database from SQL for Ax database

To create view  from other database from SQL for Ax database you can get hint by below  script. SET QUOTED_IDENTIFIER ON GO Create VIEW [dbo].[TestCustomer] AS SELECT [CUSTGROUP] ,[ACCOUNTNUM] FROM MicrosoftDynamicsAX.dbo.CUSTTABLE group by [CUSTGROUP] ,[ACCOUNTNUM] ; GO Source database is MicrosoftDynamicsAX and destination is testDb in this clip. Just see clip to create view from custtable to other database new view .. Just need to execute script in query editor of SQL. Same way you can include more columns by alter alter THANKS FOR YOUR PATIENT ON WATCHING CLIP.YOU CAN SUBSCRIBE ON MY YOUTUBE CHANNEL TO GET FUTURE UPDATE TO IMPROVE YOUR KNOWLEDGE. GROUP BY IS REQUIRED TO MAKE VIEW  READ ONLY. SO ITS IMPORTANT.

Calculate Time Consumption in hours in Ax 2012

Code to get total time consumed between two times means if time one is 14:10 and time two is 15:40 then you want to get difference time in hours only like in this example it will be 1.5 hours. Getting time in hours in very difficult but you can get it easily by writing one simple method. # int seconds, minutes, hours, totalTime; # str timeStr = "",minstr=""; # # if (_startTime > _endTime) # { # totalTime = _endTime + (str2time('23:59:59') - _startTime); # } # else # { # totalTime = _endTime - _startTime; # } # # seconds = totalTime mod 60; # minutes = totalTime mod 3600 div 60; # hours = totalTime div 3600; # # if (hours > 0) # if (hours == 1) # timestr = timeStr + strFmt("%1", hours); # else # timestr = timeStr + strFmt("%1", hours); # #

Display time difference in hours in axapta

To Display time difference in hours in Axapta  you can use below code where timeConsumed is a method to get difference between from time and to time. You need to convert string to time first to get the right value. TimeofDay fromTime,toTime; // Time variables ; fromTime = str2time("8:50 am"); toTime = str2time("10:50 am"); info(strFmt("%1",timeConsumed(fromTime,toTime)));

Ax 2009 GST Installation hints

Prerequisites for GST Hotfix installation at Ax 2009 1.GST patch can only be installed for AX2009SP1 plus Consolidated GLS Layer for India (KB960013).  The detail information can be found at Microsoft Partner source link. Or Its  recommendation  you upgrade to RU8 for future better AX2009 hotfix supporting. However, RU8 is not a prerequisition to install GST patch but If its upgraded to RU 8 then no need to apply  (KB960013) otherwise it will show message KB already installed like that. 2.Before you install India GST hotfix, please make sure you have installed AX2009 hotfix KB971935, KB2028696, and KB971154. You can download hotfix from Microsoft partner source link for application and kernel both version.   Restart AOS and full compile after each KB gets installed.   You must Restart AOS and full compile after install the GST patch before open AX client.  3.Install both the kernel fix and the application fix  for India GST.  First you need to install kernel hotfix th

Classes to print,post sales order in ax 2012

1/To interacting with SalesEditLines form during sales invoicing the class is SalesFormLetter_Invoice . \Classes\SalesFormLetter_Invoice 2.For Creating journal data for sales order during invoice is SalesInvoiceJournalCreate \Classes\SalesInvoiceJournalCreate 3.For Posting a journal for sales order you can using below class for any code debugging and issue or customization. \Classes\SalesInvoiceJournalPost 4. If you want print customize sales order invoice report in Ax for sales order invoice then you can make changes in below class. \Classes\SalesInvoiceJournalPrint   Method to call report is printJournal. Path of method is as below.   \Classes\SalesInvoiceJournalPrint\printJournal 5.For Creating parm data during sales order  invoice below class you can check . \Classes\SalesFormletterParmDataInvoice

Hotfix for Accounting framework issue in Ax 2012 R3 CU11

KB number 3134000 is for the issue if Transfer to GL should not run taxlink queries for documents with no tax in Accounting Framework KB number  3100992  is for the issue if Introduction of Accounting Source Explorer and Source Document Reference Identities in Accounting Framework KB number  3134000  is for the issue if Final Relieving of a vendor invoice is incorrect when the product receipt is matched to a partial invoice before and after being corrected in  Accounting Framework KB number  3147787  is for the issue if SDRI mappings are not being honored for vendor invoice in  Accounting Framework

Advance query filter in Ax 2012

As you know like wildcard operator to filter bunch of record in Axapta grid. In Ax 2012 you can use like wild card operator with query build range object also. QueryBuildRange QBR; QBR =SysQuery::findOrCreateRange(DS.dataSourceTable(tablenum(custtable)),fieldNum(Custtable,AccountNum)); QBR.value(SysQuery::valueLikeAfter(testTxt.text())); In above example we used value like after same way you can use valuelike also. Other you can use like SysQuery::valueUnlimited if there is no value for range purpose.

How to Filter Records in form from Combo box in Axapta

Lets you want to to Filter Records in form from Combo box in Axapta then this is sample example you need to create one method like this. WMSPickingRoute_ds.filter(fieldNum(WMSPickingRoute,ExpeditionStatus),queryValue(God_expeditionStatus.selection())); Then you can call that method in modified field method for that combo box. Like filter1 is method name then you can call it below way. public boolean modified() { boolean ret; ret = super(); this.filter1(); return ret; } I hope you get and Idea how to filter records for form in axapta.

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);

Resolved: Dynamics AX 2012 R3 client crashes Issue

I was facing below issue  Dynamics AX 2012 R3 client crashes after opening suddenly AX client session get crashes. There is no event log to find out what exactly is the issue.  Solution: I applied below steps. 1. I Deleted AUC files in user profile. C:\Users\user1\AppData\Local 2. Reset the usage data from menu. Click File > Tools > Options. In the Options form, click Usage data then reset button press click yes.. 3. To delete all user usage data  Go to  AOT-->SystemDocumentation-->Tables-->SysLastValue. Delete all records. After then Ax client work fine.

How to separate Fraction and Digit from Number in axapta

To separate Fraction and Digit from Number in axapta like number is 878778.3000 and you want to get 878778 and .300 then below code can help you to get the same. qty t=878778.3000; str _amount = strFmt("%1",num2str(t,0,1,0,0)); boolean decimals; TextBuffer txtAmount = new TextBuffer(); txtAmount.setText(_amount); if (txtAmount.find("^[0-9]+$")) // Regular expression inside the find method { decimals = true; } info(strFmt("%1 -- %2",trunc(t),frac(t)));